/* Dental semantic theme for the practitioner-acquisition journey. Keep these
   values aligned with the canonical client tokens in /styles.css. */
:root {
  --page-bg:#f7f9fc;
  --surface-base:#ffffff;
  --surface-raised:#ffffff;
  --surface-inset:#f1f5f9;
  --text-primary:#0f172a;
  --text-secondary:#334155;
  --text-help:#52627a;
  --text-link:#0f766e;
  --border-default:#7c8da5;
  --border-divider:#7c8da5;
  --interactive:#0f766e;
  --interactive-hover:#115e59;
  --on-interactive:#ffffff;
  --control-surface:#ffffff;
  --control-border:#64748b;
  --control-text:#0f172a;
  --control-placeholder:#52627a;
  --focus-outline:#0e7490;
  --success-surface:#ecfdf5;
  --success-text:#065f46;
  --error-surface:#fff1f2;
  --error-text:#9f1239;
  --info-surface:#eff6ff;
  --info-border:#1d4ed8;
  --info-text:#1e3a8a;
  --accent:#1e3a8a;
  --accent-50:#eef2ff;
  --header-bg:rgba(255,255,255,.88);
  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --shadow:0 2px 8px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04);
  --shadow-lg:0 20px 40px -12px rgba(15,23,42,.15),0 8px 20px -8px rgba(15,23,42,.08);
  --cta-surface:linear-gradient(120deg,#0b2b58,#064283);
  --cta-base:#0b2b58;
  --cta-text:#ffffff;
  --cta-muted:#d9e6f2;

  /* Local aliases keep the four existing layouts on the shared token system. */
  --navy:var(--text-primary);
  --navy-soft:var(--text-secondary);
  --teal:var(--interactive);
  --teal-dark:var(--interactive-hover);
  --mint:var(--surface-inset);
  --mint-strong:var(--surface-inset);
  --aqua:var(--surface-inset);
  --blue-soft:var(--surface-inset);
  --ink:var(--text-primary);
  --muted:var(--text-help);
  --line:var(--border-divider);
  --soft:var(--surface-inset);
  --white:var(--surface-base);
  --error:var(--error-text);
  color-scheme:light;
}

body { background:var(--page-bg); color:var(--text-primary); }
.site-header,body > header { border-color:var(--border-divider); background:var(--header-bg); }
.flow-card,.benefit-card,.price-card,.compare-card,.scenario,.patient-quote,.form-shell { background:var(--surface-raised); border-color:var(--border-divider); }
.flow-card.is-tekel { background:var(--surface-raised); border-color:var(--border-divider); }
.problem-bubble,.compare-icon,.join-field input,.join-field textarea,.join-field select { background-color:var(--control-surface); color:var(--control-text); border-color:var(--control-border); }
.comparison-section,.hero,.final-cta { background:transparent; }
.comparison-section .wrap,.fit-card { background:var(--surface-inset); border-color:var(--border-divider); }
.compare-card.is-tekel { background:var(--surface-raised); border-color:var(--interactive); }
.scenario-note { background:var(--info-surface); border-color:var(--info-border); color:var(--text-primary); }
.best-fit,.trial-note,.join-msg.ok { background:var(--success-surface); color:var(--success-text)!important; }
.join-msg.err { background:var(--error-surface); color:var(--error-text); }
.eyebrow,.specialty,.price-number,.hero-emphasis { color:var(--interactive); }
.eyebrow,.benefit-mark,.why-icon,.journey-icon { background:var(--surface-inset); }
.fit-icon { border-color:var(--border-divider); }
.rank { background:var(--accent); color:var(--surface-base); }
.step-label,.flow-arrow,.flow-list li::before { color:var(--interactive); }
.step-number,.flow-card.is-tekel .step-number { background:var(--interactive); color:var(--on-interactive); }
.btn-primary,.join-btn,.button,.nav-cta { background:var(--interactive); color:var(--on-interactive); }
.btn-primary:hover,.join-btn:hover,.button:hover,.nav-cta:hover { background:var(--interactive-hover); }
.final-cta-panel,.cta-panel { background-color:var(--cta-base); background-image:var(--cta-surface); }
.final-cta h2,.final-cta p,.final-cta .brand-lockup,.cta-panel,.cta-content h2,.cta-note,.final-cta .back-link,.cta-panel .back-link,.cta-brand { color:var(--cta-text); }
.final-cta .cancel-note,.cta-panel p,.secondary { color:var(--cta-muted); }
.final-cta .btn-primary,.cta-panel .btn-primary { border-color:var(--interactive); background:var(--interactive); color:var(--on-interactive); }
:focus-visible { outline-color:var(--focus-outline); }

@media (prefers-color-scheme:dark) {
  :root {
    --page-bg:#0b1220;
    --surface-base:#101b2d;
    --surface-raised:#162338;
    --surface-inset:#1b2a42;
    --text-primary:#f8fafc;
    --text-secondary:#d4e0f2;
    --text-help:#b7c5d9;
    --text-link:#5eead4;
    --border-default:#5a6f8f;
    --border-divider:#5a6f8f;
    --interactive:#5eead4;
    --interactive-hover:#99f6e4;
    --on-interactive:#062a29;
    --control-surface:#101b2d;
    --control-border:#7085a5;
    --control-text:#f8fafc;
    --control-placeholder:#b7c5d9;
    --focus-outline:#7dd3fc;
    --success-surface:#0b362e;
    --success-text:#c6f6df;
    --error-surface:#461521;
    --error-text:#ffe4e6;
    --info-surface:#102e50;
    --info-border:#76b8ff;
    --info-text:#dbeafe;
    --accent:#b8ceff;
    --accent-50:#1b2847;
    --header-bg:rgba(11,18,32,.88);
    --shadow-sm:0 1px 2px rgba(0,0,0,.35);
    --shadow:0 2px 10px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.2);
    --shadow-lg:0 20px 40px -12px rgba(0,0,0,.55),0 8px 20px -8px rgba(0,0,0,.35);
    --cta-surface:linear-gradient(120deg,#101b2d,#162f4d);
    --cta-base:#101b2d;
    --cta-text:#f8fafc;
    --cta-muted:#d4e0f2;
    color-scheme:dark;
  }

  .patient-quote::after { background:var(--surface-raised); border-color:var(--border-divider); }
  .join-field input::placeholder,.join-field textarea::placeholder { color:var(--control-placeholder); }
}
