/* ════════════════════════════════════════════════════════════════════════
   VISTAR — DESIGN SYSTEM (socle partagé, build-less)
   ────────────────────────────────────────────────────────────────────────
   Source de vérité de la DA Vistar : Cormorant Garamond + DM Sans,
   bruns chauds, hairlines or, ivoires. Tokens extraits VERBATIM depuis
   portail_vistar.html (implémentation DA de référence : seule à porter un
   système de thèmes clair/sombre complet + tokens sémantiques).

   Chargement : <link rel="stylesheet" href="vistar-ds.css"> AVANT la feuille
   propre à la page (menu.css, index.css, portail_vistar.css, vistar-setup.css).
   Aucun bloc <style> inline ne subsiste dans ces 4 pages. Aucun build : CSS pur
   servi tel quel (Cloudflare Pages, racine = dossier « Vistar setup/ »).

   Réconciliation faite (984a46d) : les divergences de valeurs entre pages ont
   été alignées sur ce canon, elles ne sont plus en override local.
     • menu    : --bg #120907 → #0D0704, --red #8B2510 → #C03A18,
                 --gold-line .22 → .2. Ne reste en propre que --red-l.
     • index   : noms unifiés (--muted → --ivory3, --ivory-soft → --ivory2,
                 --bronze-light → --bronze-l). Gardent leurs valeurs propres :
                 --bg-soft/--bg-panel*, --line/--line-soft, --shadow, --lg-*.
     • setup   : valeurs identiques au canon ; ne restent que --input-* et les
                 --p-* d'aperçu pilotés par JS.
   Règle pour la suite : une page ne redéfinit un token QUE si sa valeur diffère
   réellement du canon. Un doublon à valeur identique est une régression — il
   masquerait une future évolution du socle.

   Hors socle : le sous-projet carte-ar/ (qr-kit.html y est raccordé depuis le 11/10).
   Toute évolution d'ici impacte les 4 pages d'un coup : voir
   impact-shared-design-system-css dans CROSS_MODULE_IMPACTS.yaml.
   ════════════════════════════════════════════════════════════════════════ */

/* ══ THÈME SOMBRE (défaut) ══ */
:root,[data-theme="dark"]{
  /* fonds */
  --bg:#0D0704;--bg2:#160C07;--bg3:#1C1009;--bg4:#221410;
  /* surfaces */
  --card:rgba(255,255,255,.024);--card-b:rgba(139,90,26,.18);
  /* marque — bruns / cuivres */
  --bronze:#C8832A;--bronze-l:#D4974A;--bronze-d:#8B5A1A;
  --amber:#E8A840;--copper:#AD8B5A;
  /* ivoires */
  --ivory:#F0E6D0;--ivory2:#C8B898;--ivory3:#8A7A65;--ivory4:#4A3C30;
  /* états */
  --red:#C03A18;--green:#3A7A48;
  /* hairlines or */
  --gold-line:rgba(139,90,26,0.2);
  /* chrome */
  --topbar-bg:rgba(13,7,4,.96);
  /* texte sémantique */
  --text-main:#F0E6D0;--text-sub:#8A7A65;--text-label:#AD8B5A;
  /* champs */
  --input-bg:rgba(255,255,255,.03);--input-b:rgba(139,90,26,.28);
  --modal-bg:linear-gradient(160deg,#1C1008,#100603);
  /* typographies (stables entre thèmes) */
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
}

/* ══ THÈME CLAIR ══ */
[data-theme="light"]{
  --bg:#F5EFE6;--bg2:#EDE4D6;--bg3:#E4D8C6;--bg4:#D4C4A8;
  --card:rgba(0,0,0,.03);--card-b:rgba(139,90,26,.2);
  --gold-line:rgba(139,90,26,0.18);
  --topbar-bg:rgba(245,239,230,.96);
  --text-main:#2A1A08;--text-sub:#7A6040;--text-label:#8B5A1A;
  --input-bg:rgba(0,0,0,.04);--input-b:rgba(139,90,26,.3);
  --modal-bg:linear-gradient(160deg,#F0E6D6,#E8D8C0);
  --ivory:#2A1A08;--ivory2:#4A2E10;--ivory3:#7A6040;--ivory4:#C4B090;
}
