/* =====================================================================
   IOcafé — THÈME / DESIGN TOKENS (source de vérité visuelle)
   Distribué dans chaque surface par scripts/build.sh (comme /data).
   On ne modifie les couleurs / typos / tokens QU'ICI.
   Nommage : 100 % français (la signature IOcafé jusque dans le code).
   ===================================================================== */

/* ---------------------------------------------------------------------
   POLICES — AUTO-HÉBERGÉES (woff2 dans shared/fonts/, copiées dans le
   dossier /fonts/ de chaque surface par build.sh). Aucune requête vers
   Google/Adobe → plus rapide, plus éco, conforme RGPD/CNIL.
   Toutes libres (SIL OFL). Familles :
   • Inter — corps de texte / UI
   • Playfair Display — titres & display (+ italique)
   • Allura — accent manuscrit (« double typo », 1 seul poids)
   • Instrument Serif — titres des apps posées (nora, tab)
   Pour ajouter/mettre à jour une police : déposer le .woff2 dans
   shared/fonts/ et déclarer son @font-face ci-dessous (source unique).
   --------------------------------------------------------------------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/inter-400.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/inter-500.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/inter-600.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/inter-700.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/playfair-400.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/playfair-500.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/playfair-600.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/playfair-700.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/playfair-italic-400.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:500;font-display:swap;src:url("/fonts/playfair-italic-500.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:600;font-display:swap;src:url("/fonts/playfair-italic-600.woff2") format("woff2")}
@font-face{font-family:"Allura";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/allura-400.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/instrument-400.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/instrument-italic-400.woff2") format("woff2")}

:root{
  /* === COULEURS — charte officielle (une couleur = une seule ligne, ici) === */
  --rouge:#731c14;            /* Rouge Basque Profond — principale / marque */
  --rouge-profond:#5c150f;    /* nuance foncée (survols, dégradés) */
  --bleu:#054873;             /* Bleu nuit Atlantique */
  --vert:#395849;             /* Vert Caféier */
  --sable:#a76933;            /* Sable Torréfié */
  --dore:#f3a009;             /* Doré de l'aube — accent */
  --dore-pale:#f3d8a6;        /* Doré pâle (kickers sur photo) */
  --creme:#f7f3e3;            /* Crème Latte — couleur de marque / « papier » */
  --creme-ecran:#efe7d4;      /* Crème d'écran — fond de page www/tab (ton plus soutenu, choix assumé) */

  /* === COULEURS SECONDAIRES (charte, rôle « réserve ») === */
  --terracotta:#cd7f6a;
  --sauge:#7fa291;

  /* === NEUTRES DE LECTURE (« encre » = texte, « filet » = traits) === */
  --encre:#3a322c;            /* texte courant */
  --encre-2:#6a6055;          /* texte secondaire */
  --encre-3:#8a7f74;          /* texte estompé */
  --encre-4:#a39684;          /* texte ténu */
  --filet:#e7ddcb;            /* filet léger (bordures) */
  --filet-2:#e0d4bb;          /* filet moyen */
  --filet-3:#d9cbb0;          /* filet appuyé / pointillés */
  --carte:#fffdf8;            /* fond des cartes */

  /* === RÔLES SÉMANTIQUES (à privilégier dans les pages) === */
  --marque:var(--rouge);
  --marque-profond:var(--rouge-profond);
  --accent:var(--dore);
  --fond:var(--creme);        /* fond par défaut (whois) ; www/tab peignent en --creme-ecran */

  /* === TYPOGRAPHIE === */
  --police-display:"Playfair Display",Georgia,serif;   /* héros / très gros titres */
  --police-titre:"Playfair Display",Georgia,serif;     /* titres de sections */
  --police-corps:"Inter",system-ui,-apple-system,Helvetica,Arial,sans-serif;
  --police-script:"Allura","Pinyon Script",cursive;    /* accent manuscrit (double typo) */

  /* === FORMES / MOUVEMENT / OMBRES === */
  --rayon:14px;
  --rayon-lg:22px;
  --largeur-max:1120px;
  --transition:cubic-bezier(.22,.61,.36,1);
  --anneau:0 0 0 3px rgba(115,28,20,.13);            /* halo de focus (accessibilité) */
  --ombre-carte:0 24px 60px -34px rgba(58,50,44,.5);
  --ombre-bouton:0 10px 22px -12px rgba(115,28,20,.7);
}

*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--fond);color:var(--encre);font-family:var(--police-corps);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--police-titre);font-weight:500;line-height:1.05;color:var(--marque-profond)}
em,.italic{font-style:italic}
a{color:var(--marque)}
