/* ══════════════════════════════════════════════════════════════════
   TAXICAB.CH — Polices, servies depuis assets/fonts/
   Bebas Neue (titres) · Outfit (texte) — licence SIL OFL 1.1,
   textes de licence à côté des fichiers : assets/fonts/OFL-*.txt
   ══════════════════════════════════════════════════════════════════

   🔴 Pourquoi une feuille à part, alors que main.css fait foi (règle 7) :
   main.css ne peut servir ni au back-office ni à la PWA chauffeurs — elle
   redéfinit :root (--amber y vaut #E08C0F, #D4820A côté admin) et des classes
   homonymes —, alors que les polices sont communes aux trois chartes. Elles
   sont donc définies ICI, une seule fois, et liées par les onze en-têtes.
   Rien d'autre n'entre dans ce fichier : ni classe, ni variable.

   🔴 10.09.2026 — elles venaient de Google Fonts, sur toutes les pages et sans
   condition : chaque page vue envoyait l'adresse IP du visiteur à Google, ce
   que ni le bandeau cookies ni les déclarations ne disaient. Les fichiers sont
   ceux que Google servait, à l'octet près (Outfit v15, Bebas Neue v16).

   ⚠️ Outfit est une police VARIABLE : un seul fichier par sous-ensemble couvre
   toutes les graisses, d'où la plage 300 → 700 — celle que les pages
   demandaient. Aucune feuille n'emploie de graisse hors de cette plage.

   ⚠️ unicode-range : le navigateur ne télécharge le fichier latin-ext que si
   la page affiche un caractère qu'il couvre (ł, ř, ş… dans un nom propre).

   ⚠️ Chemins RELATIFS à cette feuille (../fonts/) : ils suivent ASSETS_BASE
   sans rien écrire. La feuille est versionnée par filemtime ; les polices,
   elles, sont mises en cache un an (.htaccess) — un fichier de police qui
   change doit donc CHANGER DE NOM.

   Contrôle : php tools/test_estimation_http.php (« Aucune police tierce »). */

/* latin-ext */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/bebas-neue-latin-ext.woff2') format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/bebas-neue-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;
}
/* latin-ext */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('../fonts/outfit-latin-ext.woff2') format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('../fonts/outfit-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;
}
