/* Bright cart surfaces, scoped above the legacy footer overrides. */
html body.woocommerce-cart {
    --cart-navy: #0a3a6c;
    --cart-total: #8b1e1e;
    --cart-ink: #203956;
    --cart-muted: #52647a;
    --cart-line: #dce4ee;
    --cart-shadow: 0 6px 24px rgba(24, 48, 78, .05);
    background: #fff !important;
}

html body.woocommerce-cart #page,
html body.woocommerce-cart .site,
html body.woocommerce-cart .rsrc-container,
html body.woocommerce-cart .rsrc-content,
html body.woocommerce-cart .rsrc-main,
html body.woocommerce-cart .rsrc-post-content,
html body.woocommerce-cart .entry-content {
    background: #fff !important;
}

html body.woocommerce-cart .rsrc-content {
    padding-top: 24px !important;
    padding-bottom: 32px !important;
}

html body.woocommerce-cart .CartProcess_wrap {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 24px !important;
    padding: 16px;
    border: 0 !important;
    border-radius: 0;
    background: transparent;
    box-shadow: none !important;
}

html body.woocommerce-cart .CartProcess_content {
    margin: 0 !important;
}

html body.woocommerce-cart .woocommerce-cart-form .shop_table,
html body.woocommerce-cart .cart-collaterals .cart_totals {
    border: 1px solid var(--cart-line) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: var(--cart-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body.woocommerce-cart .cart-collaterals .cart_totals {
    padding: 24px !important;
}

html body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item {
    padding: 16px !important;
    border-bottom: 1px solid #eaf0f6 !important;
    background: #fff !important;
}

html body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item:last-of-type {
    border-bottom: 0 !important;
}

html body.woocommerce-cart .woocommerce-cart-form .shop_table td.product-name {
    border: 0 !important;
    box-shadow: none !important;
}

html body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail a {
    border: 1px solid #e7edf5 !important;
    border-radius: 10px !important;
    background: #fff !important;
}

html body.woocommerce-cart .woocommerce-cart-form .product-name > a {
    color: var(--cart-navy) !important;
}

html body.woocommerce-cart .elfcam-cart-meta-row .elfcam-inline-qty {
    border: 1px solid #cbd7e5 !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

html body.woocommerce-cart .elfcam-cart-meta-row .elfcam-inline-qty button {
    background: transparent !important;
    color: var(--cart-navy) !important;
    box-shadow: none !important;
}

html body.woocommerce-cart .elfcam-cart-meta-row .elfcam-inline-qty button:hover {
    background: #eaf0f7 !important;
}

html body.woocommerce-cart .elfcam-cart-meta-row .elfcam-aside-btn,
html body.woocommerce-cart .elfcam-cart-meta-row .elfcam-remove-btn {
    border-color: #d6e0eb !important;
    border-radius: 6px !important;
    background: #f8fafc !important;
    color: var(--cart-muted) !important;
}

html body.woocommerce-cart .elfcam-cart-shipping-hint {
    margin-bottom: 12px !important;
    padding: 12px 16px !important;
    border: 1px solid #dbe8e0 !important;
    border-radius: 12px !important;
    background: #f0f8f3 !important;
    color: #20603a !important;
    box-shadow: none !important;
}

html body.woocommerce-cart .cart_totals ul#shipping_method li.elfcam-ship-row {
    padding: 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
    text-decoration: none !important;
}

html body.woocommerce-cart .cart_totals ul#shipping_method li.elfcam-ship-row:hover,
html body.woocommerce-cart .cart_totals ul#shipping_method li.elfcam-ship-row:active,
html body.woocommerce-cart .cart_totals ul#shipping_method li.elfcam-ship-row:focus-within,
html body.woocommerce-cart .cart_totals ul#shipping_method li.elfcam-ship-row.elfcam-ship-selected,
html body.woocommerce-cart .cart_totals ul#shipping_method li.elfcam-ship-row.elfcam-ship-selected:hover,
html body.woocommerce-cart .cart_totals ul#shipping_method li.elfcam-ship-row.elfcam-ship-selected:active,
html body.woocommerce-cart .cart_totals ul#shipping_method li.elfcam-ship-row.elfcam-ship-selected:focus-within {
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
    text-decoration: none !important;
}

html body.woocommerce-cart .cart_totals ul#shipping_method li.elfcam-ship-row label,
html body.woocommerce-cart .cart_totals ul#shipping_method li.elfcam-ship-row label:hover,
html body.woocommerce-cart .cart_totals ul#shipping_method li.elfcam-ship-row .elfcam-ship-name {
    background: transparent !important;
    text-decoration: none !important;
    transition: none !important;
}

html body.woocommerce-cart .cart_totals ul#shipping_method li.elfcam-ship-row .elfcam-ship-name,
html body.woocommerce-cart .cart_totals ul#shipping_method li.elfcam-ship-row .elfcam-ship-name:hover {
    color: var(--cart-navy) !important;
}

html body.woocommerce-cart .cart_totals .elfcam-ship-addr {
    margin-top: 12px !important;
    padding: 12px !important;
    border: 1px solid #e3eaf2 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--cart-ink) !important;
}

html body.woocommerce-cart .cart_totals tr.cart-subtotal td .woocommerce-Price-amount,
html body.woocommerce-cart .cart_totals tr.cart-subtotal td .woocommerce-Price-amount *,
html body.woocommerce-cart .cart_totals .elfcam-ship-price,
html body.woocommerce-cart .cart_totals .elfcam-ship-price * {
    color: var(--cart-navy) !important;
}

html body.woocommerce-cart .cart_totals .elfcam-total-vat,
html body.woocommerce-cart .cart_totals .elfcam-total-breakdown {
    color: var(--cart-muted) !important;
}

html body.woocommerce-cart .cart_totals li.elfcam-ship-row .elfcam-ship-price .woocommerce-Price-amount,
html body.woocommerce-cart .cart_totals li.elfcam-ship-row .elfcam-ship-price .woocommerce-Price-amount *,
html body.woocommerce-cart .cart_totals .elfcam-ship-name {
    color: var(--cart-navy) !important;
    background: transparent !important;
}

html body.woocommerce-cart .cart_totals tr.order-total th .elfcam-total-label,
html body.woocommerce-cart .cart_totals tr.order-total td .woocommerce-Price-amount,
html body.woocommerce-cart .cart_totals tr.order-total td .woocommerce-Price-amount *,
html body.woocommerce-cart .cart_totals tr.order-total td .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
    color: var(--cart-total) !important;
}

html body.woocommerce-cart .woocommerce .elfcam-cart-meta-row .elfcam-meta-total .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
    color: var(--cart-navy) !important;
}

/* Keep the native controls in the form for WooCommerce, hidden even before
   JS initializes and while a fresh AJAX form has not yet been enhanced. */
html body.woocommerce-cart .woocommerce-cart-form .coupon {
    position: absolute !important;
    display: block !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

html body.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: 14px !important;
    line-height: 1.4;
}

html body.woocommerce-cart .checkout-button:focus-visible,
html body.woocommerce-cart .elfcam-inline-qty button:focus-visible {
    outline: 2px solid var(--cart-navy) !important;
    outline-offset: 3px;
}

html body.woocommerce-cart #ppcp-recaptcha-v2-container:empty {
    margin: 0 !important;
}

html body.woocommerce-cart .elfcam-reco-card {
    border: 1px solid var(--cart-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
}

/* Empty state uses the same card, with the existing translated text and link. */
html body.woocommerce-cart .entry-content > .woocommerce:has(.wc-empty-cart-message) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center;
    min-height: 280px;
    padding: 48px 24px !important;
    border: 1px solid var(--cart-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--cart-shadow);
}

html body.woocommerce-cart .wc-empty-cart-message {
    display: block !important;
    width: 100%;
}

html body.woocommerce-cart .wc-empty-cart-message .cart-empty {
    position: relative !important;
    display: block !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--cart-navy) !important;
    font-size: 16px !important;
    font-weight: 600;
    line-height: 1.5 !important;
    text-align: center;
}

html body.woocommerce-cart .wc-empty-cart-message .cart-empty::before {
    position: static !important;
    display: block !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 auto 16px !important;
    border: 1px solid #dce6f1;
    border-radius: 12px;
    background: #f2f6fb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%230a3a6c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39A2 2 0 0 0 9.66 16H19a2 2 0 0 0 1.96-1.61L23 6H6'/%3E%3C/svg%3E") no-repeat center;
    content: "" !important;
}

html body.woocommerce-cart .return-to-shop {
    margin: 0 !important;
}

html body.woocommerce-cart .return-to-shop .button.wc-backward {
    min-height: 44px;
    padding: 12px 24px !important;
    border: 1px solid var(--cart-navy) !important;
    border-radius: 8px !important;
    background: var(--cart-navy) !important;
    color: #fff !important;
    font-size: 13px;
    line-height: 1.5;
}

@media (max-width: 768px) {
    html body.woocommerce-cart .woocommerce .woocommerce-cart-form table.shop_table {
        padding: 0 !important;
        overflow: hidden !important;
        border: 1px solid var(--cart-line) !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: var(--cart-shadow) !important;
    }

    html body.woocommerce-cart .woocommerce .woocommerce-cart-form table.shop_table tbody tr.cart_item {
        padding: 12px !important;
        background: #fff !important;
        border-bottom: 1px solid #eaf0f6 !important;
    }

    html body.woocommerce-cart .woocommerce .elfcam-cart-meta-row .elfcam-meta-total,
    html body.woocommerce-cart .woocommerce .elfcam-cart-meta-row .elfcam-meta-total * {
        color: var(--cart-navy) !important;
    }

    html body.woocommerce-cart .rsrc-content {
        padding-top: 12px !important;
        padding-bottom: 24px !important;
    }

    html body.woocommerce-cart .CartProcess_wrap {
        margin-bottom: 16px !important;
        padding: 12px;
    }

    html body.woocommerce-cart .woocommerce-cart-form .shop_table,
    html body.woocommerce-cart .cart-collaterals .cart_totals {
        border-radius: 12px !important;
    }

    html body.woocommerce-cart .cart-collaterals .cart_totals {
        padding: 16px !important;
    }

    html body.woocommerce-cart .woocommerce-cart-form .shop_table tbody tr.cart_item {
        padding: 12px !important;
    }

    html body.woocommerce-cart .entry-content > .woocommerce:has(.wc-empty-cart-message) {
        min-height: 240px;
        padding: 32px 16px !important;
        border-radius: 12px;
    }
}
