/* ============================================================================
 * IBM Plex — Design System CEE Automation Platform
 * ----------------------------------------------------------------------------
 * - IBM Plex Sans : variable font (poids 100..700), latin + latin-extended
 *                   + variante italique
 * - IBM Plex Mono : 4 poids statiques (400 / 500 / 600 / 700), latin
 *
 * Licence : SIL Open Font License 1.1 (OFL)
 * Source  : https://github.com/IBM/plex
 * Téléchargé depuis jsdelivr (@fontsource / @fontsource-variable)
 *
 * Usage (exemple) :
 *   <link rel="stylesheet" href="/static/vendor/fonts/ibm-plex/ibm-plex.css">
 * ou  @import url('/static/vendor/fonts/ibm-plex/ibm-plex.css');
 * ========================================================================= */

/* ── IBM Plex Sans (Variable) ─────────────────────────────────────────────── */

/* Latin — ~46 Ko, couvre la majorité des textes UI */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 100 700;
  src: url('./plex-sans-var-latin.woff2') format('woff2-variations');
  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+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Latin Extended — ~31 Ko, accents européens étendus (č, ř, đ, ł…) */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 100 700;
  src: url('./plex-sans-var-latin-ext.woff2') format('woff2-variations');
  unicode-range:
    U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Italic — ~50 Ko */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 100 700;
  src: url('./plex-sans-var-latin-italic.woff2') format('woff2-variations');
}

/* ── IBM Plex Mono (Statique, 4 poids) ────────────────────────────────────── */

@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('./plex-mono-400.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('./plex-mono-500.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('./plex-mono-600.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('./plex-mono-700.woff2') format('woff2');
}

/* ── Classes utilitaires (optionnelles) ───────────────────────────────────── */

/* Applique la famille sans + les bonnes OpenType features pour l'UI.
 * - tabular-nums : colonnes de chiffres alignées (tableaux, métriques)
 * - cv01 / ss02  : alternates lisibles pour les caractères ambigus (si dispo) */
.font-sans {
  font-family: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI',
               Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-feature-settings: 'cv01', 'cv03', 'ss02';
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Applique la famille mono + zéro barré (distingue 0 de O). */
.font-mono {
  font-family: 'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, Consolas,
               'Liberation Mono', monospace;
  font-variant-numeric: tabular-nums slashed-zero;
  font-feature-settings: 'zero';
}
