/* ==========================================================================================
   Al Hayat Solutions: site tokens (the retained legacy public pages). public/css/site/tokens.css
   Ported from .research/redesign/v2/assets/tokens.css with the FINAL palette (commit 1f73c2b, "ivory-sky"):
   sky canvas, cream cards, beige bands, navy ink and hero/footer, ONE flat blue action. The Umrah world
   (forest + gold) and the six door accents were removed on 2026-10-03 (task Q11a, handoff 9bj).
   Lounge (client portal) and Workspace (staff) themes are kept for Waves 3 and 4.
   Does NOT replace public/css/tokens.css (Oasis: portal, tools, /design/); new pages load only site/.
   Logical properties only (RTL safe).

   Themes (attribute on <html>, <body> or a wrapper):
     default                     Ivory-sky: public site
     [data-theme="lounge"]       Lounge: dark navy client portal
     [data-theme="workspace"]    Workspace: calm light theme for staff, supervisor, admin
   Type: 18px body, 16px minimum for anything read, 14px only for caps eyebrows and chips, 13px only for
   legal fine print (.legal). Serif for headings, prices and trust blocks only.

   CONTRAST (WCAG, verified): ink #10203A on card #FFFBF3 16.4; mute #4B5766 on card 7.1, on band 6.1;
   action white on #1553C4 6.85, hover #0F44A6 8.8; link and eyebrow #0F44A6 7.3 on band, 7.9 on sky;
   input and chip border #8A93A0 3.0; focus ring 3px #0B3B8F with a 2px white gap.
   On navy: ivory #FBF6E8 15.0, brass-light #E6D3A6 11.4. WhatsApp: white on #0E6B3A 6.4.
   ========================================================================================== */

/* Self-hosted, Latin subset (SIL Open Font License). Arabic and Bengali faces load from fonts-ar.css and
   fonts-bn.css (added to the page head by the i18n build). */
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;
  src:url('/fonts/source-sans-3-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;
  src:url('/fonts/source-serif-4-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  /* palette: ivory-sky */
  --ivory:#EDF4FB; --paper:#F1E9DA; --card:#FFFBF3;
  --ink:#10203A; --ink2:#1B2E4D; --mute:#4B5766;
  --brass:#B8893A; --brass-d:#7A5A1E; --brass-l:#E6D3A6; --brass-hi:#D9A93E;   /* brass: hairlines and rings only */
  --line:#D9D0BE; --ok:#2F5D4A; --ok-bg:#E7F0EA; --info:#1F5F8B; --info-bg:#E6EEF5;
  --warn:#75590F; --warn-bg:#F6EED5;               /* no red anywhere: warnings use amber-brown */
  --wa:#0E6B3A;                                    /* WhatsApp green that passes 4.5 with white */
  --on-dark:#FBF6E8; --on-dark-2:#E4DCC6; --on-dark-3:#D5CDB6;
  /* semantic (what components read; themes below rebind these) */
  --bg:var(--ivory); --surface:var(--card); --surface-2:var(--paper);
  --text:var(--ink); --text-2:var(--mute); --heading:var(--ink);
  --border:#CFC6B2; --field-border:#8A93A0;
  --accent:#1553C4; --accent-text:#0F44A6; --eyebrow:#0F44A6; --focus:#0B3B8F;
  --btn-bg:#1553C4; --btn-edge:#0B3B8F; --btn-text:#FFFFFF; --btn-shine:transparent; --btn-glow:rgba(11,59,143,.35);
  --dark-surface:linear-gradient(160deg,var(--ink2),var(--ink)); --dark-hair:rgba(191,216,246,.45);
  --grain-on:none;

  /* type */
  --serif:"Source Serif 4",Georgia,"Iowan Old Style","Palatino Linotype",serif;
  --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --fs-body:18px; --fs-small:16px; --fs-eyebrow:14px; --fs-legal:13px;
  --fs-h1:clamp(2.4rem,6vw,4.2rem); --fs-h2:clamp(1.8rem,3.6vw,2.6rem); --fs-h3:1.35rem;
  --fs-price:2.6rem; --lh:1.6;

  /* shape */
  --r:18px; --r-input:12px; --r-pill:999px; --r-sheet:6px;
  --sh:0 1px 0 #fff inset,0 1px 2px rgba(16,32,58,.08),0 12px 28px -14px rgba(16,32,58,.22);
  --sh-lift:0 1px 0 #fff inset,0 22px 40px -18px rgba(16,32,58,.32);
  --sh-dark:0 30px 60px -30px rgba(16,32,58,.6);
  --tap:48px; --tap-lg:56px; --gutter:20px; --maxw:1180px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Lounge: dark navy client portal (Wave 3) ---------- */
[data-theme="lounge"]{
  --bg:#0B1626; --surface:#12233D; --surface-2:#0F1D33;
  --text:#F2ECDD; --text-2:#B9C2D0; --heading:#FBF6E8;
  --eyebrow:var(--brass-l); --border:#2A3E5E; --focus:var(--brass-l);
  --accent:var(--brass-l); --accent-text:var(--brass-l);
  --btn-bg:linear-gradient(180deg,#E6C170,#CFA24E); --btn-edge:#8F6A25; --btn-text:#0B1626; --btn-shine:#F3DCA6; --btn-glow:rgba(122,90,30,.6);
  --dark-surface:linear-gradient(160deg,#1B2E4D,#12233D); --grain-on:none;
  --sh:0 1px 0 rgba(255,255,255,.05) inset,0 12px 30px -12px rgba(0,0,0,.6);
  --ok:#8FD1AE; --ok-bg:#12332A; --info:#9CC7E6; --info-bg:#12293D; --warn:#E6C170; --warn-bg:#33290F;
  --ink:#F2ECDD; --mute:#B9C2D0; --card:#12233D; --line:#2A3E5E; --brass-d:#E6D3A6; --wa:#0E6B3A; --field-border:#5A6F8F;
  color-scheme:dark;
}

/* ---------- Workspace: calm light theme for staff, supervisor, admin (Wave 4) ---------- */
[data-theme="workspace"]{
  --bg:#F3F5F8; --surface:#FFFFFF; --surface-2:#E9EDF3;
  --text:#10203A; --text-2:#475467; --border:#D5DBE5; --grain-on:none;
  --eyebrow:#1B2E4D; --accent:#1B2E4D; --accent-text:#1B2E4D; --focus:#1B2E4D;
  --btn-bg:linear-gradient(180deg,#22385C,#10203A); --btn-edge:#10203A; --btn-text:#FBF6E8;
  --btn-shine:rgba(255,255,255,.18); --btn-glow:rgba(16,32,58,.4);
  --card:#FFFFFF; --line:#D5DBE5; --mute:#475467; --ivory:#F3F5F8; --paper:#E9EDF3; --brass-d:#1B2E4D;
  --r:12px; --sh:0 1px 2px rgba(16,32,58,.08),0 4px 12px -6px rgba(16,32,58,.14);
}

/* ---------- Language type: the faces loaded by fonts-ar.css and fonts-bn.css ---------- */
:lang(ar){--serif:"Noto Kufi Arabic","Noto Naskh Arabic",Georgia,serif;--sans:"Noto Naskh Arabic","Source Sans 3",system-ui,"Segoe UI",Tahoma,sans-serif}
:lang(bn){--serif:"Noto Serif Bengali","Noto Sans Bengali",Georgia,serif;--sans:"Noto Sans Bengali","Source Sans 3",system-ui,"Segoe UI",sans-serif}
:lang(ar) .eyebrow,:lang(bn) .eyebrow{letter-spacing:0;text-transform:none}

/* ---------- Sky canvas: public pages (not Lounge or Workspace) ---------- */
html:not([data-theme]) body:not([data-world]):not([data-theme]){background-image:linear-gradient(180deg,#E3EEF9 0,#EDF4FB 300px)}
html:not([data-theme]) body:not([data-theme]):not([data-world]) :focus-visible{outline:3px solid #0B3B8F;outline-offset:2px;box-shadow:0 0 0 2px #fff}
/* ---------- dark theme (Q6): pages that opt in with <body class="dk"> (consultation, privacy, terms, verify, samples). Token overrides only; the same palette as assets/site/kit/tokens.css. ---------- */
:root[data-theme="dark"] body.dk{--bg:#0F1522; --surface:#1A2336; --surface-2:#151D2D; --text:#EEF2FA; --text-2:#AEB8CC; --heading:#EEF2FA; --eyebrow:#9DB8FF; --border:#2C3853; --field-border:#7D8AA6; --accent:#3C66DE; --accent-text:#9DB8FF; --focus:#9DB8FF; --btn-bg:#3C66DE; --btn-edge:#2B4FB5; --btn-text:#FFFFFF; --btn-shine:transparent; --btn-glow:rgba(0,0,0,.4); --dark-surface:linear-gradient(160deg,#1B2438,#0F1522); --dark-hair:rgba(157,184,255,.35); --sh:0 1px 2px rgba(0,0,0,.4),0 12px 28px -14px rgba(0,0,0,.6); --sh-lift:0 22px 40px -18px rgba(0,0,0,.7); --ink:#EEF2FA; --ink2:#D2D9E8; --mute:#AEB8CC; --card:#1A2336; --line:#2C3853; --ivory:#0F1522; --paper:#151D2D; --brass-d:#E8BE68; --ok:#7FCB98; --ok-bg:#16291F; --info:#9DB8FF; --info-bg:#1C2A52; --warn:#F0C46E; --warn-bg:#2E2512; --k-white:#1A2336; --k-ink:#EEF2FA; --k-ink-2:#D2D9E8; --k-muted:#AEB8CC; --k-border:#2C3853; --k-line-sky:#2A3550; --k-sky:#18243D; --k-card-2:#202B41; color-scheme:dark;}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body.dk{--bg:#0F1522; --surface:#1A2336; --surface-2:#151D2D; --text:#EEF2FA; --text-2:#AEB8CC; --heading:#EEF2FA; --eyebrow:#9DB8FF; --border:#2C3853; --field-border:#7D8AA6; --accent:#3C66DE; --accent-text:#9DB8FF; --focus:#9DB8FF; --btn-bg:#3C66DE; --btn-edge:#2B4FB5; --btn-text:#FFFFFF; --btn-shine:transparent; --btn-glow:rgba(0,0,0,.4); --dark-surface:linear-gradient(160deg,#1B2438,#0F1522); --dark-hair:rgba(157,184,255,.35); --sh:0 1px 2px rgba(0,0,0,.4),0 12px 28px -14px rgba(0,0,0,.6); --sh-lift:0 22px 40px -18px rgba(0,0,0,.7); --ink:#EEF2FA; --ink2:#D2D9E8; --mute:#AEB8CC; --card:#1A2336; --line:#2C3853; --ivory:#0F1522; --paper:#151D2D; --brass-d:#E8BE68; --ok:#7FCB98; --ok-bg:#16291F; --info:#9DB8FF; --info-bg:#1C2A52; --warn:#F0C46E; --warn-bg:#2E2512; --k-white:#1A2336; --k-ink:#EEF2FA; --k-ink-2:#D2D9E8; --k-muted:#AEB8CC; --k-border:#2C3853; --k-line-sky:#2A3550; --k-sky:#18243D; --k-card-2:#202B41; color-scheme:dark;}}
:root[data-theme="dark"] body.dk{background-image:none}
:root[data-theme="dark"] .dk main input[type=text],:root[data-theme="dark"] .dk main input[type=email],:root[data-theme="dark"] .dk main input[type=tel],:root[data-theme="dark"] .dk main input[type=number],:root[data-theme="dark"] .dk main input[type=date],:root[data-theme="dark"] .dk main input[type=url],:root[data-theme="dark"] .dk main select,:root[data-theme="dark"] .dk main textarea{background:var(--surface);color:var(--text)}
:root[data-theme="dark"] .dk .alert:before{color:#0F1522}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]) body.dk:not([data-world]):not([data-theme]){background-image:none}
:root:not([data-theme="light"]) .dk main input[type=text],:root:not([data-theme="light"]) .dk main input[type=email],:root:not([data-theme="light"]) .dk main input[type=tel],:root:not([data-theme="light"]) .dk main input[type=number],:root:not([data-theme="light"]) .dk main input[type=date],:root:not([data-theme="light"]) .dk main input[type=url],:root:not([data-theme="light"]) .dk main select,:root:not([data-theme="light"]) .dk main textarea{background:var(--surface);color:var(--text)}
:root:not([data-theme="light"]) .dk .alert:before{color:#0F1522}
}
