/* theme-redesign.css — sand/red/black/white (light) · black/blue/gray/white (dark).
   Loaded AFTER styles.css; redefines vars + a few hardcoded brand rules. AA-checked.
   Does NOT touch styles.css. Added 2026-06-20. */

/* ---------------- LIGHT: LIGHTER sand / red / black / white (S2, 2026-06-20 r3) ----------------
   Mike's ask: lighter sand-tan, easy on the eyes, NOT flashlight-bright. Page bg warmer-light
   (#F0E8D8) and ALL pure-white card/control surfaces softened to warm off-white (#F9F4EB cards /
   #FDFAF4 inputs) so a night/pain client gets a comfortable page pre-toggle. AA ≥4.5 verified. */
:root{
  color-scheme: light;
  --cream-bg:#F0E8D8; --cream-fade:#F9F4EB; --cream-border:#E1D6C0;
  --navy:#16181d; --navy-2:#3a3f47;
  --rust:#e02434; --orange:#f5414c; --rust-strong:#bd1b2b;   /* rust-strong = AA red for link text on sand */
  --sage:#8B9A7F; --gold:#C8B896;
  --dark:#16181d; --white:#ffffff;                            /* --white kept TRUE white: text-on-color / on-dark */
  --body-text:#33302A; --title-text:#211F1B;
  --bg:#F0E8D8; --surface:#FDFAF4; --surface-2:#F9F4EB;       /* surface=inputs (lightest); surface-2/card=warm off-white */
  --text:#33302A; --muted:#6A6051; --line:#E1D6C0;
  --section-cream:#F0E8D8; --section-dark:#16181d;
  --card-bg:#F9F4EB; --nav-bg:#F0E8D8;
  --footer-bg:#16181d; --footer-text:#ffffff; --on-dark:#ffffff; --on-dark-muted:rgba(255,255,255,.80);
  --focus:#e02434;
}
/* ---------------- DARK: black / blue / gray / white ---------------- */
:root[data-theme="dark"]{
  color-scheme: dark;
  --cream-bg:#0c0e12; --cream-fade:#14171d; --cream-border:#262a31;
  --navy:#e8eaed; --navy-2:#aab2bd;
  --rust:#2f6bff; --orange:#5b86ff; --rust-strong:#7aa0ff;   /* accent = blue in dark */
  --sage:#8B9A7F; --gold:#d8c08a;
  --dark:#070809; --white:#f2f4f7;
  --body-text:#c4ccd6; --title-text:#f4f6f9;
  --bg:#0c0e12; --surface:#161a20; --surface-2:#1c2128;
  --text:#e6e9ee; --muted:#9aa3af; --line:#262a31;
  --section-cream:#0c0e12; --section-dark:#070809;
  --card-bg:#161a20; --nav-bg:#101319;
  --footer-bg:#070809; --footer-text:#e6e9ee; --on-dark:#f2f4f7; --on-dark-muted:rgba(242,244,247,.74);
  --focus:#2f6bff;
}
/* -------- hardcoded-rule overrides (var redefinition can't reach these) -------- */
/* primary CTA → accent fill (was navy in light); auto-blue in dark via --rust */
.btn:not(.btn-rust):not(.btn-soon){ background:var(--rust); color:#fff; }
.btn:not(.btn-rust):not(.btn-soon):hover{ background:var(--rust-strong); }
.btn-rust:hover{ background:var(--rust-strong); }              /* was #b8550f */
.nav-links a.nav-cta:hover{ background:var(--rust-strong); }   /* was #b8550f */
/* hero photo overlay → neutral charcoal so the sand/red theme stays crisp (dark mode keeps its own deeper overlay) */
.hero::before{ background:linear-gradient(180deg,rgba(12,12,14,.34) 0%,rgba(12,12,14,.20) 42%,rgba(12,12,14,.60) 100%); }

/* ===== audit miss-fixes (2026-06-20) — global/safe only; intake-form territory deferred ===== */
/* nav "Book Now" CTA hover → accent (red light / blue dark) */
.nav-cta-mid:hover{ background:var(--rust-strong); }

/* about "approach" cards sit in section.dark but get a WHITE card bg in light theme; the
   section.dark heading rule whitewashed the titles → invisible on white. Restore token color. */
section.dark .card h3{ color:var(--title-text); }

/* .muted was hardcoded #8a8078 (off-palette on sand, low-contrast on black) → map to the token.
   Covers (optional) labels, footer notes, .acct-status.muted, add-on hints across every page. */
.muted{ color:var(--muted) !important; }

/* account / manage appointment UI (only renders when logged in) — badges + welcome note still
   carried old cream/gold/grey with no theme override. Keep semantic confirmed-green as-is. */
.welcome-note{ background:var(--surface-2); border-color:var(--line); color:var(--text); }
.appt-badge.requested{ background:#f5e6c8; color:#7a5e12; }
:root[data-theme="dark"] .appt-badge.requested{ background:#3a3320; color:#e6cf86; }
.appt-badge.cancelled{ background:#ece9e9; color:#5f5f5f; }
:root[data-theme="dark"] .appt-badge.cancelled{ background:#2a2e35; color:#aab2bd; }
:root[data-theme="dark"] .appt-card.status-cancelled{ border-left-color:#3a3f47; }

/* ===== intake-form + law-note reconciliation (2026-06-20 r2) =====
   The intake chat redesigned the body map to a blue/gray CONSENT scheme (kept as-is — intentional).
   Its smart-intake.css loads AFTER this file and hardcodes WARM-ORANGE in DARK only
   (#c2570f / #e0834a / #e0a36b), bypassing --rust → clashes with the site's blue dark-accent.
   !important reclaims blue WITHOUT editing their file. Light mode already themes via var(--rust). */
:root[data-theme="dark"] .bm-zone:hover{ border-color:var(--rust) !important; }
:root[data-theme="dark"] .bm-zone.focus{ background:var(--rust) !important; border-color:var(--rust) !important; }
:root[data-theme="dark"] .intake-tab.active{ color:var(--rust) !important; border-bottom-color:var(--rust) !important; }
:root[data-theme="dark"] .photo-drop{ color:var(--rust) !important; }
:root[data-theme="dark"] .photo-drop:hover{ border-color:var(--rust) !important; }
:root[data-theme="dark"] .intake-collapse-sum{ color:var(--rust) !important; }
/* prefill-hint note still old peachy-cream (light) / brown (dark) → neutral themed surface */
.intake-note.prefill-hint{ background:var(--surface-2) !important; border-color:var(--line) !important; color:var(--text) !important; }
:root[data-theme="dark"] .intake-note.prefill-hint{ background:var(--surface-2) !important; border-color:var(--line) !important; color:var(--text) !important; }
/* law-note (styles.css cream #fdf0e9 light / brown #2a211a dark) → themed surface, both modes
   (this file loads after styles.css → wins without !important) */
.law-note{ background:var(--surface-2); color:var(--text); }
:root[data-theme="dark"] .law-note{ background:var(--surface-2); color:var(--text); }


/* ===== light-theme de-glare (S2, 2026-06-20 r3) — kill pure-white panels, LIGHT only =====
   styles.css hardcodes #fff on cards + controls; this file loads after it → wins. Scoped to
   :not([data-theme="dark"]) so DARK stays byte-for-byte unchanged. smart-intake controls use
   var(--surface,#fff) already → they inherit --surface automatically (no edit to their file). */
:root:not([data-theme="dark"]) .card,
:root:not([data-theme="dark"]) .price-card{ background:var(--card-bg); }
:root:not([data-theme="dark"]) :is(.form-row input,.form-row textarea,.date-row input[type=date],
  .intake-select,.sigpad,.step,.svc,.slot,.loc-card,.opt-pill,.addr-suggest,.none-toggle){ background:var(--surface); }
