/* ═══════════════════════════════════════════════════════════════════
   BEPorteo — Fontes auto-hébergées (phase 5.1 de PLAN_DESIGN)
   Chargé AVANT porteo.css (vitrine, base.html.twig) et AVANT admin.css
   (panels, TempsReelTrait::configureAssets).

   POURQUOI CE FICHIER EXISTE SÉPARÉMENT. Les deux feuilles maîtresses
   ne se voient pas : porteo.css habille le site vitrine, admin.css les
   cinq panels EasyAdmin, et aucune page ne charge les deux. Les
   @font-face doivent pourtant valoir des deux côtés — d'où un fichier
   à part, chargé par les deux, plutôt qu'une déclaration recopiée.

   POURQUOI /fonts/ ET NON assets/fonts/. Les chemins sont ABSOLUS et
   STABLES, sur le modèle de /pwa-icons/. AssetMapper versionne les
   fichiers qu'il sert (nom haché) ; Vite, qui sert la SPA, a son propre
   pipeline et ignore AssetMapper. Un chemin haché obligerait chaque
   consommateur à connaître le manifeste de l'autre. Un chemin stable
   est lisible par les trois — AssetMapper, Vite, et le service worker
   s'il devait un jour les précacher.

   Contrepartie assumée : pas de cache-busting. Une fonte est immuable ;
   si l'une change, elle change de nom de fichier.

   SOUS-ENSEMBLE LATIN SEULEMENT. Le français y tient en entier : les
   accents et la cédille sont en U+0000-00FF, les guillemets français
   aussi (U+00AB/U+00BB), l'apostrophe courbe et le tiret cadratin sont
   dans U+2000-206F. L'`unicode-range` est conservé pour que tout
   caractère hors de cette plage retombe sur la pile système plutôt que
   de forcer un téléchargement inutile.

   Licences : SIL Open Font License 1.1, public/fonts/OFL-Archivo.txt et
   public/fonts/OFL-IBMPlex.txt — elles voyagent avec les fichiers.
   @author Donald KOUAZOUN <donald.kouazoun@gmail.com>
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Archivo — titres ────────────────────────────────────────────── */

@font-face {
    font-family: 'Archivo';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/fonts/archivo-600.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;
}

@font-face {
    font-family: 'Archivo';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/archivo-700.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;
}

/* ─── IBM Plex Sans — texte courant ───────────────────────────────── */

@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/plex-sans-400.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;
}

@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/fonts/plex-sans-500.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;
}

@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/fonts/plex-sans-600.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;
}

/* ─── IBM Plex Mono — codifications ───────────────────────────────── */

@font-face {
    font-family: 'IBM Plex Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/plex-mono-400.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;
}

@font-face {
    font-family: 'IBM Plex Mono';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/fonts/plex-mono-500.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;
}
