/* ==========================================================================
   MEUSE EN SELLE — jetons de conception
   Source unique. Aucune valeur en dur ailleurs que dans ce fichier.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Polices, auto-hébergées. Aucun appel à un service externe : c'est une
   ligne en moins dans la page confidentialité, pas seulement une performance.
   -------------------------------------------------------------------------- */

/* Fraunces variable. SOFT 100 et WONK 1 sont FIGÉS DANS LE BINAIRE, pas
   déclarés ici : font-variation-settings ne fusionne pas en cascade, une
   redéclaration sur un enfant ferait retomber les titres en formes sharp
   sans que ça se voie. Seuls opsz et wght restent réglables.
   Pour changer SOFT, régénérer le fichier — voir README. */
@font-face {
  font-family: "Fraunces";
  src: url("/statique/polices/fraunces-titres.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-display: swap;
}

/* Outfit variable, build Google Fonts, découpée par plage Unicode. */
@font-face {
  font-family: "Outfit";
  src: url("/statique/polices/outfit-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
  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: "Outfit";
  src: url("/statique/polices/outfit-latin-ext.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
  /* Porte le Ĳ/ĳ néerlandais (U+0132-0133). */
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* ---- Couleurs de la charte -------------------------------------------- */
  --vert-coteau:    #687050;  /* primaire */
  --bleu-meuse:     #609090;  /* la Meuse, les tracés, l'eau. JAMAIS une action. */
  --creme-calcaire: #F2F7E4;  /* fond, réserve */
  --vert-profond:   #3F462E;  /* texte, aplats */
  --vert-pale:      #E2EBCF;  /* surfaces secondaires */

  /* ---- Ajouts hors charte, assumés --------------------------------------
     Le prototype en a introduit trois sans les nommer. Les voici nommés,
     plutôt que dispersés en dur dans les gabarits. */
  --creme-haut:  #F5F9E8;  /* fond d'en-tête et de pied, crème très légèrement plus clair */
  --surface:     #FFFFFF;  /* fond des cartes et vignettes */
  --alerte:      #A85440;  /* erreurs de formulaire. AA sur blanc à partir de 18 px seulement. */

  /* Bleu Meuse assombri : le bleu de la charte ne passe pas le RGAA en petit
     corps. Réservé aux liens et aux textes fins.

     La valeur de la V1 était #4A7A7A, calibrée sur fond BLANC où elle donne
     4,82:1. La V2 pose ses pages sur le crème calcaire, plus sombre, et la
     même couleur y tombait à 4,41:1 — sous le seuil de 4,5. Reprise telle
     quelle, elle ne tenait donc plus. #436E6E passe sur les trois fonds du
     site : 5,20 sur crème, 5,68 sur blanc, 4,61 sur vert pâle. */
  --bleu-lien:   #436E6E;

  /* ---- Typographie ------------------------------------------------------- */
  /* Titres et grands signes UNIQUEMENT, à partir de 32 px.
     Jamais dans un bouton, un libellé de formulaire ni un petit corps. */
  --font-titre: "Fraunces", Georgia, "Times New Roman", serif;
  --font-texte: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;

  --poids-regular:  400;
  --poids-medium:   500;
  --poids-semibold: 600;

  /* Échelle. Le plancher du corps est à 18 px : lectorat senior.
     Deux exceptions, et deux seulement. */
  --taille-display: 4rem;      /* 64 px — h1 d'accueil, Fraunces */
  --taille-h1:      3rem;      /* 48 px — Fraunces */
  --taille-h2:      2rem;      /* 32 px — Fraunces, plancher de la police de titre */
  --taille-h3:      1.5rem;    /* 24 px — OUTFIT 600, pas Fraunces : c'est de l'interface */
  --taille-corps:   1.125rem;  /* 18 px — plancher */
  --taille-nav:     1rem;      /* 16 px — navigation et pied de page, plancher absolu */
  --taille-legende: 0.9375rem; /* 15 px — légendes et méta. Rien en dessous. */

  --interligne-titre: 1.15;
  --interligne-corps: 1.6;

  /* ---- Espacement, échelle de 4 ------------------------------------------ */
  --esp-1: 0.25rem;  --esp-2: 0.5rem;   --esp-3: 0.75rem;
  --esp-4: 1rem;     --esp-6: 1.5rem;   --esp-8: 2rem;
  --esp-12: 3rem;    --esp-16: 4rem;    --esp-24: 6rem;

  /* ---- Divers ------------------------------------------------------------ */
  --rayon:          12px;
  --rayon-petit:    8px;
  --rayon-pastille: 999px;

  /* Vise 68 caractères par ligne en Outfit. Et non « 68ch » : le ch vaut la
     largeur du zéro, plus large que la lettre moyenne — 68ch donnait 75
     caractères, mesuré sur le texte réel d’une fiche. */
  --largeur-lecture: 62ch;
  --largeur-site:      1280px;
  --cible-tactile-min: 44px;
  /* Hauteur de l'en-tête collant sur mobile (mesurée : 69 px). Sert à faire
     démarrer les surcouches en dessous plutôt que sous l'en-tête. */
  --hauteur-entete: 69px;

  --ombre-carte: 0 4px 12px rgba(63, 70, 46, 0.12);
  --filet:       1px solid rgba(104, 112, 80, 0.22);
}
