/* assess.smilestory.ai — site theme (2026-10-20). Loaded LAST in <head> (after main.css, diagnose.css and each page's
   own <style>), with assets/js/site-theme.js in <head> before the stylesheets setting <html data-theme>.
   Dark = the original neon theme: main.css / diagnose.css are NOT changed, and apart from the header theme button
   every rule below is scoped to html[data-theme="light"], so dark renders exactly as before.
   Light palette: page #F7F8FB · cards #fff · text #0F172A · muted #475569 · lines #E2E8F0 ·
   primary #0E7490 (5.4:1 on white) · purple #7C3AED · gold text #B45309 (on white 5.0:1).
   Inline style="color:#…" attributes (footers, hub, diagnose result) need !important. */

/* ===== header theme button (both themes) ===== */
.theme-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; padding: 0; flex-shrink: 0;
    margin: -2px 0; /* takes 30px of line height, so headers without a language button keep their old height */
    background: rgba(0,245,255,0.08);
    border: 1px solid rgba(0,245,255,0.25);
    color: var(--primary);
    border-radius: 999px;
    cursor: pointer;
    transition: background .2s, border-color .2s;
}
.theme-btn:hover { background: rgba(0,245,255,0.18); border-color: var(--primary); }
.theme-btn svg { display: block; width: 16px; height: 16px; }
html[data-theme="light"] .theme-btn { background: #fff; border-color: #CBD5E1; color: #0E7490; }
html[data-theme="light"] .theme-btn:hover { background: #ECFEFF; border-color: #0E7490; }

/* ===== light tokens ===== */
html[data-theme="light"] {
    --primary: #0E7490;
    --secondary: #C2410C;
    --accent: #7C3AED;
    --success: #15803D;
    --warning: #B45309;
    --danger: #B91C1C;
    --card-bg: #FFFFFF;
    --glow: 0 1px 3px rgba(15,23,42,0.12);
    color-scheme: light;
}
html[data-theme="light"] body { background: #F7F8FB; color: #0F172A; }

/* background decoration: neon glow → faint tint */
html[data-theme="light"] .bg-animation {
    background:
        radial-gradient(ellipse at 20% 20%, rgba(14,116,144,0.06) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 80%, rgba(124,58,237,0.05) 0%, transparent 50%);
}
html[data-theme="light"] .grid-overlay {
    background-image:
        linear-gradient(rgba(15,23,42,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15,23,42,0.035) 1px, transparent 1px);
}

/* ===== header ===== */
html[data-theme="light"] .site-header { background: rgba(255,255,255,0.86); border-bottom-color: #E2E8F0; }
html[data-theme="light"] .brand { color: #0F172A; }
html[data-theme="light"] .brand small { color: #475569; }
html[data-theme="light"] .brand .brand-mark,
html[data-theme="light"] .footer-brand .footer-mark { box-shadow: 0 1px 3px rgba(15,23,42,0.18); }
html[data-theme="light"] .nav a { color: #334155; }
html[data-theme="light"] .nav a:hover { color: var(--primary); }
html[data-theme="light"] .lang-btn { background: #fff; border-color: #CBD5E1; color: #0E7490; }
html[data-theme="light"] .lang-btn:hover { background: #ECFEFF; border-color: #0E7490; }

/* ===== hero ===== */
html[data-theme="light"] .hero .kicker { background: #ECFDF5; border-color: rgba(21,128,61,0.30); color: #166534; }
html[data-theme="light"] .hero h1 { background: linear-gradient(135deg, #0F172A 0%, #0E7490 55%, #7C3AED 100%); -webkit-background-clip: text; background-clip: text; }
html[data-theme="light"] .hero p { color: #475569; }

/* ===== buttons ===== */
html[data-theme="light"] .btn-primary,
html[data-theme="light"] .dx-btn-primary { color: #fff; box-shadow: 0 6px 18px rgba(14,116,144,0.22); }
html[data-theme="light"] .btn-primary:hover,
html[data-theme="light"] .dx-btn-primary:hover { box-shadow: 0 10px 24px rgba(14,116,144,0.30); }
html[data-theme="light"] .btn-secondary,
html[data-theme="light"] .dx-btn-secondary { background: #fff; color: #0F172A; border: 1px solid #CBD5E1; }
html[data-theme="light"] .btn-secondary:hover,
html[data-theme="light"] .dx-btn-secondary:hover { background: #F0F9FF; border-color: #0E7490; }

/* ===== sections / cards ===== */
html[data-theme="light"] .section-title { color: #0F172A; }
html[data-theme="light"] .weapon-card,
html[data-theme="light"] .service-card {
    background: #fff; border-color: #E2E8F0; box-shadow: 0 1px 3px rgba(15,23,42,0.06);
}
html[data-theme="light"] .service-card { border-left-color: var(--success); }
html[data-theme="light"] .weapon-card:hover,
html[data-theme="light"] .service-card:hover { border-color: rgba(14,116,144,0.40); box-shadow: 0 14px 34px rgba(15,23,42,0.10); }
html[data-theme="light"] .service-card:hover { border-left-color: var(--success); }
html[data-theme="light"] .weapon-card .num { color: #fff; }
html[data-theme="light"] .weapon-card p { color: #475569; }
html[data-theme="light"] .weapon-card .label-row img { box-shadow: 0 2px 6px rgba(15,23,42,0.18); }

html[data-theme="light"] .grid-section-title { border-bottom-color: #E2E8F0; }
html[data-theme="light"] .grid-section-title .section-count { color: #334155; background: #E0F2FE; }
html[data-theme="light"] .grid-section-title .section-sub { color: #475569; }
/* MVP pill keeps its original orange fill (dark text on it is 7:1) */
html[data-theme="light"] .service-card .mvp-tag { background: linear-gradient(135deg, #ff6b35, #f59e0b); color: #050508; }
html[data-theme="light"] .service-name { color: #0F172A; }
html[data-theme="light"] .service-wia-label { color: #475569; }
html[data-theme="light"] .price-tier { color: #0F172A; background: #F8FAFC; border-color: #E2E8F0; }
html[data-theme="light"] .price-tier .tier-label { color: #475569; }
html[data-theme="light"] .price-tier.std { border-color: rgba(21,128,61,0.45); }
html[data-theme="light"] .price-tier.dlx { border-color: rgba(14,116,144,0.45); background: #F0F9FF; }
html[data-theme="light"] .price-tier.prm { border-color: rgba(124,58,237,0.45); background: #F5F3FF; }
html[data-theme="light"] .price-soon .price-tier { color: #334155; background: #F1F5F9; }
html[data-theme="light"] .pricing-note { color: #475569; }

html[data-theme="light"] .compliance-strip { background: #EEF2F7; border-top-color: #E2E8F0; border-bottom-color: #E2E8F0; }
html[data-theme="light"] .compliance-item { background: #fff; border-color: #E2E8F0; color: #334155; }

html[data-theme="light"] .disclaimer-banner { background: #FFFBEB; border-top-color: rgba(180,83,9,0.28); border-bottom-color: rgba(180,83,9,0.28); color: #92400E; }
html[data-theme="light"] .disclaimer-banner small { color: #92400E; }

html[data-theme="light"] .skeleton { background: linear-gradient(90deg, #E2E8F0 0%, #F1F5F9 50%, #E2E8F0 100%); background-size: 200% 100%; }

/* ===== footer + promo strip ===== */
html[data-theme="light"] .site-footer { background: #EEF2F7; border-top-color: #E2E8F0; }
html[data-theme="light"] .wia-promo-banner-region { background: #EEF2F7 !important; }
html[data-theme="light"] .site-footer .wia-promo-banner-region { background: transparent !important; }
html[data-theme="light"] .wia-promo-banner { border-color: #E2E8F0; box-shadow: 0 10px 28px -18px rgba(15,23,42,0.35); }
html[data-theme="light"] .wia-promo-banner:hover { box-shadow: 0 16px 34px -18px rgba(15,23,42,0.40); }
html[data-theme="light"] .footer-brand h2,
html[data-theme="light"] .footer-brand h3,
html[data-theme="light"] .footer-brand h4 { color: #0F172A !important; }
html[data-theme="light"] .footer-brand p { color: #475569; }
html[data-theme="light"] .footer-links a { color: #334155; }
html[data-theme="light"] .footer-links a:hover { color: var(--primary); }
html[data-theme="light"] .footer-links a[style*="#fbbf24"] { color: #B45309 !important; }
html[data-theme="light"] .footer-company { color: #475569 !important; border-top-color: #D9E0EA; border-bottom-color: #D9E0EA; }
html[data-theme="light"] .footer-company a { color: #1E293B !important; }
html[data-theme="light"] .footer-rights { color: #475569; }
html[data-theme="light"] .footer-a11y-badge [style*="#94a3b8"] { color: #475569 !important; }

/* ===== inline-styled text in page bodies (hub, legal, diagnose result) ===== */
html[data-theme="light"] main [style*="color:#fff"],
html[data-theme="light"] main [style*="color: #fff"] { color: #0F172A !important; }
html[data-theme="light"] main [style*="color:#94a3b8"],
html[data-theme="light"] main [style*="color: #94a3b8"],
html[data-theme="light"] main [style*="color:#64748b"],
html[data-theme="light"] main [style*="color: #64748b"] { color: #475569 !important; }
html[data-theme="light"] main [style*="color:#cbd5e1"],
html[data-theme="light"] main [style*="color: #cbd5e1"] { color: #334155 !important; }
html[data-theme="light"] main [style*="rgba(255,255,255,0.06)"] { border-top-color: #E2E8F0 !important; }

/* ===== legal pages (terms / privacy / refund / disclaimer) ===== */
html[data-theme="light"] .legal h1,
html[data-theme="light"] .legal h3,
html[data-theme="light"] .legal .lang-block strong { color: #0F172A; }
html[data-theme="light"] .legal .updated { color: #475569; }
html[data-theme="light"] .legal h2 { border-top-color: #E2E8F0; }
html[data-theme="light"] .legal p,
html[data-theme="light"] .legal li { color: #334155; }
html[data-theme="light"] .legal .lang-block { background: #fff; border-color: #E2E8F0; }
html[data-theme="light"] .badge { background: #E0F2FE; color: #0E7490; }
html[data-theme="light"] .rule-box { background: #F0FDF4; border-color: rgba(21,128,61,0.35); color: #166534; }
html[data-theme="light"] .rule-box strong { color: #14532D; }
html[data-theme="light"] .rule-box .sub { color: #475569; }
html[data-theme="light"] .warn-box { background: #FFFBEB; border-color: rgba(180,83,9,0.35); color: #92400E; }
html[data-theme="light"] .lang-tab { background: #fff; border-color: #CBD5E1; color: #334155; }
html[data-theme="light"] .lang-tab.active { background: #E0F2FE; border-color: #0E7490; color: #0F172A; }
html[data-theme="light"] .step-list li::before { background: #E0F2FE; color: #0E7490; }

/* ===== 404 / 500 ===== */
html[data-theme="light"] .err-title { color: #0F172A; }
html[data-theme="light"] .err-body { color: #475569; }
html[data-theme="light"] .err-mvp,
html[data-theme="light"] .err-incident { background: #fff; border-color: #E2E8F0; }
html[data-theme="light"] .err-incident { color: #334155; }
html[data-theme="light"] .err-incident strong { color: #0F172A; }
html[data-theme="light"] .err-mvp li a { background: #F8FAFC; border-color: #E2E8F0; color: #0F172A; }
html[data-theme="light"] .err-mvp li a:hover { background: #F0F9FF; border-color: rgba(14,116,144,0.40); }
html[data-theme="light"] .err-mvp .slug,
html[data-theme="light"] .err-phase3 { color: #475569; }
html[data-theme="light"] .lang-pill { background: #E0F2FE; border-color: rgba(14,116,144,0.30); color: #0E7490; }
html[data-theme="light"] body:has(.err-incident) .lang-pill { background: #FEF2F2; border-color: rgba(185,28,28,0.30); color: #B91C1C; }

/* ===== waitlist placeholder pages (/diagnose/<9 coming-soon>/) ===== */
html[data-theme="light"] .ph-kicker { background: #F5F3FF; border-color: rgba(124,58,237,0.30); color: #6D28D9; }
html[data-theme="light"] .ph-name { color: #0F172A; }
html[data-theme="light"] .ph-subtitle { color: #475569; }
html[data-theme="light"] .ph-meta { color: #475569; }
html[data-theme="light"] .ph-meta span strong { color: #1E293B; }
html[data-theme="light"] .ph-mvp { background: #fff; border-color: #E2E8F0; }
html[data-theme="light"] .ph-mvp li a { background: #F8FAFC; border-color: #E2E8F0; color: #0F172A; }
html[data-theme="light"] .ph-mvp li a:hover { background: #F0F9FF; border-color: rgba(14,116,144,0.40); }
html[data-theme="light"] .ph-mvp .mvp-slug { color: #475569; }
html[data-theme="light"] .ph-waitlist { background: #fff; border-color: rgba(124,58,237,0.22); }
html[data-theme="light"] .ph-waitlist h2 { color: #6D28D9; }
html[data-theme="light"] .ph-waitlist p { color: #475569; }
html[data-theme="light"] .ph-waitlist input[type=email] { background: #fff; border-color: #CBD5E1; color: #0F172A; }
html[data-theme="light"] .ph-waitlist button { background: linear-gradient(135deg, #7C3AED, #0E7490); }
html[data-theme="light"] #waitlistMsg[style*="252, 165, 165"] { color: #B91C1C !important; }
html[data-theme="light"] #waitlistMsg[style*="134, 239, 172"] { color: #15803D !important; }

/* ===== diagnose form + result (diagnose.css) ===== */
html[data-theme="light"] .dx-loading { color: #475569; }
html[data-theme="light"] .dx-header .dx-title { color: #0F172A; }
html[data-theme="light"] .dx-header .dx-intro { color: #334155; }
html[data-theme="light"] .dx-header .dx-disclaimer { color: #475569; }
html[data-theme="light"] .dx-progress { background: #E2E8F0; }
html[data-theme="light"] .dx-question { background: #fff; border-color: #E2E8F0; box-shadow: 0 1px 3px rgba(15,23,42,0.05); }
html[data-theme="light"] .dx-question:focus-within { border-color: rgba(14,116,144,0.50); box-shadow: 0 0 0 3px rgba(14,116,144,0.12); }
html[data-theme="light"] .dx-q-text { color: #0F172A; }
html[data-theme="light"] .dx-option { background: #F8FAFC; border-color: #E2E8F0; }
html[data-theme="light"] .dx-option:hover { background: #F1F5F9; border-color: rgba(14,116,144,0.45); }
html[data-theme="light"] .dx-option-text { color: #334155; }
html[data-theme="light"] .dx-option input[type="radio"]:checked + .dx-option-text { color: #0F172A; }
html[data-theme="light"] .dx-option:has(input[type="radio"]:checked) { background: #ECFEFF; border-color: #0E7490; box-shadow: none; }
html[data-theme="light"] .dx-mapping { background: #F1F5F9; color: #475569; }
html[data-theme="light"] .dx-contact { background: #fff; border-color: rgba(124,58,237,0.25); }
html[data-theme="light"] .dx-contact h2,
html[data-theme="light"] .dx-contact h3 { color: #0F172A; }
html[data-theme="light"] .dx-field label { color: #334155; }
html[data-theme="light"] .dx-field input { background: #fff; border-color: #CBD5E1; color: #0F172A; }
html[data-theme="light"] .dx-field input:focus { border-color: #0E7490; box-shadow: 0 0 0 3px rgba(14,116,144,0.15); }
html[data-theme="light"] .dx-result { background: #fff; border-color: rgba(14,116,144,0.35); }
html[data-theme="light"] .dx-score { text-shadow: none; }
html[data-theme="light"] .dx-score-suffix { color: #475569; }
html[data-theme="light"] .dx-grade-R { background: #FEF2F2; }
html[data-theme="light"] .dx-grade-Y { background: #FFFBEB; }
html[data-theme="light"] .dx-grade-G { background: #F0FDF4; }
html[data-theme="light"] .dx-result-msg { color: #334155; }
html[data-theme="light"] .dx-tier { background: #fff; border-color: #E2E8F0; }
html[data-theme="light"] .dx-tier-recommended { border-color: #0E7490; box-shadow: 0 6px 20px rgba(14,116,144,0.14); }
html[data-theme="light"] .dx-tier-price { color: #0F172A; }
html[data-theme="light"] .dx-tier-currency { color: #475569; }
html[data-theme="light"] .dx-tier-label { color: #334155; }
html[data-theme="light"] .dx-refund-note,
html[data-theme="light"] .dx-refund-note a { color: #15803D !important; }

/* text selection + form controls follow the theme */
html[data-theme="light"] ::selection { background: rgba(14,116,144,0.20); }
