/* ══════════════════════════════════════════════════════════════
   Cart / Checkout / Account Pages — Non-Critical Dark Theme CSS
   Loaded deferred. Enhances critical styles in cart.css.
   ══════════════════════════════════════════════════════════════ */

/* ── Links ───────────────────────────────────────────────────── */
.seocart_Cart a {
    color: var(--color-primary);
    transition: color var(--transition-base);
}

.seocart_Cart a:hover {
    color: var(--color-white);
}

/* ── "Your Cart" Title ───────────────────────────────────────── */
.seocart_Cart h1.h2,
.seocart_Cart .h2 {
    font-family: var(--font-display);
    color: var(--color-white);
    font-weight: 700;
}

/* ── Checkout Section Headers ────────────────────────────────── */
.seocart_Cart .checkout-header {
    color: var(--color-white) !important;
    font-family: var(--font-display);
    font-weight: 700;
}

/* ── Express Checkout Separator ("Or") ───────────────────────── */
.seocart_Cart .pay-separator {
    color: var(--color-text-muted) !important;
}

.seocart_Cart .pay-separator:after {
    background-color: var(--color-dark-border) !important;
}

/* ── Form Inputs (enhanced) ──────────────────────────────────── */
.seocart_Cart .form-control,
.seocart_Cart .form-select {
    font-size: 0.9375rem;
}

.seocart_Cart .form-control:focus,
.seocart_Cart .form-select:focus {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(4, 53, 151, 0.3) !important;
}

.seocart_Cart .form-floating > .form-control:focus ~ label,
.seocart_Cart .form-floating > .form-control:not(:placeholder-shown) ~ label,
.seocart_Cart .form-floating > .form-select ~ label {
    color: var(--color-text-muted) !important;
}

/* Select dropdown chevron for dark bg */
.seocart_Cart .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%237a7f8e' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
}

/* Textarea (order comments) */
.seocart_Cart textarea.form-control {
    background-color: var(--color-dark-card) !important;
    color: var(--color-white) !important;
    border-color: var(--color-dark-border) !important;
}

/* ── Checkboxes & Radios ─────────────────────────────────────── */
.seocart_Cart .inputCheckbox,
.seocart_Cart .inputRadio {
    accent-color: var(--color-primary);
}

.seocart_Cart .form-check-input {
    background-color: var(--color-dark-card);
    border-color: var(--color-dark-border);
}

.seocart_Cart .form-check-input:checked {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

/* ── Borders ─────────────────────────────────────────────────── */
.seocart_Cart .border-bottom,
.seocart_Cart .border-top,
.seocart_Cart .border {
    border-color: var(--color-dark-border) !important;
}

.seocart_Cart .verify-checkout-container {
    border-color: var(--color-dark-border) !important;
}

/* ── Payment Method Section ──────────────────────────────────── */
.seocart_Cart #payment-method-credit-card {
    background-color: var(--color-dark-surface) !important;
}

.seocart_Cart #payment-method-credit-card .form-control {
    background-color: var(--color-dark-card) !important;
}

/* Card number lock icon — lighten for dark bg */
.seocart_Cart input#billing-cardnumber {
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M640 768h512v-192q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-192q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z' fill='%237a7f8e'/%3E%3C/svg%3E") !important;
}

/* Card type icons — keep visible on dark */
.seocart_Cart .cart-card-type {
    filter: brightness(1.1);
}

/* ── Payment Buttons (PayPal, etc.) ──────────────────────────── */
.seocart_Cart .btn.btn-paypal {
    background-color: rgba(72, 155, 216, 1);
    color: var(--color-white);
}

.seocart_Cart .btn-amazon {
    background-color: rgba(254, 173, 64, 1);
    color: var(--bs-black);
}

.seocart_Cart .btn-klarna {
    background-color: var(--color-white);
    color: var(--bs-black);
}

/* ── Primary CTA Buttons ────────────────────────────────────── */
.seocart_Cart .btn-primary,
.seocart_Cart .buttonVerifyCheckout {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: 0.04em;
    transition: background var(--transition-base), transform var(--transition-base);
}

.seocart_Cart .btn-primary:hover,
.seocart_Cart .buttonVerifyCheckout:hover {
    background-color: var(--color-primary-dark) !important;
    border-color: var(--color-primary-dark) !important;
    transform: translateY(-1px);
}

.seocart_Cart .btn.disabled,
.seocart_Cart .btn.disabled:hover {
    background-color: var(--color-dark-border) !important;
    border-color: var(--color-dark-border) !important;
    color: var(--color-text-muted) !important;
    transform: none;
}

/* Outline buttons (Apply discount) */
.seocart_Cart .btn-outline-primary {
    color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    background: transparent !important;
}

.seocart_Cart .btn-outline-primary:hover {
    background: var(--color-primary) !important;
    color: var(--color-white) !important;
}

/* ── Qty Dropdown ────────────────────────────────────────────── */
.seocart_Cart .btn-secondary.dropdown-toggle {
    background-color: var(--color-dark-card) !important;
    color: var(--color-white) !important;
    border: 1px solid var(--color-dark-border) !important;
    font-size: 0.875rem;
}

.seocart_Cart .dropdown-menu {
    background-color: var(--color-dark-card);
    border: 1px solid var(--color-dark-border);
}

.seocart_Cart .dropdown-menu .dropdown-item {
    color: var(--color-text);
}

.seocart_Cart .dropdown-menu .dropdown-item:hover,
.seocart_Cart .dropdown-menu .dropdown-item.active {
    background-color: var(--color-primary);
    color: var(--color-white);
}

.seocart_Cart .dropdown-menu .dropdown-divider {
    border-color: var(--color-dark-border);
}

/* ── Line Items Sidebar ──────────────────────────────────────── */
#line-items-order-summary {
    color: var(--color-text);
}

.seocart_Cart .line-items-container .name a {
    color: var(--color-white) !important;
}

.seocart_Cart .line-items-container .name a:hover {
    color: var(--color-primary) !important;
}

.seocart_Cart .line-items-container .sku {
    color: var(--color-text-muted);
}

.seocart_Cart .line-items-container .attributes {
    color: var(--color-text-muted);
}

.seocart_Cart .line-items-container .price {
    color: var(--color-white);
    font-family: var(--font-display);
    font-weight: 700;
}

.seocart_Cart .line-items-container .remove a {
    color: var(--color-text-muted) !important;
}

.seocart_Cart .line-items-container .remove a:hover {
    color: var(--color-accent) !important;
}

.seocart_Cart .line-items-container .image {
    background-color: var(--color-dark-card) !important;
    border-radius: 0.375rem;
}

.seocart_Cart .line-items-container .image img {
    border-radius: 0.375rem;
}

/* ── Discount Code Section ───────────────────────────────────── */
.seocart_Cart #shoppingCartDiscount input.form-control {
    background-color: var(--color-dark-card) !important;
    color: var(--color-white) !important;
    border-color: var(--color-dark-border) !important;
}

.seocart_Cart .manualDiscountApplied {
    background: var(--color-dark-card) !important;
    color: var(--color-text);
    border: 1px solid var(--color-dark-border);
}

/* ── Order Summary Table ─────────────────────────────────────── */
.seocart_Cart .checkout-details-order-summary table,
.seocart_Cart .checkout-order-summary table {
    color: var(--color-text);
}

.seocart_Cart .checkout-details-order-summary table td,
.seocart_Cart .checkout-order-summary table td {
    color: var(--color-text);
    padding: 0.375rem 0;
    border-bottom: 1px solid var(--color-dark-border);
}

.seocart_Cart .checkout-details-order-summary table td strong,
.seocart_Cart .checkout-order-summary table td strong {
    color: var(--color-white);
}

.seocart_Cart .checkout-details-order-summary table .sku,
.seocart_Cart .checkout-order-summary table .sku {
    color: var(--color-text-muted);
    font-size: 0.8125rem;
}

/* ── Custom Shopping Cart Header Text (CMS field) ────────────── */
.seocart_Cart .seocart_OrderCustomField h1 {
    color: var(--color-white) !important;
}

.seocart_Cart .seocart_OrderCustomField h1 span {
    color: var(--color-accent) !important;
}

.seocart_Cart .seocart_OrderCustomField p {
    color: var(--color-text);
}

/* ── Shipping Methods Container ──────────────────────────────── */
.seocart_Cart #shipping_methods_container {
    background-color: var(--color-dark-card) !important;
    border-color: var(--color-dark-border) !important;
    color: var(--color-text);
}

.seocart_Cart #shipping_methods_container p {
    color: var(--color-text-muted);
}

/* ── Continue Shopping Link ──────────────────────────────────── */
.seocart_Cart .verify-checkout-container a[href="/"] {
    color: var(--color-text-muted) !important;
}

.seocart_Cart .verify-checkout-container a[href="/"]:hover {
    color: var(--color-white) !important;
}

/* ── Special Billing Instructions ────────────────────────────── */
.seocart_Cart .special-billing-instructions {
    color: var(--color-text-muted);
}

.seocart_Cart .special-billing-instructions strong {
    color: var(--color-text);
}

/* ── Toggle Password Links ───────────────────────────────────── */
.seocart_Cart .toggle-password {
    color: var(--color-text-muted) !important;
}

.seocart_Cart .toggle-password:hover {
    color: var(--color-primary) !important;
}

/* ── Create Account Section ──────────────────────────────────── */
.seocart_Cart #create-account-set-password {
    background-color: var(--color-dark-surface) !important;
    border-radius: 0.375rem;
}

/* ── Mobile Accordion (Order Details collapse) ───────────────── */
.seocart_Cart .mobileAccordionButtonBlack {
    color: var(--color-white) !important;
}

.seocart_Cart .mobileAccordionButtonBlack:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxNzkyIDE3OTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE2ODMgODA4bC03NDIgNzQxcS0xOSAxOS00NSAxOXQtNDUtMTlsLTc0Mi03NDFxLTE5LTE5LTE5LTQ1LjV0MTktNDUuNWwxNjYtMTY1cTE5LTE5IDQ1LTE5dDQ1IDE5bDUzMSA1MzEgNTMxLTUzMXExOS0xOSA0NS0xOXQ0NSAxOWwxNjYgMTY1cTE5IDE5IDE5IDQ1LjV0LTE5IDQ1LjV6IiBmaWxsPSIjRkZGRkZGIi8+PC9zdmc+) !important;
}

/* ── Login/Register Modal Dark Theme ─────────────────────────── */
#loginRegisterModal .modal-content {
    background-color: var(--color-dark-surface);
    color: var(--color-text);
    border: 1px solid var(--color-dark-border);
}

#loginRegisterModal .modal-header {
    border-bottom-color: var(--color-dark-border);
}

#loginRegisterModal .btn-close {
    filter: invert(1) brightness(0.8);
}

#loginRegisterModal .nav-item a {
    color: var(--color-text-muted) !important;
    border-bottom-color: var(--color-dark-border) !important;
}

#loginRegisterModal .nav-item a.active {
    color: var(--color-white) !important;
    border-bottom-color: var(--color-primary) !important;
}

#loginRegisterModal .form-control {
    background-color: var(--color-dark-card) !important;
    color: var(--color-white) !important;
    border-color: var(--color-dark-border) !important;
}

#loginRegisterModal .form-control:focus {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(4, 53, 151, 0.3) !important;
}

#loginRegisterModal a.forgot {
    color: var(--color-text-muted) !important;
}

#loginRegisterModal .singleSignOnContainer:before {
    color: var(--color-text-muted) !important;
}

/* ── Remove Item Modal ───────────────────────────────────────── */
#removeItemModal .modal-content {
    background-color: var(--color-dark-surface);
    color: var(--color-text);
    border: 1px solid var(--color-dark-border);
}

#removeItemModal .modal-header {
    border-bottom-color: var(--color-dark-border);
}

#removeItemModal .modal-footer {
    border-top-color: var(--color-dark-border);
}

#removeItemModal .btn-close {
    filter: invert(1) brightness(0.8);
}

/* ── Cart Responsive Overrides ───────────────────────────────── */
@media only screen and (max-width: 1199px) {
    #line-items-order-summary-wrapper {
        background-color: var(--color-dark-surface) !important;
    }

    .seocart_Cart .line-items-container .image {
        background-color: var(--color-dark-card) !important;
    }

    .seocart_Cart .line-items-container .remove a {
        color: var(--color-text-muted) !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   Verify Checkout / Order Results — Dark Theme
   (Same cart flow, different wrapper classes)
   ══════════════════════════════════════════════════════════════ */
.seocart_VerifyCheckout .checkout-header,
.seocart_VerifyLogin .checkout-header,
.seocart_OrderResults .checkout-header {
    color: var(--color-white) !important;
}

.seocart_VerifyCheckout .border-bottom,
.seocart_VerifyCheckout .border-top,
.seocart_VerifyLogin .border-bottom,
.seocart_VerifyLogin .border-top,
.seocart_OrderResults .border-bottom,
.seocart_OrderResults .border-top {
    border-color: var(--color-dark-border) !important;
}

.seocart_VerifyCheckout .btn-primary,
.seocart_VerifyLogin .btn-primary,
.seocart_OrderResults .btn-primary {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    font-family: var(--font-display);
    font-weight: 700;
}

.seocart_VerifyCheckout .btn-primary:hover,
.seocart_VerifyLogin .btn-primary:hover,
.seocart_OrderResults .btn-primary:hover {
    background-color: var(--color-primary-dark) !important;
}

.seocart_VerifyCheckout .pay-separator,
.seocart_VerifyLogin .pay-separator {
    color: var(--color-text-muted) !important;
}

.seocart_VerifyCheckout .pay-separator:after,
.seocart_VerifyLogin .pay-separator:after {
    background-color: var(--color-dark-border) !important;
}

.seocart_OrderResults table td {
    color: var(--color-text);
}

.seocart_OrderResults table td strong {
    color: var(--color-white);
}

/* ── Account Pages ───────────────────────────────────────────── */
.seocart_Account .form-control:focus,
.seocart_Account .form-select:focus {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(4, 53, 151, 0.3) !important;
}

.seocart_Account .btn-primary {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-white) !important;
}

.seocart_Account a {
    color: var(--color-primary);
}

.seocart_Account .border-bottom,
.seocart_Account .border-top {
    border-color: var(--color-dark-border) !important;
}
