/* ==========================================================================
   Colombes Cycles · polices auto-hébergées
   --------------------------------------------------------------------------
   Remplace le lien vers fonts.googleapis.com. Trois gains d'un coup :
     1. plus de requête bloquante vers une origine tierce au premier rendu ;
     2. plus de transfert d'adresse IP vers Google (exposition RGPD) ;
     3. plus de CLS : les polices de repli portent les métriques ajustées.

   ⚠️ Les .woff2 sont SOUS-ENSEMBLÉS aux caractères réellement utilisés par le
   site (latin + accents français + ponctuation, 150 et 148 glyphes). Si un
   nouveau caractère apparaît dans le contenu, il s'affichera en police de
   repli. Régénérer avec :
       bash tools/build-fonts.sh
   Le script vérifie désormais sa propre sortie et sort en erreur si un
   caractère des pages n'est pas couvert : fontTools ignore en silence un
   glyphe absent de la police source, ce qui a laissé ★ non couvert pendant
   toute la vie du site (il est maintenant rendu par un masque SVG).
   ========================================================================== */

/* Métriques de repli alignées sur les polices réelles : le texte occupe la
   même place avant et après le swap, donc aucun décalage de mise en page. */
@font-face {
  font-family: "Inter Fallback";
  src: local("Helvetica Neue"), local("Arial"), local("Roboto"), local("Liberation Sans"), local("DejaVu Sans");
  size-adjust: 107%;
  ascent-override: 90%;
  descent-override: 22%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Fraunces Fallback";
  src: local("Iowan Old Style"), local("Georgia"), local("Times New Roman"), local("Noto Serif"), local("Liberation Serif"), local("DejaVu Serif");
  size-adjust: 112%;
  ascent-override: 92%;
  descent-override: 24%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  /* 400-700 : l'axe du fichier est clampé à cette plage (le site ne rend
     jamais au-delà de 700). Le descripteur doit rester ALIGNÉ sur le fichier,
     sinon une demande de 800 est silencieusement ramenée à 700 par le moteur. */
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/inter.woff2") format("woff2");
}

@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("../assets/fonts/fraunces.woff2") format("woff2");
}

/* Vraie italique. Sans cette face, le <em> du h1 de l'accueil était un FAUX
   OBLIQUE : le navigateur penchait le romain, ce qui se voit sur une serif
   display de 69 px. Sous-ensemblée aux 10 caractères de « un vrai atelier » et
   figée à une graisse : 3,5 Ko, soit 1,4 % du poids servi. Le script de build
   échoue si le texte du <em> change et sort de ce sous-ensemble. */
@font-face {
  font-family: "Fraunces";
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url("../assets/fonts/fraunces-italic.woff2") format("woff2");
}
