/* ==========================================================================
   DOABLE - WooCommerce Custom Styles
   Aligns Cart & Checkout with the Supply page aesthetic
   ========================================================================== */

/* Base WooCommerce Container */
.woocommerce,
.woocommerce-page {
    font-family: 'Inter', sans-serif;
}

/* ==========================================================================
   Cart Page
   ========================================================================== */

.woocommerce-cart .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

/* Cart Table */
.woocommerce table.shop_table {
    border: none;
    border-radius: 1rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.dark .woocommerce table.shop_table {
    background: rgba(30, 30, 30, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border: none;
    padding: 1.5rem 1rem;
    vertical-align: middle;
}

.woocommerce table.shop_table thead th {
    background: rgba(0, 0, 0, 0.03);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    color: #666;
}

.dark .woocommerce table.shop_table thead th {
    background: rgba(255, 255, 255, 0.05);
    color: #aaa;
}

.woocommerce table.shop_table tbody tr {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.dark .woocommerce table.shop_table tbody tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.woocommerce table.shop_table tbody tr:last-child {
    border-bottom: none;
}

/* Product Thumbnail */
.woocommerce table.shop_table .product-thumbnail img {
    border-radius: 0.5rem;
    width: 80px;
    height: 80px;
    object-fit: cover;
}

/* Product Name */
.woocommerce table.shop_table .product-name a {
    color: inherit;
    text-decoration: none;
    font-weight: 500;
    transition: opacity 0.2s;
}

.woocommerce table.shop_table .product-name a:hover {
    opacity: 0.7;
}

/* Quantity Input */
.woocommerce .quantity .qty {
    width: 60px;
    padding: 0.5rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0.5rem;
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    background: white;
}

.dark .woocommerce .quantity .qty {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    color: white;
}

/* Remove Button */
.woocommerce a.remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444 !important;
    font-size: 1.25rem;
    text-decoration: none;
    transition: all 0.2s;
}

.woocommerce a.remove:hover {
    background: #ef4444;
    color: white !important;
}

/* Coupon Section */
.woocommerce .coupon {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.woocommerce .coupon #coupon_code {
    padding: 0.75rem 1rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0.5rem;
    font-family: 'Inter', sans-serif;
    min-width: 200px;
}

.dark .woocommerce .coupon #coupon_code {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    color: white;
}

/* Buttons - Enhanced Specificity */
.woocommerce button.button,
.woocommerce .button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce #respond input#submit,
.woocommerce button[type="submit"],
.woocommerce input[type="submit"],
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce #payment #place_order,
.woocommerce-page button.button,
.woocommerce-page .button,
.woocommerce-page input.button,
.woocommerce-page a.button {
    display: inline-block !important;
    background-color: #000 !important;
    color: #fff !important;
    border: none !important;
    padding: 0.875rem 1.5rem !important;
    border-radius: 0.75rem !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    text-decoration: none !important;
    line-height: 1.5 !important;
    text-align: center !important;
}

.woocommerce button.button:hover,
.woocommerce .button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button[type="submit"]:hover,
.woocommerce input[type="submit"]:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #payment #place_order:hover,
.woocommerce-page button.button:hover,
.woocommerce-page .button:hover,
.woocommerce-page input.button:hover,
.woocommerce-page a.button:hover {
    background-color: #333 !important;
    transform: translateY(-1px);
    color: #fff !important;
}

/* Dark Mode Buttons */
.dark .woocommerce button.button,
.dark .woocommerce .button,
.dark .woocommerce input.button,
.dark .woocommerce a.button,
.dark .woocommerce #respond input#submit,
.dark .woocommerce button[type="submit"],
.dark .woocommerce input[type="submit"],
.dark .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.dark .woocommerce #payment #place_order,
.dark .woocommerce-page button.button,
.dark .woocommerce-page .button,
.dark .woocommerce-page input.button,
.dark .woocommerce-page a.button {
    background-color: #fff !important;
    color: #000 !important;
}

.dark .woocommerce button.button:hover,
.dark .woocommerce .button:hover,
.dark .woocommerce input.button:hover,
.dark .woocommerce a.button:hover,
.dark .woocommerce #respond input#submit:hover,
.dark .woocommerce button[type="submit"]:hover,
.dark .woocommerce input[type="submit"]:hover,
.dark .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.dark .woocommerce #payment #place_order:hover,
.dark .woocommerce-page button.button:hover,
.dark .woocommerce-page .button:hover,
.dark .woocommerce-page input.button:hover,
.dark .woocommerce-page a.button:hover {
    background-color: #eee !important;
    color: #000 !important;
}

/* Alt Buttons (Checkout/Primary Actions) */
.woocommerce button.button.alt,
.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce-page button.button.alt,
.woocommerce-page .button.alt,
.woocommerce-page a.button.alt {
    background-color: #000 !important;
    color: #fff !important;
}

.dark .woocommerce button.button.alt,
.dark .woocommerce .button.alt,
.dark .woocommerce a.button.alt,
.dark .woocommerce input.button.alt,
.dark .woocommerce #respond input#submit.alt,
.dark .woocommerce-page button.button.alt,
.dark .woocommerce-page .button.alt,
.dark .woocommerce-page a.button.alt {
    background-color: #fff !important;
    color: #000 !important;
}

/* Disabled Buttons */
.woocommerce button.button:disabled,
.woocommerce button.button.disabled,
.woocommerce .button:disabled,
.woocommerce .button.disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
}

/* Cart Totals */
.woocommerce .cart_totals {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.dark .woocommerce .cart_totals {
    background: rgba(30, 30, 30, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.woocommerce .cart_totals h2 {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.woocommerce .cart_totals table {
    border: none;
}

.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
    border: none;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.dark .woocommerce .cart_totals table th,
.dark .woocommerce .cart_totals table td {
    border-bottom-color: rgba(255, 255, 255, 0.05);
}

.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
    font-size: 1.25rem;
    font-weight: 700;
    border-bottom: none;
}

/* ==========================================================================
   PRIMARY CTA BUTTONS - Proceed to Checkout & Place Order
   ========================================================================== */

/* Proceed to Checkout Button */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.wc-block-cart__submit-button,
a.checkout-button,
.wp-block-woocommerce-proceed-to-checkout-block a {
    display: block !important;
    width: 100% !important;
    padding: 0.875rem 1.5rem !important;
    background: linear-gradient(135deg, #000 0%, #333 100%) !important;
    color: #fff !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border: none !important;
    border-radius: 0.75rem !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) !important;
    transition: all 0.2s ease !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.wc-block-cart__submit-button:hover,
a.checkout-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover {
    background: linear-gradient(135deg, #222 0%, #444 100%) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
}

/* Dark Mode - Proceed to Checkout */
.dark .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.dark .wc-block-cart__submit-button,
.dark a.checkout-button,
.dark .wp-block-woocommerce-proceed-to-checkout-block a {
    background: linear-gradient(135deg, #fff 0%, #e5e5e5 100%) !important;
    color: #000 !important;
    box-shadow: 0 2px 10px rgba(255, 255, 255, 0.15) !important;
}

.dark .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.dark .wc-block-cart__submit-button:hover,
.dark a.checkout-button:hover,
.dark .wp-block-woocommerce-proceed-to-checkout-block a:hover {
    background: linear-gradient(135deg, #f5f5f5 0%, #ddd 100%) !important;
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2) !important;
}

/* Place Order Button */
.woocommerce-checkout #place_order,
#place_order,
.wc-block-components-checkout-place-order-button,
.wc-block-checkout__actions button,
button.wc-block-components-button.wc-block-components-checkout-place-order-button,
button.wc-block-components-button.contained,
.wc-block-checkout__actions_row button,
.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1rem 1.5rem !important;
    background: linear-gradient(135deg, #000 0%, #333 100%) !important;
    color: #fff !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border: none !important;
    border-radius: 0.75rem !important;
    cursor: pointer !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) !important;
    transition: all 0.2s ease !important;
}

.woocommerce-checkout #place_order:hover,
#place_order:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-checkout__actions button:hover,
button.wc-block-components-button.contained:hover {
    background: linear-gradient(135deg, #222 0%, #444 100%) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
}

/* Dark Mode - Place Order - CRITICAL FIX */
.dark .woocommerce-checkout #place_order,
.dark #place_order,
.dark .wc-block-components-checkout-place-order-button,
.dark .wc-block-checkout__actions button,
.dark button.wc-block-components-button.wc-block-components-checkout-place-order-button,
.dark button.wc-block-components-button.contained,
.dark .wc-block-checkout__actions_row button,
.dark .wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained,
html.dark .wc-block-components-checkout-place-order-button,
html.dark button.wc-block-components-button.contained {
    background: linear-gradient(135deg, #fff 0%, #e5e5e5 100%) !important;
    color: #000 !important;
    box-shadow: 0 2px 10px rgba(255, 255, 255, 0.15) !important;
}

.dark .woocommerce-checkout #place_order:hover,
.dark #place_order:hover,
.dark .wc-block-components-checkout-place-order-button:hover,
.dark .wc-block-checkout__actions button:hover,
.dark button.wc-block-components-button.contained:hover,
html.dark .wc-block-components-checkout-place-order-button:hover {
    background: linear-gradient(135deg, #f5f5f5 0%, #ddd 100%) !important;
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2) !important;
    color: #000 !important;
}

/* Actions Row Container */
.wc-block-checkout__actions_row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    margin-top: 1rem !important;
}

/* Return to Cart Link */
.dark .wc-block-components-checkout-return-to-cart-button {
    color: rgba(255, 255, 255, 0.7) !important;
}

.dark .wc-block-components-checkout-return-to-cart-button:hover {
    color: #fff !important;
}

/* ==========================================================================
   Checkout Page
   ========================================================================== */

.woocommerce-checkout .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

/* Checkout Columns */
.woocommerce-checkout .col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

@media (max-width: 768px) {
    .woocommerce-checkout .col2-set {
        grid-template-columns: 1fr;
    }
}

/* Checkout Form Sections */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout #order_review_heading+#order_review {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.dark .woocommerce-checkout .col2-set .col-1,
.dark .woocommerce-checkout .col2-set .col-2,
.dark .woocommerce-checkout #order_review_heading+#order_review {
    background: rgba(30, 30, 30, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Section Headings */
.woocommerce-checkout h3 {
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Form Fields */
.woocommerce form .form-row {
    margin-bottom: 1.25rem;
}

.woocommerce form .form-row label {
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 0.5rem;
    display: block;
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row input[type="number"],
.woocommerce form .form-row textarea,
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.wc-block-checkout input,
.wc-block-checkout select,
.wc-block-checkout textarea,
.wc-block-components-text-input input,
.wc-block-components-textarea textarea {
    width: 100%;
    padding: 0.875rem 1rem;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.75rem;
    font-family: 'Inter', sans-serif;
    font-size: 0.9375rem;
    background-color: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus,
.wc-block-checkout input:focus,
.wc-block-checkout select:focus {
    outline: none;
    border-color: #000;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

/* Dark Mode Form Fields - Remove White Background */
.dark .woocommerce form .form-row .input-text,
.dark .woocommerce form .form-row select,
.dark .woocommerce form .form-row input[type="text"],
.dark .woocommerce form .form-row input[type="email"],
.dark .woocommerce form .form-row input[type="tel"],
.dark .woocommerce form .form-row input[type="password"],
.dark .woocommerce form .form-row input[type="number"],
.dark .woocommerce form .form-row textarea,
.dark .woocommerce-checkout input,
.dark .woocommerce-checkout select,
.dark .woocommerce-checkout textarea,
.dark .wc-block-checkout input,
.dark .wc-block-checkout select,
.dark .wc-block-checkout textarea,
.dark .wc-block-components-text-input input,
.dark .wc-block-components-textarea textarea,
.dark input[type="text"],
.dark input[type="email"],
.dark input[type="tel"],
.dark input[type="password"],
.dark input[type="number"],
.dark input[type="search"],
.dark select,
.dark textarea {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
}

.dark .woocommerce form .form-row .input-text:focus,
.dark .woocommerce form .form-row select:focus,
.dark .woocommerce-checkout input:focus,
.dark .woocommerce-checkout select:focus,
.dark .wc-block-checkout input:focus,
.dark .wc-block-checkout select:focus,
.dark input:focus,
.dark select:focus,
.dark textarea:focus {
    border-color: rgba(255, 255, 255, 0.5) !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1) !important;
}

/* Dark Mode Placeholder Text */
.dark input::placeholder,
.dark textarea::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* Select2 Dropdown (Country/State) */
.woocommerce .select2-container--default .select2-selection--single {
    height: auto;
    padding: 0.875rem 1rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0.75rem;
    background-color: white;
}

.dark .woocommerce .select2-container--default .select2-selection--single,
.dark .select2-container--default .select2-selection--single {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.5;
    padding: 0;
}

.dark .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered,
.dark .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: white !important;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 1rem;
}

/* Select2 Dropdown Results */
.dark .select2-dropdown {
    background-color: #1a1a1a !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

.dark .select2-results__option {
    color: #fff !important;
}

.dark .select2-results__option--highlighted {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* WooCommerce Blocks Checkout Specific */
.dark .wc-block-components-text-input,
.dark .wc-block-components-combobox,
.dark .wc-block-components-country-input,
.dark .wc-block-components-state-input {
    background-color: transparent !important;
}

.dark .wc-block-components-text-input input,
.dark .wc-block-components-combobox input,
.dark .wc-block-components-country-input input,
.dark .wc-block-components-state-input input {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
}

/* Combobox / Dropdown Specific - Country/State Selectors */
.dark .wc-block-components-combobox .wc-block-components-combobox-control,
.dark .wc-block-components-combobox .wc-block-components-combobox-control input,
.dark .wc-block-components-combobox .components-combobox-control,
.dark .wc-block-components-combobox .components-combobox-control input,
.dark .wc-block-components-combobox .components-form-token-field__input-container,
.dark .wc-block-components-combobox input[type="text"],
.dark .wc-block-components-combobox input,
.dark .wc-block-components-country-input .wc-block-components-combobox-control,
.dark .wc-block-components-country-input input,
.dark .wc-block-components-state-input .wc-block-components-combobox-control,
.dark .wc-block-components-state-input input,
.dark [class*="wc-block"] input,
.dark [class*="wc-block"] select,
.dark .components-base-control input,
.dark .components-base-control select,
.dark .components-combobox-control input,
.dark .components-text-control__input,
/* NEW: Correct class names from DevTools */
.dark .wc-blocks-components-select__container,
.dark .wc-blocks-components-select__select,
.dark select.wc-blocks-components-select__select,
.dark .wc-blocks-components-select__container select,
.dark .wc-block-components-country-input select,
.dark .wc-block-components-state-input select,
.dark select#billing-country,
.dark select#shipping-country,
.dark select#billing-state,
.dark select#shipping-state {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
}

/* Select Container Wrapper */
.dark .wc-blocks-components-select__container {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 0.75rem !important;
}

/* Select Element Inside Container */
.dark .wc-blocks-components-select__select {
    background-color: transparent !important;
    border: none !important;
    color: #fff !important;
}

/* Select Arrow/Icon */
.dark .wc-blocks-components-select__container svg,
.dark .wc-blocks-components-select__expand {
    color: #fff !important;
    fill: #fff !important;
}

/* Dropdown Arrow Container */
.dark .wc-block-components-combobox .components-flex,
.dark .wc-block-components-combobox .components-input-control__container {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    border-radius: 0.75rem !important;
}

/* Dropdown Menu/List */
.dark .wc-block-components-combobox__menu,
.dark .components-popover__content,
.dark .components-autocomplete__results,
.dark [class*="combobox"] ul,
.dark [class*="combobox"] li {
    background-color: #1a1a1a !important;
    color: #fff !important;
}

.dark .wc-block-components-combobox__menu li:hover,
.dark .components-autocomplete__result:hover,
.dark [class*="combobox"] li:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

/* State Dropdown (appears after country selection) */
.dark .wc-block-components-state-input select,
.dark .wc-block-components-state-input input,
.dark select#billing-state,
.dark select#shipping-state,
.dark select[name*="state"],
.dark select[name*="country"] {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
}

/* SVG Icons in Dark Mode (dropdown arrows) */
.dark .wc-block-components-combobox svg,
.dark .components-input-control__suffix svg {
    fill: #fff !important;
    color: #fff !important;
}

/* Labels in Dark Mode */
.dark .woocommerce form .form-row label,
.dark .wc-block-components-text-input label,
.dark .wc-block-components-combobox label,
.dark label {
    color: rgba(255, 255, 255, 0.8) !important;
}

.dark .woocommerce form .form-row label,
.dark .wc-block-components-text-input label,
.dark label {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* Order Review Section */
.woocommerce-checkout #order_review_heading {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 2rem 0 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.woocommerce-checkout #order_review {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    margin-top: 1rem;
}

.dark .woocommerce-checkout #order_review {
    background: rgba(30, 30, 30, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Order Summary Box - WooCommerce Blocks (Dark Mode Border Fix) */
.dark .wc-block-components-order-summary,
.dark .wc-block-checkout__sidebar,
.dark .wp-block-woocommerce-checkout-order-summary-block,
.dark .wc-block-components-totals-wrapper,
.dark .wc-block-components-panel,
.dark [class*="order-summary"],
.dark [class*="checkout-order-summary"] {
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Order Summary Container Border */
.dark .wc-block-components-sidebar .wc-block-components-panel,
.dark .wc-block-checkout__sidebar .wc-block-components-panel {
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 0.75rem !important;
}

/* Order Summary Dividers/Lines */
.dark .wc-block-components-totals-item,
.dark .wc-block-components-order-summary-item,
.dark .wc-block-components-totals-footer-item {
    border-color: rgba(255, 255, 255, 0.15) !important;
}

/* Product list items separator */
.dark .wc-block-components-order-summary-item:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Order Table */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
    border: none;
    margin-bottom: 1.5rem;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    border: none;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.dark .woocommerce-checkout .woocommerce-checkout-review-order-table th,
.dark .woocommerce-checkout .woocommerce-checkout-review-order-table td {
    border-bottom-color: rgba(255, 255, 255, 0.05);
}

/* Payment Methods */
.woocommerce-checkout #payment {
    background: transparent;
    border-radius: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
    padding: 0;
    margin: 0 0 1.5rem;
    border: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
    list-style: none;
    padding: 1rem;
    margin-bottom: 0.5rem;
    background: rgba(0, 0, 0, 0.03);
    border-radius: 0.75rem;
    border: 1px solid transparent;
    transition: all 0.2s;
}

.dark .woocommerce-checkout #payment ul.payment_methods li {
    background: rgba(255, 255, 255, 0.05);
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
    border-color: rgba(0, 0, 0, 0.1);
}

.dark .woocommerce-checkout #payment ul.payment_methods li:hover {
    border-color: rgba(255, 255, 255, 0.1);
}

.woocommerce-checkout #payment ul.payment_methods li label {
    font-weight: 500;
    cursor: pointer;
}

.woocommerce-checkout #payment div.payment_box {
    background: rgba(0, 0, 0, 0.03);
    border-radius: 0.5rem;
    padding: 1rem;
    margin-top: 0.75rem;
    color: inherit;
}

.dark .woocommerce-checkout #payment div.payment_box {
    background: rgba(255, 255, 255, 0.05);
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none;
}

/* Place Order Button */
.woocommerce-checkout #place_order {
    width: 100%;
    padding: 1.25rem 2rem !important;
    font-size: 1rem !important;
    margin-top: 1rem;
}

/* ==========================================================================
   Notices / Messages
   ========================================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border: none !important;
    border-radius: 0.75rem !important;
    padding: 1rem 1.5rem !important;
    margin-bottom: 1.5rem !important;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.woocommerce-message {
    background: rgba(34, 197, 94, 0.1) !important;
    color: #16a34a !important;
}

.woocommerce-info {
    background: rgba(59, 130, 246, 0.1) !important;
    color: #2563eb !important;
}

.woocommerce-error {
    background: rgba(239, 68, 68, 0.1) !important;
    color: #dc2626 !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error li::before {
    color: inherit !important;
}

/* ==========================================================================
   Empty Cart
   ========================================================================== */

.woocommerce-cart .cart-empty {
    text-align: center;
    padding: 4rem 2rem;
}

.woocommerce-cart .cart-empty::before {
    content: "🛒";
    display: block;
    font-size: 4rem;
    margin-bottom: 1rem;
}

.woocommerce-cart .return-to-shop {
    text-align: center;
    margin-top: 2rem;
}

/* ==========================================================================
   Thank You Page
   ========================================================================== */

.woocommerce-order-received .woocommerce-thankyou-order-received {
    font-size: 1.25rem;
    font-weight: 600;
    text-align: center;
    padding: 2rem;
    background: rgba(34, 197, 94, 0.1);
    border-radius: 1rem;
    margin-bottom: 2rem;
}

.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 1rem;
    padding: 2rem;
    margin-bottom: 2rem;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.dark .woocommerce-order-received .woocommerce-order-details,
.dark .woocommerce-order-received .woocommerce-customer-details {
    background: rgba(30, 30, 30, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* ==========================================================================
   Responsive Adjustments
   ========================================================================== */

@media (max-width: 768px) {
    .woocommerce table.shop_table_responsive tr {
        display: block;
        margin-bottom: 1rem;
        padding: 1rem;
        background: rgba(0, 0, 0, 0.02);
        border-radius: 0.75rem;
    }

    .dark .woocommerce table.shop_table_responsive tr {
        background: rgba(255, 255, 255, 0.02);
    }

    .woocommerce table.shop_table_responsive td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.75rem 0 !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    }

    .dark .woocommerce table.shop_table_responsive td {
        border-bottom-color: rgba(255, 255, 255, 0.05) !important;
    }

    .woocommerce table.shop_table_responsive td:last-child {
        border-bottom: none !important;
    }

    .woocommerce table.shop_table_responsive td::before {
        font-weight: 600;
        text-transform: uppercase;
        font-size: 0.75rem;
        letter-spacing: 0.05em;
        color: #666;
    }

    .dark .woocommerce table.shop_table_responsive td::before {
        color: #aaa;
    }
}