/* =========================================
   CART & CHECKOUT - TENSHOMUSIC PREMIUM V2.1
   CORRECCIÓN DEFINITIVA DE ALINEACIÓN Y ESTILOS
   ========================================= */

/* --- GLOBAL CONTAINER FIX --- */
/* Forzar que TODOS los contenedores estén centrados y no desborden */

/* Reset de contenedores padre del tema Astra */
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content,
.woocommerce-cart .ast-container,
.woocommerce-checkout .ast-container,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* Contenedor principal de WooCommerce */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 60px 40px !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
}

/* Force dark background on pages */
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-page {
    background-color: #000000 !important;
    color: #ffffff !important;
    overflow-x: hidden !important;
}

/* --- TITLE STYLING RESTORED --- */
/* Estilos para "CART" y "CHECKOUT" */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
    text-align: center !important;
    font-size: 3.5rem !important;
    margin-bottom: 60px !important;
    color: #fff !important;
    text-shadow: 0 0 20px rgba(139, 92, 246, 0.5) !important;
    display: block !important;
    width: 100% !important;
    position: relative !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    padding-bottom: 20px !important;
}

/* Línea decorativa púrpura debajo del título */
.woocommerce-cart .entry-title::after,
.woocommerce-checkout .entry-title::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100px !important;
    height: 4px !important;
    background: linear-gradient(90deg, #8B5CF6, #A78BFA) !important;
    border-radius: 2px !important;
    display: block !important;
    visibility: visible !important;
    z-index: 10 !important;
}

/* =========================================
   CHECKOUT PAGE FIXED
   ========================================= */

/* Layout - Force 2 Columns on Desktop */
@media (min-width: 1000px) {

    /* Columna Izquierda: Detalles de Facturación */
    .woocommerce-checkout .col2-set {
        float: left !important;
        width: 53% !important;
        margin-right: 4% !important;
        padding-left: 10px !important;
    }

    /* Columna Derecha: Tú Pedido */
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        float: left !important;
        width: 43% !important;
        clear: none !important;
        padding-right: 10px !important;
    }

    /* --- CHECKOUT BLOCKS LAYOUT (WC BLOCKS) --- */
    .wc-block-checkout,
    .wp-block-woocommerce-checkout,
    .wc-block-components-sidebar-layout {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        gap: 30px !important;
        width: 100% !important;
        max-width: 1300px !important;
    }

    .wc-block-checkout__main,
    .wc-block-components-sidebar-layout .wc-block-components-main {
        width: 55% !important;
        flex-basis: 55% !important;
        flex-grow: 0 !important;
        flex-shrink: 0 !important;
    }

    .wc-block-checkout__sidebar,
    .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        width: 45% !important;
        flex-basis: 45% !important;
        flex-shrink: 0 !important;
        min-width: 400px !important;
    }

    /* Ensure inner sidebar content takes full width of sidebar */
    .wc-block-checkout__sidebar-inner,
    .wc-block-components-order-summary {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* Customer Details Container */
#customer_details {
    margin-bottom: 40px !important;
}

.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2 {
    max-width: none !important;
    width: 100% !important;
    float: none !important;
    margin-bottom: 30px !important;
}

/* --- FORM INPUTS STYLING --- */
.woocommerce-checkout form .form-row {
    margin-bottom: 20px !important;
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
}

.woocommerce-checkout form .form-row label {
    display: block !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
}

/* Force Inputs to Dark Mode and Correct Size */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.select2-container .select2-selection--single {
    background-color: #0a0a0a !important;
    color: #ffffff !important;
    border: 1px solid #333 !important;
    border-radius: 8px !important;
    padding: 15px !important;
    height: auto !important;
    line-height: 1.5 !important;
    width: 100% !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box !important;
    /* CRITICAL: Prevents inputs from overflowing */
}

/* Focus State */
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
    border-color: #8B5CF6 !important;
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.2) !important;
}

/* Fix Select2 (Country/State dropdowns) */
.select2-dropdown {
    background-color: #111 !important;
    border: 1px solid #333 !important;
    color: #fff !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: #8B5CF6 !important;
    color: #fff !important;
}

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

/* Headings inside forms */
.woocommerce-checkout h3 {
    color: #fff !important;
    font-size: 1.8rem !important;
    margin-top: 0 !important;
    margin-bottom: 25px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #222 !important;
}

/* --- ORDER REVIEW BOX --- */
#order_review {
    background: #111 !important;
    padding: 30px !important;
    border-radius: 12px !important;
    border: 1px solid #333 !important;
}

#order_review table.shop_table {
    border: none !important;
    margin-bottom: 20px !important;
}

#order_review table.shop_table th,
#order_review table.shop_table td {
    background: transparent !important;
    border-bottom: 1px solid #222 !important;
    padding: 15px 0 !important;
    color: #ddd !important;
}

#order_review table.shop_table tfoot th {
    color: #b3b3b3 !important;
}

#order_review table.shop_table .order-total .amount {
    color: #ffffff !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
}

/* Payment Methods */
#payment {
    background: #000 !important;
    border-radius: 8px !important;
}

#payment ul.payment_methods {
    border-bottom: 1px solid #333 !important;
    padding: 0 !important;
    margin-bottom: 20px !important;
}

#payment ul.payment_methods li {
    background: transparent !important;
    margin-bottom: 10px !important;
}

#payment div.payment_box {
    background-color: #1a1a1a !important;
    color: #bbb !important;
    border: 1px solid #333 !important;
    margin-top: 10px !important;
    padding: 15px !important;
}

/* Place Order Button */
#place_order {
    background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%) !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 18px !important;
    border-radius: 8px !important;
    font-size: 1.1rem !important;
    margin-top: 10px !important;
    transition: transform 0.2s !important;
    width: 100% !important;
}

#place_order:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 20px rgba(139, 92, 246, 0.4) !important;
}

/* =========================================
   CART PAGE FIXED
   ========================================= */

/* Main Cart Table Container */
.woocommerce-cart .woocommerce-cart-form {
    margin-bottom: 50px !important;
}

.shop_table.cart {
    border: none !important;
    background: #111 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    width: 100% !important;
    table-layout: auto !important;
}

.shop_table.cart thead {
    background: #1a1a1a !important;
}

.shop_table.cart th {
    color: #fff !important;
    padding: 20px !important;
    text-transform: uppercase !important;
    font-size: 0.9rem !important;
}

.shop_table.cart td {
    border-top: 1px solid #222 !important;
    padding: 20px !important;
    background: #0a0a0a !important;
    color: #fff !important;
    vertical-align: middle !important;
}

.shop_table.cart .product-remove a {
    color: #ff5555 !important;
    font-size: 1.5rem !important;
    background: transparent !important;
    border: 1px solid #ff5555 !important;
    border-radius: 50% !important;
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}

.shop_table.cart .product-thumbnail img {
    width: 80px !important;
    border-radius: 8px !important;
}

.shop_table.cart .product-name a {
    color: #fff !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.shop_table.cart .quantity input {
    background: #1a1a1a !important;
    color: #fff !important;
    border: 1px solid #333 !important;
    width: 60px !important;
    text-align: center !important;
}

/* Cart Totals */
.cart-collaterals .cart_totals {
    background: #111 !important;
    padding: 30px !important;
    border-radius: 12px !important;
    border: 1px solid #222 !important;
    float: none !important;
    width: 100% !important;
    max-width: 500px !important;
    margin-left: auto !important;
    /* Aligns to right */
}

.cart-collaterals .cart_totals h2 {
    color: #fff !important;
    border-bottom: 2px solid #8B5CF6 !important;
    padding-bottom: 10px !important;
    margin-bottom: 20px !important;
    font-size: 1.5rem !important;
}

.wc-proceed-to-checkout .checkout-button {
    background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%) !important;
    color: #fff !important;
    font-weight: 700 !important;
    padding: 18px !important;
    font-size: 1.1rem !important;
    border-radius: 8px !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-top: 20px !important;
    text-transform: uppercase !important;
}

/* Responsive Fixes */
@media (max-width: 768px) {

    .woocommerce-cart .woocommerce,
    .woocommerce-checkout .woocommerce {
        padding: 40px 15px !important;
    }

    .woocommerce-checkout .col2-set,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
        padding: 0 !important;
    }

    .cart-collaterals .cart_totals {
        margin-left: 0 !important;
        max-width: 100% !important;
    }
}

/* =========================================
   PREMIUM TEXT & UI ELEMENTS STYLING
   ========================================= */

/* --- ALL TEXT COLORS FIX --- */
.woocommerce-cart p,
.woocommerce-checkout p,
.woocommerce-cart span,
.woocommerce-checkout span,
.woocommerce-cart label,
.woocommerce-checkout label,
.woocommerce-cart li,
.woocommerce-checkout li {
    color: #ffffff !important;
}

/* Secondary/muted text */
.woocommerce-cart .description,
.woocommerce-checkout .description,
.woocommerce-cart small,
.woocommerce-checkout small,
.woocommerce-cart .variation,
.woocommerce-checkout .variation {
    color: #b3b3b3 !important;
    font-size: 0.9rem !important;
}

/* --- PRODUCT DETAILS IN CART/CHECKOUT --- */
.woocommerce-cart .product-name,
.woocommerce-checkout .product-name {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 1.1rem !important;
}

/* Product variations/attributes */
.woocommerce-cart .variation dt,
.woocommerce-checkout .variation dt {
    color: #8B5CF6 !important;
    font-weight: 600 !important;
}

.woocommerce-cart .variation dd,
.woocommerce-checkout .variation dd,
.woocommerce-cart .variation p,
.woocommerce-checkout .variation p {
    color: #b3b3b3 !important;
    margin-left: 0 !important;
}

/* Product quantity display */
.woocommerce-cart .product-quantity,
.woocommerce-checkout .product-quantity {
    color: #aaa !important;
}

/* --- PRICE STYLING --- */
.woocommerce-cart .amount,
.woocommerce-checkout .amount {
    color: #8B5CF6 !important;
    font-weight: 700 !important;
}

.woocommerce-cart .product-subtotal .amount,
.woocommerce-checkout .product-total .amount {
    color: #A78BFA !important;
    font-size: 1.2rem !important;
}

/* Total final - Big and bold - Changed to white for better visibility */
.woocommerce-cart .order-total .amount,
.woocommerce-checkout .order-total .amount {
    color: #ffffff !important;
    font-size: 1.8rem !important;
    font-weight: 900 !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.2) !important;
}

/* --- SECTION HEADINGS --- */
.woocommerce-cart h2,
.woocommerce-checkout h2,
.woocommerce-cart h3,
.woocommerce-checkout h3 {
    color: #ffffff !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
}

/* --- NOTICES & MESSAGES --- */
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-info {
    background: rgba(139, 92, 246, 0.15) !important;
    border-left: 4px solid #8B5CF6 !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    padding: 20px 25px !important;
    margin-bottom: 30px !important;
}

.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-error {
    background: rgba(239, 68, 68, 0.15) !important;
    border-left: 4px solid #EF4444 !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    padding: 20px 25px !important;
    margin-bottom: 30px !important;
}

/* --- COUPON & DISCOUNT BOXES --- */
.woocommerce-cart .coupon,
.woocommerce-checkout .coupon {
    background: #111 !important;
    padding: 20px !important;
    border-radius: 12px !important;
    border: 1px solid #333 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    align-items: center !important;
}

.woocommerce-cart .coupon label,
.woocommerce-checkout .coupon label {
    color: #fff !important;
    font-weight: 600 !important;
    width: 100% !important;
    margin-bottom: 10px !important;
}

.woocommerce-cart .coupon input[type="text"],
.woocommerce-checkout .coupon input[type="text"] {
    flex: 1 !important;
    min-width: 180px !important;
    background: #0a0a0a !important;
    border: 1px solid #333 !important;
    border-radius: 8px !important;
    color: #fff !important;
    padding: 12px 15px !important;
}

.woocommerce-cart .coupon button,
.woocommerce-checkout .coupon button {
    background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%) !important;
    color: #fff !important;
    border: none !important;
    padding: 12px 25px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: transform 0.2s !important;
}

.woocommerce-cart .coupon button:hover,
.woocommerce-checkout .coupon button:hover {
    transform: translateY(-2px) !important;
}

/* --- ADD COUPONS TOGGLE --- */
.woocommerce-checkout .showcoupon {
    color: #8B5CF6 !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

.woocommerce-checkout .showcoupon:hover {
    color: #A78BFA !important;
    text-decoration: underline !important;
}

/* --- ORDER REVIEW STYLING --- */
#order_review_heading {
    color: #fff !important;
    font-size: 1.5rem !important;
    margin-bottom: 20px !important;
    border-bottom: 2px solid #8B5CF6 !important;
    padding-bottom: 15px !important;
}

/* Product list in order review */
#order_review .cart_item {
    border-bottom: 1px solid #222 !important;
}

#order_review .cart_item td {
    padding: 15px 0 !important;
}

#order_review .product-name {
    color: #fff !important;
}

#order_review .product-total {
    color: #8B5CF6 !important;
    font-weight: 700 !important;
    text-align: right !important;
}

/* --- PAYMENT METHODS PREMIUM --- */
#payment {
    background: #0a0a0a !important;
    padding: 25px !important;
    border-radius: 12px !important;
    border: 1px solid #333 !important;
    margin-top: 20px !important;
}

/* Payment Section Heading */
#payment h3,
#payment .wc-block-components-checkout-step__heading,
.wc-block-checkout__payment-methods h2,
.wc-block-checkout__payment-methods h3 {
    color: #ffffff !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #8B5CF6 !important;
}

#payment ul.payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
}

#payment ul.payment_methods li {
    padding: 25px !important;
    margin-bottom: 20px !important;
    border-radius: 10px !important;
    border: 2px solid #333 !important;
    transition: all 0.3s !important;
    background: rgba(255, 255, 255, 0.03) !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#payment ul.payment_methods li:hover {
    border-color: #8B5CF6 !important;
    background: rgba(139, 92, 246, 0.1) !important;
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.2) !important;
}

#payment ul.payment_methods li input[type="radio"] {
    accent-color: #8B5CF6 !important;
    width: 20px !important;
    height: 20px !important;
    margin-right: 12px !important;
}

#payment ul.payment_methods li label {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 1.2rem !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 15px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Payment method name styling */
#payment ul.payment_methods li label strong,
#payment .payment_method_paypal label,
#payment .wc-block-components-payment-method-label {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 1.2rem !important;
    letter-spacing: 0.5px !important;
}

#payment div.payment_box {
    background: rgba(139, 92, 246, 0.15) !important;
    border: 1px solid rgba(139, 92, 246, 0.4) !important;
    color: #e0e0e0 !important;
    padding: 20px 25px !important;
    border-radius: 8px !important;
    margin-top: 15px !important;
    line-height: 1.8 !important;
    font-size: 0.95rem !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#payment div.payment_box::before {
    display: none !important;
}

/* Payment box paragraphs - better formatting with clear hierarchy */
#payment div.payment_box p {
    color: #e0e0e0 !important;
    margin-bottom: 12px !important;
    line-height: 1.8 !important;
    font-size: 0.95rem !important;
    display: block !important;
}

#payment div.payment_box p:first-child {
    color: #ffffff !important;
    font-weight: 500 !important;
    font-size: 1rem !important;
    margin-bottom: 10px !important;
}

#payment div.payment_box p:last-child {
    margin-bottom: 0 !important;
    color: #b3b3b3 !important;
    font-size: 0.85rem !important;
    font-style: italic !important;
    margin-top: 8px !important;
    padding-top: 8px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* PayPal button styling */
#payment .wc-block-components-radio-control-accordion-option,
#payment .wc-block-components-payment-method-label {
    color: #fff !important;
    font-weight: 600 !important;
}

/* --- TABLES (CART TOTALS, ORDER DETAILS) --- */
.woocommerce-cart table,
.woocommerce-checkout table {
    border-collapse: collapse !important;
    width: 100% !important;
}

.woocommerce-cart table th,
.woocommerce-checkout table th {
    color: #b3b3b3 !important;
    font-weight: 600 !important;
    text-align: left !important;
    padding: 15px !important;
    border-bottom: 1px solid #333 !important;
    background: transparent !important;
}

.woocommerce-cart table td,
.woocommerce-checkout table td {
    color: #fff !important;
    padding: 15px !important;
    border-bottom: 1px solid #222 !important;
    background: transparent !important;
}

/* --- SHIPPING INFO --- */
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
    margin-top: 30px !important;
}

.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
    color: #fff !important;
    margin-bottom: 20px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #333 !important;
}

/* Checkbox styling - Traditional WooCommerce checkboxes */
.woocommerce-cart input[type="checkbox"],
.woocommerce-checkout input[type="checkbox"] {
    accent-color: #8B5CF6 !important;
    width: 18px !important;
    height: 18px !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Ensure checkbox labels are clickable */
.woocommerce-checkout label[for*="checkbox"],
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
    cursor: pointer !important;
    pointer-events: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* Terms and conditions checkbox */
.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    cursor: pointer !important;
    margin-right: 10px !important;
}

/* Shipping address checkbox */
.woocommerce-shipping-fields input[type="checkbox"],
#ship-to-different-address-checkbox {
    width: 20px !important;
    height: 20px !important;
    cursor: pointer !important;
    margin-right: 10px !important;
}

/* --- LINKS --- */
.woocommerce-cart a,
.woocommerce-checkout a {
    color: #8B5CF6 !important;
    text-decoration: none !important;
    transition: color 0.3s !important;
}

.woocommerce-cart a:hover,
.woocommerce-checkout a:hover {
    color: #A78BFA !important;
    text-decoration: underline !important;
}

/* Don't affect header links */
.woocommerce-cart header a,
.woocommerce-checkout header a,
.woocommerce-cart nav a,
.woocommerce-checkout nav a,
.woocommerce-cart .site-header a,
.woocommerce-checkout .site-header a {
    color: inherit !important;
}

/* --- BUTTONS GENERAL --- */
.woocommerce-cart button,
.woocommerce-checkout button,
.woocommerce-cart .button,
.woocommerce-checkout .button {
    background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%) !important;
    color: #fff !important;
    border: none !important;
    padding: 14px 28px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.woocommerce-cart button:hover,
.woocommerce-checkout button:hover,
.woocommerce-cart .button:hover,
.woocommerce-checkout .button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 20px rgba(139, 92, 246, 0.4) !important;
}

/* Update cart button (secondary) */
.woocommerce-cart button[name="update_cart"] {
    background: #333 !important;
    color: #aaa !important;
}

.woocommerce-cart button[name="update_cart"]:hover {
    background: #444 !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* --- REMOVE ITEM BUTTON --- */
.woocommerce-cart .remove {
    color: #ff5555 !important;
    font-size: 1.3rem !important;
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: rgba(255, 85, 85, 0.1) !important;
    border: 1px solid #ff5555 !important;
    transition: all 0.3s !important;
}

.woocommerce-cart .remove:hover {
    background: #ff5555 !important;
    color: #fff !important;
}

/* --- EMPTY CART MESSAGE --- */
.woocommerce-cart .cart-empty {
    text-align: center !important;
    padding: 60px 20px !important;
    color: #b3b3b3 !important;
    font-size: 1.2rem !important;
}

.woocommerce-cart .return-to-shop {
    text-align: center !important;
    margin-top: 30px !important;
}

/* --- PRIVACY POLICY TEXT --- */
.woocommerce-terms-and-conditions-wrapper {
    margin-top: 20px !important;
    padding: 15px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border-radius: 8px !important;
}

.woocommerce-privacy-policy-text {
    color: #999 !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
}

.woocommerce-privacy-policy-text a {
    color: #8B5CF6 !important;
}

/* --- EXPRESS CHECKOUT (PAYPAL, ETC) --- */
.wc-block-components-express-payment,
.woocommerce-checkout .wc-block-components-express-payment {
    margin-bottom: 30px !important;
    padding: 20px !important;
    background: #111 !important;
    border-radius: 12px !important;
    border: 1px solid #333 !important;
}

/* --- SEPARATOR "OR" --- */
.wc-block-components-express-payment-continue-rule,
.woocommerce-checkout-payment .wc-block-components-express-payment-continue-rule {
    color: #666 !important;
    text-align: center !important;
    margin: 20px 0 !important;
}

/* --- QUANTITY CONTROLS REDESIGN --- */
.woocommerce-cart .quantity {
    display: flex !important;
    align-items: center !important;
    background: #0a0a0a !important;
    padding: 5px !important;
    border-radius: 8px !important;
    border: 1px solid #333 !important;
    width: fit-content !important;
    margin-bottom: 20px !important;
    /* Spacing below controls */
}

/* Number Input - Visible & Dark */
.woocommerce-cart .quantity .qty,
.woocommerce-cart .quantity input[type="number"] {
    width: 50px !important;
    height: 40px !important;
    background: transparent !important;
    color: #fff !important;
    border: none !important;
    text-align: center !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    padding: 0 !important;
    margin: 0 !important;
    appearance: textfield !important;
    /* Remove numeric arrows */
    opacity: 1 !important;
    position: static !important;
    pointer-events: auto !important;
}

/* Remove arrows from number input */
.woocommerce-cart .quantity input[type=number]::-webkit-inner-spin-button,
.woocommerce-cart .quantity input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Quantity +/- Buttons */
.woocommerce-cart .quantity button,
.woocommerce-cart .quantity .minus,
.woocommerce-cart .quantity .plus,
.woocommerce-cart .quantity input[type="button"] {
    background: #222 !important;
    color: #8B5CF6 !important;
    border: none !important;
    width: 32px !important;
    height: 32px !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-cart .quantity button:hover,
.woocommerce-cart .quantity .minus:hover,
.woocommerce-cart .quantity .plus:hover {
    background: #8B5CF6 !important;
    color: #fff !important;
}

/* --- THUMBNAIL IMAGES --- */
.woocommerce-cart .product-thumbnail img,
.woocommerce-checkout .product-thumbnail img {
    border-radius: 8px !important;
    border: 1px solid #333 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important;
}

/* =========================================
   CRITICAL FIXES FOR SPECIFIC ELEMENTS
   ========================================= */

/* --- PROCEDER AL PAGO / CHECKOUT BUTTON FIX --- */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-container .wc-block-components-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-proceed-to-checkout a.checkout-button,
.checkout-button,
button.wc-block-components-button.wc-block-cart__submit-button {
    background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    padding: 18px 30px !important;
    border-radius: 8px !important;
    border: none !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    cursor: pointer !important;
    box-shadow: 0 4px 15px rgba(139, 92, 246, 0.4) !important;
    transition: all 0.3s !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.checkout-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(139, 92, 246, 0.6) !important;
    color: #ffffff !important;
}

/* Fix button text visibility */
.wc-block-cart__submit-button span,
.wc-block-components-button__text {
    color: #ffffff !important;
}

/* --- EXPRESS CHECKOUT SECTION FIX --- */
.wc-block-components-express-payment,
.wc-block-checkout__actions_row--express-payment {
    background: #111 !important;
    padding: 25px !important;
    border-radius: 12px !important;
    border: 1px solid #333 !important;
    margin-bottom: 30px !important;
}

/* Express Checkout Title */
.wc-block-components-express-payment__title,
.wc-block-components-express-payment-continue-rule span,
.wc-block-checkout__actions_row span {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
}

/* "O CONTINÚA MÁS ABAJO" text */
.wc-block-components-express-payment-continue-rule,
.wc-block-components-express-payment-continue-rule::before,
.wc-block-components-express-payment-continue-rule::after {
    color: #888 !important;
    background: transparent !important;
}

.wc-block-components-express-payment-continue-rule::before,
.wc-block-components-express-payment-continue-rule::after {
    background: #333 !important;
}

/* --- ADD COUPONS DROPDOWN FIX --- */
.wc-block-components-totals-coupon-link,
.wc-block-components-panel__button,
.wc-block-components-totals-coupon__button {
    color: #8B5CF6 !important;
    font-weight: 600 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
}

.wc-block-components-totals-coupon-link:hover,
.wc-block-components-panel__button:hover {
    color: #A78BFA !important;
}

/* Coupon input when expanded */
.wc-block-components-totals-coupon__content input {
    background: #0a0a0a !important;
    color: #fff !important;
    border: 1px solid #444 !important;
    border-radius: 6px !important;
    padding: 12px !important;
}

/* --- CART TOTALS SECTION --- */
.wc-block-cart__totals-title,
.wp-block-woocommerce-cart-order-summary-heading-block {
    color: #ffffff !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    border-bottom: 2px solid #8B5CF6 !important;
    padding-bottom: 15px !important;
    margin-bottom: 20px !important;
}

/* Totals rows (Subtotal, Total) */
.wc-block-components-totals-item {
    border-bottom: 1px solid #222 !important;
    padding: 15px 0 !important;
}

.wc-block-components-totals-item__label {
    color: #b3b3b3 !important;
    font-weight: 500 !important;
}

.wc-block-components-totals-item__value {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Estimated Total - Make it POP - Changed to white for better visibility */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item__value,
.wc-block-components-formatted-money-amount.wc-block-components-totals-footer-item-tax-value,
.wc-block-formatted-money-amount.wc-block-components-totals-footer-item-tax-value {
    color: #ffffff !important;
    font-size: 1.5rem !important;
    font-weight: 900 !important;
}

/* --- PRODUCT DETAILS IN CART --- */
.wc-block-cart-item__product,
.wc-block-cart-item__wrap {
    color: #fff !important;
}

.wc-block-cart-item__product-name {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 1.1rem !important;
}

.wc-block-cart-item__product-metadata {
    color: #b3b3b3 !important;
    font-size: 0.9rem !important;
    margin-bottom: 20px !important;
    /* Spacing before quantity selector */
    display: block !important;
}

.wc-block-cart-item__product-price {
    color: #8B5CF6 !important;
    font-weight: 700 !important;
}

/* --- QUANTITY SELECTOR (WC BLOCKS) FIX --- */
/* Target the main container of the quantity selector in the block */
.wc-block-components-quantity-selector {
    background: #1a1a1a !important;
    border: 1px solid #333 !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    width: fit-content !important;
    margin: 15px 0 !important;
    overflow: hidden !important;
}

/* The white box (input) fix */
.wc-block-components-quantity-selector__input,
input.wc-block-components-quantity-selector__input {
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    width: 45px !important;
    height: 40px !important;
    text-align: center !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

/* The buttons (- / +) */
.wc-block-components-quantity-selector__button {
    background: #8B5CF6 !important;
    color: #ffffff !important;
    border: none !important;
    width: 35px !important;
    height: 40px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.3s !important;
    padding: 0 !important;
    font-size: 1.2rem !important;
}

.wc-block-components-quantity-selector__button:hover {
    background: #7C3AED !important;
}

/* Fix for icons inside buttons if they are white/black */
.wc-block-components-quantity-selector__button svg {
    fill: currentColor !important;
}

/* Ensure the whole block is not overlapping other elements */
.wc-block-cart-item__quantity {
    display: block !important;
    margin-top: 15px !important;
    clear: both !important;
}

/* --- ELIMINAR ARTÍCULO BUTTON --- */
.wc-block-cart-item__remove-link,
.wc-block-components-quantity-selector button[aria-label*="Remove"],
button.wc-block-cart-item__remove-link {
    color: #ff5555 !important;
    background: transparent !important;
    border: 1px solid #ff5555 !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    margin-top: 15px !important;
    /* Separation from quantity controls */
    display: inline-block !important;
}

.wc-block-cart-item__remove-link:hover {
    background: #ff5555 !important;
    color: #fff !important;
}

/* --- ORDER SUMMARY (CHECKOUT) --- */
.wc-block-components-order-summary {
    background: #111 !important;
    padding: 30px !important;
    border-radius: 12px !important;
    border: 1px solid #333 !important;
}

.wc-block-components-order-summary__heading {
    color: #ffffff !important;
    font-weight: 700 !important;
    margin-bottom: 25px !important;
    font-size: 1.3rem !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #8B5CF6 !important;
}

/* Individual product in summary */
.wc-block-components-order-summary-item {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid #222 !important;
    margin-bottom: 15px !important;
    gap: 15px !important;
    width: 100% !important;
    overflow: visible !important;
}

.wc-block-components-order-summary-item:last-child {
    border-bottom: none !important;
}

/* Product image in summary */
.wc-block-components-order-summary-item__image {
    margin-right: 0 !important;
    flex-shrink: 0 !important;
    width: 90px !important;
    height: 90px !important;
    position: relative !important;
    display: block !important;
    overflow: visible !important;
}

.wc-block-components-order-summary-item__image img {
    border-radius: 8px !important;
    border: 1px solid #333 !important;
    width: 90px !important;
    min-width: 90px !important;
    max-width: 90px !important;
    height: 90px !important;
    min-height: 90px !important;
    max-height: 90px !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    object-position: center center !important;
}

/* Product details */
.wc-block-components-order-summary-item__description {
    color: #ffffff !important;
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    flex-basis: auto !important;
    padding-right: 10px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.wc-block-components-order-summary-item__description strong,
.wc-block-components-product-name,
.wc-block-components-order-summary-item .wc-block-components-product-name {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 1.15rem !important;
    display: block !important;
    margin-bottom: 12px !important;
    line-height: 2 !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    max-width: 100% !important;
    letter-spacing: 0.02em !important;
}

/* Product metadata (variations, license, etc) */
.wc-block-components-order-summary-item__description small,
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata {
    color: #b3b3b3 !important;
    font-size: 0.85rem !important;
    display: block !important;
    line-height: 1.4 !important;
    margin-top: 5px !important;
}

.wc-block-components-order-summary-item__description ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 5px 0 !important;
}

.wc-block-components-order-summary-item__description li {
    color: #b3b3b3 !important;
    padding: 2px 0 !important;
    font-size: 0.85rem !important;
}

/* Quantity Badge (the "1" on product image) */
.wc-block-components-order-summary-item__quantity,
.wc-block-components-order-summary-item__image .wc-block-components-quantity-badge,
.wc-block-components-quantity-badge {
    background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    border-radius: 50% !important;
    min-width: 22px !important;
    height: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: -5px !important;
    right: -5px !important;
    box-shadow: 0 2px 8px rgba(139, 92, 246, 0.5) !important;
}

/* Price in summary */
.wc-block-components-order-summary-item__total-price {
    color: #8B5CF6 !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    flex-shrink: 0 !important;
    text-align: right !important;
    white-space: nowrap !important;
}

/* --- CHECKOUT FORM BLOCKS --- */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-country-input select,
.wc-block-components-state-input select {
    background: #0a0a0a !important;
    color: #ffffff !important;
    border: 1px solid #444 !important;
    border-radius: 8px !important;
    padding: 15px !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus {
    border-color: #8B5CF6 !important;
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.2) !important;
}

/* Form Input Containers */
.wc-block-components-text-input,
.wc-block-components-country-input,
.wc-block-components-state-input {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    margin-bottom: 25px !important;
    background: transparent !important;
}

/* Form Labels */
.wc-block-components-text-input label,
.wc-block-components-country-input label,
.wc-block-components-state-input label {
    position: relative !important;
    order: -1 !important;
    /* Force label to the TOP */
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
    transform: none !important;
    background: transparent !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Ensure inputs are not overlapping labels */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-country-input select,
.wc-block-components-state-input select {
    margin-top: 0 !important;
}

/* Section Headings in Checkout */
.wc-block-checkout__billing-fields h4,
.wc-block-checkout__shipping-fields h4,
.wc-block-components-checkout-step__heading {
    color: #ffffff !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid #333 !important;
    padding-bottom: 10px !important;
}

/* Checkbox Styling */
.wc-block-components-checkbox input[type="checkbox"] {
    accent-color: #8B5CF6 !important;
}

/* --- FINAL CLEANUP & ANTI-WHITE BOX PROTECTION --- */
/* Radical Transparency for all WooCommerce Blocks containers */
.wc-block-components-text-input,
.wc-block-components-country-input,
.wc-block-components-state-input,
.wc-block-components-combobox,
.wc-block-components-combobox-list,
.wc-block-components-address-form,
.wc-block-components-form-token-field,
.wc-block-components-text-input__label,
.wc-block-components-combobox__label,
.wc-block-components-shipping-address,
.wc-block-components-billing-address {
    background: transparent !important;
    background-color: transparent !important;
}

/* Eliminate background from wrappers that often cause the white boxes */
div[class*="wc-block-components-"][class*="__input-wrapper"],
div[class*="wc-block-components-"][class*="__input-container"],
.wc-block-components-combobox__input-container {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
}

/* Ensure global transparency in checkout as a fallback */
.woocommerce-checkout .woocommerce-checkout-main *,
.wc-block-checkout * {
    background-color: transparent;
}

/* But Re-Apply Dark backgrounds to the actual INPUTS we want */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-country-input select,
.wc-block-components-state-input select,
.wc-block-components-combobox input,
.wc-block-components-form-token-field__input {
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
    color: #ffffff !important;
    border: 1px solid #444 !important;
    border-radius: 8px !important;
}

/* --- ANTI-WHITE BOX NUCLEAR PURGE --- */
/* --- CONTROLLED TRANSPARENCY (Previously Nuclear Purge) --- */
/* Force transparency only on layout wrappers, explicitly excluding interactive elements and payment buttons */
.wc-block-checkout div:not(.wc-block-components-checkbox__input):not(.wc-block-components-checkbox__mark):not(.wc-block-components-button):not(.payment_method):not(.place-order),
.wc-blocks-checkout div:not(.wc-block-components-checkbox__input):not(.wc-block-components-checkbox__mark):not(.wc-block-components-button):not(.payment_method):not(.place-order) {
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Consolidated Checkbox Styles - FIXED FOR CLICKS */
.wc-block-components-checkbox {
    position: relative !important;
    display: flex !important;
    align-items: flex-start !important;
    margin-bottom: 20px !important;
    background: transparent !important;
    pointer-events: auto !important;
    width: 100% !important;
    cursor: pointer !important;
}

/* The actual checkbox input - invisible but clickable, positioned over the mark */
.wc-block-components-checkbox__input[type="checkbox"] {
    opacity: 0 !important;
    position: absolute !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-top: 2px !important;
    z-index: 25 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    left: 0 !important;
    top: 0 !important;
    /* Completely remove native checkbox appearance */
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    border: none !important;
    background: none !important;
    outline: none !important;
    /* Don't use clip - it prevents clicks, just use opacity 0 */
}

/* For checkboxes inside labels directly (not in wc-block-components-checkbox container) */
label .wc-block-components-checkbox__input[type="checkbox"] {
    opacity: 0 !important;
    position: absolute !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-top: 2px !important;
    z-index: 25 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    left: 0 !important;
    top: 0 !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    border: none !important;
    background: none !important;
    outline: none !important;
    /* Ensure it's positioned exactly over the SVG mark */
    clip: auto !important;
    clip-path: none !important;
}

/* Ensure labels with checkboxes are clickable */
label[for*="checkbox"] {
    cursor: pointer !important;
    pointer-events: auto !important;
    position: relative !important;
    display: flex !important;
    align-items: flex-start !important;
}

/* Hide any native checkbox styling that might show through */
.wc-block-components-checkbox__input[type="checkbox"]::-webkit-appearance,
.wc-block-components-checkbox__input[type="checkbox"]::-moz-appearance {
    display: none !important;
}

/* Visual mark (SVG) - this is the only visible checkbox */
.wc-block-components-checkbox__mark {
    flex-shrink: 0 !important;
    width: 20px !important;
    height: 20px !important;
    margin-right: 15px !important;
    margin-top: 2px !important;
    position: relative !important;
    z-index: 1 !important;
    border: 2px solid #ffffff !important;
    border-radius: 4px !important;
    background-color: transparent !important;
    visibility: visible !important;
    opacity: 1 !important;
    display: inline-block !important;
    order: -1 !important;
    pointer-events: none !important;
    /* Ensure SVG doesn't show native checkbox */
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

/* Label text */
.wc-block-components-checkbox__label {
    display: flex !important;
    align-items: flex-start !important;
    color: #ffffff !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    line-height: 1.4 !important;
    pointer-events: none !important;
    z-index: 5 !important;
    flex: 1 !important;
}

/* Make the entire checkbox container clickable */
.wc-block-components-checkbox label {
    cursor: pointer !important;
    pointer-events: auto !important;
    display: flex !important;
    align-items: flex-start !important;
    width: 100% !important;
    position: relative !important;
}

/* Ensure label doesn't show native checkbox styling */
.wc-block-components-checkbox label::before,
.wc-block-components-checkbox label::after {
    display: none !important;
    content: none !important;
}

/* Labels that directly contain wc-block-components-checkbox inputs */
label:has(.wc-block-components-checkbox__input),
label .wc-block-components-checkbox__input {
    position: relative !important;
}

label:has(.wc-block-components-checkbox__input) {
    cursor: pointer !important;
    pointer-events: auto !important;
    display: flex !important;
    align-items: flex-start !important;
    position: relative !important;
}

/* Checked state - multiple selectors to catch all cases */
.wc-block-components-checkbox input[type="checkbox"]:checked ~ .wc-block-components-checkbox__label .wc-block-components-checkbox__mark,
.wc-block-components-checkbox input[type="checkbox"]:checked + .wc-block-components-checkbox__label .wc-block-components-checkbox__mark,
.wc-block-components-checkbox__input:checked ~ .wc-block-components-checkbox__label .wc-block-components-checkbox__mark,
.wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__label .wc-block-components-checkbox__mark,
.wc-block-components-checkbox input[type="checkbox"]:checked + label .wc-block-components-checkbox__mark,
.wc-block-components-checkbox:has(input[type="checkbox"]:checked) .wc-block-components-checkbox__mark {
    background-color: #8B5CF6 !important;
    border-color: #8B5CF6 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white' width='18px' height='18px'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") !important;
    background-size: 14px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}


/* Specific fix for Labels to ensure they stay on top and never white */
.wc-block-components-text-input label,
.wc-blocks-components-select__label,
.wc-block-components-combobox label,
.wc-blocks-components-select label {
    position: relative !important;
    display: block !important;
    margin-bottom: 10px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    background: transparent !important;
    background-color: transparent !important;
    transform: none !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
}


.woocommerce-cart .woocommerce>*,
.woocommerce-checkout .woocommerce>* {
    background-color: transparent;
}

/* But keep specific containers with intended backgrounds */
.wc-block-cart__main,
.wc-block-checkout__main {
    background: transparent !important;
}

/* TEXT & BUTTON RESTORATION */
/* Restore colors for generic text that might have been lost */
.wc-block-checkout p,
.wc-block-checkout span,
.payment_method p,
.payment_method span,
.wc-block-components-checkout-step__description {
    color: #b3b3b3 !important;
}

/* Ensure strong text is white */
.wc-block-checkout strong,
.wc-block-checkout b {
    color: #ffffff !important;
}

/* Payment Method Descriptions Styling - Consolidated and Clear */
/* Ensure payment method container has structure */
.payment_method_paypal {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* All payment method paragraphs - base styling */
.payment_method_paypal p,
.payment_method p {
    display: block !important;
    width: 100% !important;
    margin-bottom: 12px !important;
    line-height: 1.8 !important;
    padding: 0 !important;
}

/* First paragraph - main description (white, bold) */
.payment_method_paypal p:first-of-type,
.payment_method p:first-of-type,
#payment div.payment_box p:first-child {
    color: #ffffff !important;
    font-weight: 500 !important;
    font-size: 1rem !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
}

/* Middle paragraphs - secondary info */
.payment_method_paypal p:not(:first-of-type):not(:last-of-type),
.payment_method p:not(:first-of-type):not(:last-of-type) {
    color: #d0d0d0 !important;
    font-size: 0.95rem !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
}

/* Last paragraph - tertiary info (gray, italic) */
.payment_method_paypal p:last-of-type,
.payment_method p:last-of-type,
#payment div.payment_box p:last-child {
    color: #b3b3b3 !important;
    font-size: 0.85rem !important;
    font-style: italic !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* WooCommerce Blocks payment method descriptions */
.wc-block-components-payment-method-description p:first-child {
    color: #ffffff !important;
    font-weight: 500 !important;
    margin-bottom: 10px !important;
}

.wc-block-components-payment-method-description p:last-child {
    color: #b3b3b3 !important;
    font-size: 0.85rem !important;
    font-style: italic !important;
    margin-top: 8px !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* WooCommerce Blocks Payment Methods Styling */
.wc-block-components-payment-methods {
    margin-top: 20px !important;
}

.wc-block-components-payment-method {
    margin-bottom: 20px !important;
    padding: 25px !important;
    border-radius: 10px !important;
    border: 2px solid #333 !important;
    background: rgba(255, 255, 255, 0.03) !important;
    transition: all 0.3s !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.wc-block-components-payment-method:hover {
    border-color: #8B5CF6 !important;
    background: rgba(139, 92, 246, 0.1) !important;
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.2) !important;
}

.wc-block-components-payment-method-label {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 1.2rem !important;
    margin-bottom: 15px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    display: block !important;
    letter-spacing: 0.5px !important;
}

.wc-block-components-payment-method-description {
    color: #e0e0e0 !important;
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
    margin-top: 10px !important;
}

.wc-block-components-payment-method-description p {
    margin-bottom: 8px !important;
    color: #e0e0e0 !important;
    line-height: 1.7 !important;
}

.wc-block-components-payment-method-description p:first-child {
    color: #ffffff !important;
    font-weight: 500 !important;
    margin-bottom: 10px !important;
}

.wc-block-components-payment-method-description p:last-child {
    color: #b3b3b3 !important;
    font-size: 0.9rem !important;
    font-style: italic !important;
    margin-bottom: 0 !important;
    margin-top: 8px !important;
}

/* Payment method text formatting - ensure all text is readable and structured */
.payment_method_paypal .payment_box {
    background: rgba(139, 92, 246, 0.15) !important;
    border: 1px solid rgba(139, 92, 246, 0.4) !important;
    border-radius: 8px !important;
    padding: 20px 25px !important;
    margin-top: 15px !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.payment_method_paypal .payment_box p,
.payment_method_paypal p {
    margin-bottom: 12px !important;
    line-height: 1.8 !important;
    display: block !important;
    width: 100% !important;
}

.payment_method_paypal .payment_box p:first-of-type {
    color: #ffffff !important;
    font-weight: 500 !important;
    font-size: 1rem !important;
    margin-bottom: 12px !important;
}

.payment_method_paypal .payment_box p:last-of-type {
    color: #b3b3b3 !important;
    font-size: 0.85rem !important;
    font-style: italic !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* Restore Payment Buttons and Containers - Final Form */
.wc-block-components-payment-method-icons,
.wc-block-components-button,
.wc-block-checkout__actions .wc-block-components-button {
    opacity: 1 !important;
    visibility: visible !important;
    background-color: #8B5CF6 !important;
    /* Force purple theme */
    color: #ffffff !important;
    padding: 16px 32px !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    border: none !important;
}

.wc-block-components-button:hover {
    background-color: #7C3AED !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(139, 92, 246, 0.4) !important;
}