/*
 * Limark Wellness — woocommerce.css
 *
 * Universal WooCommerce reskin. Loaded on all WC pages and any non-front-page
 * non-brand-page route (cart, checkout, account, shop, single product, etc.).
 *
 * Phase 1: tokens + component primitives only. Phase 2-6 add per-page styles
 * in dedicated files (cart.css, checkout.css, myaccount.css, shop.css).
 *
 * Section order:
 *   1. CUSTOM PROPERTIES (tokens)
 *   2. RESETS / BASE
 *   3. COMPONENT PRIMITIVES
 *   4. WOOCOMMERCE DEFAULT OVERRIDES
 *   5. UTILITIES
 *   6. RESPONSIVE
 */

/* ============================================================
 * 1. CUSTOM PROPERTIES (tokens)
 * Globals (--cta-primary, --off-white, --text-primary etc.) are defined
 * in global.css — referenced here, not redeclared.
 * ============================================================ */
:root {
    /* Status pills */
    --wc-status-pending:       #B5851F;
    --wc-status-pending-bg:    #FCF6E8;
    --wc-status-processing:    #2E5BBA;
    --wc-status-processing-bg: #EAF0FB;
    --wc-status-completed:     #2D7D46;
    --wc-status-completed-bg:  #E8F2EB;
    --wc-status-cancelled:     #6B6B6B;
    --wc-status-cancelled-bg:  #F0EDE8;
    --wc-status-failed:        #A6321C;
    --wc-status-failed-bg:     #F8E8E4;
    --wc-status-refunded:      #6B6B6B;

    /* Form controls */
    --wc-input-border:         #E8E4DD;
    --wc-input-border-focus:   var(--cta-primary, #1B2A5B);
    --wc-input-bg:             #FFFFFF;
    --wc-input-text:           var(--text-primary, #1A1A1A);
    --wc-label:                var(--text-secondary, #6B6B6B);
    --wc-error:                #A6321C;
    --wc-error-bg:             #FCEEE9;
    --wc-success:              var(--success, #2D7D46);
    --wc-success-bg:           #E8F2EB;

    /* Action zones */
    --wc-summary-bg:           var(--off-white, #FAF8F5);
    --wc-summary-border:       var(--border-light, #E8E4DD);
    --wc-divider:              var(--border-light, #E8E4DD);

    /* Free-ship progress */
    --wc-progress-track:       #E8E4DD;
    --wc-progress-fill:        var(--cta-primary, #1B2A5B);
    --wc-progress-fill-done:   var(--success, #2D7D46);

    /* Image frame backgrounds */
    --wc-img-bg-default:       var(--warm-gray, #F0EDE8);
    --wc-img-bg-safease:       var(--safease-bg, #F8F4FB);
    --wc-img-bg-limark:        var(--limark-bg, #F5F0EB);

    /* Spacing scale (WC-scoped, can be tuned independently of global) */
    --wc-sp-xs: 4px;
    --wc-sp-sm: 8px;
    --wc-sp-md: 16px;
    --wc-sp-lg: 24px;
    --wc-sp-xl: clamp(32px, 5vw, 56px);
    --wc-sp-2xl: clamp(48px, 8vw, 96px);

    /* Component metrics */
    --wc-input-h-mobile:  48px;
    --wc-input-h-desktop: 52px;
    --wc-btn-h-mobile:    56px;
    --wc-btn-h-desktop:   52px;
    --wc-radius:          4px;
    --wc-radius-pill:     999px;
}

/* ============================================================
 * 2. RESETS / BASE
 * ============================================================ */
.limark-woo,
.lm-page-cart,
.lm-page-checkout,
.lm-page-account,
.lm-page-shop,
.lm-page-thankyou {
    color: var(--text-primary, #1A1A1A);
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    font-size: 16px;
    line-height: 1.6;
}
.limark-woo *,
.limark-woo *::before,
.limark-woo *::after {
    box-sizing: border-box;
}

/* ============================================================
 * 3. COMPONENT PRIMITIVES
 * ============================================================ */

/* ---- 3.1  .lm-pill — status / brand / trust pills ---- */
.lm-pill {
    display: inline-flex;
    align-items: center;
    gap: var(--wc-sp-xs);
    padding: 4px 10px;
    border-radius: var(--wc-radius-pill);
    background: var(--wc-summary-bg);
    color: var(--text-primary, #1A1A1A);
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 600;
    font-size: 11px;
    line-height: 1;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    white-space: nowrap;
}
.lm-pill__icon {
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
}

/* Status variants */
.lm-pill--status-pending     { background: var(--wc-status-pending-bg);     color: var(--wc-status-pending); }
.lm-pill--status-processing  { background: var(--wc-status-processing-bg);  color: var(--wc-status-processing); }
.lm-pill--status-completed   { background: var(--wc-status-completed-bg);   color: var(--wc-status-completed); }
.lm-pill--status-cancelled   { background: var(--wc-status-cancelled-bg);   color: var(--wc-status-cancelled); }
.lm-pill--status-failed      { background: var(--wc-status-failed-bg);      color: var(--wc-status-failed); }
.lm-pill--status-refunded    { background: var(--wc-status-cancelled-bg);   color: var(--wc-status-refunded); }

/* Brand variants */
.lm-pill--brand-safease { background: var(--safease-bg, #F8F4FB); color: var(--safease-purple, #4A2366); }
.lm-pill--brand-limark  { background: var(--limark-bg,  #F5F0EB); color: var(--limark-navy,    #1B2A5B); }

/* Trust pill */
.lm-pill--trust { background: transparent; color: var(--text-secondary, #6B6B6B); padding: 0; letter-spacing: 0.08em; }

/* ---- 3.2  .lm-input — text/email/tel/select inputs ---- */
.lm-input,
.lm-input-wrap input[type='text'],
.lm-input-wrap input[type='email'],
.lm-input-wrap input[type='tel'],
.lm-input-wrap input[type='password'],
.lm-input-wrap input[type='number'],
.lm-input-wrap select,
.lm-input-wrap textarea {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: var(--wc-input-h-mobile);
    padding: 0 16px;
    background: var(--wc-input-bg);
    border: 1px solid var(--wc-input-border);
    border-radius: var(--wc-radius);
    color: var(--wc-input-text);
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.4;
    transition: border-color 200ms ease;
}
.lm-input-wrap textarea {
    height: auto;
    min-height: 96px;
    padding: 14px 16px;
    resize: vertical;
}
.lm-input:focus,
.lm-input-wrap input:focus,
.lm-input-wrap select:focus,
.lm-input-wrap textarea:focus {
    outline: none;
    border-width: 1.5px;
    border-color: var(--wc-input-border-focus);
}
.lm-input[aria-invalid='true'],
.lm-input--error {
    border-color: var(--wc-error);
    background: var(--wc-error-bg);
}

/* Floating label */
.lm-input-wrap {
    position: relative;
    margin-bottom: var(--wc-sp-md);
}
.lm-input-wrap__label {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--wc-label);
    font-size: 14px;
    font-weight: 400;
    background: transparent;
    pointer-events: none;
    transition: top 200ms ease, font-size 200ms ease, transform 200ms ease, color 200ms ease;
}
.lm-input-wrap--filled .lm-input-wrap__label,
.lm-input-wrap--focused .lm-input-wrap__label,
.lm-input-wrap input:focus + .lm-input-wrap__label,
.lm-input-wrap input:not(:placeholder-shown) + .lm-input-wrap__label {
    top: 0;
    transform: translateY(-50%);
    padding: 0 6px;
    background: var(--wc-input-bg);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--wc-input-border-focus);
}
.lm-input-wrap__error {
    display: block;
    margin-top: 6px;
    color: var(--wc-error);
    font-size: 12px;
    font-weight: 500;
}

/* Checkbox / radio cleanup (used by COD/Razorpay radio cards in Phase 4) */
.lm-checkbox,
.lm-radio {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    margin: 0;
    border: 1.5px solid var(--wc-input-border);
    background: #FFFFFF;
    cursor: pointer;
    flex-shrink: 0;
    transition: border-color 150ms ease, background 150ms ease;
}
.lm-checkbox { border-radius: 3px; }
.lm-radio    { border-radius: 50%; }
.lm-checkbox:checked,
.lm-radio:checked {
    border-color: var(--wc-input-border-focus);
    background: var(--wc-input-border-focus);
    box-shadow: inset 0 0 0 3px #FFFFFF;
}
.lm-checkbox:focus-visible,
.lm-radio:focus-visible {
    outline: 2px solid var(--wc-input-border-focus);
    outline-offset: 2px;
}

/* ---- 3.3  .lm-btn — buttons ---- */
.lm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--wc-sp-sm);
    height: var(--wc-btn-h-mobile);
    min-width: 0;
    padding: 0 24px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--wc-radius);
    color: inherit;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
    -webkit-appearance: none;
    appearance: none;
}
.lm-btn:focus-visible {
    outline: 2px solid var(--wc-input-border-focus);
    outline-offset: 2px;
}
.lm-btn[disabled],
.lm-btn--loading {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}

/* Variants */
.lm-btn--primary {
    background: var(--cta-primary, #1B2A5B);
    color: #FFFFFF;
}
.lm-btn--primary:hover,
.lm-btn--primary:focus-visible {
    background: var(--cta-hover, #0F1D42);
    color: #FFFFFF;
}

.lm-btn--ghost {
    background: transparent;
    border-color: var(--cta-primary, #1B2A5B);
    color: var(--cta-primary, #1B2A5B);
}
.lm-btn--ghost:hover,
.lm-btn--ghost:focus-visible {
    background: var(--cta-primary, #1B2A5B);
    color: #FFFFFF;
}

.lm-btn--text {
    height: auto;
    padding: 0;
    background: transparent;
    color: var(--cta-primary, #1B2A5B);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 500;
}
.lm-btn--text:hover { color: var(--cta-hover, #0F1D42); }

/* Sizing modifiers */
.lm-btn--block { width: 100%; }
.lm-btn--sm    { height: 40px; padding: 0 16px; font-size: 13px; }
.lm-btn--lg    { height: 60px; padding: 0 28px; font-size: 16px; }

/* Numeric overlay (price-in-CTA) — Lora numerals for ₹ amount */
.lm-btn__num {
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    letter-spacing: 0;
    margin-left: 6px;
}

/* ---- 3.4  .lm-card — action-zone container ---- */
.lm-card {
    background: var(--wc-summary-bg);
    border: 1px solid var(--wc-summary-border);
    border-radius: var(--wc-radius);
    padding: var(--wc-sp-lg);
}
.lm-card--white { background: #FFFFFF; }
.lm-card--xl    { padding: var(--wc-sp-xl); }
.lm-card--tight { padding: var(--wc-sp-md); }

/* ---- 3.5  .lm-row — hairline-divided list rows ---- */
.lm-rows {
    list-style: none;
    margin: 0;
    padding: 0;
}
.lm-row {
    display: flex;
    align-items: flex-start;
    gap: var(--wc-sp-md);
    padding: var(--wc-sp-lg) 0;
    border-bottom: 1px solid var(--wc-divider);
}
.lm-row:first-child { padding-top: 0; }
.lm-row:last-child  { padding-bottom: 0; border-bottom: none; }

/* ---- 3.6  .lm-divider — horizontal hairline ---- */
.lm-divider {
    border: none;
    height: 1px;
    background: var(--wc-divider);
    margin: 0;
}
.lm-divider--space  { margin: var(--wc-sp-lg) 0; }
.lm-divider--xspace { margin: var(--wc-sp-xl) 0; }

/* ---- 3.7  .lm-stepper — qty +/- ---- */
.lm-stepper {
    display: inline-flex;
    align-items: center;
    border-bottom: 1px solid var(--wc-divider);
    padding-bottom: 4px;
    gap: 4px;
}
.lm-stepper__btn {
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: var(--text-primary, #1A1A1A);
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    border-radius: var(--wc-radius);
    transition: background 150ms ease;
}
.lm-stepper__btn:hover { background: var(--warm-gray, #F0EDE8); }
.lm-stepper__btn:focus-visible {
    outline: 2px solid var(--wc-input-border-focus);
    outline-offset: 2px;
}
.lm-stepper__btn[disabled] { opacity: 0.4; cursor: not-allowed; }
.lm-stepper__digit {
    min-width: 24px;
    text-align: center;
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1;
    color: var(--text-primary, #1A1A1A);
}

/* ---- 3.8  .lm-progress — free-ship progress bar ---- */
.lm-progress {
    --pct: 0%;
    width: 100%;
    height: 4px;
    background: var(--wc-progress-track);
    border-radius: 2px;
    overflow: hidden;
}
.lm-progress__fill {
    width: var(--pct);
    height: 100%;
    background: var(--wc-progress-fill);
    transition: width 500ms cubic-bezier(0.4, 0, 0.2, 1), background 200ms ease;
}
.lm-progress--done .lm-progress__fill {
    background: var(--wc-progress-fill-done);
    width: 100%;
}
.lm-progress-msg {
    display: flex;
    align-items: center;
    gap: var(--wc-sp-sm);
    margin-top: 8px;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 12px;
    line-height: 1.4;
    color: var(--text-secondary, #6B6B6B);
}
.lm-progress-msg__amount {
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    color: var(--text-primary, #1A1A1A);
}
.lm-progress--done .lm-progress-msg {
    color: var(--wc-success);
    font-weight: 500;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .lm-progress__fill { transition: none; }
}

/* ---- 3.9  .lm-prod-img — universal product image frame ---- */
.lm-prod-img-wrap {
    position: relative;
    aspect-ratio: 1 / 1;
    background: var(--wc-img-bg-default);
    overflow: hidden;
    display: grid;
    place-items: center;
    border-radius: var(--wc-radius);
    flex-shrink: 0;
}
.lm-prod-img-wrap--safease { background: var(--wc-img-bg-safease); }
.lm-prod-img-wrap--limark  { background: var(--wc-img-bg-limark); }
.lm-prod-img-wrap--hero    { aspect-ratio: 4 / 5; }

/* Fixed sizes — caller picks one */
.lm-prod-img-wrap--64  { width: 64px;  height: 64px;  aspect-ratio: 1 / 1; }
.lm-prod-img-wrap--72  { width: 72px;  height: 72px;  aspect-ratio: 1 / 1; }
.lm-prod-img-wrap--88  { width: 88px;  height: 88px;  aspect-ratio: 1 / 1; }
.lm-prod-img-wrap--96  { width: 96px;  height: 96px;  aspect-ratio: 1 / 1; }
.lm-prod-img-wrap--112 { width: 112px; height: 112px; aspect-ratio: 1 / 1; }

.lm-prod-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 8%;
}

/* ---- 3.10 .lm-section-label — uppercase eyebrow ---- */
.lm-section-label {
    display: inline-block;
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 500;
    font-size: 11px;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-secondary, #6B6B6B);
    margin-bottom: var(--wc-sp-sm);
}

/* ---- 3.11 .lm-heading — Cormorant editorial headings ---- */
.lm-heading {
    font-family: 'Cormorant Garamond', 'Times New Roman', serif;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text-primary, #1A1A1A);
    margin: 0;
}
.lm-heading--xl { font-size: 28px; }
.lm-heading--lg { font-size: 22px; }
.lm-heading--md { font-size: 18px; }
.lm-heading em  { font-style: italic; }

/* ---- 3.12 .lm-num — Lora numerals ---- */
.lm-num {
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    font-feature-settings: 'tnum' 1;
}
.lm-num--xl  { font-size: 36px; line-height: 1; }
.lm-num--lg  { font-size: 28px; line-height: 1; }
.lm-num--md  { font-size: 20px; line-height: 1; }
.lm-num--sm  { font-size: 18px; line-height: 1; }
.lm-num--strike { text-decoration: line-through; color: var(--text-tertiary, #9B9B9B); }
.lm-num--save   { color: var(--limark-berry, #9E2A6D); font-style: italic; font-weight: 500; }

/* ============================================================
 * 7. UTILITIES
 * ============================================================ */
.lm-stack > * + * { margin-top: var(--wc-sp-md); }
.lm-stack--lg > * + * { margin-top: var(--wc-sp-lg); }
.lm-stack--xl > * + * { margin-top: var(--wc-sp-xl); }
.lm-row-gap { display: flex; align-items: center; gap: var(--wc-sp-md); flex-wrap: wrap; }
.lm-sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}
.lm-mt-0 { margin-top: 0 !important; }
.lm-text-secondary { color: var(--text-secondary, #6B6B6B); }
.lm-text-success   { color: var(--wc-success); }
.lm-text-error     { color: var(--wc-error); }

/* ============================================================
 * 6. WOOCOMMERCE DEFAULT OVERRIDES (scoped, baseline)
 *
 * Phase 1 only resets the most jarring Woo defaults so placeholder pages
 * look acceptable. Per-page deep restyling lives in cart.css / checkout.css /
 * myaccount.css / shop.css (Phase 2-6).
 * ============================================================ */

/* Buttons rendered by Woo (login, place-order, register) — neutralize */
.limark-woo .button,
.limark-woo .wp-element-button,
.limark-woo .woocommerce-button,
.limark-woo button[type='submit'] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--wc-btn-h-mobile);
    padding: 0 24px;
    background: var(--cta-primary, #1B2A5B);
    color: #FFFFFF;
    border: 1px solid transparent;
    border-radius: var(--wc-radius);
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: background 200ms ease;
}
.limark-woo .button:hover,
.limark-woo .wp-element-button:hover,
.limark-woo .woocommerce-button:hover,
.limark-woo button[type='submit']:hover {
    background: var(--cta-hover, #0F1D42);
    color: #FFFFFF;
}

/* Inputs rendered by Woo */
.limark-woo input[type='text'],
.limark-woo input[type='email'],
.limark-woo input[type='tel'],
.limark-woo input[type='password'],
.limark-woo input[type='number'],
.limark-woo select,
.limark-woo textarea {
    width: 100%;
    height: var(--wc-input-h-mobile);
    padding: 0 16px;
    background: var(--wc-input-bg);
    border: 1px solid var(--wc-input-border);
    border-radius: var(--wc-radius);
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.4;
    color: var(--wc-input-text);
    transition: border-color 200ms ease;
    -webkit-appearance: none;
    appearance: none;
}
.limark-woo textarea { height: auto; min-height: 96px; padding: 14px 16px; }
.limark-woo input:focus,
.limark-woo select:focus,
.limark-woo textarea:focus {
    outline: none;
    border-width: 1.5px;
    border-color: var(--wc-input-border-focus);
}

/* Notices */
.limark-woo .woocommerce-notices-wrapper { margin: var(--wc-sp-md) 0; }
.limark-woo .woocommerce-message,
.limark-woo .woocommerce-info,
.limark-woo .woocommerce-error {
    display: flex;
    align-items: center;
    gap: var(--wc-sp-md);
    padding: 14px 16px;
    border: 1px solid var(--wc-divider);
    border-radius: var(--wc-radius);
    background: var(--wc-summary-bg);
    color: var(--text-primary, #1A1A1A);
    font-size: 14px;
    line-height: 1.5;
    list-style: none;
}
.limark-woo .woocommerce-message {
    border-color: var(--wc-success);
    background: var(--wc-success-bg);
    color: var(--wc-success);
}
.limark-woo .woocommerce-error {
    border-color: var(--wc-error);
    background: var(--wc-error-bg);
    color: var(--wc-error);
}
.limark-woo .woocommerce-message a,
.limark-woo .woocommerce-info a,
.limark-woo .woocommerce-error a { color: inherit; text-decoration: underline; }

/* Price */
.limark-woo .woocommerce-Price-amount {
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    font-feature-settings: 'tnum' 1;
}
.limark-woo del .woocommerce-Price-amount { color: var(--text-tertiary, #9B9B9B); }

/* Form rows reset */
.limark-woo .form-row,
.limark-woo .woocommerce-form-row {
    display: block;
    margin: 0 0 var(--wc-sp-md);
    padding: 0;
}
.limark-woo .form-row label,
.limark-woo .woocommerce-form-row label {
    display: block;
    margin-bottom: 6px;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--wc-label);
}
.limark-woo .form-row .required { color: var(--wc-error); text-decoration: none; }

/* Default page wrapper */
.limark-woo {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--wc-sp-xl) clamp(16px, 4vw, 32px);
}
.limark-page__header { margin-bottom: var(--wc-sp-xl); }
.limark-page__title {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 1.2;
    margin: 0;
    color: var(--text-primary, #1A1A1A);
}

/* ============================================================
 * 8. RESPONSIVE — mobile-first additions only
 * ============================================================ */

@media (min-width: 768px) {
    .limark-woo,
    .lm-page-cart,
    .lm-page-checkout,
    .lm-page-account,
    .lm-page-shop,
    .lm-page-thankyou {
        font-size: 16px;
    }

    .lm-input,
    .lm-input-wrap input,
    .lm-input-wrap select,
    .lm-input-wrap textarea,
    .limark-woo input[type='text'],
    .limark-woo input[type='email'],
    .limark-woo input[type='tel'],
    .limark-woo input[type='password'],
    .limark-woo input[type='number'],
    .limark-woo select {
        height: var(--wc-input-h-desktop);
    }

    .lm-btn,
    .limark-woo .button,
    .limark-woo .wp-element-button,
    .limark-woo .woocommerce-button,
    .limark-woo button[type='submit'] {
        height: var(--wc-btn-h-desktop);
    }

    .limark-page__title { font-size: 40px; }
}

@media (min-width: 1024px) {
    .limark-woo {
        padding: var(--wc-sp-2xl) clamp(24px, 5vw, 48px);
    }
}

/* End of woocommerce.css */

/* ============================================================
 * 9. PHASE 1.5 MICRO-FIXES (dashboard grid, login wrap)
 * ============================================================ */

/* Dashboard 3-col grid (was 2x2 with empty 4th cell — now 3-col on desktop) */
.limark-account-dash__cards {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 16px;
}
@media (min-width: 768px) {
    .limark-account-dash__cards {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
}

/* Login page — REMEMBER ME label wrap fix + form row alignment */
.lm-auth .lm-form__row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 8px 0 20px !important;
}
.lm-auth .lm-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13px !important;
    color: var(--text-secondary, #6B6B6B) !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    width: auto !important;
    height: auto !important;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.lm-auth .lm-checkbox span {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13px !important;
    color: var(--text-secondary, #6B6B6B) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
}
.lm-auth .lm-checkbox__box {
    -webkit-appearance: auto !important;
    appearance: auto !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}
.lm-auth .lm-form__link {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13px !important;
    color: var(--cta-primary, #1B2A5B) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* Login page — eliminate empty whitespace below cards (compress vertical) */
.lm-auth {
    max-width: 1100px;
    margin: 0 auto;
    padding: clamp(28px, 4vw, 56px) clamp(16px, 4vw, 32px) clamp(40px, 6vw, 64px);
}
.lm-auth__intro { text-align: center; margin-bottom: clamp(24px, 4vw, 40px); }
.lm-auth__eyebrow {
    display: inline-block;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--limark-berry, #9E2A6D);
    margin-bottom: 12px;
}
.lm-auth__title {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.15;
    margin: 0 0 12px;
    color: var(--text-primary, #1A1A1A);
}
.lm-auth__sub {
    color: var(--text-secondary, #6B6B6B);
    font-size: 14px;
    line-height: 1.55;
    max-width: 520px;
    margin: 0 auto;
}
.lm-auth__panes {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
@media (min-width: 768px) {
    .lm-auth__panes { grid-template-columns: 1fr 1fr; gap: 32px; }
}
.lm-auth__pane {
    background: #FFFFFF;
    border: 1px solid var(--border-light, #E8E4DD);
    border-radius: 4px;
    padding: clamp(20px, 3vw, 32px);
}
.lm-auth__pane-title {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: 22px;
    margin: 0 0 18px;
    color: var(--text-primary, #1A1A1A);
}
.lm-auth__pane-sub {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-secondary, #6B6B6B);
    margin: 0 0 18px;
}
.lm-field { margin-bottom: 14px; }
.lm-field__label {
    display: block;
    margin-bottom: 6px;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-secondary, #6B6B6B);
}
.lm-field__label span[aria-hidden] { color: var(--wc-error); }

/* Force outline button variant for register CTA (was lm-btn--outline, treat as ghost) */
.lm-btn--outline {
    background: transparent;
    border: 1px solid var(--cta-primary, #1B2A5B);
    color: var(--cta-primary, #1B2A5B);
}
.lm-btn--outline:hover {
    background: var(--cta-primary, #1B2A5B);
    color: #FFFFFF;
}

/* ============================================================
 * 10. PHASE 3.5 ROOT-CAUSE OVERRIDES
 * Fight legacy clamp(132px,14vh,168px) top margin and clamp(36-56px) padding
 * that comes from woocommerce-legacy.css line 7-18 + line 2723.
 * ============================================================ */

/* SET --lm-nav-stack to a sane clearance value. Legacy rule
 * `.limark-page { padding: var(--lm-nav-stack) ... !important }` will use it.
 * This is THE single source of top-clearance — no fighting, no over-rides. */
body.lm-page-cart,
body.lm-page-checkout,
body.lm-page-account,
body.lm-page-shop,
body.lm-page-thankyou,
body.lm-page-view-order {
    --lm-nav-stack: clamp(120px, 14vw, 160px);
}
@media (max-width: 767px) {
    body.lm-page-cart,
    body.lm-page-checkout,
    body.lm-page-account,
    body.lm-page-shop,
    body.lm-page-thankyou,
    body.lm-page-view-order {
        --lm-nav-stack: clamp(100px, 22vw, 130px);
    }
}

/* Universal container — width + chrome (NO padding override here, let legacy
 * use --lm-nav-stack for top clearance). */
body.lm-page-cart .limark-page,
body.lm-page-cart .limark-woo,
body.lm-page-checkout .limark-page,
body.lm-page-checkout .limark-woo,
body.lm-page-account .limark-page,
body.lm-page-account .limark-woo,
body.lm-page-shop .limark-page,
body.lm-page-shop .limark-woo,
body.lm-page-thankyou .limark-page,
body.lm-page-thankyou .limark-woo,
body.lm-page-view-order .limark-page,
body.lm-page-view-order .limark-woo {
    max-width: 1280px !important;
    margin: 0 auto !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    min-height: auto !important;
}

/* Shop pages: archive-product.php uses .limark-shop wrapper (not .limark-woo).
 * Apply same compact top padding. */
body.lm-page-shop .limark-shop {
    max-width: 1280px;
    margin: 0 auto;
    padding-top: clamp(20px, 3vw, 32px);
}

/* My-account specific layout — fixed sidebar, fluid content */
body.lm-page-account .woocommerce {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    background: transparent !important;
}
body.lm-page-account .woocommerce-MyAccount-navigation,
body.lm-page-account nav.woocommerce-MyAccount-navigation {
    width: 240px !important;
    max-width: 240px !important;
    flex: 0 0 240px !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.lm-page-account .woocommerce-MyAccount-content {
    width: auto !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0;
}
body.lm-page-account .woocommerce::after,
body.lm-page-account .woocommerce::before {
    display: none !important;
    content: none !important;
}

/* Build the flex container for sidebar + content */
body.lm-page-account .woocommerce {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: clamp(24px, 4vw, 48px);
}

/* Sidebar nav styling consistency */
body.lm-page-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 2px;
    border-right: 1px solid var(--border-light, #E8E4DD);
    padding-right: 16px !important;
}
body.lm-page-account .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
body.lm-page-account .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 10px 14px;
    color: var(--text-primary, #1A1A1A);
    text-decoration: none;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 500;
    border-left: 2px solid transparent;
    border-radius: 4px;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
body.lm-page-account .woocommerce-MyAccount-navigation li a:hover {
    background: var(--off-white, #FAF8F5);
    color: var(--cta-primary, #1B2A5B);
}
body.lm-page-account .woocommerce-MyAccount-navigation li.is-active a,
body.lm-page-account .woocommerce-MyAccount-navigation li.is-active > a {
    background: var(--off-white, #FAF8F5);
    color: var(--cta-primary, #1B2A5B);
    border-left-color: var(--cta-primary, #1B2A5B);
}

/* Mobile: stack sidebar on top, horizontal scroll tabs */
@media (max-width: 767px) {
    body.lm-page-account .woocommerce {
        flex-direction: column !important;
        gap: 20px;
    }
    body.lm-page-account .woocommerce-MyAccount-navigation,
    body.lm-page-account nav.woocommerce-MyAccount-navigation {
        width: 100% !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        overflow-x: auto;
    }
    body.lm-page-account .woocommerce-MyAccount-navigation ul {
        flex-direction: row !important;
        border-right: none !important;
        border-bottom: 1px solid var(--border-light, #E8E4DD);
        padding-right: 0 !important;
        padding-bottom: 12px !important;
        gap: 4px;
    }
    body.lm-page-account .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
    }
    body.lm-page-account .woocommerce-MyAccount-navigation li a {
        padding: 8px 14px;
        white-space: nowrap;
        border-left: none !important;
        border-bottom: 2px solid transparent;
    }
    body.lm-page-account .woocommerce-MyAccount-navigation li.is-active a {
        border-left: none !important;
        border-bottom-color: var(--cta-primary, #1B2A5B) !important;
    }
}

/* Dashboard inner — zero padding, full width of content col */
body.lm-page-account .limark-account-dash {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}
body.lm-page-account .limark-account-dash__hero {
    margin: 0 0 28px;
    padding: 0;
}
body.lm-page-account .limark-account-dash__eyebrow {
    display: inline-block;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--limark-berry, #9E2A6D);
    margin-bottom: 10px;
}
body.lm-page-account .limark-account-dash__hero h2 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.15;
    margin: 0 0 8px;
    color: var(--text-primary, #1A1A1A);
}
body.lm-page-account .limark-account-dash__hero h2 em {
    font-style: italic;
    font-weight: 400;
}
body.lm-page-account .limark-account-dash__hero p {
    margin: 0;
    color: var(--text-secondary, #6B6B6B);
    font-size: 14px;
    line-height: 1.55;
}

/* Dashboard cards force 3-col on desktop, fill width */
body.lm-page-account .limark-account-dash__cards {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 14px;
    width: 100%;
    margin: 0;
    padding: 0;
}
@media (min-width: 768px) {
    body.lm-page-account .limark-account-dash__cards {
        grid-template-columns: repeat(3, 1fr);
        gap: 18px;
    }
}
body.lm-page-account .limark-account-dash__card {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px;
    padding: 20px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    color: inherit !important;
    transition: border-color 0.2s ease, transform 0.2s ease;
    box-shadow: none !important;
}
body.lm-page-account .limark-account-dash__card:hover {
    border-color: var(--cta-primary, #1B2A5B) !important;
    transform: translateY(-2px);
}
body.lm-page-account .limark-account-dash__card-icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--off-white, #FAF8F5);
    border-radius: 999px;
    color: var(--cta-primary, #1B2A5B);
    font-size: 14px;
}
body.lm-page-account .limark-account-dash__card h3 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: 18px;
    margin: 0;
    color: var(--text-primary, #1A1A1A);
}
body.lm-page-account .limark-account-dash__card p {
    margin: 0;
    color: var(--text-secondary, #6B6B6B);
    font-size: 13px;
    line-height: 1.5;
}
body.lm-page-account .limark-account-dash__card-cta {
    margin-top: auto;
    padding-top: 6px;
    color: var(--cta-primary, #1B2A5B);
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
body.lm-page-account .limark-account-dash__support {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid var(--border-light, #E8E4DD);
    font-size: 13px;
    color: var(--text-secondary, #6B6B6B);
    line-height: 1.55;
}
body.lm-page-account .limark-account-dash__support a {
    color: var(--cta-primary, #1B2A5B);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ============================================================
 * 11. LOGIN PAGE (logged-out my-account) — proper width + density
 * ============================================================ */
body.lm-page-account .lm-auth {
    max-width: 980px;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}
body.lm-page-account .lm-auth__intro {
    text-align: center;
    margin-bottom: clamp(24px, 4vw, 36px);
    padding: 0;
}
body.lm-page-account .lm-auth__title {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(26px, 3.5vw, 36px);
    line-height: 1.15;
    margin: 0 0 10px;
    color: var(--text-primary, #1A1A1A);
}
body.lm-page-account .lm-auth__sub {
    color: var(--text-secondary, #6B6B6B);
    font-size: 14px;
    line-height: 1.55;
    max-width: 480px;
    margin: 0 auto;
}
body.lm-page-account .lm-auth__panes {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
@media (min-width: 768px) {
    body.lm-page-account .lm-auth__panes {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }
}
body.lm-page-account .lm-auth__pane {
    background: #FFFFFF;
    border: 1px solid var(--border-light, #E8E4DD);
    border-radius: 6px;
    padding: clamp(20px, 3vw, 28px);
    margin: 0;
}
body.lm-page-account .lm-auth__pane-title {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: 22px;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-light, #E8E4DD);
    color: var(--text-primary, #1A1A1A);
}
body.lm-page-account .lm-auth__pane-sub {
    font-size: 13px;
    line-height: 1.55;
    color: var(--text-secondary, #6B6B6B);
    margin: 0 0 16px;
}
body.lm-page-account .lm-auth .lm-field {
    margin-bottom: 12px;
}

/* ============================================================
 * 12. MINI-CART (header dropdown) — image fix + scoping fix
 * ============================================================ */
.nav-cart__dropdown .woocommerce-mini-cart,
.nav-cart__dropdown .product_list_widget {
    list-style: none;
    margin: 0;
    padding: 0;
}
.nav-cart__dropdown .woocommerce-mini-cart-item,
.nav-cart__dropdown .mini_cart_item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid var(--border-light, #E8E4DD) !important;
    list-style: none !important;
    margin: 0 !important;
    background: transparent !important;
}
.nav-cart__dropdown .woocommerce-mini-cart-item:last-child,
.nav-cart__dropdown .mini_cart_item:last-child {
    border-bottom: none !important;
}
.nav-cart__dropdown .woocommerce-mini-cart-item a,
.nav-cart__dropdown .mini_cart_item a {
    text-decoration: none !important;
    color: var(--text-primary, #1A1A1A) !important;
}
/* Image fix — contain not cover, fixed 56x56 frame, no trim */
.nav-cart__dropdown .woocommerce-mini-cart-item img,
.nav-cart__dropdown .mini_cart_item img,
.nav-cart__dropdown .product_list_widget img {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    object-fit: contain !important;
    padding: 6px !important;
    background: var(--warm-gray, #F0EDE8) !important;
    border-radius: 4px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    float: none !important;
    display: block !important;
}
.nav-cart__dropdown .quantity {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 12px;
    color: var(--text-secondary, #6B6B6B);
}
.nav-cart__dropdown .woocommerce-Price-amount {
    font-family: 'Lora', Georgia, serif !important;
    font-weight: 500 !important;
    color: var(--text-primary, #1A1A1A) !important;
}
.nav-cart__dropdown .total,
.nav-cart__dropdown p.total {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 16px !important;
    margin: 12px 0 !important;
    padding-top: 12px !important;
    border-top: 1px solid var(--border-light, #E8E4DD) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
}
.nav-cart__dropdown .buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.nav-cart__dropdown .buttons a,
.nav-cart__dropdown .buttons .button {
    display: block !important;
    width: 100% !important;
    padding: 12px 16px !important;
    text-align: center !important;
    border-radius: 4px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-decoration: none !important;
    line-height: 1 !important;
    height: auto !important;
}
.nav-cart__dropdown .buttons a.wc-forward,
.nav-cart__dropdown .buttons a.checkout {
    background: var(--cta-primary, #1B2A5B) !important;
    color: #FFFFFF !important;
    border: 1px solid var(--cta-primary, #1B2A5B) !important;
}
.nav-cart__dropdown .buttons a:not(.checkout):not(.wc-forward) {
    background: transparent !important;
    color: var(--cta-primary, #1B2A5B) !important;
    border: 1px solid var(--cta-primary, #1B2A5B) !important;
}
.nav-cart__dropdown .remove,
.nav-cart__dropdown .remove_from_cart_button {
    color: var(--text-tertiary, #9B9B9B) !important;
    background: transparent !important;
    border: none !important;
    text-decoration: none !important;
    font-size: 16px !important;
    line-height: 1 !important;
    width: 20px !important;
    height: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.nav-cart__dropdown .remove:hover {
    color: var(--wc-error, #A6321C) !important;
}

/* My-account context — ensure mini-cart isn't affected by .woocommerce flex layout */
body.lm-page-account .nav-cart__dropdown {
    display: block !important;
}
body.lm-page-account .nav-cart__dropdown .woocommerce {
    display: block !important;
    flex-direction: initial !important;
    gap: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
body.lm-page-account .nav-cart__dropdown .woocommerce-mini-cart {
    display: block !important;
    flex-direction: initial !important;
    gap: 0 !important;
}

/* ============================================================
 * 13. PHASE 4 DISCOUNT TIER PROGRESS + GUARANTEE BADGE
 * ============================================================ */

/* Discount tier progress strip — full variant (cart page) */
.lm-disc-tiers {
    margin: 0 auto clamp(20px, 3vw, 28px);
    max-width: 1280px;
    padding: clamp(16px, 2.5vw, 24px) clamp(16px, 4vw, 32px);
    background: linear-gradient(135deg, var(--off-white, #FAF8F5) 0%, var(--warm-gray, #F0EDE8) 100%);
    border: 1px solid var(--border-light, #E8E4DD);
    border-radius: 6px;
}
.lm-disc-tiers__head {
    margin-bottom: 18px;
    text-align: center;
}
.lm-disc-tiers__head .lm-section-label {
    color: var(--limark-berry, #9E2A6D);
    margin-bottom: 8px;
}
.lm-disc-tiers__title {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(18px, 2.4vw, 22px);
    line-height: 1.2;
    color: var(--text-primary, #1A1A1A);
    margin: 0;
}
.lm-disc-tiers__title em {
    color: var(--limark-berry, #9E2A6D);
    font-style: italic;
    font-weight: 500;
}

.lm-disc-tiers__bar {
    position: relative;
    height: 6px;
    background: rgba(232, 228, 221, 0.6);
    border-radius: 3px;
    margin: 32px 0 56px;
}
.lm-disc-tiers__fill {
    height: 100%;
    width: var(--pct, 0%);
    background: linear-gradient(90deg, var(--cta-primary, #1B2A5B) 0%, var(--limark-berry, #9E2A6D) 100%);
    border-radius: 3px;
    transition: width 600ms cubic-bezier(0.4, 0, 0.2, 1);
}
.lm-disc-tiers__node {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    text-align: center;
}
.lm-disc-tiers__node-dot {
    display: block;
    width: 16px;
    height: 16px;
    background: #FFFFFF;
    border: 2px solid var(--border-light, #E8E4DD);
    border-radius: 50%;
    margin: 0 auto;
    transition: border-color 200ms ease, background 200ms ease, transform 200ms ease;
}
.lm-disc-tiers__node.is-unlocked .lm-disc-tiers__node-dot {
    background: var(--limark-berry, #9E2A6D);
    border-color: var(--limark-berry, #9E2A6D);
    transform: scale(1.15);
}
.lm-disc-tiers__node-label {
    position: absolute;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    gap: 2px;
    align-items: center;
    white-space: nowrap;
    font-family: 'Inter', system-ui, sans-serif;
    line-height: 1;
}
.lm-disc-tiers__node-label strong {
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    font-size: 16px;
    color: var(--text-primary, #1A1A1A);
}
.lm-disc-tiers__node.is-unlocked .lm-disc-tiers__node-label strong {
    color: var(--limark-berry, #9E2A6D);
}
.lm-disc-tiers__node-label span {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--text-secondary, #6B6B6B);
}

/* Compact variant — mini-cart */
.lm-disc-tiers--compact {
    margin: 0 0 12px;
    padding: 10px 12px;
    background: var(--off-white, #FAF8F5);
    border: 1px solid var(--border-light, #E8E4DD);
    border-radius: 4px;
}
.lm-disc-tiers--compact .lm-disc-tiers__bar {
    margin: 8px 0 28px;
}
.lm-disc-tiers--compact .lm-disc-tiers__node-label strong {
    font-size: 12px;
}
.lm-disc-tiers--compact .lm-disc-tiers__node-label span {
    font-size: 9px;
}
.lm-disc-tiers__compact-msg {
    margin: 4px 0 0;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    line-height: 1.45;
    color: var(--text-secondary, #6B6B6B);
    text-align: center;
}

@media (max-width: 600px) {
    .lm-disc-tiers__node-label strong { font-size: 14px; }
    .lm-disc-tiers__node-label span   { font-size: 10px; }
    .lm-disc-tiers__bar { margin-bottom: 48px; }
}

@media (prefers-reduced-motion: reduce) {
    .lm-disc-tiers__fill { transition: none; }
    .lm-disc-tiers__node-dot { transition: none; transform: none; }
}

/* ============================================================
 * 14. GUARANTEE BADGE
 * ============================================================ */
.lm-guarantee-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    padding: 12px 14px;
    background: var(--off-white, #FAF8F5);
    border: 1px solid var(--border-light, #E8E4DD);
    border-radius: 6px;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s ease, background 0.2s ease;
}
.lm-guarantee-badge:hover {
    border-color: var(--cta-primary, #1B2A5B);
    background: #FFFFFF;
}
.lm-guarantee-badge__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #FFFFFF;
    border: 1px solid var(--border-light, #E8E4DD);
    border-radius: 999px;
    color: var(--cta-primary, #1B2A5B);
    flex-shrink: 0;
}
.lm-guarantee-badge__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}
.lm-guarantee-badge__text strong {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: 15px;
    color: var(--text-primary, #1A1A1A);
}
.lm-guarantee-badge__text span {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    color: var(--text-secondary, #6B6B6B);
    letter-spacing: 0.02em;
}

/* ============================================================
 * 15. GUARANTEE PAGE — intro/terms/claim sections
 * ============================================================ */
.page-template-default .lm-guarantee-intro,
.lm-guarantee-intro {
    max-width: 820px;
    margin: 0 auto clamp(40px, 6vw, 64px);
    padding: 0;
    text-align: center;
}
.lm-guarantee-intro .lm-section-label {
    color: var(--limark-berry, #9E2A6D);
    margin-bottom: 14px;
}
.lm-guarantee-intro__title {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(28px, 5vw, 48px);
    line-height: 1.1;
    color: var(--text-primary, #1A1A1A);
    margin: 0 0 18px;
}
.lm-guarantee-intro__title em {
    font-style: italic;
    color: var(--limark-berry, #9E2A6D);
}
.lm-guarantee-intro__sub {
    font-size: clamp(14px, 1.5vw, 17px);
    line-height: 1.55;
    color: var(--text-secondary, #6B6B6B);
    max-width: 620px;
    margin: 0 auto 28px;
}
.lm-guarantee-intro__bullets {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 768px) {
    .lm-guarantee-intro__bullets {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }
}
.lm-guarantee-intro__bullets li {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px;
    background: var(--off-white, #FAF8F5);
    border: 1px solid var(--border-light, #E8E4DD);
    border-radius: 6px;
    text-align: center;
}
.lm-guarantee-intro__bullets li strong {
    font-family: 'Lora', Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    color: var(--cta-primary, #1B2A5B);
}

.lm-guarantee-terms {
    max-width: 820px;
    margin: 0 auto clamp(40px, 6vw, 64px);
}
.lm-guarantee-terms__title,
.lm-guarantee-claim__title {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(22px, 3vw, 28px);
    line-height: 1.2;
    color: var(--text-primary, #1A1A1A);
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-light, #E8E4DD);
}
.lm-guarantee-terms__list {
    margin: 0;
    padding: 0 0 0 24px;
    list-style: decimal;
    color: var(--text-primary, #1A1A1A);
}
.lm-guarantee-terms__list li {
    margin-bottom: 14px;
    line-height: 1.6;
    font-size: 14px;
}

.lm-guarantee-claim {
    max-width: 820px;
    margin: 0 auto clamp(40px, 6vw, 64px);
}
.lm-guarantee-claim__steps {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.lm-guarantee-claim__steps li {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px;
    background: var(--off-white, #FAF8F5);
    border: 1px solid var(--border-light, #E8E4DD);
    border-radius: 6px;
}
.lm-guarantee-claim__step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: var(--cta-primary, #1B2A5B);
    color: #FFFFFF;
    border-radius: 999px;
    font-family: 'Lora', Georgia, serif;
    font-size: 14px;
    font-weight: 500;
}
.lm-guarantee-claim__steps strong {
    display: block;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: 16px;
    color: var(--text-primary, #1A1A1A);
    margin-bottom: 4px;
}
.lm-guarantee-claim__steps p {
    margin: 0;
    color: var(--text-secondary, #6B6B6B);
    font-size: 13px;
    line-height: 1.55;
}
.lm-guarantee-claim__steps a {
    color: var(--cta-primary, #1B2A5B);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.lm-guarantee-claim__contact {
    text-align: center;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--border-light, #E8E4DD);
    font-size: 13px;
    color: var(--text-secondary, #6B6B6B);
}

/* ============================================================
 * 16. NAV CLEARANCE
 * Strategy: cart/checkout/account/thankyou/view-order use legacy rule
 * `body.woocommerce-cart .limark-page { padding: var(--lm-nav-stack) ... }`
 * which now reads our updated --lm-nav-stack (set above to clamp(120-160px)).
 * NO override needed for those.
 *
 * Shop archive uses .limark-shop wrapper (not .limark-woo) — needs separate
 * rule. Generic pages (contact, about) need a default too.
 * ============================================================ */

/* §16 shop + generic — superseded by PHASE 5 (end of file). Neutralized. */
/*
body.lm-page-shop .limark-shop {
    padding-top: clamp(120px, 14vw, 160px);
}
@media (max-width: 767px) {
    body.lm-page-shop .limark-shop {
        padding-top: clamp(100px, 22vw, 130px);
    }
}
body.page:not(.home) .limark-page {
    padding-top: clamp(120px, 14vw, 160px);
}
@media (max-width: 767px) {
    body.page:not(.home) .limark-page {
        padding-top: clamp(100px, 22vw, 130px);
    }
}
*/

/* Cart progress bar / disc tiers should not double-space */
body.lm-page-cart .lm-disc-tiers {
    margin-top: 0;
}

/* ============================================================
 * 17. PHASE 4.1 CHECKOUT BUTTON (shorter text via CSS)
 * ============================================================ */
body.lm-page-cart .lm-summary__cta .button,
body.lm-page-cart .lm-summary__cta .checkout-button,
body.lm-page-cart .lm-summary__cta .wc-forward {
    font-size: 13px !important;
    letter-spacing: 0.06em !important;
    padding: 0 14px !important;
    text-transform: uppercase;
}
/* Try to use shorter text via :before/text replacement is unreliable.
 * Instead allow button to wrap on 2 lines if needed but with proper spacing. */
body.lm-page-cart .lm-summary__cta .button {
    white-space: normal !important;
    line-height: 1.2 !important;
    height: auto !important;
    min-height: 56px !important;
    padding: 14px 14px !important;
}

/* ============================================================
 * 18. PHASE 4.2 UNIFIED PROGRESS BAR — free-ship node styling
 * ============================================================ */

/* Free-ship node uses navy color, not berry */
.lm-disc-tiers__node.is-ship.is-unlocked .lm-disc-tiers__node-dot {
    background: var(--cta-primary, #1B2A5B);
    border-color: var(--cta-primary, #1B2A5B);
}
.lm-disc-tiers__node.is-ship .lm-disc-tiers__node-label strong {
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
}
.lm-disc-tiers__node.is-ship.is-unlocked .lm-disc-tiers__node-label strong {
    color: var(--cta-primary, #1B2A5B);
}

/* Tighter overall component */
.lm-disc-tiers {
    margin: 0 auto clamp(20px, 3vw, 28px);
    padding: clamp(14px, 2vw, 20px) clamp(20px, 3vw, 32px) clamp(16px, 2vw, 24px);
}
.lm-disc-tiers__title {
    font-size: clamp(15px, 1.8vw, 18px);
}
.lm-disc-tiers__head {
    margin-bottom: 14px;
}
.lm-disc-tiers__bar {
    margin: 22px 0 44px;
}

/* ============================================================
 * 19. PHASE 4.2 CART HEADING TIGHTER
 * ============================================================ */
.lm-cart__heading {
    font-size: clamp(20px, 2.2vw, 24px) !important;
    line-height: 1.2 !important;
}
.lm-cart__eyebrow {
    font-size: 10px !important;
    margin-bottom: 4px !important;
}

/* Right column trust pills polish */
.lm-page-cart .lm-summary__trust {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--border-light, #E8E4DD);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    list-style: none;
    padding-left: 0;
}
.lm-page-cart .lm-summary__trust li {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--text-secondary, #6B6B6B);
    padding: 0;
    background: transparent;
    border: none;
}
.lm-page-cart .lm-summary__trust li svg {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    color: var(--cta-primary, #1B2A5B);
}

/* ============================================================
 * 20. PHASE 4.4 — Per-page-type padding tiers
 *
 * 3 tiers based on page context:
 *   A. CART / CHECKOUT / ACCOUNT — tight, ~40px (action-oriented; user
 *      came from product page, wants to transact fast)
 *   B. PRODUCT PAGE — keeps own larger padding (existing single-product.php
 *      design — not touched here)
 *   C. PLAIN PAGES (privacy, terms, shipping, contact, about) — comfortable,
 *      ~80px (reading content needs breathing)
 *
 * Override the legacy rule with !important + higher specificity to win
 * load-order conflicts.
 * ============================================================ */

/* Tier A1: cart, checkout — padding/margin moved to PHASE 5 (end of file). */

/* Tier A2: my-account, thankyou, view-order — keep aesthetic chrome only.
 * padding-top / margin-top now controlled by PHASE 5 (end of file). */
body.lm-page-account .limark-page.limark-woo,
body.lm-page-thankyou .limark-page.limark-woo,
body.lm-page-view-order .limark-page.limark-woo {
    background: #FFFFFF !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 40px -24px rgba(27, 42, 91, 0.12) !important;
}
@media (max-width: 767px) {
    body.lm-page-account .limark-page.limark-woo,
    body.lm-page-thankyou .limark-page.limark-woo,
    body.lm-page-view-order .limark-page.limark-woo {
        border-radius: 8px !important;
    }
}

/* Inner dashboard cards — off-white bg so they stand apart from outer white card */
body.lm-page-account .limark-account-dash__card {
    background: var(--off-white, #FAF8F5) !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
}
body.lm-page-account .limark-account-dash__card:hover {
    background: #FFFFFF !important;
    border-color: var(--cta-primary, #1B2A5B) !important;
}
body.lm-page-account .limark-account-dash__card-icon {
    background: #FFFFFF !important;
}
body.lm-page-account .limark-account-dash__support {
    background: var(--off-white, #FAF8F5) !important;
    padding: 14px !important;
    border-radius: 6px !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
    margin-top: 24px !important;
}

/* Login pane cards on account-page (logged out) — also off-white inner */
body.lm-page-account .lm-auth__pane {
    background: var(--off-white, #FAF8F5) !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
}

/* Tier B / C — shop + generic / contact / about top spacing
 * superseded by PHASE 5 (end of file). Neutralized. */

/* On cart/checkout/account, set --lm-nav-stack still for any other rule that uses it */
body.lm-page-cart,
body.lm-page-checkout,
body.lm-page-account,
body.lm-page-thankyou,
body.lm-page-view-order {
    --lm-nav-stack: clamp(110px, 13vw, 140px);
}

/* ============================================================
 * 21. PHASE 4.4 — H1 size reduction across system pages
 * ============================================================ */
body.lm-page-cart .lm-cart__heading,
body.lm-page-checkout h1,
body.lm-page-checkout h2.woocommerce-checkout-h2,
body.lm-page-account .limark-account-dash__hero h2,
body.lm-page-account .lm-auth__title,
body.lm-page-thankyou h1,
body.lm-page-view-order h2 {
    font-size: clamp(20px, 2.4vw, 28px) !important;
    line-height: 1.2 !important;
    margin: 0 0 6px !important;
}

/* ============================================================
 * 22. PHASE 4.4 — Cart item one-row tight layout
 * ============================================================ */
body.lm-page-cart .lm-cart__item {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) auto auto 24px !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid var(--border-light, #E8E4DD) !important;
}
body.lm-page-cart .lm-cart__item:first-child { padding-top: 4px !important; }
body.lm-page-cart .lm-cart__item:last-child { border-bottom: none !important; padding-bottom: 4px !important; }

/* Image col: small fixed 64px */
body.lm-page-cart .lm-cart__item-media,
body.lm-page-cart .lm-cart__item-media .lm-prod-img-wrap {
    width: 64px !important;
    height: 64px !important;
    aspect-ratio: 1 / 1 !important;
}
body.lm-page-cart .lm-cart__item-media img,
body.lm-page-cart .lm-cart__item-media .lm-prod-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 6% !important;
    background: var(--warm-gray, #F0EDE8);
    border-radius: 4px;
}

/* Body col: brand pill row + title (sans) below — compact */
body.lm-page-cart .lm-cart__item-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    min-width: 0 !important;
}
body.lm-page-cart .lm-cart__item-brand {
    display: inline-flex;
    width: fit-content;
    padding: 2px 8px !important;
    font-size: 9px !important;
    letter-spacing: 0.12em !important;
    line-height: 1 !important;
}
body.lm-page-cart .lm-cart__item-brand.lm-pill--brand-limark {
    background: var(--limark-navy, #1B2A5B) !important;
    color: #FFFFFF !important;
}
body.lm-page-cart .lm-cart__item-brand.lm-pill--brand-safease {
    background: var(--safease-purple, #4A2366) !important;
    color: #FFFFFF !important;
}
body.lm-page-cart .lm-cart__item-title {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    color: var(--text-primary, #1A1A1A);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* Hide the controls row (qty+price as separate block) — controls now move into grid columns */
body.lm-page-cart .lm-cart__item-controls,
body.lm-page-cart .lm-cart__item-meta {
    display: none !important;
}

/* Qty stepper col (col 3 in grid) — pull out of body, position via grid order */
body.lm-page-cart .lm-cart__item-body + .lm-cart__qty,
body.lm-page-cart .lm-cart__qty {
    grid-column: 3 !important;
    grid-row: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Since qty is inside body in current HTML, surface it. Reset existing positioning. */
body.lm-page-cart .lm-cart__item-body .lm-cart__item-controls {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    margin-top: 4px !important;
}
body.lm-page-cart .lm-cart__item-body .lm-cart__qty-stepper {
    border: 1px solid var(--border-light, #E8E4DD);
    border-radius: 999px;
    padding: 2px 4px;
    gap: 2px;
}
body.lm-page-cart .lm-cart__item-body .lm-cart__qty-stepper .lm-qty-btn {
    width: 22px !important;
    height: 22px !important;
    font-size: 14px !important;
    padding: 0 !important;
}
body.lm-page-cart .lm-cart__item-body .lm-cart__qty-stepper .lm-qty-input {
    width: 28px !important;
    height: 22px !important;
    font-size: 13px !important;
    font-family: 'Lora', Georgia, serif !important;
}
body.lm-page-cart .lm-cart__item-body .lm-cart__item-price {
    margin-left: auto !important;
    text-align: right !important;
}
body.lm-page-cart .lm-cart__item-body .lm-cart__item-subtotal {
    font-family: 'Lora', Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

/* Restore the controls visibility (override the hide rule above for nested) */
body.lm-page-cart .lm-cart__item-body > .lm-cart__item-controls {
    display: flex !important;
}

/* Remove × button — make it minimal top-right corner */
body.lm-page-cart .lm-cart__remove {
    grid-column: 5 !important;
    grid-row: 1 !important;
    width: 20px !important;
    height: 20px !important;
    font-size: 14px !important;
    color: var(--text-tertiary, #9B9B9B) !important;
    background: transparent !important;
    border-radius: 50%;
    align-self: center !important;
    justify-self: end !important;
}
body.lm-page-cart .lm-cart__remove:hover {
    background: var(--wc-error-bg, #FCEEE9) !important;
    color: var(--wc-error, #A6321C) !important;
}

/* ============================================================
 * 23. PHASE 4.4 — Cart heading row tightened
 * ============================================================ */
body.lm-page-cart .lm-cart__header {
    margin: 0 0 12px !important;
    padding-bottom: 10px !important;
    align-items: baseline !important;
}
body.lm-page-cart .lm-cart__heading {
    font-size: clamp(20px, 2.4vw, 24px) !important;
    line-height: 1.2 !important;
}
body.lm-page-cart .lm-cart__eyebrow {
    margin-bottom: 2px !important;
    font-size: 9px !important;
}
body.lm-page-cart .lm-cart__continue {
    font-size: 12px !important;
}

/* ============================================================
 * 24. PHASE 4.4 — Right summary widened + remove "Shipping to"
 * ============================================================ */
@media (min-width: 900px) {
    body.lm-page-cart .lm-cart {
        grid-template-columns: minmax(0, 1.6fr) minmax(320px, 360px) !important;
        gap: 32px !important;
    }
}

/* Hide "Shipping to ..." chunk — Woo's calculated_shipping label */
body.lm-page-cart .woocommerce-shipping-destination,
body.lm-page-cart .lm-summary__line .woocommerce-shipping-destination,
body.lm-page-cart .shipping-calculator-button {
    display: none !important;
}
body.lm-page-cart .lm-summary .woocommerce-shipping-totals strong,
body.lm-page-cart .lm-summary .woocommerce-shipping-totals .woocommerce-shipping-destination {
    display: none !important;
}

/* Trust pills with proper icon column */
body.lm-page-cart .lm-summary__trust {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px 10px !important;
    margin-top: 14px !important;
    padding: 12px !important;
    background: #FFFFFF;
    border: 1px solid var(--border-light, #E8E4DD);
    border-radius: 4px;
    list-style: none;
}
body.lm-page-cart .lm-summary__trust li {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    color: var(--text-secondary, #6B6B6B) !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}
body.lm-page-cart .lm-summary__trust li svg {
    width: 13px !important;
    height: 13px !important;
    color: var(--cta-primary, #1B2A5B) !important;
    flex-shrink: 0;
}

/* Single-shipping option styled simpler — remove radio look since it's the ONLY option */
body.lm-page-cart .woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
}
body.lm-page-cart .woocommerce-shipping-methods li {
    list-style: none;
    margin: 0;
    padding: 6px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
body.lm-page-cart .woocommerce-shipping-methods li input[type="radio"] {
    display: none !important;
}
body.lm-page-cart .woocommerce-shipping-methods li label {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--text-primary, #1A1A1A) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
body.lm-page-cart .woocommerce-shipping-methods li label::before {
    content: '';
    width: 14px;
    height: 14px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2A5B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M3 7h11v9H3z'/><path d='M14 10h4l3 3v3h-7'/><circle cx='6.5' cy='17.5' r='1.5'/><circle cx='17.5' cy='17.5' r='1.5'/></svg>") no-repeat center / contain;
    flex-shrink: 0;
}

/* ============================================================
 * 25. PHASE 4.4 — RAIL brand-color polish (Safease + Limark)
 * ============================================================ */
.lm-disc-tiers {
    background: linear-gradient(135deg, #FFFFFF 0%, var(--off-white, #FAF8F5) 100%) !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
}
.lm-disc-tiers__bar {
    background: linear-gradient(90deg,
        rgba(74, 35, 102, 0.08) 0%,
        rgba(27, 42, 91, 0.08) 50%,
        rgba(158, 42, 109, 0.08) 100%
    ) !important;
}
.lm-disc-tiers__fill {
    background: linear-gradient(90deg,
        var(--safease-purple, #4A2366) 0%,
        var(--cta-primary, #1B2A5B) 50%,
        var(--limark-berry, #9E2A6D) 100%
    ) !important;
}
.lm-disc-tiers__node.is-ship.is-unlocked .lm-disc-tiers__node-dot {
    background: var(--safease-purple, #4A2366) !important;
    border-color: var(--safease-purple, #4A2366) !important;
    box-shadow: 0 0 0 3px rgba(74, 35, 102, 0.15);
}
.lm-disc-tiers__node.is-unlocked:not(.is-ship) .lm-disc-tiers__node-dot {
    background: var(--limark-berry, #9E2A6D) !important;
    border-color: var(--limark-berry, #9E2A6D) !important;
    box-shadow: 0 0 0 3px rgba(158, 42, 109, 0.15);
}
.lm-disc-tiers__node.is-ship.is-unlocked .lm-disc-tiers__node-label strong {
    color: var(--safease-purple, #4A2366) !important;
}
.lm-disc-tiers__node.is-unlocked:not(.is-ship) .lm-disc-tiers__node-label strong {
    color: var(--limark-berry, #9E2A6D) !important;
}

/* ============================================================
 * 26. PHASE 4.4 — Mini-cart fixes (popup) — X smaller, image contain, qty+price same row
 * ============================================================ */
.nav-cart__dropdown .woocommerce-mini-cart-item,
.nav-cart__dropdown .mini_cart_item {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 0 !important;
    position: relative;
}
.nav-cart__dropdown .woocommerce-mini-cart-item .remove,
.nav-cart__dropdown .mini_cart_item .remove,
.nav-cart__dropdown .remove_from_cart_button {
    position: absolute !important;
    top: 4px !important;
    left: 0 !important;
    width: 16px !important;
    height: 16px !important;
    background: rgba(255,255,255,0.92) !important;
    color: var(--text-tertiary, #9B9B9B) !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
    border-radius: 50% !important;
    font-size: 11px !important;
    line-height: 1 !important;
    z-index: 2;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}
.nav-cart__dropdown .woocommerce-mini-cart-item .remove:hover,
.nav-cart__dropdown .mini_cart_item .remove:hover {
    color: var(--wc-error, #A6321C) !important;
    border-color: var(--wc-error, #A6321C) !important;
}
.nav-cart__dropdown .woocommerce-mini-cart-item img,
.nav-cart__dropdown .mini_cart_item img {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    object-fit: contain !important;
    padding: 6px !important;
    background: var(--warm-gray, #F0EDE8) !important;
    border-radius: 4px !important;
    margin: 0 !important;
    display: block !important;
}
.nav-cart__dropdown .woocommerce-mini-cart-item a:not(.remove),
.nav-cart__dropdown .mini_cart_item a:not(.remove) {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    color: var(--text-primary, #1A1A1A) !important;
    text-decoration: none !important;
    display: block;
}
/* Quantity + price → same row, right-aligned column */
.nav-cart__dropdown .woocommerce-mini-cart-item .quantity,
.nav-cart__dropdown .mini_cart_item .quantity {
    grid-column: 3 !important;
    grid-row: 1 !important;
    text-align: right !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    color: var(--text-secondary, #6B6B6B) !important;
    line-height: 1.4;
    white-space: nowrap;
}
.nav-cart__dropdown .quantity .woocommerce-Price-amount {
    font-family: 'Lora', Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    color: var(--text-primary, #1A1A1A) !important;
    display: block;
    margin-top: 2px;
}

/* ============================================================
 * 27. PHASE 4.6 — Cart row image + summary fixes
 * ============================================================ */

/* Bump cart item image to 80px desktop / 64px mobile.
 * 64px was readable but felt undersized on desktop given product packaging shots. */
@media (min-width: 768px) {
    body.lm-page-cart .lm-cart__item {
        grid-template-columns: 80px minmax(0, 1fr) auto auto 24px !important;
        gap: 18px !important;
        padding: 18px 0 !important;
    }
    body.lm-page-cart .lm-cart__item-media,
    body.lm-page-cart .lm-cart__item-media .lm-prod-img-wrap {
        width: 80px !important;
        height: 80px !important;
    }
}

/* Brand pill always visible — slight bump for legibility */
body.lm-page-cart .lm-cart__item-brand {
    font-size: 9px !important;
    padding: 3px 9px !important;
    letter-spacing: 0.1em !important;
}

/* Title slightly bigger desktop */
@media (min-width: 768px) {
    body.lm-page-cart .lm-cart__item-title {
        font-size: 15px !important;
    }
}

/* Right summary aside — make wider on desktop so content breathes */
@media (min-width: 1024px) {
    body.lm-page-cart .lm-cart {
        grid-template-columns: minmax(0, 1.5fr) minmax(340px, 380px) !important;
        gap: 32px !important;
    }
}

/* Trust pills — 3 items in a single row (3 columns), no empty cells */
body.lm-page-cart .lm-summary__trust {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 4px 8px !important;
    padding: 10px !important;
}
body.lm-page-cart .lm-summary__trust li {
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    text-align: center !important;
    line-height: 1.3 !important;
    font-size: 9px !important;
    letter-spacing: 0.04em !important;
}
body.lm-page-cart .lm-summary__trust li svg {
    width: 14px !important;
    height: 14px !important;
}

/* Money-Back Guarantee badge — horizontal layout, breathing room.
 * Was rendering vertically because right col was 320px and badge
 * wrap width was constrained. Force horizontal flex with min-content title. */
body.lm-page-cart .lm-guarantee-badge {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    margin-top: 14px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
    border-radius: 6px !important;
}
body.lm-page-cart .lm-guarantee-badge__icon {
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0 !important;
    background: var(--off-white, #FAF8F5) !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
}
body.lm-page-cart .lm-guarantee-badge__icon svg {
    width: 16px !important;
    height: 16px !important;
}
body.lm-page-cart .lm-guarantee-badge__text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    line-height: 1.3 !important;
}
body.lm-page-cart .lm-guarantee-badge__text strong {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    letter-spacing: 0.02em !important;
    color: var(--text-primary, #1A1A1A) !important;
    display: block !important;
    margin-bottom: 2px !important;
}
body.lm-page-cart .lm-guarantee-badge__text span {
    font-size: 10px !important;
    line-height: 1.4 !important;
    color: var(--text-secondary, #6B6B6B) !important;
    display: block !important;
}

/* Coupon row in summary — tighten "Remove" link so price+remove align */
body.lm-page-cart .lm-summary__line--coupon dt {
    font-size: 12px !important;
}
body.lm-page-cart .lm-summary__line--coupon dd {
    text-align: right !important;
}
body.lm-page-cart .lm-summary__line--coupon .woocommerce-remove-coupon {
    display: block !important;
    font-size: 10px !important;
    margin-top: 2px !important;
    color: var(--text-tertiary, #9B9B9B) !important;
    text-decoration: underline;
}

/* Update Cart button — disabled state cleaner */
body.lm-page-cart .lm-cart__update[disabled],
body.lm-page-cart .lm-cart__update:disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
}

/* ============================================================
 * 28. PHASE 4.8 — CRITICAL: qty input number visible + tight row
 * ============================================================ */

/* Qty stepper container — bordered pill, all 3 elements inline (− N +) */
body.lm-page-cart .lm-cart__qty-stepper {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
    background: #FFFFFF !important;
    border-radius: 999px !important;
    padding: 2px !important;
    gap: 0 !important;
    height: 28px !important;
}
body.lm-page-cart .lm-cart__qty-stepper .lm-qty-btn {
    width: 24px !important;
    height: 24px !important;
    border: none !important;
    background: transparent !important;
    color: var(--text-primary, #1A1A1A) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    border-radius: 50% !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
body.lm-page-cart .lm-cart__qty-stepper .lm-qty-btn:hover {
    background: var(--off-white, #FAF8F5) !important;
    color: var(--cta-primary, #1B2A5B) !important;
}

/* CRITICAL: qty number visible + readable */
body.lm-page-cart .lm-cart__qty-stepper .lm-qty-input {
    width: 30px !important;
    height: 24px !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-family: 'Lora', Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    color: var(--text-primary, #1A1A1A) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    -moz-appearance: textfield !important;
    padding: 0 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    outline: none !important;
}
body.lm-page-cart .lm-cart__qty-stepper .lm-qty-input::-webkit-outer-spin-button,
body.lm-page-cart .lm-cart__qty-stepper .lm-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
body.lm-page-cart .lm-cart__qty-stepper .lm-qty-input:focus {
    background: var(--off-white, #FAF8F5) !important;
    color: var(--text-primary, #1A1A1A) !important;
}

/* Tighten cart item body — brand pill + title row 1, controls row 2.
 * Reduce vertical gap to feel compact. */
body.lm-page-cart .lm-cart__item-body {
    gap: 4px !important;
}
body.lm-page-cart .lm-cart__item-body > .lm-cart__item-controls {
    margin-top: 6px !important;
    gap: 12px !important;
}

/* Item price aligned right of body, bigger Lora */
body.lm-page-cart .lm-cart__item-body .lm-cart__item-price {
    margin-left: auto !important;
    text-align: right !important;
    flex-shrink: 0;
}
body.lm-page-cart .lm-cart__item-body .lm-cart__item-subtotal,
body.lm-page-cart .lm-cart__item-body .lm-cart__item-subtotal .woocommerce-Price-amount {
    font-family: 'Lora', Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    color: var(--text-primary, #1A1A1A) !important;
    line-height: 1 !important;
}

/* Cart-specific padding-top — superseded by PHASE 5 (end of file). */

/* ============================================================
 * 29. PHASE 4.9 — KILL WC layout.css float right + 48% width
 * Source: woocommerce-layout.css default has
 *   .woocommerce .cart-collaterals .cart_totals,
 *   .woocommerce-page .cart-collaterals .cart_totals
 *   { float: right; width: 48%; }
 * Breaks our grid layout (right column should be in 2-col grid, not floated).
 * ============================================================ */
body.lm-page-cart .woocommerce .cart-collaterals,
body.lm-page-cart .woocommerce-page .cart-collaterals,
body.lm-page-cart .cart-collaterals {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.lm-page-cart .woocommerce .cart-collaterals .cart_totals,
body.lm-page-cart .woocommerce-page .cart-collaterals .cart_totals,
body.lm-page-cart .cart-collaterals .cart_totals {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.lm-page-cart .woocommerce .cart-collaterals::before,
body.lm-page-cart .woocommerce .cart-collaterals::after,
body.lm-page-cart .cart-collaterals::before,
body.lm-page-cart .cart-collaterals::after {
    content: none !important;
    display: none !important;
}

/* Same for cross-sells (woocommerce-layout sets float left + width 48%) */
body.lm-page-cart .woocommerce .cart-collaterals .cross-sells,
body.lm-page-cart .cart-collaterals .cross-sells {
    float: none !important;
    width: 100% !important;
}

/* Also fix the .lm-cart__aside overflow if WC clearfix interferes */
body.lm-page-cart .lm-cart__aside {
    float: none !important;
    width: 100% !important;
}

/* ============================================================
 * 30. PHASE 4.10 — Remove buttons cleanup
 * Cart row × + mini-cart × — drop circle border, light grey bg, X centered
 * ============================================================ */

/* Cart line-item × (.lm-cart__remove) */
body.lm-page-cart .lm-cart__remove {
    width: 22px !important;
    height: 22px !important;
    border: none !important;
    border-radius: 4px !important;
    background: var(--warm-gray, #F0EDE8) !important;
    color: var(--text-secondary, #6B6B6B) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    transition: background 0.15s ease, color 0.15s ease;
}
body.lm-page-cart .lm-cart__remove:hover {
    background: var(--wc-error-bg, #FCEEE9) !important;
    color: var(--wc-error, #A6321C) !important;
}

/* Mini-cart × (.remove / .remove_from_cart_button) */
.nav-cart__dropdown .woocommerce-mini-cart-item .remove,
.nav-cart__dropdown .mini_cart_item .remove,
.nav-cart__dropdown .remove_from_cart_button {
    position: absolute !important;
    top: 4px !important;
    left: 4px !important;
    width: 18px !important;
    height: 18px !important;
    border: none !important;
    border-radius: 4px !important;
    background: var(--warm-gray, #F0EDE8) !important;
    color: var(--text-secondary, #6B6B6B) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    z-index: 2;
    padding: 0 !important;
    box-shadow: none !important;
    transition: background 0.15s ease, color 0.15s ease;
}
.nav-cart__dropdown .woocommerce-mini-cart-item .remove:hover,
.nav-cart__dropdown .mini_cart_item .remove:hover,
.nav-cart__dropdown .remove_from_cart_button:hover {
    background: var(--wc-error-bg, #FCEEE9) !important;
    color: var(--wc-error, #A6321C) !important;
}

/* ============================================================
 * 31. PHASE 4.11 — Summary wrap inner padding
 * ============================================================ */
body.lm-page-cart .cart-collaterals.lm-cart__summary-wrap,
body.lm-page-cart .lm-cart__summary-wrap {
    padding: clamp(20px, 3vw, 32px) !important;
}

/* ============================================================
 * 32. PHASE 4.12 — My-account sidebar + dashboard polish
 * ============================================================ */

/* Sidebar nav: gap between items, dividers, hover state, cleaner active */
body.lm-page-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    border-right: 1px solid var(--border-light, #E8E4DD) !important;
    padding: 4px 14px 4px 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
body.lm-page-account .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-bottom: 1px solid var(--border-light, #E8E4DD) !important;
}
body.lm-page-account .woocommerce-MyAccount-navigation li:last-child {
    border-bottom: none !important;
}
body.lm-page-account .woocommerce-MyAccount-navigation li a {
    display: block !important;
    padding: 14px 16px !important;
    color: var(--text-primary, #1A1A1A) !important;
    text-decoration: none !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
    border-left: 3px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    transition: background 0.15s ease, color 0.15s ease, border-left-color 0.15s ease !important;
    user-select: none;
}
body.lm-page-account .woocommerce-MyAccount-navigation li a:hover {
    background: var(--off-white, #FAF8F5) !important;
    color: var(--cta-primary, #1B2A5B) !important;
    border-left-color: var(--limark-berry, #9E2A6D) !important;
}
body.lm-page-account .woocommerce-MyAccount-navigation li.is-active > a,
body.lm-page-account .woocommerce-MyAccount-navigation li.is-active a {
    background: var(--off-white, #FAF8F5) !important;
    color: var(--cta-primary, #1B2A5B) !important;
    border-left-color: var(--cta-primary, #1B2A5B) !important;
    font-weight: 600 !important;
}
/* Last item (logout) — separator above bigger */
body.lm-page-account .woocommerce-MyAccount-navigation li:last-child a {
    color: var(--text-secondary, #6B6B6B) !important;
}
body.lm-page-account .woocommerce-MyAccount-navigation li:last-child a:hover {
    color: var(--wc-error, #A6321C) !important;
    border-left-color: var(--wc-error, #A6321C) !important;
}

/* Dashboard hero — divider below subtext */
body.lm-page-account .limark-account-dash__hero {
    margin: 0 0 32px !important;
    padding-bottom: 24px !important;
    border-bottom: 1px solid var(--border-light, #E8E4DD) !important;
}
body.lm-page-account .limark-account-dash__hero p {
    margin: 0 !important;
    font-size: 14px !important;
}

/* Cards row — slight bottom spacing before need-help footer */
body.lm-page-account .limark-account-dash__cards {
    margin-bottom: 28px !important;
}

/* Need help block — center, more breathing */
body.lm-page-account .limark-account-dash__support {
    text-align: center !important;
    padding: 16px 18px !important;
    background: var(--off-white, #FAF8F5) !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
    border-radius: 6px !important;
    margin-top: 0 !important;
}
body.lm-page-account .limark-account-dash__support p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: var(--text-secondary, #6B6B6B) !important;
}
body.lm-page-account .limark-account-dash__support a {
    color: var(--cta-primary, #1B2A5B) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    font-weight: 500 !important;
}

/* ============================================================
 * 33. PHASE 4.13 — Mini-cart: remove X, bigger image full-view
 * ============================================================ */

/* Hide × completely — user can remove via cart page */
.nav-cart__dropdown .woocommerce-mini-cart-item .remove,
.nav-cart__dropdown .mini_cart_item .remove,
.nav-cart__dropdown .remove_from_cart_button {
    display: none !important;
}

/* Bigger image frame, no trim — show full product image */
.nav-cart__dropdown .woocommerce-mini-cart-item,
.nav-cart__dropdown .mini_cart_item {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 12px 0 !important;
    position: relative;
}
.nav-cart__dropdown .woocommerce-mini-cart-item img,
.nav-cart__dropdown .mini_cart_item img {
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
    max-height: 72px !important;
    object-fit: contain !important;
    padding: 4px !important;
    background: var(--warm-gray, #F0EDE8) !important;
    border-radius: 4px !important;
    margin: 0 !important;
    display: block !important;
    float: none !important;
}

/* ============================================================
 * 34. PHASE 4.14 — × button top-right aligned with brand pill row
 * ============================================================ */
body.lm-page-cart .lm-cart__item {
    align-items: center !important;
}
body.lm-page-cart .lm-cart__remove {
    align-self: start !important;
    justify-self: end !important;
    margin-top: 4px !important;
}

/* ============================================================
 * 35. PHASE 4.17 — Login page polish (Sign in + New here panes)
 * ============================================================ */

/* Equal pane heights — flex stretch */
body.lm-page-account .lm-auth__panes {
    align-items: stretch !important;
}
body.lm-page-account .lm-auth__pane {
    display: flex !important;
    flex-direction: column !important;
    padding: clamp(24px, 3vw, 36px) !important;
}

/* Pane title with consistent divider */
body.lm-page-account .lm-auth__pane-title {
    margin: 0 0 18px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--border-light, #E8E4DD) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    letter-spacing: 0.02em !important;
    color: var(--text-primary, #1A1A1A) !important;
}

/* Pane sub small */
body.lm-page-account .lm-auth__pane-sub {
    font-size: 12px !important;
    line-height: 1.55 !important;
    margin: 0 0 16px !important;
    color: var(--text-secondary, #6B6B6B) !important;
}

/* "Your personal data..." privacy text — make small + secondary */
body.lm-page-account .lm-auth .woocommerce-privacy-policy-text,
body.lm-page-account .lm-auth__pane .woocommerce-privacy-policy-text,
body.lm-page-account .lm-auth__pane p:not(.lm-auth__pane-sub):not(.lm-form__hint) {
    font-size: 11px !important;
    line-height: 1.55 !important;
    color: var(--text-tertiary, #9B9B9B) !important;
    margin: 0 0 12px !important;
}

/* "A password will be sent to your email." hint */
body.lm-page-account .lm-form__hint {
    font-size: 11px !important;
    line-height: 1.55 !important;
    color: var(--text-tertiary, #9B9B9B) !important;
    margin: 0 0 14px !important;
}

/* Inner card around fields — gradient bg inspired by home brand panels */
body.lm-page-account .lm-auth__pane .lm-form,
body.lm-page-account .lm-auth__pane > form {
    background: linear-gradient(160deg, var(--off-white, #FAF8F5) 0%, var(--warm-gray, #F0EDE8) 100%) !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
    border-radius: 6px !important;
    padding: clamp(18px, 2.5vw, 26px) !important;
    margin-top: 0 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Input fields — narrower max-width + subtle gradient */
body.lm-page-account .lm-auth .lm-input,
body.lm-page-account .lm-auth input[type="text"],
body.lm-page-account .lm-auth input[type="email"],
body.lm-page-account .lm-auth input[type="password"] {
    max-width: 100% !important;
    background: #FFFFFF !important;
    background-image: linear-gradient(180deg, #FFFFFF 0%, var(--off-white, #FAF8F5) 100%) !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
    height: 44px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
}
body.lm-page-account .lm-auth .lm-input:focus,
body.lm-page-account .lm-auth input:focus {
    background: #FFFFFF !important;
    background-image: none !important;
    border-color: var(--cta-primary, #1B2A5B) !important;
    box-shadow: 0 0 0 3px rgba(27, 42, 91, 0.1) !important;
}

/* Field label tighter */
body.lm-page-account .lm-auth .lm-field {
    margin-bottom: 12px !important;
}
body.lm-page-account .lm-auth .lm-field__label {
    font-size: 10px !important;
    margin-bottom: 5px !important;
    letter-spacing: 0.14em !important;
}

/* CTA button at bottom of pane (after spacer) — push to bottom for equal heights */
body.lm-page-account .lm-auth__pane .lm-form > button[type="submit"]:last-child,
body.lm-page-account .lm-auth__pane .lm-form > .lm-btn:last-child {
    margin-top: auto !important;
    height: 48px !important;
    font-size: 13px !important;
    letter-spacing: 0.1em !important;
}

/* Outer auth section — kill excess side padding */
body.lm-page-account .lm-auth {
    max-width: 1080px !important;
    padding: 0 clamp(8px, 2vw, 24px) !important;
}

/* Welcome back intro — tighter */
body.lm-page-account .lm-auth__intro {
    margin-bottom: clamp(20px, 3vw, 32px) !important;
}
body.lm-page-account .lm-auth__title {
    font-size: clamp(22px, 2.8vw, 30px) !important;
}
body.lm-page-account .lm-auth__sub {
    font-size: 13px !important;
}

/* ============================================================
 * 36. PHASE 4.17 — Account sub-pages (orders, view-order, addresses, etc.)
 * ============================================================ */

/* Apply same outer card treatment + inner sub-page styling for all my-account
 * endpoint pages. is_account_page() returns true for all subpages so
 * .lm-page-account body class applies — but content uses default WC tables.
 * Polish those tables. */

/* Orders / Downloads / View-order tables */
body.lm-page-account .woocommerce-orders-table,
body.lm-page-account .shop_table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
}
body.lm-page-account .woocommerce-orders-table thead,
body.lm-page-account .shop_table thead {
    background: var(--off-white, #FAF8F5) !important;
}
body.lm-page-account .woocommerce-orders-table th,
body.lm-page-account .shop_table th {
    padding: 14px 16px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--text-secondary, #6B6B6B) !important;
    border: none !important;
    border-bottom: 1px solid var(--border-light, #E8E4DD) !important;
    text-align: left !important;
}
body.lm-page-account .woocommerce-orders-table td,
body.lm-page-account .shop_table td {
    padding: 14px 16px !important;
    border: none !important;
    border-bottom: 1px solid var(--border-light, #E8E4DD) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 14px !important;
    color: var(--text-primary, #1A1A1A) !important;
    vertical-align: middle !important;
}
body.lm-page-account .woocommerce-orders-table tr:last-child td,
body.lm-page-account .shop_table tr:last-child td {
    border-bottom: none !important;
}
body.lm-page-account .woocommerce-orders-table .button,
body.lm-page-account .shop_table .button {
    background: var(--cta-primary, #1B2A5B) !important;
    color: #FFFFFF !important;
    padding: 8px 14px !important;
    font-size: 12px !important;
    height: auto !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    display: inline-block !important;
}
body.lm-page-account .woocommerce-orders-table .button:hover,
body.lm-page-account .shop_table .button:hover {
    background: var(--cta-hover, #0F1D42) !important;
}

/* Order status pill */
body.lm-page-account .woocommerce-orders-table__cell-order-status {
    font-weight: 500 !important;
}

/* Headings inside account sub-pages */
body.lm-page-account .woocommerce-MyAccount-content h2,
body.lm-page-account .woocommerce-MyAccount-content h3 {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 500 !important;
    font-size: clamp(20px, 2.4vw, 26px) !important;
    line-height: 1.2 !important;
    margin: 0 0 16px !important;
    color: var(--text-primary, #1A1A1A) !important;
}

/* Empty state ("No orders made yet") */
body.lm-page-account .woocommerce-MyAccount-content .woocommerce-message,
body.lm-page-account .woocommerce-MyAccount-content .woocommerce-info {
    background: var(--off-white, #FAF8F5) !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
    color: var(--text-primary, #1A1A1A) !important;
}

/* Address / edit-account form polish */
body.lm-page-account .woocommerce-MyAccount-content .form-row label,
body.lm-page-account .woocommerce-MyAccount-content .woocommerce-form-row label {
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--text-secondary, #6B6B6B) !important;
    font-weight: 500 !important;
    margin-bottom: 6px !important;
}
body.lm-page-account .woocommerce-MyAccount-content input[type="text"],
body.lm-page-account .woocommerce-MyAccount-content input[type="email"],
body.lm-page-account .woocommerce-MyAccount-content input[type="tel"],
body.lm-page-account .woocommerce-MyAccount-content input[type="password"],
body.lm-page-account .woocommerce-MyAccount-content select {
    height: 44px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    border-radius: 4px !important;
}

/* ============================================================
 * 37. PHASE 5.3 — Mini-cart final cleanup
 * Empty left col gone, qty+price same line, last item breathing.
 * ============================================================ */

/* Kill ALL left padding/margin reserved for the (now-hidden) × button */
.nav-cart__dropdown .product_list_widget,
.nav-cart__dropdown .woocommerce-mini-cart {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
.nav-cart__dropdown .woocommerce-mini-cart-item,
.nav-cart__dropdown .mini_cart_item {
    padding: 12px 0 !important;
    padding-left: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    background-image: none !important;
}

/* Qty + price SAME LINE — undo block on price */
.nav-cart__dropdown .woocommerce-mini-cart-item .quantity,
.nav-cart__dropdown .mini_cart_item .quantity {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 4px !important;
    white-space: nowrap !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 12px !important;
    color: var(--text-secondary, #6B6B6B) !important;
    text-align: right !important;
    line-height: 1.4 !important;
}
.nav-cart__dropdown .quantity .woocommerce-Price-amount {
    display: inline !important;
    margin: 0 !important;
    font-family: 'Lora', Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    color: var(--text-primary, #1A1A1A) !important;
}

/* Last item — proper bottom space + no abrupt cut */
.nav-cart__dropdown .woocommerce-mini-cart-item:last-child,
.nav-cart__dropdown .mini_cart_item:last-child {
    padding-bottom: 14px !important;
    border-bottom: none !important;
    margin-bottom: 4px !important;
}

/* ============================================================
 * 38. PHASE 5.6 — limark-page__title max 42px
 * ============================================================ */
.limark-page__title,
body .limark-page__title,
body.woocommerce-account h1.woocommerce-account-title,
body.woocommerce-cart .woocommerce > h1,
body.woocommerce-checkout .woocommerce > h1 {
    font-size: clamp(26px, 3.6vw, 42px) !important;
}

/* ============================================================
 * 39. PHASE 6 — site-wide compact WC notifications + textbox
 *     compactness + popup-cart × center fix + unified mini-cart
 *     + cart-page × center + coupon code badge.
 * ============================================================ */

/* ---- 39a. Compact WC notice / message / error / info site-wide ---- */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.limark-woo .woocommerce-message,
.limark-woo .woocommerce-info,
.limark-woo .woocommerce-error,
ul.woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-message,
.woocommerce-NoticeGroup .woocommerce-info,
.woocommerce-NoticeGroup .woocommerce-error {
    padding: 8px 12px !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    border-radius: 4px !important;
    border-width: 1px !important;
    gap: 10px !important;
    margin: 8px 0 !important;
    min-height: 0 !important;
}
.woocommerce-notices-wrapper .woocommerce-message a,
.woocommerce-notices-wrapper .woocommerce-info a,
.woocommerce-notices-wrapper .woocommerce-error a {
    font-size: 12px !important;
    padding: 4px 10px !important;
}
.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-error::before {
    font-size: 14px !important;
    line-height: 1 !important;
    margin-top: 0 !important;
    top: auto !important;
}

/* ---- 39b. Compact flat textbox primitives site-wide (no gradient) ---- */
.limark-woo input[type="text"],
.limark-woo input[type="email"],
.limark-woo input[type="tel"],
.limark-woo input[type="password"],
.limark-woo input[type="number"],
.limark-woo input[type="search"],
.limark-woo input[type="url"],
.limark-woo select {
    height: 40px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    background: #FFFFFF !important;
    background-image: none !important;
    border: 1px solid #E0DCD4 !important;
    border-radius: 4px !important;
}
.limark-woo textarea {
    min-height: 72px !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
    background: #FFFFFF !important;
    background-image: none !important;
    border: 1px solid #E0DCD4 !important;
    border-radius: 4px !important;
}

/* ---- 39c. Popup-cart × center align (user tested line-height:16px) ---- */
/* Override §33 phase-4.13 hide rule — keep × visible, center it. */
.nav-cart__dropdown .woocommerce-mini-cart-item .remove,
.nav-cart__dropdown .mini_cart_item .remove,
.nav-cart__dropdown .remove_from_cart_button,
.nav-cart__dropdown a.remove.remove_from_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    padding: 0 !important;
    border: 1px solid var(--border-light, #E8E4DD) !important;
    border-radius: 999px !important;
    background: #FFFFFF !important;
    color: var(--text-tertiary, #9B9B9B) !important;
    font-size: 14px !important;
    line-height: 16px !important;       /* user-validated value */
    text-decoration: none !important;
    text-align: center !important;
    box-shadow: none !important;
    opacity: 1 !important;
    float: none !important;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease !important;
}
.nav-cart__dropdown .woocommerce-mini-cart-item .remove:hover,
.nav-cart__dropdown .mini_cart_item .remove:hover,
.nav-cart__dropdown .remove_from_cart_button:hover {
    background: var(--wc-error-bg, #FCEEE9) !important;
    color: var(--wc-error, #A6321C) !important;
    border-color: var(--wc-error, #A6321C) !important;
}

/* ---- 39d. Unified popup-cart layout (home + cart page identical) ---- */
.nav-cart__dropdown .woocommerce-mini-cart-item,
.nav-cart__dropdown .mini_cart_item {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 0 !important;
    position: relative;
    border-bottom: 1px solid var(--border-light, #E8E4DD) !important;
}
.nav-cart__dropdown .woocommerce-mini-cart-item:last-child,
.nav-cart__dropdown .mini_cart_item:last-child {
    border-bottom: none !important;
}
.nav-cart__dropdown .woocommerce-mini-cart-item img,
.nav-cart__dropdown .mini_cart_item img {
    grid-column: 1 !important;
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    object-fit: contain !important;
    padding: 4px !important;
    background: var(--warm-gray, #F0EDE8) !important;
    border-radius: 4px !important;
    margin: 0 !important;
    float: none !important;
}
.nav-cart__dropdown .woocommerce-mini-cart-item a:not(.remove),
.nav-cart__dropdown .mini_cart_item a:not(.remove) {
    grid-column: 2 !important;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.25;
    color: var(--text-primary, #1A1A1A);
    text-decoration: none;
}
.nav-cart__dropdown .woocommerce-mini-cart-item .quantity,
.nav-cart__dropdown .mini_cart_item .quantity {
    grid-column: 2 !important;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 11.5px;
    color: var(--text-secondary, #6B6B6B);
    margin-top: 2px;
}
.nav-cart__dropdown .woocommerce-mini-cart-item .remove,
.nav-cart__dropdown .mini_cart_item .remove,
.nav-cart__dropdown .remove_from_cart_button {
    grid-column: 3 !important;
    grid-row: 1 / span 2;
    align-self: center !important;
    justify-self: end !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
}

/* ---- 39e. Cart-page .lm-cart__remove × center (user issue) ---- */
body.lm-page-cart .lm-cart__remove {
    width: 28px !important;
    height: 28px !important;
    line-height: 1 !important;
    font-size: 16px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 !important;
}
body.lm-page-cart .lm-cart__remove > * {
    line-height: 1 !important;
    display: inline-block !important;
}

/* ---- 39f. Coupon code badge (cart page) — pill bg highlight ---- */
body.lm-page-cart .lm-summary__line--coupon dt {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--limark-berry, #9E2A6D) !important;
    background: rgba(158, 42, 109, 0.08);
    padding: 4px 10px;
    border-radius: 999px;
    width: max-content;
}
body.lm-page-cart .lm-summary__line--coupon dt a.woocommerce-remove-coupon {
    margin-left: 4px;
    font-size: 9.5px !important;
    color: var(--limark-berry, #9E2A6D) !important;
    text-decoration: none;
    opacity: 0.7;
}
body.lm-page-cart .lm-summary__line--coupon dt a.woocommerce-remove-coupon:hover {
    opacity: 1;
}

/* ============================================================
 * 40. PHASE 6 — My-account sidebar gutter fix.
 *     Was: <ul> border-right (full height) + <li> a border-left (active only,
 *     half height) → two visible borders at the col boundary. Plus content
 *     too close to sidebar.
 *     Fix: drop <ul> border-right (the active <a> border-left already does
 *     the brand accent stripe). Add right margin/gap so content breathes.
 * ============================================================ */
body.lm-page-account .woocommerce {
    gap: clamp(36px, 5vw, 64px) !important;
}
body.lm-page-account .woocommerce-MyAccount-navigation,
body.lm-page-account nav.woocommerce-MyAccount-navigation {
    margin-right: clamp(8px, 1.5vw, 20px) !important;
}
body.lm-page-account .woocommerce-MyAccount-navigation ul {
    border-right: none !important;
    padding-right: 0 !important;
}
/* Single, full-height divider on the content side instead — clean editorial
 * column rule that hugs content padding, never collides with active stripe. */
body.lm-page-account .woocommerce-MyAccount-content {
    padding-left: clamp(20px, 2.5vw, 32px) !important;
    border-left: 1px solid var(--border-light, #E8E4DD) !important;
}
@media (max-width: 767px) {
    body.lm-page-account .woocommerce-MyAccount-navigation,
    body.lm-page-account nav.woocommerce-MyAccount-navigation {
        margin-right: 0 !important;
    }
    body.lm-page-account .woocommerce-MyAccount-content {
        padding-left: 0 !important;
        border-left: none !important;
    }
}

/* ============================================================
 * 41. PHASE 6.2 — Compact wc-block-components-notice-banner
 *     (WooCommerce Blocks notice — too large at default).
 * ============================================================ */
.wc-block-components-notice-banner,
.wc-block-components-notice-banner.is-success,
.wc-block-components-notice-banner.is-error,
.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-warning {
    padding: 10px 14px !important;
    margin: 8px 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    border-width: 1px !important;
    border-radius: 6px !important;
    min-height: 0 !important;
    align-items: center !important;
    gap: 10px !important;
}
.wc-block-components-notice-banner > svg,
.wc-block-components-notice-banner__icon {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}
.wc-block-components-notice-banner__content {
    font-size: 13px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
}
.wc-block-components-notice-banner .wc-block-components-button,
.wc-block-components-notice-banner button {
    font-size: 12px !important;
    padding: 4px 10px !important;
    height: auto !important;
    min-height: 0 !important;
}
/* Dismiss × in block notice — center + slim. */
.wc-block-components-notice-banner__dismiss,
button.wc-block-components-notice-banner__dismiss {
    width: 22px !important;
    height: 22px !important;
    line-height: 16px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* Tone the success/error tints so they don't shout. */
.wc-block-components-notice-banner.is-success {
    background: #E8F4EC !important;
    color: #1B5E2F !important;
    border-color: #2D7D46 !important;
}
.wc-block-components-notice-banner.is-error {
    background: #FCEEE9 !important;
    color: #6E1F0E !important;
    border-color: #A6321C !important;
}

/* ============================================================
 * 42. PHASE 6.3 — Blog page (archive + single post) top spacing.
 *     User explicit: margin-top:120px + padding-top:20px.
 * ============================================================ */
.limark-blog.limark-page,
body.blog .limark-blog,
body.archive .limark-blog,
body.single-post .limark-blog,
body.search .limark-blog {
    margin-top: 120px !important;
    padding-top: 20px !important;
}
@media (max-width: 767px) {
    .limark-blog.limark-page,
    body.blog .limark-blog,
    body.archive .limark-blog,
    body.single-post .limark-blog,
    body.search .limark-blog {
        margin-top: 96px !important;
        padding-top: 16px !important;
    }
}

/* ============================================================
 * 42b. PHASE 6.4 — SVG × button perfect center.
 *     The &times; glyph has asymmetric baseline. SVG sidesteps it.
 *     Applies to cart row × AND mini-cart popup ×.
 * ============================================================ */
.lm-cart__remove,
.nav-cart__dropdown .remove_from_cart_button,
.nav-cart__dropdown .mini_cart_item a.remove,
.nav-cart__dropdown a.remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    font-size: 0 !important;       /* hides any leftover text node */
    text-decoration: none !important;
}
.lm-cart__remove .lm-x-svg,
.nav-cart__dropdown .remove_from_cart_button .lm-x-svg,
.nav-cart__dropdown a.remove .lm-x-svg {
    display: block !important;
    width: 11px !important;
    height: 11px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    pointer-events: none;
}
/* Slightly larger SVG inside cart-page row × (28px button). */
.lm-cart__remove .lm-x-svg {
    width: 12px !important;
    height: 12px !important;
}
/* Force background + border on cart row × */
body.lm-page-cart .lm-cart__remove {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    background: #FFFFFF !important;
    border: 1px solid #E0DCD4 !important;
    border-radius: 999px !important;
    color: #6B6B6B !important;
    padding: 0 !important;
    transition: background 0.15s, color 0.15s, border-color 0.15s !important;
}
body.lm-page-cart .lm-cart__remove:hover {
    background: #FCEEE9 !important;
    border-color: #A6321C !important;
    color: #A6321C !important;
}

/* ============================================================
 * 43. PHASE 8 — Popup-cart unified site-wide.
 *     The canonical popup-cart styling lives in shared.css (loaded on
 *     every page). On system pages (cart/checkout/account/...) the older
 *     §17/§30/§32 blocks above can still apply — neutralize them so the
 *     shared.css flex layout wins.
 * ============================================================ */
.nav-cart__dropdown .woocommerce-mini-cart,
.nav-cart__dropdown .product_list_widget {
    display: block !important;
}
.nav-cart__dropdown .mini_cart_item,
.nav-cart__dropdown .woocommerce-mini-cart-item {
    display: flex !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    grid-column-gap: 0 !important;
    grid-row-gap: 0 !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(59,16,83,0.08) !important;
    align-items: flex-start !important;
    position: relative !important;
}
.nav-cart__dropdown .mini_cart_item > a:not(.remove),
.nav-cart__dropdown .woocommerce-mini-cart-item > a:not(.remove) {
    display: flex !important;
    grid-column: auto !important;
    grid-row: auto !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 12px !important;
    align-items: center !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}
.nav-cart__dropdown .mini_cart_item img,
.nav-cart__dropdown .woocommerce-mini-cart-item img {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 52px !important;
    height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
    border-radius: 8px !important;
    object-fit: contain !important;
    background: #FAF8F5 !important;
    padding: 3px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    float: none !important;
}
.nav-cart__dropdown .mini_cart_item .quantity,
.nav-cart__dropdown .woocommerce-mini-cart-item .quantity {
    grid-column: auto !important;
    grid-row: auto !important;
    display: block !important;
    font-weight: 500 !important;
    color: #6B6B6B !important;
    font-size: 12px !important;
    margin-top: 2px !important;
}

