/* Shared iOS Kale palette. Brand primitives remain fixed; roles change. */
html[data-alma-theme='dark'] {
  --alma-dark-text: #FFFEFC;
  --alma-dark-secondary: #B7B8B1;
  --alma-dark-accent: #AADF49;
  --alma-dark-error: #FF8A6B;
  --alma-dark-on-light: #33140C;
  --alma-dark-brand-kale: #0C331F;
  --alma-dark-on-light-secondary: #5D4036;
  --alma-dark-on-light-accent: #3C5627;
  --alma-dark-on-light-error: #84250C;
  --alma-role-text: var(--alma-dark-text);
  --alma-role-kale-ink: var(--alma-dark-text);
  --alma-role-secondary: var(--alma-dark-secondary);
  --alma-role-accent: var(--alma-dark-accent);
  --alma-role-error: var(--alma-dark-error);
  --alma-role-on-fill: var(--alma-dark-text);
  --alma-role-page: #08150D;
  --alma-role-surface: #111D14;
  --alma-role-panel: #16271A;
  --alma-role-border: #2C432E;
  --alma-role-shadow: #000000;
  --ak-bg: #16271A;
  --ak-surface: #111D14;
  --ak-text: #FFFEFC;
  --ak-text-2: #B7B8B1;
  --ak-text-3: #858A7E;
  --ak-border: #2C432E;
  --ak-action: #AADF49;
  --ak-button: linear-gradient(180deg, #56703A, #3C5627);
  --ak-rail: #2C432E;
  --ak-chevron: #6E746A;
}
html[data-alma-theme='dark'] .a2-stat,
html[data-alma-theme='dark'] .hm-gear-tile,
html[data-alma-theme='dark'] .hm-feature-copy,
html[data-alma-theme='dark'] .hm-quote {
  color: #33140C;
  --alma-role-text: #33140C;
  --alma-role-kale-ink: #0C331F;
  --alma-role-secondary: #5D4036;
  --alma-role-accent: #3C5627;
}
html[data-alma-theme='dark'] [data-alma-fill-scope] { color: var(--alma-role-text); }
html[data-alma-theme='dark'] :is(input,textarea,select)::placeholder { color: #B7B8B1; opacity: 1; }
html[data-alma-theme='dark'] .footer-section,
html[data-alma-theme='dark'] .footer-inline { background: #111D14; }
.alma-appearance-footer { position: relative; display: flex; justify-content: center; background: #33140C; color: #FFFEFC; padding: 0 24px max(20px, env(safe-area-inset-bottom)); }
html[data-alma-theme='dark'] .alma-appearance-footer { background: #111D14; }
.alma-appearance-control { display: flex; min-width: 0; margin: 0; padding: 0; border: 0; color: inherit; }
.alma-appearance-options { display: flex; align-items: center; gap: 2px; }
.alma-appearance-options label { position: relative; display: block; cursor: pointer; touch-action: manipulation; }
.alma-appearance-options input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.alma-appearance-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: rgba(255,254,252,.55); transition: color 160ms ease, background-color 160ms ease; }
.alma-appearance-options label:hover .alma-appearance-icon { color: #FFFEFC; }
.alma-appearance-options input:checked + .alma-appearance-icon { background-color: rgba(255,254,252,.07); color: #AADF49; }
.alma-appearance-options input:focus-visible + .alma-appearance-icon { outline: 2px solid #AADF49; outline-offset: 2px; }
.alma-appearance-options input:focus:not(:focus-visible) + .alma-appearance-icon { outline: 0; }
.alma-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) { .alma-appearance-icon { transition: none; } }
@media print { .alma-appearance-footer { display: none; } }

[data-alma-fixed-theme] {
  --alma-role-text: initial;
  --alma-role-kale-ink: initial;
  --alma-role-secondary: initial;
  --alma-role-accent: initial;
  --alma-role-error: initial;
  --alma-role-surface: initial;
  --alma-role-panel: initial;
  --alma-role-page: initial;
  --alma-role-border: initial;
  --alma-role-on-fill: initial;
  --alma-role-shadow: initial;
  --alma-dark-text: initial;
  --alma-dark-secondary: initial;
  --alma-dark-accent: initial;
  --alma-dark-error: initial;
  --alma-dark-on-light: initial;
  --alma-dark-brand-kale: initial;
  --alma-dark-on-light-secondary: initial;
  --alma-dark-on-light-accent: initial;
  --alma-dark-on-light-error: initial;
}

/* Semantic colors mirror iOS greenBlack, not brandKale.
   UX+AlmaColorDark.swift is the authority; web typography and photo color stay. */
html[data-alma-theme='dark'] {
  color-scheme: dark;
  --kale-page: #08150D;
  --kale-surface: #111D14;
  --kale-raised: #16271A;
  --kale-input: #1E3324;
  --kale-border: #2C432E;
  --kale-strong: #56703A;
  --kale-text: #FFFEFC;
  --kale-secondary: #B7B8B1;
  --kale-muted: #858A7E;
  --a2-muted-ink: var(--kale-secondary);
  --alma-button-gradient: linear-gradient(to bottom, #56703A, #3C5627);
  --alma-button-gradient-hover: linear-gradient(to bottom, #617D43, #45632D);
  --alma-button-shadow: 0 10px 18px -10px rgba(0, 0, 0, 0.35), inset 0 0 0 1px rgba(255, 254, 252, 0.06);
  --a2-shadow-soft: 0 18px 28px -20px rgba(0, 0, 0, 0.35), inset 0 0 0 1px var(--kale-border);
  --a2-shadow-lift: 0 22px 32px -20px rgba(0, 0, 0, 0.35), inset 0 0 0 1px var(--kale-strong);
  background: var(--kale-page);
}

/* Preserve fixed brand panels and static text colors; semantic surface aliases
   alone would turn white CTA text dark and recolor the photography. */
html[data-alma-theme='dark'] .a2-btn--light { background: var(--kale-input); color: var(--kale-text) !important; }
html[data-alma-theme='dark'] nav.nav-header.nav-a2.nav-a2 .nav-content { background: var(--kale-surface); box-shadow: var(--a2-shadow-soft); }
html[data-alma-theme='dark'] .mobile-menu-overlay { background: var(--kale-surface); color: var(--kale-text); }
html[data-alma-theme='dark'] .mobile-menu-overlay a,
html[data-alma-theme='dark'] .mobile-menu-overlay a:visited { color: var(--kale-text); }
html[data-alma-theme='dark'] .mobile-menu-close path { stroke: var(--kale-text); }
html[data-alma-theme='dark'] .hm-hero-card { background: var(--kale-page); }
html[data-alma-theme='dark'] .hm-hero-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 10%, rgba(8, 21, 13, 0.2) 32%, #08150D 60%); pointer-events: none; }
html[data-alma-theme='dark'] .hm-hero-copy,
html[data-alma-theme='dark'] .hm-hero-copy h1 { color: var(--kale-text); }
html[data-alma-theme='dark'] .hm-hero-proof { --a2-proof-ink: var(--kale-text); --a2-proof-ring: var(--kale-page); }
html[data-alma-theme='dark'] .hm-w { color: var(--kale-muted); }
html[data-alma-theme='dark'] .hm-w.on { color: var(--kale-text); }
html[data-alma-theme='dark'] .hm-tone { background: var(--kale-raised); }
html[data-alma-theme='dark'] .hm-tabs button { background: var(--kale-input); }
html[data-alma-theme='dark'] .hm-tabs button[aria-selected='true'] { background: var(--kale-surface); }
html[data-alma-theme='dark'] :is(.a2-bubble--user, .hm-ask-q, .hm-focus) { background: var(--kale-input); color: var(--kale-text); }
html[data-alma-theme='dark'] :is(.a2-bubble--alma, .hm-say, .hm-composer) { box-shadow: var(--a2-shadow-soft); }
html[data-alma-theme='dark'] .hm-composer { background: var(--kale-input); }
html[data-alma-theme='dark'] .hm-composer input::placeholder { color: var(--kale-secondary); }
html[data-alma-theme='dark'] :is(.hm-sci-stage, .hm-ask) { background: var(--kale-raised); color: var(--kale-text); }
html[data-alma-theme='dark'] .hm-ring-fill { stroke: var(--alma-color-kiwi); }
html[data-alma-theme='dark'] .hm-ring-track { stroke: var(--kale-border); }
html[data-alma-theme='dark'] .hm-faces img { border-color: var(--kale-raised); }
html[data-alma-theme='dark'] .hm-footer { background: var(--kale-surface); color: var(--kale-text); }
html[data-alma-theme='dark'] .site-footer-nav--dark { --footer-ink: var(--kale-text); }
html[data-alma-theme='dark'] .hm-newsletter h2 { color: var(--kale-text); }
html[data-alma-theme='dark'] .hm-newsletter input { background: var(--kale-input); color: var(--kale-text); }
html[data-alma-theme='dark'] .hm-newsletter input::placeholder { color: var(--kale-secondary); }
html[data-alma-theme='dark'] .hm-newsletter-status[data-status='error'] { color: #FF8A6B; }

/* Real homepage product pieces use the same native semantic palette. Keep
   fixed macro hues, gradients and canonical brand marks intact. */
html[data-alma-theme='dark'] .hm-kit {
  --text-primary: #FFFEFC;
  --text-primary-inverted: #08150D;
  --text-secondary: #B7B8B1;
  --text-secondary-translucent: #B7B8B1;
  --text-chart-overlay: #B7B8B1;
  --background: #08150D;
  --secondary-background: #16271A;
  --ui-background: #08150D;
  --ui-foreground: #111D14;
  --ui-tertiary: #16271A;
  --ui-border-lighter: #2C432E;
  --ui-border-darker: #56703A;
  --ui-border-translucent: #2C432E;
  --ui-action-primary: #AADF49;
  --ui-action-secondary: #1B2B1F;
  --ui-input-filled: #1E3324;
  --ui-rail: #2C432E;
  --ui-logo: #AADF49;
  --ui-icon-active: #FFFEFC;
  --ui-icon-inactive: #6E746A;
  --icon-primary: #FFFEFC;
  --ui-button-primary-gradient: linear-gradient(180deg, #56703A, #3C5627);
  --ui-button-primary-inner-shadow: rgba(255, 254, 252, 0.06);
  --chart-background: linear-gradient(180deg, #111D14, #08150D);
  --teriyaki-gradient: linear-gradient(180deg, #FFFEFC, #D9D8D6);
  --alma-score-text-gradient: linear-gradient(180deg, #FFFEFC, #D9D8D6);
  --macros-orb-calorie-background: #1E3324;
  --macros-orb-protein-background: #53301F;
  --macros-orb-carb-background: #39431B;
  --macros-orb-fat-background: #4A421B;
}
html[data-alma-theme='dark'] .hm-kit .a-score-num--ring { background-image: var(--alma-score-text-gradient); }
html[data-alma-theme='dark'] .hm-kit .a-orb-text--filled,
html[data-alma-theme='dark'] .hm-kit .a-orb-text--filled .a-orb-of { color: var(--text-static-teriyaki) !important; }
html[data-alma-theme='dark'] .ak-orb-text.liquid-orb-text--filled,
html[data-alma-theme='dark'] .ak-orb-text.liquid-orb-text--filled small { color: #33140C; }

html[data-alma-theme='dark'] .hm-hero-copy {
  --alma-role-text: #FFFEFC;
  --alma-role-kale-ink: #FFFEFC;
  --alma-role-secondary: #B7B8B1;
  --alma-role-on-fill: #FFFEFC;
}

/* These homepage panels switch from a bright mix to a native dark surface. */
html[data-alma-theme='dark'] .hm-tone {
  --alma-role-text: #FFFEFC;
  --alma-role-kale-ink: #FFFEFC;
  --alma-role-secondary: #B7B8B1;
  --alma-role-accent: #AADF49;
  --alma-role-on-fill: #FFFEFC;
  color: #FFFEFC;
}
html[data-alma-theme='dark'] .lp-mark--no { color: #FFFEFC; }
html[data-alma-theme='dark'] .mpl-day-name {
  background: #16271A;
  --alma-role-text: #FFFEFC;
  --alma-role-kale-ink: #FFFEFC;
  --alma-role-secondary: #B7B8B1;
  --alma-role-accent: #AADF49;
  --alma-role-on-fill: #FFFEFC;
  color: #FFFEFC;
}
html[data-alma-theme='dark'] .mpl-day-name small { color: #B7B8B1; }
html[data-alma-theme='dark'] .phones figcaption b span { background: #1E3324; color: #AADF49; }
html[data-alma-theme='dark'] .lc-optional { color: #FFFEFC; }
