/**
 * WhiteLabelAI — Custom WooCommerce Checkout Styles
 * Overrides WooCommerce defaults to match the site design system:
 *   - Zinc grays, orange-500/600 accents, sharp corners
 *   - Inter / Space Grotesk typography
 */

/* ─── Prevent Horizontal Scroll ─── */
html:has(body.wla-checkout),
html:has(body.woocommerce-checkout),
body.wla-checkout,
body.woocommerce-checkout {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

.wla-checkout-page,
.wla-checkout-page .woocommerce-checkout,
.wla-checkout-page #order_review,
.wla-checkout-page .wla-checkout-grid,
.wla-checkout-page .wla-checkout-left,
.wla-checkout-page .wla-order-summary {
    max-width: 100%;
    box-sizing: border-box;
}

/* Catch any WooCommerce-injected elements that break out */
.wla-checkout-page *,
.wla-checkout-page *::before,
.wla-checkout-page *::after {
    box-sizing: border-box;
}

/* ─── Reset WooCommerce Defaults ─── */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
    border-top-color: #f97316;
    background: #fff7ed;
    color: #18181b;
    border-radius: 0;
    font-size: 0.875rem;
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    border: 1px solid #fed7aa;
    border-top: 3px solid #f97316;
    position: relative;
    list-style: none;
}

/* Remove the default WooCommerce icon pseudo-element that overlaps text */
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before {
    display: none !important;
}

.woocommerce-checkout .woocommerce-error {
    border-radius: 0;
    background: #fef2f2;
    color: #18181b;
    padding: 1rem 1.5rem;
    border: 1px solid #fecaca;
    border-top: 3px solid #ef4444;
    list-style: none;
}

.woocommerce-checkout .woocommerce-error::before {
    display: none !important;
}

.woocommerce-checkout .woocommerce-error li {
    font-size: 0.875rem;
}

/* ─── Checkout Page Container ─── */
.wla-checkout-page {
    min-height: 100vh;
    background: #fafafa;
    padding-top: 6rem; /* Account for fixed nav (h-20 = 5rem + buffer) */
    overflow-x: hidden;
}

/* ─── Fix Header/Footer Logo Sizing on ALL WooCommerce Pages ─── */
/* WooCommerce's default img styles (max-width:100%; height:auto) break Tailwind sizing.
   WordPress adds these body classes automatically on all WooCommerce pages. */
body.woocommerce nav.fixed img,
body.woocommerce-page nav.fixed img,
body.woocommerce-cart nav.fixed img,
body.woocommerce-checkout nav.fixed img,
body.woocommerce-account nav.fixed img,
body.woocommerce-order-received nav.fixed img,
body.wla-checkout nav.fixed img,
body.wla-thank-you nav.fixed img {
    height: 2.5rem !important; /* 40px = Tailwind h-10 */
    width: auto !important;
    max-height: 2.5rem !important;
    object-fit: contain !important;
}

/* Keep the nav at its fixed height on all WooCommerce pages */
body.woocommerce nav.fixed .flex.items-center.justify-between,
body.woocommerce-page nav.fixed .flex.items-center.justify-between,
body.woocommerce-cart nav.fixed .flex.items-center.justify-between,
body.woocommerce-checkout nav.fixed .flex.items-center.justify-between,
body.woocommerce-account nav.fixed .flex.items-center.justify-between {
    height: 5rem; /* h-20 */
}

/* Footer logo fix for all WooCommerce pages */
body.woocommerce footer img,
body.woocommerce-page footer img,
body.woocommerce-cart footer img,
body.woocommerce-checkout footer img,
body.woocommerce-account footer img,
body.woocommerce-order-received footer img,
body.wla-checkout footer img,
body.wla-thank-you footer img {
    height: 2rem !important; /* 32px = Tailwind h-8 */
    width: auto !important;
    max-height: 2rem !important;
    object-fit: contain !important;
}

.wla-checkout-container {
    max-width: 80rem;
    margin: 0 auto;
    padding: 2rem 1rem;
    overflow-x: hidden;
}

@media (min-width: 640px) {
    .wla-checkout-container {
        padding: 2rem 1.5rem;
    }
}

@media (min-width: 1024px) {
    .wla-checkout-container {
        padding: 3rem 2rem;
    }
}

/* ─── Checkout Header ─── */
.wla-checkout-header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.wla-checkout-header .wla-checkout-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.75rem;
    background: #f4f4f5;
    border: 1px solid #e4e4e7;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #52525b;
    margin-bottom: 1rem;
}

.wla-checkout-header .wla-checkout-badge .wla-pulse {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    background: #f97316;
    animation: wla-pulse-anim 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes wla-pulse-anim {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.wla-checkout-header h1 {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #18181b;
    letter-spacing: -0.025em;
    margin: 0 0 0.5rem;
}

@media (min-width: 640px) {
    .wla-checkout-header h1 {
        font-size: 2.5rem;
    }
}

.wla-checkout-header p {
    color: #71717a;
    font-size: 1rem;
    margin: 0;
}

/* ─── Checkout Grid ─── */
.wla-checkout-grid {
    display: grid;
    gap: 2rem;
    align-items: start;
    min-width: 0;
}

.wla-checkout-grid > * {
    min-width: 0;
}

@media (min-width: 1024px) {
    .wla-checkout-grid {
        grid-template-columns: 1fr 420px;
        gap: 3rem;
    }
}

/* ─── Cards / Panels ─── */
.wla-checkout-card {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    padding: 2rem;
    transition: border-color 0.2s;
    overflow: hidden;
    min-width: 0;
}

.wla-checkout-card:hover {
    border-color: #d4d4d8;
}

.wla-checkout-card-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #18181b;
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f4f4f5;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.wla-checkout-card-title .wla-title-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    background: #18181b;
    color: #f97316;
    flex-shrink: 0;
}

/* ─── Form Fields ─── */
.wla-checkout-card .form-row {
    margin-bottom: 1.25rem;
}

.wla-checkout-card .form-row:last-child {
    margin-bottom: 0;
}

.wla-checkout-card label,
.woocommerce-checkout label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #3f3f46;
    margin-bottom: 0.375rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.wla-checkout-card label .required,
.woocommerce-checkout label .required {
    color: #f97316;
    font-weight: 700;
}

.wla-checkout-card label .optional,
.woocommerce-checkout label .optional {
    color: #a1a1aa;
    font-weight: 400;
    text-transform: none;
    font-size: 0.75rem;
}

/* Input styling — !important needed to override WooCommerce's high-specificity defaults */
.wla-checkout-page input[type="text"],
.wla-checkout-page input[type="email"],
.wla-checkout-page input[type="tel"],
.wla-checkout-page input[type="password"],
.wla-checkout-page input[type="number"],
.wla-checkout-page input[type="search"],
.wla-checkout-page textarea,
.wla-checkout-page select,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="search"],
.woocommerce-checkout textarea,
.woocommerce-checkout select {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.9375rem !important;
    color: #18181b !important;
    background: #fafafa !important;
    border: 1px solid #e4e4e7 !important;
    border-radius: 0 !important;
    outline: none !important;
    transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s !important;
    font-family: 'Inter', sans-serif !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    height: auto !important;
    min-height: 2.875rem !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
}

.wla-checkout-page input:focus,
.wla-checkout-page textarea:focus,
.wla-checkout-page select:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
    border-color: #f97316 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1) !important;
}

.wla-checkout-page input::placeholder,
.wla-checkout-page textarea::placeholder,
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
    color: #a1a1aa !important;
}

/* Select2 — prevent overflow */
.wla-checkout-page .select2-container,
.woocommerce-checkout .select2-container {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Select2 dropdowns — force sharp corners and matching style */
.woocommerce-checkout .select2-container .select2-selection--single,
.wla-checkout-page .select2-container .select2-selection--single,
.select2-container--default .select2-selection--single {
    height: auto !important;
    min-height: 2.875rem !important;
    border-radius: 0 !important;
    border: 1px solid #e4e4e7 !important;
    background: #fafafa !important;
    padding: 0 !important;
    outline: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.woocommerce-checkout .select2-container--focus .select2-selection--single,
.wla-checkout-page .select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: #f97316 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1) !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered,
.wla-checkout-page .select2-container .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0.75rem 2.5rem 0.75rem 1rem !important;
    line-height: 1.4 !important;
    color: #18181b !important;
    font-size: 0.9375rem !important;
    font-family: 'Inter', sans-serif !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__placeholder,
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #a1a1aa !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow,
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    right: 0.75rem !important;
    top: 0 !important;
}

/* Select2 dropdown panel */
.select2-dropdown {
    border-radius: 0 !important;
    border-color: #e4e4e7 !important;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1) !important;
    border: 1px solid #e4e4e7 !important;
}

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

.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
    background-color: #fff7ed !important;
    color: #18181b !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border-radius: 0 !important;
    border: 1px solid #e4e4e7 !important;
    padding: 0.5rem 0.75rem !important;
    font-size: 0.875rem !important;
    outline: none !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #f97316 !important;
}

.select2-results__option {
    padding: 0.5rem 1rem !important;
    font-size: 0.875rem !important;
}

/* Inline form rows (city / state / zip) */
.wla-form-row-inline {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 640px) {
    .wla-form-row-inline {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

/* ─── Order Summary / Sidebar ─── */
.wla-order-summary {
    position: sticky;
    top: 6.5rem;
}

.wla-order-summary-card {
    background: #18181b;
    border: 1px solid #27272a;
    color: #ffffff;
    padding: 2rem;
    overflow: hidden;
    min-width: 0;
}

.wla-order-summary-card .wla-summary-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #3f3f46;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.wla-order-summary-card .wla-summary-title .wla-title-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    background: #f97316;
    color: #ffffff;
    flex-shrink: 0;
}

/* Product row in order summary */
.wla-product-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1rem 0;
    border-bottom: 1px solid #3f3f46;
}

.wla-product-row:last-child {
    border-bottom: none;
}

.wla-product-name {
    font-weight: 600;
    font-size: 0.9375rem;
    color: #ffffff;
    margin-bottom: 0.25rem;
}

.wla-product-meta {
    font-size: 0.75rem;
    color: #a1a1aa;
}

.wla-product-price {
    font-weight: 700;
    font-size: 0.9375rem;
    color: #f97316;
    text-align: right;
    flex-shrink: 0;
    max-width: 45%;
}

/* Subscription recurring info */
.wla-subscription-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: rgba(249, 115, 22, 0.1);
    border: 1px solid rgba(249, 115, 22, 0.2);
    margin-top: 1rem;
    font-size: 0.8125rem;
    color: #fdba74;
}

.wla-subscription-info i,
.wla-subscription-info svg {
    color: #f97316;
    flex-shrink: 0;
}

/* Renewal date row in order summary */
.wla-renewal-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.625rem 1rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid #3f3f46;
    border-top: none;
    margin-bottom: 0.25rem;
}

.wla-renewal-label {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    color: #a1a1aa;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
}

.wla-renewal-label i,
.wla-renewal-label svg {
    color: #f97316;
    flex-shrink: 0;
}

.wla-renewal-date {
    font-size: 0.875rem;
    font-weight: 700;
    color: #ffffff;
    font-family: 'Space Grotesk', sans-serif;
}

/* Hide the WooCommerce product table inside the payment card —
   it must remain in the DOM for WC JS, but we hide it visually.
   We show all product info in our custom order summary sidebar. */
#payment-method-card .woocommerce-checkout-review-order-table thead,
#payment-method-card .woocommerce-checkout-review-order-table tbody,
#payment-method-card .woocommerce-checkout-review-order-table tfoot .cart-subtotal,
#payment-method-card .woocommerce-checkout-review-order-table tfoot .order-total,
#payment-method-card .woocommerce-checkout-review-order-table tfoot tr:not(.recurring-total):not(.recurring-tax-total) {
    display: none !important;
}

/* But keep the payment methods list and place-order button fully visible */
#payment-method-card #payment,
#payment-method-card .woocommerce-checkout-payment,
#payment-method-card ul.payment_methods,
#payment-method-card .payment_box,
#payment-method-card .place-order,
#payment-method-card #place_order {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Totals */
.wla-order-totals {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #3f3f46;
}

.wla-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
    font-size: 0.875rem;
    color: #a1a1aa;
}

.wla-total-row.wla-total-final {
    padding-top: 1rem;
    margin-top: 0.5rem;
    border-top: 1px solid #3f3f46;
    font-size: 1.125rem;
    font-weight: 700;
    color: #ffffff;
}

.wla-total-row.wla-total-final .wla-total-amount {
    font-size: 1.5rem;
    color: #f97316;
    font-family: 'Space Grotesk', sans-serif;
}

/* Secure checkout badge */
.wla-secure-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1.5rem;
    padding: 0.75rem;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    font-size: 0.75rem;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.wla-secure-badge i,
.wla-secure-badge svg {
    color: #22c55e;
}

/* ─── Payment Methods ─── */
.wla-checkout-card .wc_payment_methods,
#payment .payment_methods {
    list-style: none;
    padding: 0;
    margin: 0;
}

#payment .payment_methods li {
    border: 1px solid #e4e4e7;
    margin-bottom: 0.5rem;
    padding: 0;
    transition: border-color 0.2s, background-color 0.2s;
    background: #fafafa;
    position: relative;
    overflow: hidden;
}

#payment .payment_methods li:hover {
    border-color: #d4d4d8;
    background: #ffffff;
}

/* Hide the native radio button — use sr-only pattern for accessibility */
#payment .payment_methods li input[type="radio"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
}

/* Label = full clickable area with custom radio */
#payment .payment_methods li label {
    display: flex !important;
    align-items: center !important;
    gap: 0.875rem !important;
    padding: 1rem 1.25rem !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    font-size: 0.9375rem !important;
    color: #18181b !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative;
}

/* Custom radio indicator circle */
#payment .payment_methods li label::before {
    content: '' !important;
    display: inline-flex !important;
    flex-shrink: 0 !important;
    width: 1.25rem !important;
    height: 1.25rem !important;
    border: 2px solid #d4d4d8 !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

/* Hover: orange border on the radio circle */
#payment .payment_methods li label:hover::before {
    border-color: #f97316 !important;
}

/* ── CHECKED state via adjacent sibling ── */
/* When radio is checked, the NEXT sibling label gets the filled indicator */
#payment .payment_methods li input[type="radio"]:checked + label::before {
    border-color: #f97316 !important;
    background: #f97316 !important;
    box-shadow: inset 0 0 0 3px #ffffff !important;
}

/* Selected li styling — applied via JS class .wla-selected */
#payment .payment_methods li.wla-selected {
    border-color: #f97316 !important;
    border-left: 3px solid #f97316 !important;
    background: #ffffff !important;
}

/* Payment method logo image */
#payment .payment_methods li label img {
    max-height: 1.5rem !important;
    width: auto !important;
    object-fit: contain !important;
}

/* Payment description box */
#payment .payment_methods li .payment_box {
    padding: 0.875rem 1.25rem !important;
    background: #f4f4f5 !important;
    border-top: 1px solid #e4e4e7 !important;
    font-size: 0.8125rem !important;
    color: #71717a !important;
    line-height: 1.6 !important;
    position: relative !important;
}

/* Hide the default WooCommerce triangle/arrow on payment_box */
#payment .payment_methods li .payment_box::before,
#payment .payment_methods li .payment_box::after {
    display: none !important;
    content: none !important;
}

#payment .payment_methods li .payment_box p {
    margin: 0 !important;
}

/* ─── Place Order Button ─── */
#place_order,
.wla-checkout-card .button.alt,
#payment .place-order .button {
    width: 100%;
    padding: 1rem 2rem;
    background: #18181b;
    color: #ffffff;
    border: 1px solid #f97316;
    border-radius: 0;
    font-family: 'Inter', sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.5;
    height: 3.5rem;
}

#place_order:hover,
.wla-checkout-card .button.alt:hover,
#payment .place-order .button:hover {
    background: #27272a;
}

#place_order:active {
    transform: scale(0.99);
}

/* ─── Terms and Conditions ─── */
.woocommerce-terms-and-conditions-wrapper {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 400;
    text-transform: none;
    color: #71717a;
    letter-spacing: 0;
    cursor: pointer;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
    accent-color: #f97316;
    margin-top: 0.125rem;
    flex-shrink: 0;
}

/* ─── Login / Coupon Toggle Links ─── */
.woocommerce-checkout .showlogin,
.woocommerce-checkout .showcoupon {
    color: #f97316;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
}

.woocommerce-checkout .showlogin:hover,
.woocommerce-checkout .showcoupon:hover {
    color: #ea580c;
}

/* ─── Checkout Login Form ─── */
.woocommerce-checkout .woocommerce-form-login,
.wla-checkout-page .woocommerce-form-login,
.woocommerce-checkout .login {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    border-radius: 0;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

/* Login form intro text */
.woocommerce-checkout .woocommerce-form-login > p:first-child,
.woocommerce-checkout .login > p:first-child {
    font-size: 0.875rem;
    color: #71717a;
    margin-bottom: 1rem;
    line-height: 1.6;
}

/* Login form field rows */
.woocommerce-checkout .woocommerce-form-login .form-row,
.woocommerce-checkout .login .form-row {
    margin-bottom: 1rem;
    padding: 0;
    float: none;
    width: 100%;
}

/* Username + Password side by side on desktop */
@media (min-width: 640px) {
    .woocommerce-checkout .woocommerce-form-login .form-row-first,
    .woocommerce-checkout .woocommerce-form-login .form-row-last {
        display: inline-block;
        width: calc(50% - 0.5rem);
        float: none;
        vertical-align: top;
    }
    .woocommerce-checkout .woocommerce-form-login .form-row-first {
        margin-right: 0.75rem;
    }
}

/* Login form labels */
.woocommerce-checkout .woocommerce-form-login label,
.woocommerce-checkout .login label {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #3f3f46;
    margin-bottom: 0.375rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

/* Login button */
.woocommerce-checkout .woocommerce-form-login .button,
.woocommerce-checkout .login .button {
    background: #18181b !important;
    color: #ffffff !important;
    border: 1px solid #f97316 !important;
    border-radius: 0 !important;
    padding: 0.75rem 2rem !important;
    font-weight: 600 !important;
    font-size: 0.9375rem !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
    font-family: 'Inter', sans-serif !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin-top: 0.5rem;
}

.woocommerce-checkout .woocommerce-form-login .button:hover,
.woocommerce-checkout .login .button:hover {
    background: #27272a !important;
}

/* Remember me checkbox */
.woocommerce-checkout .woocommerce-form-login .woocommerce-form-login__rememberme,
.woocommerce-checkout .login .woocommerce-form-login__rememberme {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
    color: #71717a;
    margin-left: 1rem;
}

.woocommerce-checkout .woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"] {
    width: 1rem !important;
    height: 1rem !important;
    min-height: auto !important;
    accent-color: #f97316;
}

/* Lost password link */
.woocommerce-checkout .woocommerce-form-login .lost_password,
.woocommerce-checkout .login .lost_password {
    margin-top: 0.75rem;
    font-size: 0.8125rem;
}

.woocommerce-checkout .woocommerce-form-login .lost_password a,
.woocommerce-checkout .login .lost_password a {
    color: #f97316;
    text-decoration: none;
    font-weight: 500;
}

.woocommerce-checkout .woocommerce-form-login .lost_password a:hover,
.woocommerce-checkout .login .lost_password a:hover {
    color: #ea580c;
    text-decoration: underline;
}

/* Coupon form */
.woocommerce-checkout .checkout_coupon,
.wla-checkout-page .checkout_coupon {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    border-radius: 0;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: stretch;
}

.woocommerce-checkout .checkout_coupon .form-row,
.wla-checkout-page .checkout_coupon .form-row {
    margin-bottom: 0;
    padding: 0;
    float: none;
}

.woocommerce-checkout .checkout_coupon .form-row-first,
.wla-checkout-page .checkout_coupon .form-row-first {
    float: none;
    width: 100%;
    flex: 1;
    min-width: 200px;
}

.woocommerce-checkout .checkout_coupon .form-row-last,
.wla-checkout-page .checkout_coupon .form-row-last {
    float: none;
    width: auto;
    flex-shrink: 0;
}

/* Coupon input field — make it visible and properly styled */
.woocommerce-checkout .checkout_coupon input[type="text"],
.wla-checkout-page .checkout_coupon input[type="text"],
.woocommerce-checkout .checkout_coupon #coupon_code {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.9375rem !important;
    color: #18181b !important;
    background: #fafafa !important;
    border: 1px solid #e4e4e7 !important;
    border-radius: 0 !important;
    outline: none !important;
    font-family: 'Inter', sans-serif !important;
    height: 2.875rem !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.woocommerce-checkout .checkout_coupon input[type="text"]:focus,
.wla-checkout-page .checkout_coupon input[type="text"]:focus {
    border-color: #f97316 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1) !important;
}

.woocommerce-checkout .checkout_coupon .button,
.wla-checkout-page .checkout_coupon .button {
    background: #18181b;
    color: #ffffff;
    border: 1px solid #f97316;
    border-radius: 0;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    cursor: pointer;
    transition: background-color 0.2s;
    height: 2.875rem;
    font-family: 'Inter', sans-serif;
    white-space: nowrap;
}

.woocommerce-checkout .checkout_coupon .button:hover,
.wla-checkout-page .checkout_coupon .button:hover {
    background: #27272a;
}

/* Coupon form paragraph label */
.woocommerce-checkout .checkout_coupon p:not(.form-row) {
    width: 100%;
    margin: 0 0 0.5rem;
    font-size: 0.8125rem;
    color: #71717a;
}

/* ─── Trust Signals ─── */
.wla-trust-signals {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 1.5rem;
}

.wla-trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.375rem;
    padding: 1rem 0.5rem;
    background: #ffffff;
    border: 1px solid #e4e4e7;
}

.wla-trust-item i,
.wla-trust-item svg {
    color: #f97316;
    width: 1.25rem;
    height: 1.25rem;
}

.wla-trust-item span {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

/* ─── Checkout Progress Steps ─── */
.wla-checkout-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 2.5rem;
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
}

.wla-step {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.wla-step-number {
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 700;
    border: 2px solid #e4e4e7;
    color: #a1a1aa;
    flex-shrink: 0;
    transition: all 0.2s;
}

.wla-step.active .wla-step-number {
    background: #18181b;
    border-color: #18181b;
    color: #f97316;
}

.wla-step.completed .wla-step-number {
    background: #f97316;
    border-color: #f97316;
    color: #ffffff;
}

.wla-step-label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #a1a1aa;
    white-space: nowrap;
}

.wla-step.active .wla-step-label,
.wla-step.completed .wla-step-label {
    color: #18181b;
}

.wla-step-connector {
    width: 3rem;
    height: 2px;
    background: #e4e4e7;
    margin: 0 0.75rem;
    flex-shrink: 0;
}

.wla-step.completed + .wla-step-connector {
    background: #f97316;
}

/* ─── Responsive Adjustments ─── */
@media (max-width: 639px) {
    .wla-checkout-card {
        padding: 1.25rem;
    }

    .wla-order-summary-card {
        padding: 1.25rem;
    }

    .wla-checkout-header h1 {
        font-size: 1.75rem;
    }

    .wla-trust-signals {
        grid-template-columns: 1fr;
    }

    .wla-checkout-steps {
        display: none;
    }
}

/* ─── WooCommerce Billing Form Layout ─── */

/* Hide the duplicate "Billing details" heading — our card title covers it */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
    display: none;
}

/* Base form row styling */
.woocommerce form .form-row {
    padding: 0;
    margin: 0 0 1rem;
    float: none;
    width: 100%;
}

/* Billing fields container — CSS Grid for 2-column layout */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 1rem;
}

/* Fields that should span full width */
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #shipping_country_field,
.woocommerce-checkout #shipping_address_1_field,
.woocommerce-checkout #shipping_address_2_field,
.woocommerce-checkout #shipping_company_field,
.woocommerce-checkout .form-row-wide {
    grid-column: 1 / -1;
}

/* First name + Last name: side by side (already in grid, 1 column each) */
#billing_first_name_field,
#billing_last_name_field,
#shipping_first_name_field,
#shipping_last_name_field {
    grid-column: auto;
}

/* City, State, Pin Code — 3-column row */
.woocommerce-checkout #billing_city_field {
    grid-column: 1 / 2;
}

.woocommerce-checkout #billing_state_field {
    grid-column: 2 / 3;
}

.woocommerce-checkout #billing_postcode_field {
    grid-column: 1 / 2;
}

/* Phone + Email side by side */
.woocommerce-checkout #billing_phone_field {
    grid-column: 1 / 2;
}

.woocommerce-checkout #billing_email_field {
    grid-column: 2 / 3;
}

/* Additional information / Order notes — full width */
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: block;
}

.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row {
    width: 100%;
}

/* Mobile: Stack all fields single column */
@media (max-width: 639px) {
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr;
    }

    .woocommerce-checkout #billing_city_field,
    .woocommerce-checkout #billing_state_field,
    .woocommerce-checkout #billing_postcode_field,
    .woocommerce-checkout #billing_phone_field,
    .woocommerce-checkout #billing_email_field {
        grid-column: 1 / -1;
    }
}

/* Hide unnecessary WooCommerce elements */
.woocommerce-checkout #payment .form-row.place-order {
    padding: 0;
    margin: 0;
}

.woocommerce-checkout #payment {
    background: transparent;
    border-radius: 0;
}

.woocommerce-checkout #payment div.form-row {
    padding: 0;
}

/* Remove default WC borders */
.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: none;
    padding: 0;
}

/* ─── Loading / Processing State ─── */
.woocommerce-checkout .blockUI.blockOverlay {
    background: rgba(255,255,255,0.8) !important;
}

.woocommerce-checkout .blockUI.blockOverlay::before {
    border-color: #f97316 transparent transparent !important;
}

/* ─── Subscription Details in Review Order ─── */
.woocommerce-checkout .recurring-totals th,
.woocommerce-checkout .recurring-totals td {
    padding: 0.75rem 0;
    font-size: 0.875rem;
    border-bottom: 1px solid #3f3f46;
}

/* ─── WC Notice Wrapper Refinements ─── */
.woocommerce-notices-wrapper {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1rem;
}

@media (min-width: 1024px) {
    .woocommerce-notices-wrapper {
        padding: 0 2rem;
    }
}

/* ─── Suppress WooCommerce Block Checkout Styles ─── */
.wla-checkout-page .wp-block-woocommerce-checkout,
.wla-checkout-page .wc-block-checkout,
.wla-checkout-page .wc-block-components-main {
    all: unset;
    display: contents;
}

/* Hide the default page title on checkout pages */
.wla-checkout-page > .wla-checkout-container > header,
.wla-checkout-page article > header,
.wla-checkout-page .entry-header,
.wla-checkout-page .page-title {
    display: none !important;
}

/* ─── Classic WC Review Order Table ���── */
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    word-wrap: break-word;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 0.75rem 0;
    font-size: 0.875rem;
    border-bottom: 1px solid #e4e4e7;
    text-align: left;
}

.woocommerce-checkout-review-order-table thead th {
    font-weight: 600;
    color: #3f3f46;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
}

.woocommerce-checkout-review-order-table tfoot th {
    font-weight: 600;
    color: #18181b;
}

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size: 1.125rem;
    font-weight: 700;
    color: #18181b;
    border-top: 2px solid #e4e4e7;
    padding-top: 1rem;
}

.woocommerce-checkout-review-order-table tfoot .order-total td .woocommerce-Price-amount {
    color: #f97316;
    font-family: 'Space Grotesk', sans-serif;
}

/* ─── Generic WooCommerce Page Reset ─── */
.wla-checkout-page .woocommerce {
    max-width: 100%;
    margin: 0;
    padding: 0;
}

/* Ensure WC notice styles work on checkout page */
.wla-checkout-page .woocommerce-error,
.wla-checkout-page .woocommerce-info,
.wla-checkout-page .woocommerce-message {
    list-style: none;
    border-top-color: #f97316;
    background: #fff7ed;
    color: #18181b;
    border-radius: 0;
    font-size: 0.875rem;
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    border: 1px solid #fed7aa;
    border-top: 3px solid #f97316;
}

.wla-checkout-page .woocommerce-error {
    background: #fef2f2;
    border-color: #fecaca;
    border-top-color: #ef4444;
}

/* ─── Thank You Page Specific ─── */
.wla-thank-you .wla-checkout-page {
    padding-bottom: 4rem;
}

/* ═══════════════════════════════════════════════════════════
   CART PAGE STYLES
   ═══════════════════════════════════════════════════════════ */

/* ─── Cart Page Container ─── */
.wla-cart-page {
    min-height: 100vh;
    background: #fafafa;
    padding-top: 6rem;
    overflow-x: hidden;
}

html:has(body.wla-cart),
body.wla-cart {
    overflow-x: hidden !important;
}

/* ─── Cart Grid: Items Left, Totals Right ─── */
.wla-cart-grid {
    display: grid;
    gap: 2rem;
    align-items: start;
}

.wla-cart-grid > * {
    min-width: 0;
}

@media (min-width: 1024px) {
    .wla-cart-grid {
        grid-template-columns: 1fr 400px;
        gap: 3rem;
    }
}

/* ─── Cart Item Count Badge ─── */
.wla-cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 0.375rem;
    background: #f97316;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    margin-left: auto;
}

/* ─── Cart Item Row ─── */
.wla-cart-item {
    display: flex;
    gap: 1.25rem;
    padding: 1.5rem 0;
    border-bottom: 1px solid #f4f4f5;
}

.wla-cart-item:first-of-type {
    padding-top: 0;
}

.wla-cart-item:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}

/* ─── Cart Item Thumbnail ─── */
.wla-cart-item-thumb {
    flex-shrink: 0;
    width: 5rem;
    height: 5rem;
    background: #f4f4f5;
    border: 1px solid #e4e4e7;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wla-cart-item-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.wla-cart-item-thumb a {
    display: block;
    width: 100%;
    height: 100%;
}

/* ─── Cart Item Details ─── */
.wla-cart-item-details {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.wla-cart-item-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.wla-cart-item-info {
    flex: 1;
    min-width: 0;
}

.wla-cart-item-name {
    font-weight: 700;
    font-size: 1rem;
    color: #18181b;
    line-height: 1.4;
}

.wla-cart-item-name a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.wla-cart-item-name a:hover {
    color: #f97316;
}

.wla-cart-item-meta {
    font-size: 0.8125rem;
    color: #71717a;
    margin-top: 0.25rem;
}

.wla-backorder {
    display: inline-block;
    font-size: 0.75rem;
    color: #ea580c;
    font-weight: 600;
    margin-top: 0.25rem;
}

/* ─── Remove Button ─── */
.wla-cart-remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    color: #a1a1aa;
    transition: color 0.2s, background-color 0.2s;
    flex-shrink: 0;
    text-decoration: none;
}

.wla-cart-remove:hover {
    color: #ef4444;
    background: #fef2f2;
}

/* ─── Cart Item Bottom Row (Qty + Price) ─── */
.wla-cart-item-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.wla-cart-item-price {
    font-weight: 700;
    font-size: 1.125rem;
    color: #18181b;
    font-family: 'Space Grotesk', sans-serif;
    white-space: nowrap;
}

.wla-cart-item-price .woocommerce-Price-amount {
    color: #18181b;
}

/* ─── Quantity Input ─── */
.wla-cart-qty .quantity {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e4e4e7;
    background: #fafafa;
}

.wla-cart-qty .quantity input.qty {
    width: 3rem !important;
    height: 2.25rem !important;
    min-height: auto !important;
    text-align: center !important;
    border: none !important;
    background: transparent !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #18181b !important;
    padding: 0 !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

.wla-cart-qty .quantity input.qty::-webkit-inner-spin-button,
.wla-cart-qty .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ─── Cart Actions Row ─── */
.wla-cart-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e4e4e7;
}

.wla-coupon-row {
    display: flex;
    gap: 0.5rem;
    flex: 1;
    min-width: 200px;
}

.wla-coupon-input {
    flex: 1;
    min-width: 0;
    padding: 0.625rem 1rem !important;
    font-size: 0.875rem !important;
    color: #18181b !important;
    background: #fafafa !important;
    border: 1px solid #e4e4e7 !important;
    border-radius: 0 !important;
    outline: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    font-family: 'Inter', sans-serif !important;
    height: 2.5rem !important;
    box-sizing: border-box !important;
}

.wla-coupon-input:focus {
    border-color: #f97316 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1) !important;
}

.wla-coupon-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0 1.25rem;
    height: 2.5rem;
    background: #18181b;
    color: #ffffff;
    border: 1px solid #f97316;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s;
    font-family: 'Inter', sans-serif;
    white-space: nowrap;
    border-radius: 0;
}

.wla-coupon-btn:hover {
    background: #27272a;
}

.wla-update-cart-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0 1.25rem;
    height: 2.5rem;
    background: transparent;
    color: #52525b;
    border: 1px solid #e4e4e7;
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    font-family: 'Inter', sans-serif;
    white-space: nowrap;
    border-radius: 0;
    margin-left: auto;
}

.wla-update-cart-btn:hover {
    border-color: #d4d4d8;
    background: #ffffff;
    color: #18181b;
}

.wla-update-cart-btn[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ─── Cart Totals Sidebar ─── */
.wla-cart-right .cart_totals {
    position: sticky;
    top: 6.5rem;
}

.wla-cart-right .cart_totals h2 {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #3f3f46;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.wla-cart-right .cart_totals h2::before {
    content: '';
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    background: #f97316;
    flex-shrink: 0;
}

.wla-cart-right .cart_totals {
    background: #18181b;
    border: 1px solid #27272a;
    color: #ffffff;
    padding: 2rem;
}

.wla-cart-right .cart_totals .shop_table {
    border: none;
    width: 100%;
    border-collapse: collapse;
}

.wla-cart-right .cart_totals .shop_table th,
.wla-cart-right .cart_totals .shop_table td {
    padding: 0.625rem 0;
    border-bottom: 1px solid #3f3f46;
    font-size: 0.875rem;
    color: #a1a1aa;
    text-align: left;
    background: transparent;
}

.wla-cart-right .cart_totals .shop_table th {
    font-weight: 600;
    color: #a1a1aa;
}

.wla-cart-right .cart_totals .shop_table td {
    text-align: right;
}

.wla-cart-right .cart_totals .shop_table .order-total th,
.wla-cart-right .cart_totals .shop_table .order-total td {
    font-size: 1.125rem;
    font-weight: 700;
    color: #ffffff;
    border-top: 1px solid #3f3f46;
    border-bottom: none;
    padding-top: 1rem;
}

.wla-cart-right .cart_totals .shop_table .order-total td .woocommerce-Price-amount {
    color: #f97316;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.5rem;
}

/* Cart totals — coupon discount row */
.wla-cart-right .cart_totals .shop_table .cart-discount td {
    color: #4ade80;
}

.wla-cart-right .cart_totals .shop_table .cart-discount td a {
    color: #ef4444;
    font-size: 0.75rem;
    margin-left: 0.25rem;
}

/* Shipping row in totals */
.wla-cart-right .cart_totals .shop_table .shipping td {
    color: #a1a1aa;
}

.wla-cart-right .cart_totals .shop_table .shipping td p {
    margin: 0;
    font-size: 0.8125rem;
}

/* ─── Proceed to Checkout Button ─── */
.wla-cart-right .wc-proceed-to-checkout {
    margin-top: 1.5rem;
}

.wla-cart-right .wc-proceed-to-checkout .checkout-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    height: 3.5rem;
    background: #f97316;
    color: #ffffff;
    border: none;
    border-radius: 0;
    font-family: 'Inter', sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
}

.wla-cart-right .wc-proceed-to-checkout .checkout-button:hover {
    background: #ea580c;
}

/* Secure badge below checkout button */
.wla-cart-right .wc-proceed-to-checkout::after {
    content: 'Secured by SSL Encryption';
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1rem;
    padding: 0.75rem;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    font-size: 0.75rem;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

/* ─── Empty Cart State ─── */
.wla-cart-empty {
    text-align: center;
    padding: 4rem 0;
}

.wla-cart-empty-icon {
    width: 5rem;
    height: 5rem;
    background: #18181b;
    border: 2px solid #27272a;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    color: #71717a;
}

.wla-cart-empty h2 {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #18181b;
    margin-bottom: 0.5rem;
}

.wla-cart-empty p {
    color: #71717a;
    font-size: 1rem;
    margin-bottom: 2rem;
}

.wla-cart-empty-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 2rem;
    background: #18181b;
    color: #ffffff;
    border: 1px solid #f97316;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    transition: background-color 0.2s;
    font-family: 'Inter', sans-serif;
}

.wla-cart-empty-btn:hover {
    background: #27272a;
}

.wla-cart-empty-link {
    display: block;
    margin-top: 1rem;
    color: #f97316;
    font-size: 0.875rem;
    text-decoration: none;
    font-weight: 500;
}

.wla-cart-empty-link:hover {
    text-decoration: underline;
}

/* ─── WooCommerce Notice Overrides for Cart ─── */
.wla-cart-page .woocommerce-info,
.wla-cart-page .woocommerce-message {
    border-top-color: #f97316;
    background: #fff7ed;
    color: #18181b;
    border-radius: 0;
    font-size: 0.875rem;
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    border: 1px solid #fed7aa;
    border-top: 3px solid #f97316;
    list-style: none;
}

.wla-cart-page .woocommerce-info::before,
.wla-cart-page .woocommerce-message::before {
    display: none !important;
}

.wla-cart-page .woocommerce-error {
    border-radius: 0;
    background: #fef2f2;
    color: #18181b;
    padding: 1rem 1.5rem;
    border: 1px solid #fecaca;
    border-top: 3px solid #ef4444;
    list-style: none;
    margin-bottom: 1.5rem;
}

.wla-cart-page .woocommerce-error::before {
    display: none !important;
}

/* ─── Cart Loading Overlay ─── */
.wla-cart-page .blockUI.blockOverlay {
    background: rgba(255,255,255,0.8) !important;
}

/* ─── Hide cross-sells on cart for clean layout ─── */
.wla-cart-right .cross-sells {
    display: none;
}

/* ─── Subscription recurring info in cart totals ─── */
.wla-cart-right .cart_totals .recurring-totals th,
.wla-cart-right .cart_totals .recurring-totals td {
    padding: 0.625rem 0;
    font-size: 0.8125rem;
    border-bottom: 1px solid #3f3f46;
    color: #a1a1aa;
}

/* ─── Cart Responsive ─── */
@media (max-width: 639px) {
    .wla-cart-item {
        flex-direction: column;
        gap: 1rem;
    }

    .wla-cart-item-thumb {
        width: 100%;
        height: 12rem;
    }

    .wla-cart-item-bottom {
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .wla-coupon-row {
        flex-direction: column;
        min-width: 0;
    }

    .wla-cart-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .wla-update-cart-btn {
        margin-left: 0;
        justify-content: center;
    }

    .wla-cart-right .cart_totals {
        padding: 1.25rem;
    }

    .wla-checkout-steps {
        display: none;
    }
}

/* ─── Cart Page — Hide default WC page title ─── */
.wla-cart-page > .wla-checkout-container > header,
.wla-cart-page article > header,
.wla-cart-page .entry-header,
.wla-cart-page .page-title {
    display: none !important;
}

/* ─── Cart global box-sizing ─── */
.wla-cart-page *,
.wla-cart-page *::before,
.wla-cart-page *::after {
    box-sizing: border-box;
}

/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT PAGE STYLES
   ═══════════════════════════════════════════════════════════ */

/* ─── Product Page Container ─── */
.wla-product-page {
    min-height: 100vh;
    background: #fafafa;
    padding-top: 6rem;
    overflow-x: hidden;
}

html:has(body.wla-product),
body.wla-product {
    overflow-x: hidden !important;
}

/* ─── Back Link ─── */
.wla-product-back {
    margin-bottom: 2rem;
}

.wla-product-back a {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #71717a;
    text-decoration: none;
    transition: color 0.2s;
}

.wla-product-back a:hover {
    color: #f97316;
}

/* ─── Product Grid: Image Left, Details Right ─── */
.wla-product-grid {
    display: grid;
    gap: 3rem;
    align-items: start;
}

.wla-product-grid > * {
    min-width: 0;
}

@media (min-width: 1024px) {
    .wla-product-grid {
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
    }
}

/* ─── Product Image Card ─── */
.wla-product-image-card {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    padding: 1.5rem;
    position: relative;
    overflow: hidden;
}

.wla-product-main-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fafafa;
    overflow: hidden;
}

.wla-product-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.wla-product-placeholder {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4f4f5;
    color: #a1a1aa;
}

/* Sale badge */
.wla-product-sale-badge {
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    z-index: 10;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.375rem 0.75rem;
    background: #18181b;
    color: #f97316;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Gallery thumbnails */
.wla-product-thumbs {
    display: flex;
    gap: 0.75rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #f4f4f5;
    overflow-x: auto;
}

.wla-thumb {
    flex-shrink: 0;
    width: 4.5rem;
    height: 4.5rem;
    border: 2px solid #e4e4e7;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.2s;
    background: #fafafa;
}

.wla-thumb:hover {
    border-color: #a1a1aa;
}

.wla-thumb.active {
    border-color: #f97316;
}

.wla-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* ─── Product Details Column ─── */
.wla-product-details-col {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Category */
.wla-product-category {
    margin-bottom: 0.75rem;
}

.wla-product-category a {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    background: #f4f4f5;
    border: 1px solid #e4e4e7;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #52525b;
    text-decoration: none;
    transition: all 0.2s;
}

.wla-product-category a:hover {
    border-color: #f97316;
    color: #f97316;
}

/* Title */
.wla-product-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #18181b;
    letter-spacing: -0.025em;
    line-height: 1.3;
    margin-bottom: 1.25rem;
}

@media (min-width: 640px) {
    .wla-product-title {
        font-size: 1.75rem;
    }
}

/* Price block */
.wla-product-price-block {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e4e4e7;
}

.wla-product-page .wla-product-price {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    color: #18181b;
    line-height: 1.2;
}

.wla-product-page .wla-product-price .woocommerce-Price-amount {
    color: #18181b;
}

.wla-product-page .wla-product-price .woocommerce-Price-currencySymbol {
    color: #18181b;
}

.wla-product-page .wla-product-price .subscription-details {
    font-size: 0.875rem;
    font-weight: 500;
    color: #71717a;
}

.wla-product-page .wla-product-price del {
    color: #a1a1aa;
    font-size: 0.8em;
    font-weight: 500;
    margin-right: 0.5rem;
}

.wla-product-page .wla-product-price del .woocommerce-Price-amount {
    color: #a1a1aa;
}

.wla-product-page .wla-product-price ins {
    text-decoration: none;
    color: #f97316;
}

.wla-product-page .wla-product-price ins .woocommerce-Price-amount {
    color: #f97316;
}

/* Subscription note */
.wla-product-billing-note {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
    padding: 0.625rem 1rem;
    background: rgba(249, 115, 22, 0.08);
    border: 1px solid rgba(249, 115, 22, 0.2);
    font-size: 0.8125rem;
    font-weight: 500;
    color: #ea580c;
}

.wla-product-billing-note i,
.wla-product-billing-note svg {
    color: #f97316;
    flex-shrink: 0;
}

/* Short description */
.wla-product-short-desc {
    margin-bottom: 1.5rem;
}

.wla-product-short-desc.wysiwyg-content {
    font-size: 1rem;
    color: #52525b;
    line-height: 1.7;
}

.wla-product-short-desc.wysiwyg-content p:last-child {
    margin-bottom: 0;
}

/* Stock status */
.wla-product-stock {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.wla-product-stock.in-stock {
    color: #16a34a;
}

.wla-product-stock.out-of-stock {
    color: #ef4444;
}

.wla-stock-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: #22c55e;
    animation: wla-pulse-anim 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* ─── Add to Cart Form ─── */
.wla-product-add-to-cart {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e4e4e7;
}

.wla-product-add-to-cart form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: stretch;
}

/* Quantity input in product page */
.wla-product-add-to-cart .quantity {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e4e4e7;
    background: #fafafa;
    height: 3.5rem;
}

.wla-product-add-to-cart .quantity input.qty {
    width: 3.5rem !important;
    height: 100% !important;
    min-height: auto !important;
    text-align: center !important;
    border: none !important;
    background: transparent !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #18181b !important;
    padding: 0 !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
    font-family: 'Inter', sans-serif !important;
}

.wla-product-add-to-cart .quantity input.qty::-webkit-inner-spin-button,
.wla-product-add-to-cart .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Add to cart button */
.wla-product-add-to-cart .single_add_to_cart_button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex: 1;
    min-width: 200px;
    height: 3.5rem;
    padding: 0 2rem;
    background: #18181b;
    color: #ffffff;
    border: 1px solid #f97316;
    border-radius: 0;
    font-family: 'Inter', sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s;
    text-transform: none;
    letter-spacing: 0;
}

.wla-product-add-to-cart .single_add_to_cart_button:hover {
    background: #27272a;
}

/* Out of stock disabled state */
.wla-product-add-to-cart .single_add_to_cart_button:disabled,
.wla-product-add-to-cart .single_add_to_cart_button.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Subscription form specifics */
.wla-product-add-to-cart .woocommerce-Price-amount {
    font-family: 'Space Grotesk', sans-serif;
}

.wla-product-add-to-cart .subscription-details {
    font-size: 0.8125rem;
    color: #71717a;
    margin-left: 0.25rem;
}

/* ─── Trust Signals ─── */
.wla-product-trust {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e4e4e7;
}

.wla-product-trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.375rem;
    padding: 0.875rem 0.5rem;
    background: #fafafa;
    border: 1px solid #e4e4e7;
    transition: border-color 0.2s;
}

.wla-product-trust-item:hover {
    border-color: #d4d4d8;
}

.wla-product-trust-item i,
.wla-product-trust-item svg {
    color: #f97316;
}

.wla-product-trust-item span {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

/* ─── Product Meta ─── */
.wla-product-meta {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.wla-meta-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.8125rem;
}

.wla-meta-label {
    font-weight: 600;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    min-width: 5rem;
}

.wla-meta-value {
    color: #3f3f46;
    font-weight: 500;
}

.wla-meta-value a {
    color: #f97316;
    text-decoration: none;
    transition: color 0.2s;
}

.wla-meta-value a:hover {
    color: #ea580c;
    text-decoration: underline;
}

/* ─── Full Description Section ─── */
.wla-product-description-section {
    margin-top: 3rem;
}

/* ─── WooCommerce Notice Overrides for Product ─── */
.wla-product-page .woocommerce-info,
.wla-product-page .woocommerce-message {
    border-top-color: #f97316;
    background: #fff7ed;
    color: #18181b;
    border-radius: 0;
    font-size: 0.875rem;
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    border: 1px solid #fed7aa;
    border-top: 3px solid #f97316;
    list-style: none;
}

.wla-product-page .woocommerce-info::before,
.wla-product-page .woocommerce-message::before {
    display: none !important;
}

.wla-product-page .woocommerce-error {
    border-radius: 0;
    background: #fef2f2;
    color: #18181b;
    padding: 1rem 1.5rem;
    border: 1px solid #fecaca;
    border-top: 3px solid #ef4444;
    list-style: none;
    margin-bottom: 1.5rem;
}

.wla-product-page .woocommerce-error::before {
    display: none !important;
}

/* ─── Loading overlay ─── */
.wla-product-page .blockUI.blockOverlay {
    background: rgba(255,255,255,0.8) !important;
}

/* ─── WC variation forms ─── */
.wla-product-add-to-cart .variations {
    width: 100%;
    margin-bottom: 1rem;
    border-collapse: collapse;
}

.wla-product-add-to-cart .variations td,
.wla-product-add-to-cart .variations th {
    padding: 0.5rem 0;
    border: none;
    vertical-align: middle;
}

.wla-product-add-to-cart .variations .label label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #3f3f46;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.wla-product-add-to-cart .variations select {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.9375rem !important;
    color: #18181b !important;
    background: #fafafa !important;
    border: 1px solid #e4e4e7 !important;
    border-radius: 0 !important;
    outline: none !important;
    font-family: 'Inter', sans-serif !important;
    min-height: 2.875rem !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}

.wla-product-add-to-cart .variations select:focus {
    border-color: #f97316 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1) !important;
}

.wla-product-add-to-cart .reset_variations {
    font-size: 0.8125rem;
    color: #f97316;
    text-decoration: none;
    font-weight: 500;
}

.wla-product-add-to-cart .reset_variations:hover {
    text-decoration: underline;
}

/* Variation price display */
.wla-product-add-to-cart .woocommerce-variation-price {
    margin-bottom: 1rem;
}

.wla-product-add-to-cart .woocommerce-variation-price .price {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #f97316;
}

/* Single variation wrap (button row for variable products) */
.wla-product-add-to-cart .single_variation_wrap .woocommerce-variation-add-to-cart {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: stretch;
}

/* ─── Product Responsive ─── */
@media (max-width: 639px) {
    .wla-product-title {
        font-size: 1.375rem;
    }

    .wla-product-page .wla-product-price {
        font-size: 1.5rem;
    }

    .wla-product-trust {
        grid-template-columns: 1fr;
    }

    .wla-product-add-to-cart form.cart {
        flex-direction: column;
    }

    .wla-product-add-to-cart .quantity {
        width: 100%;
        justify-content: center;
    }

    .wla-product-add-to-cart .quantity input.qty {
        width: 100% !important;
    }

    .wla-product-add-to-cart .single_add_to_cart_button {
        min-width: 0;
        width: 100%;
    }
}

/* ─── Product global box-sizing ─── */
.wla-product-page *,
.wla-product-page *::before,
.wla-product-page *::after {
    box-sizing: border-box;
}

/* ═══════════════════════════════════════════════════════════
   SHOP / PRODUCT ARCHIVE / CATEGORY PAGE STYLES
   ═══════════════════════════════════════════════════════════ */

/* ─── Shop Page Container ─── */
.wla-shop-page {
    overflow-x: hidden;
}

html:has(body.wla-shop),
body.wla-shop {
    overflow-x: hidden !important;
}

/* ─── Toolbar: result count + ordering ─── */
.wla-shop-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e4e4e7;
}

.wla-shop-result-count .woocommerce-result-count {
    font-size: 0.875rem;
    color: #71717a;
    margin: 0;
}

.wla-shop-ordering .woocommerce-ordering {
    margin: 0;
}

.wla-shop-ordering select {
    padding: 0.5rem 2.5rem 0.5rem 0.75rem !important;
    font-size: 0.875rem !important;
    color: #18181b !important;
    background: #ffffff !important;
    border: 1px solid #e4e4e7 !important;
    border-radius: 0 !important;
    outline: none !important;
    font-family: 'Inter', sans-serif !important;
    min-height: 2.5rem !important;
    cursor: pointer;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 1rem !important;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.wla-shop-ordering select:focus {
    border-color: #f97316 !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1) !important;
}

/* ─── Products Grid ─── */
.wla-products-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
}

@media (min-width: 640px) {
    .wla-products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .wla-products-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ─── Product Card ─── */
.wla-product-card {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    display: flex;
    flex-direction: column;
    transition: border-color 0.3s, box-shadow 0.3s;
    overflow: hidden;
}

.wla-product-card:hover {
    border-color: rgba(249, 115, 22, 0.5);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.06), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
}

/* Card image */
.wla-product-card-image {
    display: block;
    position: relative;
    aspect-ratio: 4 / 3;
    background: #f4f4f5;
    overflow: hidden;
}

.wla-card-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease;
}

.wla-product-card:hover .wla-card-img {
    transform: scale(1.05);
}

.wla-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #a1a1aa;
}

/* Sale badge on card */
.wla-card-sale-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.625rem;
    background: #18181b;
    color: #f97316;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Card body */
.wla-product-card-body {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0.5rem;
}

/* Category in card */
.wla-card-category {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #71717a;
}

.wla-card-category a {
    color: #71717a;
    text-decoration: none;
    transition: color 0.2s;
}

.wla-card-category a:hover {
    color: #f97316;
}

/* Title in card */
.wla-card-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #18181b;
    line-height: 1.3;
    margin: 0;
}

.wla-card-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.wla-product-card:hover .wla-card-title a {
    color: #f97316;
}

/* Excerpt */
.wla-card-excerpt {
    font-size: 0.875rem;
    color: #71717a;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
}

/* Price row */
.wla-card-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 0.75rem;
}

.wla-card-price {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.375rem;
    font-weight: 700;
    color: #18181b;
    line-height: 1;
}

.wla-card-price .woocommerce-Price-amount {
    color: #18181b;
}

.wla-card-price .woocommerce-Price-currencySymbol {
    font-size: 0.7em;
    color: #71717a;
}

.wla-card-price del {
    color: #a1a1aa;
    font-size: 0.75em;
    font-weight: 500;
}

.wla-card-price del .woocommerce-Price-amount {
    color: #a1a1aa;
}

.wla-card-price ins {
    text-decoration: none;
}

.wla-card-price ins .woocommerce-Price-amount {
    color: #f97316;
}

/* Subscription badge */
.wla-card-sub-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    background: rgba(249, 115, 22, 0.08);
    border: 1px solid rgba(249, 115, 22, 0.2);
    font-size: 0.625rem;
    font-weight: 700;
    color: #ea580c;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
    flex-shrink: 0;
}

.wla-card-sub-badge i,
.wla-card-sub-badge svg {
    color: #f97316;
}

/* CTA button in card */
.wla-card-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    height: 3rem;
    margin-top: 1rem;
    background: #18181b;
    color: #ffffff;
    border: 1px solid transparent;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
    font-family: 'Inter', sans-serif;
}

.wla-card-cta:hover {
    background: #27272a;
    border-color: #f97316;
    color: #ffffff;
}

.wla-card-cta i,
.wla-card-cta svg {
    transition: transform 0.2s;
}

.wla-card-cta:hover i,
.wla-card-cta:hover svg {
    transform: translateX(3px);
}

/* ─── Pagination ─── */
.wla-shop-pagination {
    margin-top: 3rem;
    display: flex;
    justify-content: center;
}

.wla-shop-pagination .woocommerce-pagination {
    text-align: center;
}

.wla-shop-pagination .woocommerce-pagination ul {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid #e4e4e7;
}

.wla-shop-pagination .woocommerce-pagination ul li {
    margin: 0;
}

.wla-shop-pagination .woocommerce-pagination ul li a,
.wla-shop-pagination .woocommerce-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    height: 2.75rem;
    padding: 0 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #52525b;
    background: #ffffff;
    text-decoration: none;
    transition: all 0.2s;
    border-right: 1px solid #e4e4e7;
}

.wla-shop-pagination .woocommerce-pagination ul li:last-child a,
.wla-shop-pagination .woocommerce-pagination ul li:last-child span {
    border-right: none;
}

.wla-shop-pagination .woocommerce-pagination ul li a:hover {
    background: #f4f4f5;
    color: #18181b;
}

.wla-shop-pagination .woocommerce-pagination ul li span.current {
    background: #18181b;
    color: #ffffff;
}

/* ─── Empty State ─── */
.wla-shop-empty {
    text-align: center;
    padding: 4rem 0;
}

.wla-shop-empty-icon {
    width: 5rem;
    height: 5rem;
    background: #ffffff;
    border: 1px solid #e4e4e7;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.5rem;
    color: #a1a1aa;
}

.wla-shop-empty h3 {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #18181b;
    margin-bottom: 0.5rem;
}

.wla-shop-empty p {
    color: #71717a;
    font-size: 1rem;
    margin-bottom: 2rem;
}

.wla-shop-empty-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 2rem;
    background: #18181b;
    color: #ffffff;
    border: 1px solid #f97316;
    font-weight: 600;
    font-size: 0.9375rem;
    text-decoration: none;
    transition: background-color 0.2s;
    font-family: 'Inter', sans-serif;
}

.wla-shop-empty-btn:hover {
    background: #27272a;
}

/* ─── WooCommerce Notice Overrides for Shop ─── */
.wla-shop-page .woocommerce-info,
.wla-shop-page .woocommerce-message {
    border-top-color: #f97316;
    background: #fff7ed;
    color: #18181b;
    border-radius: 0;
    font-size: 0.875rem;
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    border: 1px solid #fed7aa;
    border-top: 3px solid #f97316;
    list-style: none;
}

.wla-shop-page .woocommerce-info::before,
.wla-shop-page .woocommerce-message::before,
.wla-shop-page .woocommerce-notice::before {
    display: none !important;
}

.wla-shop-page .woocommerce-error {
    border-radius: 0;
    background: #fef2f2;
    color: #18181b;
    padding: 1rem 1.5rem;
    border: 1px solid #fecaca;
    border-top: 3px solid #ef4444;
    list-style: none;
    margin-bottom: 1.5rem;
}

.wla-shop-page .woocommerce-error::before {
    display: none !important;
}

/* ─── Shop Responsive ─── */
@media (max-width: 639px) {
    .wla-shop-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .wla-card-price-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

/* ─── Shop global box-sizing ─── */
.wla-shop-page *,
.wla-shop-page *::before,
.wla-shop-page *::after {
    box-sizing: border-box;
}

/* ═══════════════════════════════════════════════════════════
   MY ACCOUNT PAGE STYLES
   ═══════════════════════════════════════════════════════════ */

/* ─── Account Page Container ─── */
.wla-account-page {
    min-height: 100vh;
    background: #fafafa;
    padding-top: 6rem;
    overflow-x: hidden;
}

html:has(body.wla-account),
body.wla-account {
    overflow-x: hidden !important;
}

/* ─── Account Header (logged in) ─── */
.wla-account-header {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 2.5rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #e4e4e7;
}

.wla-account-avatar {
    flex-shrink: 0;
    width: 4rem;
    height: 4rem;
    background: #18181b;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wla-avatar-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
}

.wla-account-title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    color: #18181b;
    letter-spacing: -0.025em;
    margin: 0.25rem 0 0.125rem;
}

.wla-account-email {
    font-size: 0.875rem;
    color: #71717a;
    margin: 0;
}

/* ─── Account Layout: Nav + Content ─── */
.wla-account-wrapper .woocommerce {
    max-width: 100%;
}

.wla-account-wrapper .woocommerce-MyAccount-navigation,
.wla-account-wrapper .woocommerce-MyAccount-content {
    display: block;
}

@media (min-width: 768px) {
    .wla-account-wrapper .woocommerce {
        display: grid;
        grid-template-columns: 240px 1fr;
        gap: 3rem;
        align-items: start;
    }
}

/* ─── Account Navigation ─── */
.wla-account-page .woocommerce-MyAccount-navigation {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    padding: 0;
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    .wla-account-page .woocommerce-MyAccount-navigation {
        position: sticky;
        top: 6.5rem;
        margin-bottom: 0;
    }
}

.wla-account-page .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wla-account-page .woocommerce-MyAccount-navigation ul li {
    margin: 0;
    border-bottom: 1px solid #f4f4f5;
}

.wla-account-page .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

.wla-account-page .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: #52525b;
    text-decoration: none;
    transition: all 0.2s;
}

.wla-account-page .woocommerce-MyAccount-navigation ul li a:hover {
    background: #fafafa;
    color: #18181b;
}

.wla-account-page .woocommerce-MyAccount-navigation ul li.is-active a,
.wla-account-page .woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
    background: #18181b;
    color: #ffffff;
    font-weight: 600;
}

/* Nav icon pseudo-elements */
.wla-account-page .woocommerce-MyAccount-navigation ul li a::before {
    content: '';
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.5;
    filter: brightness(0);
}

.wla-account-page .woocommerce-MyAccount-navigation ul li.is-active a::before,
.wla-account-page .woocommerce-MyAccount-navigation ul li a[aria-current="page"]::before {
    filter: brightness(0) invert(1);
    opacity: 0.8;
}

/* Icon per nav item via Lucide-style SVG data URIs */
.wla-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='7' height='9' x='3' y='3' rx='1'/%3E%3Crect width='7' height='5' x='14' y='3' rx='1'/%3E%3Crect width='7' height='9' x='14' y='12' rx='1'/%3E%3Crect width='7' height='5' x='3' y='16' rx='1'/%3E%3C/svg%3E");
}
.wla-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7.5 4.27 9 5.15'/%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
}
.wla-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' x2='12' y1='15' y2='3'/%3E%3C/svg%3E");
}
.wla-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.wla-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
.wla-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--payment-methods a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2'/%3E%3Cline x1='2' x2='22' y1='10' y2='10'/%3E%3C/svg%3E");
}
.wla-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--subscriptions a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E");
}
.wla-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' x2='9' y1='12' y2='12'/%3E%3C/svg%3E");
}

/* Logout link — subtle red */
.wla-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #a1a1aa;
    border-top: 1px solid #f4f4f5;
}

.wla-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    color: #ef4444;
    background: #fef2f2;
}

/* ─── Account Content Area ─── */
.wla-account-page .woocommerce-MyAccount-content {
    min-width: 0;
}

/* Dashboard text */
.wla-account-page .woocommerce-MyAccount-content > p {
    font-size: 0.9375rem;
    color: #52525b;
    line-height: 1.7;
    margin-bottom: 1rem;
}

.wla-account-page .woocommerce-MyAccount-content > p a {
    color: #f97316;
    font-weight: 600;
    text-decoration: none;
}

.wla-account-page .woocommerce-MyAccount-content > p a:hover {
    text-decoration: underline;
}

.wla-account-page .woocommerce-MyAccount-content > p strong {
    color: #18181b;
    font-weight: 700;
}

/* ─── Orders Table ─── */
.wla-account-page .woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    border: 1px solid #e4e4e7;
}

.wla-account-page .woocommerce-orders-table thead th {
    padding: 1rem 1.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: left;
    background: #fafafa;
    border-bottom: 1px solid #e4e4e7;
}

.wla-account-page .woocommerce-orders-table tbody td,
.wla-account-page .woocommerce-orders-table tbody th {
    padding: 1rem 1.25rem;
    font-size: 0.875rem;
    color: #3f3f46;
    border-bottom: 1px solid #f4f4f5;
    text-align: left;
    vertical-align: middle;
}

.wla-account-page .woocommerce-orders-table tbody th a {
    color: #18181b;
    font-weight: 700;
    text-decoration: none;
}

.wla-account-page .woocommerce-orders-table tbody th a:hover {
    color: #f97316;
}

.wla-account-page .woocommerce-orders-table tbody tr:last-child td,
.wla-account-page .woocommerce-orders-table tbody tr:last-child th {
    border-bottom: none;
}

.wla-account-page .woocommerce-orders-table tbody tr:hover td,
.wla-account-page .woocommerce-orders-table tbody tr:hover th {
    background: #fafafa;
}

/* Order action buttons */
.wla-account-page .woocommerce-orders-table .woocommerce-button,
.wla-account-page .woocommerce-orders-table .button {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.375rem 0.875rem;
    background: #18181b;
    color: #ffffff;
    border: none;
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
    margin-right: 0.375rem;
    margin-bottom: 0.25rem;
}

.wla-account-page .woocommerce-orders-table .woocommerce-button:hover,
.wla-account-page .woocommerce-orders-table .button:hover {
    background: #27272a;
}

/* ─── Addresses Grid ─── */
.wla-account-page .woocommerce-Addresses {
    display: grid;
    gap: 2rem;
}

@media (min-width: 640px) {
    .wla-account-page .woocommerce-Addresses {
        grid-template-columns: 1fr 1fr;
    }
}

.wla-account-page .woocommerce-Address {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    padding: 1.5rem;
}

.wla-account-page .woocommerce-Address .woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f4f4f5;
}

.wla-account-page .woocommerce-Address .woocommerce-Address-title h3 {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: #18181b;
    margin: 0;
}

.wla-account-page .woocommerce-Address .woocommerce-Address-title a {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #f97316;
    text-decoration: none;
}

.wla-account-page .woocommerce-Address .woocommerce-Address-title a:hover {
    text-decoration: underline;
}

.wla-account-page .woocommerce-Address address {
    font-style: normal;
    font-size: 0.9375rem;
    color: #52525b;
    line-height: 1.8;
}

/* ─── Account Forms (Edit Account, Edit Address) ─── */
.wla-account-page .woocommerce-EditAccountForm,
.wla-account-page .woocommerce-address-fields {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    padding: 2rem;
}

.wla-account-page .woocommerce-EditAccountForm .form-row,
.wla-account-page .woocommerce-address-fields .form-row {
    margin-bottom: 1.25rem;
    padding: 0;
    float: none;
    width: 100%;
}

.wla-account-page .woocommerce-EditAccountForm fieldset {
    border: none;
    padding: 0;
    margin: 1.5rem 0 0;
}

.wla-account-page .woocommerce-EditAccountForm fieldset legend {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: #18181b;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #f4f4f5;
    width: 100%;
}

.wla-account-page label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #3f3f46;
    margin-bottom: 0.375rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.wla-account-page label .required {
    color: #f97316;
    font-weight: 700;
}

.wla-account-page input[type="text"],
.wla-account-page input[type="email"],
.wla-account-page input[type="tel"],
.wla-account-page input[type="password"],
.wla-account-page input[type="number"],
.wla-account-page textarea,
.wla-account-page select {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.9375rem !important;
    color: #18181b !important;
    background: #fafafa !important;
    border: 1px solid #e4e4e7 !important;
    border-radius: 0 !important;
    outline: none !important;
    transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s !important;
    font-family: 'Inter', sans-serif !important;
    min-height: 2.875rem !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.wla-account-page input:focus,
.wla-account-page textarea:focus,
.wla-account-page select:focus {
    border-color: #f97316 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1) !important;
}

/* Inline field rows */
@media (min-width: 640px) {
    .wla-account-page .woocommerce-EditAccountForm .form-row-first,
    .wla-account-page .woocommerce-EditAccountForm .form-row-last {
        display: inline-block;
        width: calc(50% - 0.5rem);
        vertical-align: top;
        float: none;
    }
    .wla-account-page .woocommerce-EditAccountForm .form-row-first {
        margin-right: 0.75rem;
    }
}

/* Save button */
.wla-account-page .woocommerce-Button,
.wla-account-page button[name="save_account_details"],
.wla-account-page button[name="save_address"],
.wla-account-page .woocommerce-EditAccountForm .button,
.wla-account-page .woocommerce-address-fields .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 2rem;
    background: #18181b;
    color: #ffffff;
    border: 1px solid #f97316;
    border-radius: 0;
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s;
    text-decoration: none;
}

.wla-account-page .woocommerce-Button:hover,
.wla-account-page button[name="save_account_details"]:hover,
.wla-account-page button[name="save_address"]:hover,
.wla-account-page .woocommerce-EditAccountForm .button:hover,
.wla-account-page .woocommerce-address-fields .button:hover {
    background: #27272a;
}

/* ─── Login / Register Forms (logged out state) ─── */

/* Two-column layout: Login + Register side by side */
.wla-account-page #customer_login,
.wla-account-page .u-columns.col2-set {
    display: grid;
    gap: 2rem;
    max-width: 56rem;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .wla-account-page #customer_login,
    .wla-account-page .u-columns.col2-set {
        grid-template-columns: 1fr 1fr;
    }
}

/* Each column card */
.wla-account-page #customer_login > .u-column1,
.wla-account-page #customer_login > .u-column2,
.wla-account-page .u-columns > .u-column1,
.wla-account-page .u-columns > .u-column2 {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    padding: 2rem;
}

/* Column headings */
.wla-account-page #customer_login h2,
.wla-account-page .u-columns h2 {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #18181b;
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f4f4f5;
}

/*
 * ─── LOGIN / REGISTER FORMS (logged-out state) ───
 *
 * No-registration DOM:
 *   .wla-account-wrapper > .woocommerce > h2 + form.woocommerce-form-login.login
 *
 * With-registration DOM:
 *   .wla-account-wrapper > .woocommerce > #customer_login.u-columns
 *     > .u-column1 > h2 + form.login
 *     > .u-column2 > h2 + form.register
 */

/*
 * ── CUSTOM LOGIN / REGISTER PAGE ──
 * Fully custom markup — no WooCommerce template overrides.
 */

/* Login page wrapper */
.wla-login-page {
    max-width: 100%;
}

/* Login header */
.wla-login-header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.wla-login-header h1 {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #18181b;
    letter-spacing: -0.025em;
    margin: 0 0 0.5rem;
}

@media (min-width: 640px) {
    .wla-login-header h1 {
        font-size: 2.5rem;
    }
}

.wla-login-header p {
    color: #71717a;
    font-size: 1rem;
    margin: 0;
}

/* Grid: single or two column */
.wla-login-grid {
    max-width: 30rem;
    margin: 0 auto;
}

.wla-login-grid--two-col {
    max-width: 56rem;
    display: grid;
    gap: 2rem;
}

@media (min-width: 768px) {
    .wla-login-grid--two-col {
        grid-template-columns: 1fr 1fr;
    }
}

/* Login / Register cards */
.wla-login-card {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    padding: 2.5rem;
}

/* Card header with icon + title */
.wla-login-card-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid #f4f4f5;
}

.wla-login-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    background: #18181b;
    color: #f97316;
    flex-shrink: 0;
}

.wla-login-card-header h2 {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #18181b;
    margin: 0;
}

/* Form fields */
.wla-field {
    margin-bottom: 1.25rem;
}

.wla-field label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #3f3f46;
    margin-bottom: 0.375rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.wla-required {
    color: #f97316;
    font-weight: 700;
}

/* Inputs */
.wla-field input[type="text"],
.wla-field input[type="email"],
.wla-field input[type="password"] {
    display: block;
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
    color: #18181b;
    background: #fafafa;
    border: 1px solid #e4e4e7;
    border-radius: 0;
    outline: none;
    font-family: 'Inter', sans-serif;
    min-height: 2.875rem;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;
}

.wla-field input:focus {
    border-color: #f97316;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1);
}

.wla-field input::placeholder {
    color: #a1a1aa;
}

/* Remember me row */
.wla-field--remember {
    margin-bottom: 1.5rem;
}

.wla-checkbox-label {
    display: inline-flex !important;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8125rem !important;
    color: #71717a !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 400 !important;
    cursor: pointer;
}

.wla-checkbox-label input[type="checkbox"] {
    width: 1rem !important;
    height: 1rem !important;
    min-height: auto !important;
    padding: 0 !important;
    accent-color: #f97316;
    cursor: pointer;
}

/* Submit button */
.wla-submit-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    height: 3.25rem;
    padding: 0 2rem;
    background: #18181b;
    color: #ffffff;
    border: 1px solid #f97316;
    border-radius: 0;
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s;
}

.wla-submit-btn:hover {
    background: #27272a;
}

.wla-submit-btn i,
.wla-submit-btn svg {
    transition: transform 0.2s;
}

.wla-submit-btn:hover i,
.wla-submit-btn:hover svg {
    transform: translateX(3px);
}

/* Outline variant for register */
.wla-submit-btn--outline {
    background: #ffffff;
    color: #18181b;
    border: 1px solid #e4e4e7;
}

.wla-submit-btn--outline:hover {
    background: #fafafa;
    border-color: #f97316;
}

/* Login footer (lost password) */
.wla-login-footer {
    margin-top: 1.25rem;
    text-align: center;
}

.wla-login-footer a {
    color: #f97316;
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
}

.wla-login-footer a:hover {
    text-decoration: underline;
    color: #ea580c;
}

/* Form note */
.wla-form-note {
    font-size: 0.875rem;
    color: #71717a;
    margin-bottom: 1.25rem;
    line-height: 1.6;
}

/* Trust row beneath login */
.wla-login-trust {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e4e4e7;
}

.wla-login-trust-item {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #a1a1aa;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.wla-login-trust-item i,
.wla-login-trust-item svg {
    color: #d4d4d8;
}

@media (max-width: 639px) {
    .wla-login-card {
        padding: 1.5rem;
    }

    .wla-login-trust {
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
    }
}

/* ── WooCommerce notices on login page ── */
.wla-login-page .woocommerce-error,
.wla-login-page .woocommerce-info,
.wla-login-page .woocommerce-message {
    list-style: none;
    border-radius: 0;
    font-size: 0.875rem;
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    max-width: 30rem;
    margin-left: auto;
    margin-right: auto;
}

.wla-login-page .woocommerce-error {
    background: #fef2f2;
    color: #18181b;
    border: 1px solid #fecaca;
    border-top: 3px solid #ef4444;
}

.wla-login-page .woocommerce-info,
.wla-login-page .woocommerce-message {
    background: #fff7ed;
    color: #18181b;
    border: 1px solid #fed7aa;
    border-top: 3px solid #f97316;
}

.wla-login-page .woocommerce-error::before,
.wla-login-page .woocommerce-info::before,
.wla-login-page .woocommerce-message::before {
    display: none !important;
}

.wla-login-page .woocommerce-error li {
    font-size: 0.875rem;
}

/* Match notice width to two-col grid when registration is on */
.wla-login-grid--two-col ~ .woocommerce-error,
.wla-login-page:has(.wla-login-grid--two-col) .woocommerce-error,
.wla-login-page:has(.wla-login-grid--two-col) .woocommerce-info,
.wla-login-page:has(.wla-login-grid--two-col) .woocommerce-message {
    max-width: 56rem;
}

/* ── Lost Password / Reset Password (WC renders these via endpoints) ── */
.wla-account-page .woocommerce-ResetPassword,
.wla-account-page .lost_reset_password {
    max-width: 30rem;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid #e4e4e7;
    padding: 2.5rem;
}

.wla-account-page .woocommerce-ResetPassword p:not(.form-row),
.wla-account-page .lost_reset_password p:not(.form-row) {
    font-size: 0.9375rem;
    color: #52525b;
    margin-bottom: 1.25rem;
    line-height: 1.6;
}

.wla-account-page .woocommerce-ResetPassword label,
.wla-account-page .lost_reset_password label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #3f3f46;
    margin-bottom: 0.375rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.wla-account-page .woocommerce-ResetPassword input[type="text"],
.wla-account-page .woocommerce-ResetPassword input[type="email"],
.wla-account-page .lost_reset_password input[type="text"],
.wla-account-page .lost_reset_password input[type="email"] {
    display: block;
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
    color: #18181b;
    background: #fafafa;
    border: 1px solid #e4e4e7;
    border-radius: 0;
    outline: none;
    font-family: 'Inter', sans-serif;
    min-height: 2.875rem;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.wla-account-page .woocommerce-ResetPassword input:focus,
.wla-account-page .lost_reset_password input:focus {
    border-color: #f97316;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1);
}

.wla-account-page .woocommerce-ResetPassword .form-row,
.wla-account-page .lost_reset_password .form-row {
    margin-bottom: 1.25rem;
    padding: 0;
    width: 100%;
}

.wla-account-page .woocommerce-ResetPassword .button,
.wla-account-page .lost_reset_password .button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 3.25rem;
    padding: 0 2rem;
    background: #18181b;
    color: #ffffff;
    border: 1px solid #f97316;
    border-radius: 0;
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s;
}

.wla-account-page .woocommerce-ResetPassword .button:hover,
.wla-account-page .lost_reset_password .button:hover {
    background: #27272a;
}

/* ─── Payment Methods Table ─── */
.wla-account-page .woocommerce-PaymentMethods,
.wla-account-page .woocommerce-table--payment-methods {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    border: 1px solid #e4e4e7;
}

.wla-account-page .woocommerce-PaymentMethods thead th,
.wla-account-page .woocommerce-table--payment-methods thead th {
    padding: 1rem 1.25rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: left;
    background: #fafafa;
    border-bottom: 1px solid #e4e4e7;
}

.wla-account-page .woocommerce-PaymentMethods tbody td,
.wla-account-page .woocommerce-table--payment-methods tbody td {
    padding: 1rem 1.25rem;
    font-size: 0.875rem;
    color: #3f3f46;
    border-bottom: 1px solid #f4f4f5;
}

/* ─── View Order Page ─── */
.wla-account-page .woocommerce-order-details {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    padding: 2rem;
    margin-bottom: 2rem;
}

.wla-account-page .woocommerce-order-details h2,
.wla-account-page .woocommerce-customer-details h2,
.wla-account-page .woocommerce-order-details__title {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #18181b;
    margin: 0 0 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f4f4f5;
}

.wla-account-page .woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
}

.wla-account-page .woocommerce-table--order-details thead th {
    padding: 0.75rem 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: left;
    border-bottom: 1px solid #e4e4e7;
}

.wla-account-page .woocommerce-table--order-details tbody td {
    padding: 0.75rem 0;
    font-size: 0.875rem;
    color: #3f3f46;
    border-bottom: 1px solid #f4f4f5;
}

.wla-account-page .woocommerce-table--order-details tfoot th {
    padding: 0.75rem 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: #18181b;
    text-align: left;
}

.wla-account-page .woocommerce-table--order-details tfoot td {
    padding: 0.75rem 0;
    font-size: 0.875rem;
    text-align: right;
}

.wla-account-page .woocommerce-table--order-details tfoot .order-total th,
.wla-account-page .woocommerce-table--order-details tfoot .order-total td {
    font-size: 1.125rem;
    font-weight: 700;
    padding-top: 1rem;
    border-top: 1px solid #e4e4e7;
}

.wla-account-page .woocommerce-table--order-details tfoot .order-total td .woocommerce-Price-amount {
    color: #f97316;
    font-family: 'Space Grotesk', sans-serif;
}

/* Customer details on order view */
.wla-account-page .woocommerce-customer-details {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    padding: 2rem;
    margin-bottom: 2rem;
}

.wla-account-page .woocommerce-customer-details address {
    font-style: normal;
    font-size: 0.9375rem;
    color: #52525b;
    line-height: 1.8;
}

/* ─── WooCommerce Notices on Account ─── */
.wla-account-page .woocommerce-info,
.wla-account-page .woocommerce-message {
    border-top-color: #f97316;
    background: #fff7ed;
    color: #18181b;
    border-radius: 0;
    font-size: 0.875rem;
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    border: 1px solid #fed7aa;
    border-top: 3px solid #f97316;
    list-style: none;
}

.wla-account-page .woocommerce-info::before,
.wla-account-page .woocommerce-message::before,
.wla-account-page .woocommerce-notice::before {
    display: none !important;
}

.wla-account-page .woocommerce-error {
    border-radius: 0;
    background: #fef2f2;
    color: #18181b;
    padding: 1rem 1.5rem;
    border: 1px solid #fecaca;
    border-top: 3px solid #ef4444;
    list-style: none;
    margin-bottom: 1.5rem;
}

.wla-account-page .woocommerce-error::before {
    display: none !important;
}

/* ─── Notice links ─── */
.wla-account-page .woocommerce-info a,
.wla-account-page .woocommerce-message a,
.wla-account-page .woocommerce-notice a {
    color: #f97316;
    font-weight: 600;
    text-decoration: none;
}

.wla-account-page .woocommerce-info a:hover,
.wla-account-page .woocommerce-message a:hover,
.wla-account-page .woocommerce-notice a:hover {
    text-decoration: underline;
}

/* Browse products button in empty orders notice */
.wla-account-page .woocommerce-info .wc-forward,
.wla-account-page .woocommerce-notice .wc-forward {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 1.25rem;
    background: #18181b;
    color: #ffffff !important;
    border: 1px solid #f97316;
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background-color 0.2s;
    margin-left: 0.75rem;
}

.wla-account-page .woocommerce-info .wc-forward:hover,
.wla-account-page .woocommerce-notice .wc-forward:hover {
    background: #27272a;
}

/* ─── Pagination (orders list) ─── */
.wla-account-page .woocommerce-pagination {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 2rem;
}

.wla-account-page .woocommerce-pagination .woocommerce-button {
    padding: 0.5rem 1.25rem;
    background: #ffffff;
    color: #52525b;
    border: 1px solid #e4e4e7;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
}

.wla-account-page .woocommerce-pagination .woocommerce-button:hover {
    background: #18181b;
    color: #ffffff;
    border-color: #18181b;
}

/* ─── Responsive Tables ─── */
@media (max-width: 767px) {
    .wla-account-page .shop_table_responsive thead {
        display: none;
    }

    .wla-account-page .shop_table_responsive tbody tr {
        display: block;
        margin-bottom: 1rem;
        border: 1px solid #e4e4e7;
        background: #ffffff;
    }

    .wla-account-page .shop_table_responsive tbody td,
    .wla-account-page .shop_table_responsive tbody th {
        display: block;
        padding: 0.75rem 1rem;
        border-bottom: 1px solid #f4f4f5;
        text-align: right;
    }

    .wla-account-page .shop_table_responsive tbody td::before,
    .wla-account-page .shop_table_responsive tbody th::before {
        content: attr(data-title) ": ";
        float: left;
        font-weight: 700;
        color: #18181b;
        text-transform: uppercase;
        font-size: 0.6875rem;
        letter-spacing: 0.05em;
    }

    .wla-account-page .wla-account-header {
        flex-direction: column;
        text-align: center;
    }

    .wla-account-header .wla-checkout-badge {
        margin-left: auto;
        margin-right: auto;
    }
}

/* ─── Select2 on Account pages ─── */
.wla-account-page .select2-container {
    max-width: 100% !important;
}

.wla-account-page .select2-container .select2-selection--single {
    height: auto !important;
    min-height: 2.875rem !important;
    border-radius: 0 !important;
    border: 1px solid #e4e4e7 !important;
    background: #fafafa !important;
}

.wla-account-page .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 0.75rem 2.5rem 0.75rem 1rem !important;
    line-height: 1.4 !important;
    color: #18181b !important;
    font-size: 0.9375rem !important;
}

/* ─── Account global box-sizing ─── */
.wla-account-page *,
.wla-account-page *::before,
.wla-account-page *::after {
    box-sizing: border-box;
}

