/**
 * Shree Cinema - Dark Luxury Styling for WooCommerce, Cart, Checkout, Product & 404 Pages
 * Matches Homepage Background (#0C1E35) and Premium Brand Identity
 */

/* 1. Global Page Background & Text Defaults */
html,
body,
#page,
.site,
.site-content,
#content,
.woocommerce,
.woocommerce-page,
.elementor-page,
.single-product,
.woocommerce-cart,
.woocommerce-checkout,
.error404 {
    background-color: #0C1E35 !important;
    color: #FFFFFF !important;
}

/* 2. Global Header Styling & Placement */
.custom-header {
    background: linear-gradient(180deg, #020024 0%, #090979 100%) !important;
    position: relative !important;
    z-index: 100 !important;
    width: 100% !important;
}

/* Ensure EHF header and footer are displayed */
header#masthead {
    display: block !important;
    position: relative;
    z-index: 999;
}
footer#colophon {
    display: block !important;
    position: relative;
    z-index: 99;
}
header#masthead:empty,
footer#colophon:empty {
    display: none !important;
}

/* 3. Global Footer (Elementor 38065) */
.elementor-38065,
.elementor-38065 .elementor-section {
    background-color: #0C1E35 !important;
    position: relative !important;
    z-index: 50 !important;
}
.elementor-38065 a {
    color: #E7E7E7 !important;
    transition: color 0.2s ease !important;
}
.elementor-38065 a:hover {
    color: #FFFFFF !important;
}

/* 4. WooCommerce Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background-color: #0F243E !important;
    color: #FFFFFF !important;
    border-top: 3px solid #B50707 !important;
    border-radius: 8px !important;
    padding: 18px 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
    margin-bottom: 24px !important;
}
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
    color: #FACC15 !important;
    font-weight: 700 !important;
}
.woocommerce-message::before,
.woocommerce-info::before {
    color: #B50707 !important;
}

/* 5. Cart Table & Shop Tables */
.woocommerce table.shop_table,
.shopengine-cart-table table,
table.shop_table {
    background-color: #0F243E !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    color: #E2E8F0 !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}
.woocommerce table.shop_table th,
.shopengine-cart-table table th {
    background-color: #132742 !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-size: 14px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding: 16px 20px !important;
}
.woocommerce table.shop_table td,
.shopengine-cart-table table td {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    padding: 18px 20px !important;
    color: #E2E8F0 !important;
    vertical-align: middle !important;
}
.woocommerce table.shop_table td.product-name a,
.shopengine-cart-table a {
    color: #FFFFFF !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}
.woocommerce table.shop_table td.product-name a:hover,
.shopengine-cart-table a:hover {
    color: #B50707 !important;
}
.woocommerce table.shop_table td.product-remove a.remove,
a.remove {
    color: #EF4444 !important;
    font-size: 22px !important;
    transition: transform 0.2s ease !important;
}
.woocommerce table.shop_table td.product-remove a.remove:hover,
a.remove:hover {
    color: #DC2626 !important;
    background: transparent !important;
    transform: scale(1.15) !important;
}

/* 6. Form Inputs & Selects */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single,
.shopengine input[type="text"],
.shopengine input[type="number"],
.shopengine input.qty,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"].qty,
.woocommerce .quantity .qty {
    background-color: #081424 !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus {
    border-color: #B50707 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(181, 7, 7, 0.25) !important;
}
.select2-dropdown {
    background-color: #081424 !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: #B50707 !important;
    color: #FFFFFF !important;
}
.woocommerce form .form-row label,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
    color: #FFFFFF !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    margin-bottom: 8px !important;
}

/* 7. Cart Totals & Order Review Card */
.woocommerce .cart-collaterals .cart_totals,
.shopengine-cart-totals,
#order_review,
.woocommerce-checkout-review-order {
    background-color: #0F243E !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px !important;
    padding: 32px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
}
.cart_totals h2,
#order_review_heading {
    color: #FFFFFF !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding-bottom: 12px !important;
}
.cart_totals table.shop_table {
    background: transparent !important;
    border: none !important;
}
.cart_totals table.shop_table th {
    background: transparent !important;
    color: #94A3B8 !important;
    padding: 12px 0 !important;
}
.cart_totals table.shop_table td {
    padding: 12px 0 !important;
    text-align: right !important;
    color: #FFFFFF !important;
}

/* 8. Checkout Payment Box */
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background-color: #081424 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    padding: 24px !important;
}
#add_payment_method #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding-bottom: 16px !important;
}
#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    background-color: #0F243E !important;
    color: #CBD5E1 !important;
    border-radius: 6px !important;
    padding: 16px !important;
    margin-top: 10px !important;
}
#add_payment_method #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: #0F243E !important;
}

/* 9. High-Impact Cinema Red Action Buttons */
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.checkout-button,
#place_order,
.single_add_to_cart_button,
.wc-backward,
.shopengine-add-to-cart .button {
    background-color: #B50707 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 14px 28px !important;
    font-size: 15px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-block !important;
    box-shadow: 0 4px 15px rgba(181, 7, 7, 0.35) !important;
    transition: all 0.3s ease !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.checkout-button:hover,
#place_order:hover,
.single_add_to_cart_button:hover,
.wc-backward:hover {
    background-color: #D90808 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 24px rgba(217, 8, 8, 0.55) !important;
    color: #FFFFFF !important;
}

/* 10. Prices & Currency Styling */
.woocommerce-Price-amount,
.amount,
.price {
    color: #FACC15 !important;
    font-weight: 700 !important;
}

/* 11. Empty Cart Container */
.cart-empty.woocommerce-info,
.shopengine-empty-cart-container {
    background-color: #0F243E !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px !important;
    padding: 50px 30px !important;
    color: #FFFFFF !important;
    text-align: center !important;
    max-width: 650px !important;
    margin: 60px auto !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
}
.cart-empty.woocommerce-info::before {
    display: none !important;
}
.shopengine-empty-cart-container h1,
.cart-empty {
    color: #FFFFFF !important;
    font-size: 26px !important;
    margin-bottom: 20px !important;
}

/* 12. Single Product Tabs & Meta */
.woocommerce-tabs ul.tabs {
    background: transparent !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.1) !important;
    padding-left: 0 !important;
    margin-bottom: 24px !important;
}
.woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    padding: 10px 20px !important;
}
.woocommerce-tabs ul.tabs li a {
    color: #94A3B8 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-decoration: none !important;
}
.woocommerce-tabs ul.tabs li.active {
    background: transparent !important;
    border-bottom: 2px solid #B50707 !important;
}
.woocommerce-tabs ul.tabs li.active a {
    color: #FFFFFF !important;
}
.woocommerce-tabs .panel {
    color: #CBD5E1 !important;
    line-height: 1.7 !important;
}
.product_meta {
    color: #94A3B8 !important;
    font-size: 14px !important;
}
.product_meta a {
    color: #E2E8F0 !important;
    text-decoration: none !important;
}
.product_meta a:hover {
    color: #B50707 !important;
}
