/* ============================================
   Nored Farms - Texas Earth x Midnight Label
   Light Theme CSS (loaded AFTER styles.css)

   Default: Light theme (Texas Earth x Midnight Label)
   [data-theme="dark"]: Restores original Deep Iron dark values
   ============================================ */

/* ============================================
   LIGHT THEME (DEFAULT) - :root overrides
   Texas Earth warm parchment backgrounds
   + Midnight Label navy editorial authority
   ============================================ */

:root {
    /* Deep Iron palette - Texas Earth warm overrides */
    --color--seedgreen: #141e30;
    --color--seedgreen-hover: #f0ece2;
    --color--seedgreen-card: #fffdf8;
    --color--snowwhite: #f8f5ee;
    --color--foamwhite: #eee9de;
    --color--mossroot: #8a6828;
    --color--olivegreen: #6a5d4e;
    --color--frostedglass: rgba(138, 104, 40, 0.12);
    --color--frostedglass-t55: rgba(138, 104, 40, 0.15);
    --color--frostedglass-t35: rgba(138, 104, 40, 0.08);
    --color--frostedglass-t8: rgba(60, 44, 28, 0.04);
    --color-guidance-fluorescent-green: #8a6828;
    --color--lemongrass: rgba(138, 104, 40, 0.06);

    /* Frosted glass tokens */
    --seed-glass: rgba(248, 245, 238, 0.7);
    --seed-blur: blur(48px);
    --seed-text-on-glass: #141e30;
    --seed-text-muted-on-glass: rgba(20, 30, 48, 0.5);
    --seed-tab-pill: rgba(138, 104, 40, 0.12);

    /* Mapped vars for widget compatibility */
    --color-primary: #8a6828;
    --color-primary-light: #a07830;
    --color-primary-dark: #725520;
    --color-primary-subtle: rgba(138, 104, 40, 0.06);
    --color-primary-rgb: 138, 104, 40;

    --color-secondary: #8a6828;
    --color-secondary-light: #6a5d4e;
    --color-secondary-dark: #725520;

    --color-accent: #8a6828;
    --color-accent-light: rgba(138, 104, 40, 0.12);
    --color-accent-subtle: rgba(138, 104, 40, 0.06);

    --color-bg: #f8f5ee;
    --color-bg-rgb: 248, 245, 238;
    --color-bg-alt: #eee9de;
    --color-bg-elevated: #fffdf8;
    --color-bg-muted: #f2ede4;

    --color-surface: #f2ede4;
    --color-surface-hover: #f0ece2;
    --color-surface-active: #e8e2d6;

    --color-text: #141e30;
    --color-text-secondary: #6a5d4e;
    --color-text-muted: #9a8e7e;
    --color-text-inverse: #ffffff;

    --color-border: rgba(60, 44, 28, 0.06);
    --color-border-light: rgba(60, 44, 28, 0.06);
    --color-border-dark: rgba(60, 44, 28, 0.12);

    /* Status colors */
    --color-success: #2d8a6e;
    --color-warning: #d4a84b;
    --color-error: #c45c4b;
    --color-info: #2a5a9c;

    /* Gradients - warm light versions */
    --gradient-primary: linear-gradient(135deg, #f0ece2 0%, #e8e2d6 100%);
    --gradient-hero: linear-gradient(180deg, #eee9de 0%, #f8f5ee 100%);
    --gradient-text: linear-gradient(135deg, #8a6828 0%, #725520 100%);
    --gradient-card: linear-gradient(180deg, #fffdf8 0%, #f8f5ee 100%);

    /* Category accent colors - slightly adjusted for light bg */
    --color-adaptogen: #2d8a6e;
    --color-mushroom: #7a54c8;
    --color-nootropic: #4a6ec0;
    --color-mood: #c85890;

    /* Shadows - warm tones instead of pure black */
    --shadow-card: 0 4px 6px -1px rgba(44, 32, 20, 0.06), 0 2px 4px -2px rgba(44, 32, 20, 0.04);
    --shadow-elevated: 0 20px 25px -5px rgba(44, 32, 20, 0.08), 0 8px 10px -6px rgba(44, 32, 20, 0.04);
    --shadow-sm: 0 1px 2px 0 rgba(44, 32, 20, 0.04);
    --shadow-md: 0 4px 6px -1px rgba(44, 32, 20, 0.06), 0 2px 4px -2px rgba(44, 32, 20, 0.04);
    --shadow-lg: 0 10px 15px -3px rgba(44, 32, 20, 0.08), 0 4px 6px -4px rgba(44, 32, 20, 0.04);
    --shadow-xl: 0 20px 25px -5px rgba(44, 32, 20, 0.08), 0 8px 10px -6px rgba(44, 32, 20, 0.04);

    /* Color aliases */
    --color-primary-alpha: rgba(138, 104, 40, 0.06);

    /* Animation tokens */
    --ease-luxury: cubic-bezier(0.25, 0.1, 0.25, 1);
    --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
    --duration-reveal: 0.8s;
    --duration-slow: 1.2s;

    /* Light theme specific tokens */
    --stat-color: #1a2744;
    --label-color: #2a5a9c;
    --link-color: #1a2e50;
    --bg-dark-section: #111a2a;
    --accent-on-dark: #d4aa50;
}


/* ============================================
   DARK THEME - Restores original Deep Iron values
   ============================================ */

[data-theme="dark"] {
    /* Deep Iron palette - original dark */
    --color--seedgreen: #bccac4;
    --color--seedgreen-hover: #263032;
    --color--seedgreen-card: #1e2628;
    --color--snowwhite: #12181a;
    --color--foamwhite: #181e20;
    --color--mossroot: #50e8c0;
    --color--olivegreen: #8e9c98;
    --color--frostedglass: rgba(80, 232, 192, 0.15);
    --color--frostedglass-t55: rgba(80, 232, 192, 0.2);
    --color--frostedglass-t35: rgba(80, 232, 192, 0.12);
    --color--frostedglass-t8: rgba(80, 232, 192, 0.05);
    --color-guidance-fluorescent-green: #50e8c0;
    --color--lemongrass: rgba(80, 232, 192, 0.07);

    /* Frosted glass tokens */
    --seed-glass: rgba(18, 24, 26, 0.7);
    --seed-text-on-glass: #bccac4;
    --seed-text-muted-on-glass: rgba(188, 202, 196, 0.5);
    --seed-tab-pill: rgba(80, 232, 192, 0.12);

    /* Mapped vars */
    --color-primary: #50e8c0;
    --color-primary-light: #6aecd0;
    --color-primary-dark: #3cc4a0;
    --color-primary-subtle: rgba(80, 232, 192, 0.07);
    --color-primary-rgb: 80, 232, 192;

    --color-secondary: #50e8c0;
    --color-secondary-light: #8e9c98;
    --color-secondary-dark: #3cc4a0;

    --color-accent: #50e8c0;
    --color-accent-light: rgba(80, 232, 192, 0.15);
    --color-accent-subtle: rgba(80, 232, 192, 0.07);

    --color-bg: #12181a;
    --color-bg-rgb: 18, 24, 26;
    --color-bg-alt: #181e20;
    --color-bg-elevated: #263032;
    --color-bg-muted: #1a2022;

    --color-surface: #1a2022;
    --color-surface-hover: #263032;
    --color-surface-active: #2e3a3c;

    --color-text: #bccac4;
    --color-text-secondary: #8e9c98;
    --color-text-muted: #506460;
    --color-text-inverse: #12181a;

    --color-border: rgba(80, 232, 192, 0.05);
    --color-border-light: rgba(80, 232, 192, 0.05);
    --color-border-dark: rgba(80, 232, 192, 0.12);

    /* Status colors - original */
    --color-success: #50e8c0;
    --color-warning: #d4a84b;
    --color-error: #c45c4b;
    --color-info: #5a9fb8;

    /* Gradients - original dark */
    --gradient-primary: linear-gradient(135deg, #28584e 0%, #1e4640 100%);
    --gradient-hero: linear-gradient(180deg, #181e20 0%, #12181a 100%);
    --gradient-text: linear-gradient(135deg, #50e8c0 0%, #3cc4a0 100%);
    --gradient-card: linear-gradient(180deg, #1e2628 0%, #181e20 100%);

    /* Category accent colors - original */
    --color-adaptogen: #50e8c0;
    --color-mushroom: #9b6ef0;
    --color-nootropic: #5a8af0;
    --color-mood: #f070a8;

    /* Shadows - original dark */
    --shadow-card: 0 4px 6px -1px rgba(0, 0, 0, 0.35), 0 2px 4px -2px rgba(0, 0, 0, 0.25);
    --shadow-elevated: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 8px 10px -6px rgba(0, 0, 0, 0.3);
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.25);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -2px rgba(0, 0, 0, 0.2);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.35), 0 4px 6px -4px rgba(0, 0, 0, 0.25);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 8px 10px -6px rgba(0, 0, 0, 0.3);

    /* Color alias - original */
    --color-primary-alpha: rgba(80, 232, 192, 0.07);
}


/* ============================================
   SCROLL PROGRESS BAR
   ============================================ */

.scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    z-index: 1001;
    background: transparent;
}

.scroll-progress::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-primary);
    transform-origin: left;
    transform: scaleX(0);
    animation: scroll-progress linear;
    animation-timeline: scroll(root);
}

@keyframes scroll-progress {
    to { transform: scaleX(1); }
}

.scroll-progress.js-fallback::after {
    animation: none;
}


/* ============================================
   SCROLL REVEAL SYSTEM
   ============================================ */

.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity var(--duration-reveal) var(--ease-luxury),
        transform var(--duration-reveal) var(--ease-luxury);
}

.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Directional reveals */
.reveal-left {
    opacity: 0;
    transform: translateX(-30px);
    transition:
        opacity var(--duration-reveal) var(--ease-luxury),
        transform var(--duration-reveal) var(--ease-luxury);
}

.reveal-right {
    opacity: 0;
    transform: translateX(30px);
    transition:
        opacity var(--duration-reveal) var(--ease-luxury),
        transform var(--duration-reveal) var(--ease-luxury);
}

.reveal-left.is-visible,
.reveal-right.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Scale reveal for stats */
.reveal-scale {
    opacity: 0;
    transform: scale(0.92);
    transition:
        opacity var(--duration-reveal) var(--ease-luxury),
        transform var(--duration-reveal) var(--ease-luxury);
}

.reveal-scale.is-visible {
    opacity: 1;
    transform: scale(1);
}

/* Staggered children */
.reveal-stagger > * {
    opacity: 0;
    transform: translateY(20px);
    transition:
        opacity var(--duration-reveal) var(--ease-luxury),
        transform var(--duration-reveal) var(--ease-luxury);
}

.reveal-stagger.is-visible > *:nth-child(1) { transition-delay: 0ms; opacity: 1; transform: translateY(0); }
.reveal-stagger.is-visible > *:nth-child(2) { transition-delay: 100ms; opacity: 1; transform: translateY(0); }
.reveal-stagger.is-visible > *:nth-child(3) { transition-delay: 200ms; opacity: 1; transform: translateY(0); }
.reveal-stagger.is-visible > *:nth-child(4) { transition-delay: 300ms; opacity: 1; transform: translateY(0); }
.reveal-stagger.is-visible > *:nth-child(5) { transition-delay: 400ms; opacity: 1; transform: translateY(0); }
.reveal-stagger.is-visible > *:nth-child(6) { transition-delay: 500ms; opacity: 1; transform: translateY(0); }


/* ============================================
   HERO TEXT REVEAL (line-by-line)
   ============================================ */

.hero-text-content > * {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity 0.9s var(--ease-out-expo),
        transform 0.9s var(--ease-out-expo);
}

.hero-text-content.is-visible > .hero-label { transition-delay: 0.1s; opacity: 1; transform: translateY(0); }
.hero-text-content.is-visible > .hero-heading { transition-delay: 0.25s; opacity: 1; transform: translateY(0); }
.hero-text-content.is-visible > .hero-body { transition-delay: 0.4s; opacity: 1; transform: translateY(0); }
.hero-text-content.is-visible > .hero-actions { transition-delay: 0.55s; opacity: 1; transform: translateY(0); }
.hero-text-content.is-visible > .hero-quicknav { transition-delay: 0.7s; opacity: 1; transform: translateY(0); }


/* ============================================
   KEN BURNS HERO IMAGE
   ============================================ */

.hero-photo img {
    animation: kenBurns 20s ease-in-out infinite alternate;
    will-change: transform;
}

@keyframes kenBurns {
    from { transform: scale(1); }
    to { transform: scale(1.04); }
}


/* ============================================
   PULL QUOTE
   ============================================ */

.pull-quote {
    position: relative;
    padding-left: 24px;
    margin: 48px 0;
    max-width: 640px;
}

.pull-quote::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    height: 100%;
    background: var(--color-primary);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.8s var(--ease-luxury) 0.2s;
}

.pull-quote.is-visible::before {
    transform: scaleY(1);
}

.pull-quote p {
    font-size: clamp(20px, 2.5vw, 28px);
    font-weight: 300;
    color: var(--color-text);
    line-height: 1.4;
    letter-spacing: -0.3px;
}

.pull-quote cite {
    display: block;
    margin-top: 12px;
    font-size: 13px;
    font-weight: 400;
    font-style: normal;
    color: var(--color-text-muted);
}


/* ============================================
   SECTION DIVIDER (draw on scroll)
   ============================================ */

.section-divider {
    display: block;
    width: 100%;
    max-width: 1000px;
    height: 1px;
    margin: 0 auto;
    border: none;
    background: var(--color-border-dark);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 1s var(--ease-luxury);
}

.section-divider.is-visible {
    transform: scaleX(1);
}


/* ============================================
   EDITORIAL LINK UNDERLINES
   ============================================ */

.link-editorial {
    position: relative;
    text-decoration: none;
    color: var(--link-color, var(--color-text));
    font-weight: 400;
}

.link-editorial::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background: currentColor;
    transition: width 0.4s var(--ease-luxury);
}

.link-editorial:hover::after { width: 100%; }

.link-arrow {
    position: relative;
    text-decoration: none;
    color: var(--link-color, var(--color-text));
    font-weight: 400;
    font-size: 14px;
}

.link-arrow::after {
    content: ' \2192';
    display: inline-block;
    transition: transform 0.3s var(--ease-luxury);
}

.link-arrow:hover::after { transform: translateX(4px); }


/* ============================================
   PREMIUM BUTTON MICRO-INTERACTIONS (shimmer)
   ============================================ */

.btn-pill-accent {
    display: inline-flex;
    align-items: center;
    padding: 12px 24px;
    background: var(--color-primary);
    color: #ffffff;
    border-radius: 99em;
    font-size: 15px;
    font-weight: 400;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s var(--ease-luxury), box-shadow 0.3s ease;
    position: relative;
    overflow: hidden;
}

.btn-pill-accent:hover {
    background: var(--color-primary-dark, #725520);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(138, 104, 40, 0.2);
}

.btn-pill-accent:active {
    transform: translateY(0);
    box-shadow: none;
}

/* Subtle shimmer on button */
.btn-pill-accent::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent);
    transition: left 0.6s ease;
}

.btn-pill-accent:hover::before { left: 100%; }

/* Dark theme: restore teal shimmer */
[data-theme="dark"] .btn-pill-accent {
    background: #50e8c0;
    color: #0a1210;
}

[data-theme="dark"] .btn-pill-accent:hover {
    background: #6aecd0;
    box-shadow: 0 4px 16px rgba(80, 232, 192, 0.2);
}


/* ============================================
   NUMBER COUNTER - tabular-nums
   ============================================ */

.proof-stat-number {
    font-variant-numeric: tabular-nums;
}


/* ============================================
   OVERLAPPING SECTION STYLES
   Products (dark section) + Classes
   ============================================ */

.s-products {
    background: var(--bg-dark-section, #111a2a);
    padding: 72px 24px;
    position: relative;
    z-index: 2;
    margin-top: -24px;
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -8px 40px rgba(17, 26, 42, 0.15);
}

.s-classes {
    position: relative;
    z-index: 3;
    margin-top: -16px;
    border-radius: 24px 24px 0 0;
    background: var(--color-bg);
    box-shadow: 0 -4px 30px rgba(44, 32, 20, 0.06);
}

/* Dark theme: restore dark classes bg */
[data-theme="dark"] .s-classes {
    box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.2);
}


/* ============================================
   LIGHT THEME - Selection color
   ============================================ */

::selection {
    background: rgba(138, 104, 40, 0.15);
}

[data-theme="dark"] ::selection {
    background: rgba(80, 232, 192, 0.2);
}

:focus-visible {
    outline-color: var(--color-primary);
}


/* ============================================
   LIGHT THEME - Nav / Header overrides
   Transparent bg -> warm frosted glass on scroll
   ============================================ */

/* Non-scrolled: links use deep navy on warm bg */
.nav-logo {
    color: var(--color--seedgreen);
}

.nav-logo .dot {
    background: var(--color-primary);
}

.nav-main-links a,
.nav-auth-links a {
    color: var(--color--seedgreen);
}

/* Scrolled nav: warm frosted glass pills */
.nav.scrolled .nav-left {
    background: rgba(248, 245, 238, 0.78);
    backdrop-filter: blur(20px) saturate(1.4);
    -webkit-backdrop-filter: blur(20px) saturate(1.4);
    border-color: rgba(60, 44, 28, 0.10);
    box-shadow: 0 2px 12px rgba(44, 32, 20, 0.06), 0 1px 3px rgba(44, 32, 20, 0.04);
}

.nav.scrolled .nav-logo {
    color: #141e30;
}

.nav.scrolled .nav-logo .dot {
    background: #8a6828;
}

.nav.scrolled .nav-main-links a {
    color: #141e30;
}

.nav.scrolled .nav-auth-links {
    background: rgba(248, 245, 238, 0.78);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-color: rgba(60, 44, 28, 0.10);
    box-shadow: 0 2px 12px rgba(44, 32, 20, 0.06), 0 1px 3px rgba(44, 32, 20, 0.04);
}

.nav.scrolled .nav-auth-links a:not(.nav-cta) {
    color: rgba(20, 30, 48, 0.65);
}

/* CTA button - amber */
.nav-cta {
    background: #8a6828;
    color: #ffffff !important;
}

.nav-cta:hover {
    background: #725520;
    color: #ffffff !important;
}

.nav.scrolled .nav-cta {
    background: #8a6828;
    color: #ffffff !important;
    border-color: transparent;
}

.nav.scrolled .nav-cta:hover {
    background: #725520;
    color: #ffffff !important;
}

/* Auth links */
.nav-link-auth {
    color: var(--color--seedgreen);
}

.nav.scrolled .nav-link-auth {
    color: rgba(20, 30, 48, 0.65);
}

.nav-auth-signup {
    background: #8a6828;
    color: #ffffff !important;
}

.nav-auth-signup:hover {
    background: #725520;
}

.nav.scrolled .nav-auth-signup {
    background: #8a6828;
    color: #ffffff !important;
}

.nav.scrolled .nav-auth-signup:hover {
    background: #725520;
    color: #ffffff !important;
}

/* Hamburger */
.hamburger span {
    background: rgba(20, 30, 48, 0.45);
}

.nav.scrolled .hamburger {
    background: rgba(248, 245, 238, 0.78);
    backdrop-filter: blur(20px) saturate(1.4);
    -webkit-backdrop-filter: blur(20px) saturate(1.4);
    border: 1px solid rgba(60, 44, 28, 0.10);
    box-shadow: 0 2px 12px rgba(44, 32, 20, 0.06), 0 1px 3px rgba(44, 32, 20, 0.04);
}

.nav.scrolled .hamburger span {
    background: #141e30;
}

/* Mobile CTA */
.nav-cta-mobile {
    background: #8a6828;
    color: #ffffff !important;
}

.nav.scrolled .nav-cta-mobile {
    background: #8a6828;
    color: #ffffff !important;
    border: 1px solid transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* Theme toggle scrolled state */
.nav.scrolled .theme-toggle {
    background: rgba(248, 245, 238, 0.78);
    backdrop-filter: blur(20px) saturate(1.4);
    -webkit-backdrop-filter: blur(20px) saturate(1.4);
    border-color: rgba(60, 44, 28, 0.10);
    box-shadow: 0 2px 12px rgba(44, 32, 20, 0.06), 0 1px 3px rgba(44, 32, 20, 0.04);
    color: #141e30;
}


/* ============================================
   DARK THEME - Nav restoration
   ============================================ */

[data-theme="dark"] .nav-logo .dot {
    background: #50e8c0;
}

[data-theme="dark"] .nav.scrolled .nav-left {
    background: rgba(40, 52, 56, 0.65);
    backdrop-filter: blur(20px) saturate(1.4);
    -webkit-backdrop-filter: blur(20px) saturate(1.4);
    border-color: rgba(80, 232, 192, 0.18);
    box-shadow: none;
}

[data-theme="dark"] .nav.scrolled .nav-logo {
    color: #bccac4;
}

[data-theme="dark"] .nav.scrolled .nav-logo .dot {
    background: #50e8c0;
}

[data-theme="dark"] .nav.scrolled .nav-main-links a {
    color: #bccac4;
}

[data-theme="dark"] .nav.scrolled .nav-auth-links {
    background: rgba(18, 24, 26, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-color: rgba(80, 232, 192, 0.08);
    box-shadow: none;
}

[data-theme="dark"] .nav.scrolled .nav-auth-links a:not(.nav-cta) {
    color: rgba(188, 202, 196, 0.75);
}

[data-theme="dark"] .nav-cta {
    background: #50e8c0;
    color: #0a1210 !important;
}

[data-theme="dark"] .nav-cta:hover {
    background: #6aecd0;
    color: #0a1210 !important;
}

[data-theme="dark"] .nav.scrolled .nav-cta {
    color: #12181a !important;
    background: rgba(80, 232, 192, 0.85);
    border-color: rgba(80, 232, 192, 0.12);
}

[data-theme="dark"] .nav.scrolled .nav-cta:hover {
    background: #6aecd0;
    color: #0a1210 !important;
}

[data-theme="dark"] .nav-link-auth {
    color: var(--color--seedgreen);
}

[data-theme="dark"] .nav.scrolled .nav-link-auth {
    color: rgba(188, 202, 196, 0.85);
}

[data-theme="dark"] .nav-auth-signup {
    color: #0a1210 !important;
    background: #50e8c0;
}

[data-theme="dark"] .nav-auth-signup:hover {
    background: #6aecd0;
}

[data-theme="dark"] .nav.scrolled .nav-auth-signup {
    color: #12181a !important;
    background: rgba(80, 232, 192, 0.85);
}

[data-theme="dark"] .nav.scrolled .nav-auth-signup:hover {
    background: #6aecd0;
    color: #0a1210 !important;
}

[data-theme="dark"] .hamburger span {
    background: rgba(188, 202, 196, 0.6);
}

[data-theme="dark"] .nav.scrolled .hamburger {
    background: rgba(40, 52, 56, 0.65);
    backdrop-filter: blur(20px) saturate(1.4);
    -webkit-backdrop-filter: blur(20px) saturate(1.4);
    border: 1px solid rgba(80, 232, 192, 0.18);
    box-shadow: none;
}

[data-theme="dark"] .nav.scrolled .hamburger span {
    background: #bccac4;
}

[data-theme="dark"] .nav-cta-mobile {
    color: #0a1210 !important;
    background: #50e8c0;
}

[data-theme="dark"] .nav.scrolled .nav-cta-mobile {
    color: #12181a !important;
    background: rgba(80, 232, 192, 0.75);
    backdrop-filter: blur(20px) saturate(1.4);
    -webkit-backdrop-filter: blur(20px) saturate(1.4);
    border: 1px solid rgba(80, 232, 192, 0.15);
}

[data-theme="dark"] .nav.scrolled .theme-toggle {
    background: rgba(40, 52, 56, 0.65);
    border-color: rgba(80, 232, 192, 0.18);
    box-shadow: none;
    color: #bccac4;
}


/* ============================================
   LIGHT THEME - Nav dropdown overrides
   ============================================ */

.nav-dropdown {
    background: rgba(255, 253, 248, 0.97);
    border-color: rgba(60, 44, 28, 0.08);
    box-shadow: 0 12px 40px rgba(44, 32, 20, 0.08);
}

.nav-dropdown::before {
    background: rgba(255, 253, 248, 0.97);
    border-left-color: rgba(60, 44, 28, 0.08);
    border-top-color: rgba(60, 44, 28, 0.08);
}

.nav-dropdown-col:first-child {
    border-right-color: rgba(60, 44, 28, 0.06);
}

.nav-dropdown-footer {
    border-top-color: rgba(60, 44, 28, 0.06);
}

.nav-dropdown-footer a {
    color: #8a6828;
}

/* Scrolled dropdown - light warm glass */
.nav.scrolled .nav-dropdown {
    background: rgba(255, 253, 248, 0.97);
    backdrop-filter: blur(40px) saturate(1.4);
    -webkit-backdrop-filter: blur(40px) saturate(1.4);
    border-color: rgba(60, 44, 28, 0.08);
    box-shadow: 0 12px 40px rgba(44, 32, 20, 0.08);
}

.nav.scrolled .nav-dropdown::before {
    background: rgba(255, 253, 248, 0.97);
    border-color: rgba(60, 44, 28, 0.08);
}

.nav.scrolled .nav-dropdown-heading {
    color: rgba(20, 30, 48, 0.5);
}

.nav.scrolled .nav-dropdown-link {
    color: #141e30;
}

.nav.scrolled .nav-dropdown-meta {
    color: rgba(20, 30, 48, 0.5);
}

.nav.scrolled .nav-dropdown-col:first-child {
    border-color: rgba(60, 44, 28, 0.06);
}

.nav.scrolled .nav-dropdown-footer {
    border-color: rgba(60, 44, 28, 0.06);
}

.nav.scrolled .nav-dropdown-footer a {
    color: #8a6828;
}

.nav.scrolled .nav-dropdown-group-label {
    color: rgba(20, 30, 48, 0.4);
}

/* Dark theme: restore dropdown */
[data-theme="dark"] .nav-dropdown {
    background: var(--color--snowwhite);
    border-color: rgba(80, 232, 192, 0.05);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25), 0 4px 12px rgba(0, 0, 0, 0.15);
}

[data-theme="dark"] .nav-dropdown::before {
    background: var(--color--snowwhite);
    border-left-color: rgba(80, 232, 192, 0.05);
    border-top-color: rgba(80, 232, 192, 0.05);
}

[data-theme="dark"] .nav-dropdown-col:first-child {
    border-right-color: rgba(80, 232, 192, 0.05);
}

[data-theme="dark"] .nav-dropdown-footer {
    border-top-color: rgba(80, 232, 192, 0.05);
}

[data-theme="dark"] .nav-dropdown-footer a {
    color: var(--color--mossroot);
}

[data-theme="dark"] .nav.scrolled .nav-dropdown {
    background: rgba(18, 24, 26, 0.94);
    border-color: rgba(80, 232, 192, 0.08);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
}

[data-theme="dark"] .nav.scrolled .nav-dropdown::before {
    background: rgba(18, 24, 26, 0.94);
    border-color: rgba(80, 232, 192, 0.08);
}

[data-theme="dark"] .nav.scrolled .nav-dropdown-heading {
    color: rgba(188, 202, 196, 0.5);
}

[data-theme="dark"] .nav.scrolled .nav-dropdown-link {
    color: #e8eeeb;
}

[data-theme="dark"] .nav.scrolled .nav-dropdown-meta {
    color: rgba(188, 202, 196, 0.5);
}

[data-theme="dark"] .nav.scrolled .nav-dropdown-col:first-child {
    border-color: rgba(80, 232, 192, 0.08);
}

[data-theme="dark"] .nav.scrolled .nav-dropdown-footer {
    border-color: rgba(80, 232, 192, 0.08);
}

[data-theme="dark"] .nav.scrolled .nav-dropdown-footer a {
    color: var(--color-guidance-fluorescent-green);
}

[data-theme="dark"] .nav.scrolled .nav-dropdown-group-label {
    color: rgba(188, 202, 196, 0.4);
}


/* ============================================
   LIGHT THEME - Fullscreen mobile menu
   ============================================ */

.fs-menu-tabs {
    background: rgba(255, 253, 248, 0.95);
    border-color: rgba(60, 44, 28, 0.08);
    box-shadow: 0 8px 32px rgba(44, 32, 20, 0.08);
}

.fs-menu-backdrop {
    background: rgba(0, 0, 0, 0.08);
}

.fs-menu-scroll {
    background: rgba(255, 253, 248, 0.95);
    border-color: rgba(60, 44, 28, 0.06);
    box-shadow: 0 8px 32px rgba(44, 32, 20, 0.08);
}

.fs-tab {
    color: rgba(20, 30, 48, 0.5);
}

.fs-tab:hover {
    color: rgba(20, 30, 48, 0.7);
}

.fs-tab.active {
    color: #141e30;
}

.fs-tab-indicator {
    background: rgba(138, 104, 40, 0.12);
    box-shadow: 0 0 8px rgba(138, 104, 40, 0.06), inset 0 0.5px 0 rgba(138, 104, 40, 0.2);
    border-color: rgba(138, 104, 40, 0.12);
}

.fs-menu-close {
    background: rgba(20, 30, 48, 0.06);
    border-color: rgba(20, 30, 48, 0.1);
    color: rgba(20, 30, 48, 0.4);
}

.fs-menu-close:hover {
    background: rgba(20, 30, 48, 0.1);
    color: #141e30;
}

.fs-menu-logo {
    background: #8a6828;
}

.fs-menu.panels-collapsed .fs-menu-tabs {
    background: rgba(255, 253, 248, 0.95);
}

.fs-menu.panels-collapsed.over-light .fs-menu-tabs {
    background: rgba(255, 253, 248, 0.95);
}

.fs-menu.panels-collapsed.over-light .fs-menu-close {
    color: rgba(20, 30, 48, 0.4);
}

.fs-menu.panels-collapsed.over-light .fs-menu-logo {
    background: #8a6828;
}

/* Menu panel content */
.product-name,
.panel-item-title,
.fs-panel[data-panel="login"] {
    color: #141e30;
}

.category-pill-link {
    color: #141e30;
    background: rgba(138, 104, 40, 0.06);
    border-color: rgba(60, 44, 28, 0.1);
}

.category-pill-link:hover {
    background: rgba(138, 104, 40, 0.12);
    border-color: rgba(60, 44, 28, 0.15);
}

.product-price,
.shop-all-link,
.all-articles-link {
    color: #8a6828;
}

.ref-list li a {
    color: rgba(20, 30, 48, 0.6);
    border-color: rgba(60, 44, 28, 0.08);
}

.ref-list li a:hover {
    color: #141e30;
}

.product-thumb {
    background: rgba(138, 104, 40, 0.08);
}

.panel-group-header {
    color: rgba(20, 30, 48, 0.5);
}

/* Menu footer */
.fs-menu-footer {
    background: rgba(248, 245, 238, 0.85);
    backdrop-filter: blur(48px);
    -webkit-backdrop-filter: blur(48px);
}

.fs-cta-primary {
    background: #8a6828;
    color: #ffffff;
}

.fs-cta-primary:hover {
    background: #725520;
}

.fs-cta-secondary {
    color: #141e30;
}

.fs-menu-promo {
    color: rgba(20, 30, 48, 0.35);
}

.fs-menu-promo:hover {
    color: rgba(20, 30, 48, 0.6);
}

/* Dark theme: restore mobile menu */
[data-theme="dark"] .fs-menu-tabs {
    background: rgba(18, 24, 26, 0.92);
    border-color: rgba(80, 232, 192, 0.08);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

[data-theme="dark"] .fs-menu-backdrop {
    background: rgba(0, 0, 0, 0.15);
}

[data-theme="dark"] .fs-menu-scroll {
    background: rgba(18, 24, 26, 0.92);
    border-color: rgba(80, 232, 192, 0.08);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

[data-theme="dark"] .fs-tab {
    color: rgba(188, 202, 196, 0.55);
}

[data-theme="dark"] .fs-tab:hover {
    color: rgba(188, 202, 196, 0.8);
}

[data-theme="dark"] .fs-tab.active {
    color: #e8eeeb;
}

[data-theme="dark"] .fs-tab-indicator {
    background: rgba(80, 232, 192, 0.15);
    box-shadow: 0 0 8px rgba(80, 232, 192, 0.06), inset 0 0.5px 0 rgba(80, 232, 192, 0.2);
    border-color: rgba(80, 232, 192, 0.12);
}

[data-theme="dark"] .fs-menu-close {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.15);
    color: #e8eeeb;
}

[data-theme="dark"] .fs-menu-close:hover {
    background: rgba(255, 255, 255, 0.18);
}

[data-theme="dark"] .fs-menu-logo {
    background: #50e8c0;
}

[data-theme="dark"] .fs-menu.panels-collapsed .fs-menu-tabs,
[data-theme="dark"] .fs-menu.panels-collapsed.over-light .fs-menu-tabs {
    background: rgba(18, 24, 26, 0.9);
}

[data-theme="dark"] .fs-menu.panels-collapsed.over-light .fs-menu-close {
    color: #e8eeeb;
}

[data-theme="dark"] .fs-menu.panels-collapsed.over-light .fs-menu-logo {
    background: #e8eeeb;
}

[data-theme="dark"] .product-name,
[data-theme="dark"] .panel-item-title,
[data-theme="dark"] .fs-panel[data-panel="login"] {
    color: #e8eeeb;
}

[data-theme="dark"] .category-pill-link {
    color: #e8eeeb;
    background: rgba(80, 232, 192, 0.06);
    border-color: rgba(80, 232, 192, 0.08);
}

[data-theme="dark"] .category-pill-link:hover {
    background: rgba(80, 232, 192, 0.12);
    border-color: rgba(80, 232, 192, 0.12);
}

[data-theme="dark"] .product-price,
[data-theme="dark"] .shop-all-link,
[data-theme="dark"] .all-articles-link {
    color: #50e8c0;
}

[data-theme="dark"] .ref-list li a {
    color: var(--seed-text-muted-on-glass);
    border-color: rgba(80, 232, 192, 0.08);
}

[data-theme="dark"] .ref-list li a:hover {
    color: #e8eeeb;
}

[data-theme="dark"] .product-thumb {
    background: rgba(80, 232, 192, 0.08);
}

[data-theme="dark"] .panel-group-header {
    color: var(--seed-text-muted-on-glass);
}

[data-theme="dark"] .fs-menu-footer {
    background: var(--seed-glass);
}

[data-theme="dark"] .fs-cta-primary {
    background: #50e8c0;
    color: #0a1210;
}

[data-theme="dark"] .fs-cta-primary:hover {
    background: #6aecd0;
}

[data-theme="dark"] .fs-cta-secondary {
    color: var(--color--seedgreen);
}

[data-theme="dark"] .fs-menu-promo {
    color: rgba(188, 202, 196, 0.35);
}

[data-theme="dark"] .fs-menu-promo:hover {
    color: rgba(188, 202, 196, 0.7);
}


/* ============================================
   LIGHT THEME - Login panel in mobile menu
   ============================================ */

.login-heading {
    color: #141e30;
}

.social-btn {
    color: #141e30;
}

.social-google {
    background: rgba(138, 104, 40, 0.06);
    box-shadow: inset 0 0 0 1px rgba(60, 44, 28, 0.1);
}

.social-google:hover {
    background: rgba(138, 104, 40, 0.12);
}

.social-facebook {
    background: rgba(138, 104, 40, 0.04);
    box-shadow: inset 0 0 0 1px rgba(60, 44, 28, 0.08);
}

.social-facebook:hover {
    background: rgba(138, 104, 40, 0.1);
}

.login-input {
    color: #141e30;
    background: rgba(60, 44, 28, 0.03);
    border-color: rgba(60, 44, 28, 0.12);
}

.login-input::placeholder {
    color: rgba(60, 44, 28, 0.35);
}

.login-input:focus {
    border-color: rgba(138, 104, 40, 0.5);
    background: rgba(138, 104, 40, 0.04);
}

.login-divider::before,
.login-divider::after {
    background: rgba(60, 44, 28, 0.1);
}

.login-submit {
    color: #141e30;
    background: rgba(138, 104, 40, 0.1);
    border-color: rgba(138, 104, 40, 0.2);
}

.login-submit:hover {
    background: rgba(138, 104, 40, 0.2);
    border-color: rgba(138, 104, 40, 0.4);
}

.login-forgot {
    color: rgba(20, 30, 48, 0.5);
    text-decoration-color: rgba(60, 44, 28, 0.15);
}

.login-forgot:hover {
    color: #141e30;
}

.login-signup-cta {
    background: rgba(138, 104, 40, 0.04);
    border-color: rgba(60, 44, 28, 0.08);
}

.login-signup-text {
    color: #6a5d4e;
}

.login-signup-btn {
    background: #8a6828;
    color: #ffffff;
}

.login-signup-btn:hover {
    background: #725520;
    box-shadow: 0 0 16px rgba(138, 104, 40, 0.2);
}

/* Dark theme: restore login panel */
[data-theme="dark"] .login-heading {
    color: #e8eeeb;
}

[data-theme="dark"] .social-btn {
    color: #e8eeeb;
}

[data-theme="dark"] .social-google {
    background: rgba(80, 232, 192, 0.08);
    box-shadow: inset 0 0 0 1px rgba(80, 232, 192, 0.12);
}

[data-theme="dark"] .social-google:hover {
    background: rgba(80, 232, 192, 0.15);
}

[data-theme="dark"] .social-facebook {
    background: rgba(80, 232, 192, 0.06);
    box-shadow: inset 0 0 0 1px rgba(80, 232, 192, 0.1);
}

[data-theme="dark"] .social-facebook:hover {
    background: rgba(80, 232, 192, 0.12);
}

[data-theme="dark"] .login-input {
    color: #e8eeeb;
    background: rgba(80, 232, 192, 0.04);
    border-color: rgba(80, 232, 192, 0.15);
}

[data-theme="dark"] .login-input::placeholder {
    color: rgba(188, 202, 196, 0.4);
}

[data-theme="dark"] .login-input:focus {
    border-color: rgba(80, 232, 192, 0.4);
    background: rgba(80, 232, 192, 0.08);
}

[data-theme="dark"] .login-divider::before,
[data-theme="dark"] .login-divider::after {
    background: rgba(80, 232, 192, 0.12);
}

[data-theme="dark"] .login-submit {
    color: #e8eeeb;
    background: rgba(80, 232, 192, 0.12);
    border-color: rgba(80, 232, 192, 0.2);
}

[data-theme="dark"] .login-submit:hover {
    background: rgba(80, 232, 192, 0.2);
    border-color: rgba(80, 232, 192, 0.4);
}

[data-theme="dark"] .login-forgot {
    color: var(--seed-text-muted-on-glass);
    text-decoration-color: rgba(80, 232, 192, 0.15);
}

[data-theme="dark"] .login-forgot:hover {
    color: #e8eeeb;
}

[data-theme="dark"] .login-signup-cta {
    background: rgba(80, 232, 192, 0.04);
    border-color: rgba(80, 232, 192, 0.08);
}

[data-theme="dark"] .login-signup-text {
    color: #8e9c98;
}

[data-theme="dark"] .login-signup-btn {
    background: #50e8c0;
    color: #12181a;
}

[data-theme="dark"] .login-signup-btn:hover {
    background: #5eedc8;
    box-shadow: 0 0 16px rgba(80, 232, 192, 0.25);
}


/* ============================================
   LIGHT THEME - Wholesale + misc mobile menu
   ============================================ */

.wholesale-login-link {
    color: #141e30;
    background: rgba(138, 104, 40, 0.06);
    border-color: rgba(60, 44, 28, 0.1);
}

.wholesale-login-link:hover {
    background: rgba(138, 104, 40, 0.12);
    border-color: rgba(60, 44, 28, 0.15);
}

[data-theme="dark"] .wholesale-login-link {
    color: #e8eeeb;
    background: rgba(80, 232, 192, 0.08);
    border-color: rgba(80, 232, 192, 0.12);
}

[data-theme="dark"] .wholesale-login-link:hover {
    background: rgba(80, 232, 192, 0.15);
    border-color: rgba(80, 232, 192, 0.25);
}


/* ============================================
   LIGHT THEME - Footer overrides
   ============================================ */

.seed-footer {
    background: #eee9de;
}

.seed-footer-mission h3 {
    color: #141e30;
}

.seed-footer-mission p {
    color: rgba(20, 30, 48, 0.5);
}

.seed-footer-signup p {
    color: rgba(20, 30, 48, 0.55);
}

.seed-footer-email {
    color: #141e30;
    background: rgba(60, 44, 28, 0.04);
    border-color: rgba(60, 44, 28, 0.12);
}

.seed-footer-email::placeholder {
    color: rgba(60, 44, 28, 0.35);
}

.seed-footer-email:focus {
    border-color: rgba(138, 104, 40, 0.4);
}

.seed-footer-email-btn {
    background: #8a6828;
    color: #ffffff;
}

.seed-footer-email-btn:hover {
    background: #725520;
}

.seed-footer-top {
    border-bottom-color: rgba(60, 44, 28, 0.08);
}

.seed-footer-col h4 {
    color: rgba(20, 30, 48, 0.45);
}

.seed-footer-col ul li a {
    color: rgba(20, 30, 48, 0.55);
}

.seed-footer-col ul li a:hover {
    color: #8a6828;
}

.seed-footer-links {
    border-bottom-color: rgba(60, 44, 28, 0.08);
}

.seed-footer-disclaimer {
    color: rgba(20, 30, 48, 0.35);
}

.seed-footer-social {
    border-top-color: rgba(60, 44, 28, 0.08);
}

.seed-footer-social .social-follow a {
    border-color: rgba(60, 44, 28, 0.12);
    color: #6a5d4e;
}

.seed-footer-social .social-follow a:hover {
    border-color: #8a6828;
    color: #8a6828;
    background: rgba(138, 104, 40, 0.06);
}

.seed-footer-bottom {
    color: rgba(20, 30, 48, 0.35);
}

/* Footer pattern: reduce opacity on light */
footer::before,
.seed-footer::before {
    opacity: 0.04;
}

/* Dark theme: restore footer */
[data-theme="dark"] .seed-footer {
    background: #0e1214;
}

[data-theme="dark"] .seed-footer-mission h3 {
    color: #bccac4;
}

[data-theme="dark"] .seed-footer-mission p {
    color: rgba(188, 202, 196, 0.5);
}

[data-theme="dark"] .seed-footer-signup p {
    color: rgba(188, 202, 196, 0.6);
}

[data-theme="dark"] .seed-footer-email {
    color: #bccac4;
    background: rgba(80, 232, 192, 0.06);
    border-color: rgba(80, 232, 192, 0.1);
}

[data-theme="dark"] .seed-footer-email::placeholder {
    color: rgba(188, 202, 196, 0.35);
}

[data-theme="dark"] .seed-footer-email:focus {
    border-color: rgba(80, 232, 192, 0.3);
}

[data-theme="dark"] .seed-footer-email-btn {
    background: #50e8c0;
    color: #0a1210;
}

[data-theme="dark"] .seed-footer-email-btn:hover {
    background: #6aecd0;
}

[data-theme="dark"] .seed-footer-top {
    border-bottom-color: rgba(80, 232, 192, 0.06);
}

[data-theme="dark"] .seed-footer-col h4 {
    color: rgba(188, 202, 196, 0.4);
}

[data-theme="dark"] .seed-footer-col ul li a {
    color: rgba(188, 202, 196, 0.55);
}

[data-theme="dark"] .seed-footer-col ul li a:hover {
    color: #50e8c0;
}

[data-theme="dark"] .seed-footer-links {
    border-bottom-color: rgba(80, 232, 192, 0.06);
}

[data-theme="dark"] .seed-footer-disclaimer {
    color: rgba(188, 202, 196, 0.35);
}

[data-theme="dark"] .seed-footer-social {
    border-top-color: rgba(80, 232, 192, 0.06);
}

[data-theme="dark"] .seed-footer-social .social-follow a {
    border-color: rgba(80, 232, 192, 0.12);
    color: #8e9c98;
}

[data-theme="dark"] .seed-footer-social .social-follow a:hover {
    border-color: #50e8c0;
    color: #50e8c0;
    background: rgba(80, 232, 192, 0.08);
}

[data-theme="dark"] .seed-footer-bottom {
    color: rgba(188, 202, 196, 0.35);
}

[data-theme="dark"] footer::before,
[data-theme="dark"] .seed-footer::before {
    opacity: 0.22;
}


/* ============================================
   LIGHT THEME - Button overrides
   ============================================ */

/* Green dot label */
.green-dot-label::before {
    background: #8a6828;
}

[data-theme="dark"] .green-dot-label::before {
    background: #50e8c0;
}

/* btn-pill-green */
.btn-pill-green {
    background: #8a6828;
    color: #ffffff;
}

.btn-pill-green:hover {
    background: #725520;
}

[data-theme="dark"] .btn-pill-green {
    background: #50e8c0;
    color: #0a1210;
}

[data-theme="dark"] .btn-pill-green:hover {
    background: #6aecd0;
}

/* btn-discover */
.btn-discover {
    background: #8a6828;
    color: #ffffff;
}

.btn-discover:hover {
    background: #725520;
}

.btn-discover svg {
    fill: #ffffff;
}

[data-theme="dark"] .btn-discover {
    background: #50e8c0;
    color: #0a1210;
}

[data-theme="dark"] .btn-discover:hover {
    background: #6aecd0;
}

[data-theme="dark"] .btn-discover svg {
    fill: #0a1210;
}

/* btn-frosted */
.btn-frosted {
    background: rgba(138, 104, 40, 0.08);
}

.btn-frosted:hover {
    background: rgba(138, 104, 40, 0.15);
}

[data-theme="dark"] .btn-frosted {
    background: var(--color--frostedglass-t35);
}

[data-theme="dark"] .btn-frosted:hover {
    background: var(--color--frostedglass-t55);
}

/* btn-primary */
.btn-primary {
    background: #8a6828;
    color: #ffffff;
}

.btn-primary:hover {
    box-shadow: 0 8px 20px rgba(44, 32, 20, 0.15);
}

[data-theme="dark"] .btn-primary {
    background: #50e8c0;
    color: #0a1210;
}

[data-theme="dark"] .btn-primary:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
}

/* btn-pill-light */
.btn-pill-light {
    background: #ffffff;
    color: #141e30;
}

.btn-pill-light:hover {
    background: #f0ece2;
}

[data-theme="dark"] .btn-pill-light {
    background: var(--color--snowwhite);
    color: var(--color--seedgreen);
}

[data-theme="dark"] .btn-pill-light:hover {
    background: var(--color--foamwhite);
}

/* Favorite button */
.fav-btn {
    background: rgba(255, 253, 248, 0.85);
    border-color: rgba(60, 44, 28, 0.08);
    color: var(--color-text-muted);
}

.fav-btn:hover {
    background: rgba(255, 253, 248, 0.95);
    color: var(--color-text);
}

[data-theme="dark"] .fav-btn {
    background: rgba(30, 38, 40, 0.85);
    border-color: rgba(80, 232, 192, 0.08);
    color: var(--color--olivegreen);
}

[data-theme="dark"] .fav-btn:hover {
    background: rgba(30, 38, 40, 0.95);
    color: var(--color--seedgreen);
}

/* Hero CTA */
.hero-cta {
    background: var(--color-primary);
    color: #ffffff;
}

.final-cta-btn {
    background: var(--color-primary);
    color: #ffffff;
}

[data-theme="dark"] .hero-cta {
    background: var(--color-primary);
    color: #0a1210;
}

[data-theme="dark"] .final-cta-btn {
    background: var(--color-primary);
    color: #0a1210;
}

/* Featured badge */
.featured-badge {
    background: #8a6828;
    color: #ffffff;
}

[data-theme="dark"] .featured-badge {
    background: #50e8c0;
    color: #0a1210;
}

/* Product badges */
.product-badge.rare,
.product-badge.premium {
    background: #8a6828;
    color: #ffffff;
}

[data-theme="dark"] .product-badge.rare,
[data-theme="dark"] .product-badge.premium {
    background: #50e8c0;
    color: #0a1210;
}


/* ============================================
   LIGHT THEME - Content box overrides
   ============================================ */

.content-box {
    background: rgba(255, 253, 248, 0.92);
    border-color: rgba(60, 44, 28, 0.06);
    box-shadow: 0 4px 20px rgba(44, 32, 20, 0.06);
}

.tech-inner,
.lab-inner,
.cta-inner {
    background: rgba(255, 253, 248, 0.90);
    border-color: rgba(60, 44, 28, 0.06);
    box-shadow: 0 8px 32px rgba(44, 32, 20, 0.06);
}

.interstitial-inner {
    background: rgba(255, 253, 248, 0.90);
    border-color: rgba(60, 44, 28, 0.06);
    box-shadow: 0 8px 32px rgba(44, 32, 20, 0.06);
}

.about-inner {
    background: rgba(255, 253, 248, 0.88);
    border-color: rgba(60, 44, 28, 0.06);
    box-shadow: 0 8px 32px rgba(44, 32, 20, 0.06);
}

.proof-inner {
    background: rgba(255, 253, 248, 0.88);
    border-color: rgba(60, 44, 28, 0.06);
    box-shadow: 0 6px 24px rgba(44, 32, 20, 0.05);
}

[data-theme="dark"] .content-box {
    background: rgba(18, 24, 26, 0.92);
    border-color: rgba(80, 232, 192, 0.05);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .tech-inner,
[data-theme="dark"] .lab-inner,
[data-theme="dark"] .cta-inner {
    background: rgba(18, 24, 26, 0.88);
    border-color: rgba(80, 232, 192, 0.05);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .interstitial-inner {
    background: rgba(18, 24, 26, 0.88);
    border-color: rgba(80, 232, 192, 0.05);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .about-inner {
    background: rgba(18, 24, 26, 0.85);
    border-color: rgba(80, 232, 192, 0.05);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .proof-inner {
    background: rgba(18, 24, 26, 0.85);
    border-color: rgba(80, 232, 192, 0.05);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.3);
}


/* ============================================
   LIGHT THEME - Background pattern opacity
   ============================================ */

section::before,
main::before {
    opacity: 0.04;
}

section::after {
    opacity: 0.02;
}

.hero-pattern {
    opacity: 0.03;
}

[data-theme="dark"] section::before,
[data-theme="dark"] main::before {
    opacity: 0.22;
}

[data-theme="dark"] section::after {
    opacity: 0.22;
}

[data-theme="dark"] .hero-pattern {
    opacity: 0.03;
}


/* ============================================
   LIGHT THEME - Newsletter / forms
   ============================================ */

.newsletter-content p {
    color: rgba(20, 30, 48, 0.6);
}

.newsletter-form input {
    background: rgba(60, 44, 28, 0.04);
    color: #141e30;
    border: 1px solid rgba(60, 44, 28, 0.1);
}

.newsletter-form input::placeholder {
    color: rgba(60, 44, 28, 0.4);
}

[data-theme="dark"] .newsletter-content p {
    color: var(--color-text-secondary);
}

[data-theme="dark"] .newsletter-form input {
    background: var(--color-surface);
    color: var(--color-text);
    border-color: var(--color-border);
}

[data-theme="dark"] .newsletter-form input::placeholder {
    color: var(--color-text-muted);
}


/* ============================================
   LIGHT THEME - Inline CTA
   ============================================ */

.inline-cta-title {
    color: #141e30;
}

.inline-cta-text {
    color: #6a5d4e;
}

.inline-input-group {
    background: #ffffff;
    box-shadow: 0 2px 12px rgba(44, 32, 20, 0.06);
}

.inline-input-group input {
    color: #141e30;
}

.inline-input-group input::placeholder {
    color: rgba(60, 44, 28, 0.4);
}

[data-theme="dark"] .inline-cta-title {
    color: var(--color-text);
}

[data-theme="dark"] .inline-cta-text {
    color: var(--color-text-secondary);
}

[data-theme="dark"] .inline-input-group {
    background: var(--color-surface);
    box-shadow: var(--shadow-md);
}

[data-theme="dark"] .inline-input-group input {
    color: var(--color-text);
}

[data-theme="dark"] .inline-input-group input::placeholder {
    color: var(--color-text-muted);
}


/* ============================================
   LIGHT THEME - Misc element overrides
   ============================================ */

/* Carousel overlay arrows */
.carousel-overlay-arrow {
    background: rgba(255, 253, 248, 0.95);
    border-color: rgba(60, 44, 28, 0.1);
    color: #6a5d4e;
    box-shadow: 0 4px 12px rgba(44, 32, 20, 0.08);
}

.carousel-overlay-arrow:hover {
    background: #8a6828;
    border-color: #8a6828;
    color: #ffffff;
}

[data-theme="dark"] .carousel-overlay-arrow {
    background: rgba(30, 38, 40, 0.85);
    border-color: rgba(80, 232, 192, 0.08);
    color: var(--color-text-secondary);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .carousel-overlay-arrow:hover {
    background: rgba(80, 232, 192, 0.15);
    border-color: rgba(80, 232, 192, 0.15);
    color: var(--color-text);
}

/* Contact card shadows */
.contact-card {
    box-shadow: 0 2px 12px rgba(44, 32, 20, 0.06);
}

.contact-card:hover {
    box-shadow: 0 8px 24px rgba(44, 32, 20, 0.08);
}

/* Featured card shadows */
.featured-card:hover {
    box-shadow: 0 12px 32px rgba(44, 32, 20, 0.08);
}

/* Mobile sticky CTA */
.mobile-cta {
    box-shadow: 0 -4px 20px rgba(44, 32, 20, 0.06);
}

/* Signup overlay */
.signup-overlay {
    background: rgba(0, 0, 0, 0.3);
}

/* Scroll indicator */
.scroll-indicator {
    background: #8a6828;
    color: #ffffff;
    box-shadow: 0 2px 12px rgba(44, 32, 20, 0.12);
}

[data-theme="dark"] .scroll-indicator {
    background: #50e8c0;
    color: #0a1210;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
}

/* Swipe hint */
.swipe-hint {
    color: rgba(20, 30, 48, 0.4);
}

[data-theme="dark"] .swipe-hint {
    color: var(--color-text-muted);
}

/* Panel thumbnails */
.panel-item-image.img-approach {
    background: #eee9de;
}

.article-thumb-1 {
    background: #eee9de;
}

[data-theme="dark"] .panel-item-image.img-approach {
    background: #1e2628;
}

[data-theme="dark"] .article-thumb-1 {
    background: #1e2628;
}


/* ============================================
   DARK SECTIONS - Keep dark in BOTH themes
   Products section retains midnight background
   ============================================ */

.s-products {
    background: #111a2a !important;
    color: rgba(255, 255, 255, 0.88);
}

.s-products h2 {
    color: rgba(255, 255, 255, 0.88);
}

.s-products p {
    color: rgba(255, 255, 255, 0.4);
}

.s-products .product-card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.06);
}

.s-products .product-card:hover {
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
}

.s-products .product-card-code {
    color: rgba(255, 255, 255, 0.3);
}

.s-products .product-card-name {
    color: rgba(255, 255, 255, 0.85);
}

.s-products .product-card-price {
    color: #d4aa50;
}

.s-products .product-card-img {
    background: rgba(255, 255, 255, 0.03);
}

.s-products .products-shopall {
    color: #d4aa50;
}

.s-products .products-shopall::after {
    background: #d4aa50;
}

/* Products section patterns stay at dark opacity */
.s-products::before {
    opacity: 0.22 !important;
}


/* ============================================
   PREFERS-REDUCED-MOTION
   ============================================ */

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .reveal, .reveal-left, .reveal-right, .reveal-scale,
    .reveal-stagger > *, .hero-text-content > *,
    .tech-col ul li {
        opacity: 1 !important;
        transform: none !important;
    }

    .hero-photo {
        opacity: 1 !important;
        transform: none !important;
    }

    .pull-quote::before {
        transform: scaleY(1) !important;
    }

    .section-divider {
        transform: scaleX(1) !important;
    }

    .s-products { margin-top: 0; border-radius: 0; }
    .s-classes { margin-top: 0; border-radius: 0; }
}


/* ============================================
   RESPONSIVE OVERRIDES
   ============================================ */

@media (max-width: 768px) {
    .s-products { border-radius: 16px 16px 0 0; margin-top: -12px; }
    .s-classes { border-radius: 16px 16px 0 0; margin-top: -8px; }
}


/* ============================================
   HARDCODED COLOR OVERRIDES
   Component-level dark values that bypass CSS variables
   ============================================ */

/* Button text on accent backgrounds -- dark text -> white */
.btn-pill-green,
.btn-discover,
.nav-cta:hover,
.nav.scrolled .nav-cta:hover,
.nav-auth-signup,
.nav.scrolled .nav-auth-signup:hover,
.login-signup-btn,
.fs-cta-primary,
.btn-primary,
.product-badge.rare,
.seed-footer-email-btn,
.inline-cta button,
.hero-cta,
.final-cta-btn,
.product-option button.active,
.btn-dark {
    color: #ffffff !important;
}

/* Nav logo text -- needs dark text on light bg */
.nav-logo,
.nav.scrolled .nav-logo,
.nav-logo-text {
    color: var(--color-text) !important;
}

/* Nav CTA button -- amber on light bg */
.nav-cta,
.nav.scrolled .nav-cta {
    background: var(--color-primary) !important;
    color: #ffffff !important;
    border-color: var(--color-primary) !important;
}

.nav-auth-signup {
    background: var(--color-primary) !important;
    color: #ffffff !important;
}

/* Footer mission heading */
.seed-footer-mission h3 {
    color: var(--color-text);
}

.seed-footer-email {
    color: var(--color-text);
}

/* Inline CTA dark bg override */
.inline-input-group {
    background: var(--color-bg-alt);
}

.inline-cta-title {
    color: var(--color-text);
}

/* SVG strokes */
.hero-graphic svg path {
    stroke: var(--color-border-dark);
}

/* Login form labels */
.login-form label {
    color: var(--color-text-secondary);
}

/* Auto table overrides */
.auto-table thead th {
    background: var(--color-primary);
    color: #ffffff;
}

.auto-table tbody td {
    color: var(--color-text);
    background: var(--color-bg);
}

.auto-table tbody tr:nth-child(even) td {
    background: var(--color-bg-alt);
}

/* Restore all hardcoded values in dark mode */
[data-theme="dark"] .btn-pill-green,
[data-theme="dark"] .btn-discover,
[data-theme="dark"] .nav-cta:hover,
[data-theme="dark"] .nav.scrolled .nav-cta:hover,
[data-theme="dark"] .nav-auth-signup,
[data-theme="dark"] .nav.scrolled .nav-auth-signup:hover,
[data-theme="dark"] .login-signup-btn,
[data-theme="dark"] .fs-cta-primary,
[data-theme="dark"] .btn-primary,
[data-theme="dark"] .product-badge.rare,
[data-theme="dark"] .seed-footer-email-btn,
[data-theme="dark"] .inline-cta button,
[data-theme="dark"] .hero-cta,
[data-theme="dark"] .final-cta-btn,
[data-theme="dark"] .product-option button.active,
[data-theme="dark"] .btn-dark {
    color: #0a1210 !important;
}

[data-theme="dark"] .nav-logo,
[data-theme="dark"] .nav.scrolled .nav-logo,
[data-theme="dark"] .nav-logo-text {
    color: #bccac4 !important;
}

[data-theme="dark"] .nav-cta,
[data-theme="dark"] .nav.scrolled .nav-cta {
    background: #50e8c0 !important;
    color: #0a1210 !important;
    border-color: #50e8c0 !important;
}

[data-theme="dark"] .nav-auth-signup {
    background: #50e8c0 !important;
    color: #0a1210 !important;
}

[data-theme="dark"] .seed-footer-mission h3 { color: #bccac4; }
[data-theme="dark"] .seed-footer-email { color: #bccac4; }
[data-theme="dark"] .inline-input-group { background: #1e2628; }
[data-theme="dark"] .inline-cta-title { color: #bccac4; }
[data-theme="dark"] .hero-graphic svg path { stroke: #12181a; }
[data-theme="dark"] .login-form label { color: #8e9c98; }
[data-theme="dark"] .auto-table thead th { background: #50e8c0; color: #12181a; }
[data-theme="dark"] .auto-table tbody td { color: #8e9c98; background: #12181a; }
[data-theme="dark"] .auto-table tbody tr:nth-child(even) td { background: #181e20; }
