/*
 * Les polices du site, servies par le serveur du GAS et non par Google.
 *
 * Ce fichier remplace trois <link> vers fonts.googleapis.com. Deux raisons,
 * et la seconde n'est pas technique :
 *
 *   — Sécurité : une feuille de style tierce peut charger ce qu'elle veut.
 *     En la supprimant, la politique de sécurité de contenu (voir
 *     App\EventListener\EnTetesSecuriteListener) se referme sur 'self' seul :
 *     plus aucune origine extérieure n'est autorisée, donc plus aucune
 *     compromission extérieure ne peut s'exécuter dans l'application.
 *
 *   — Données personnelles : hot-linker une police Google fait partir
 *     l'adresse IP de chaque visiteur chez Google, à chaque page. La page
 *     /programme-du-mois est publique et sans compte — ce sont les IP de
 *     l'assemblée. Un tribunal allemand (LG München, janvier 2022) a jugé
 *     cette pratique contraire au RGPD, et la CNIL la déconseille. Servir
 *     les fichiers soi-même supprime la question au lieu de la documenter.
 *
 * Les fichiers viennent des paquets npm officiels (@fontsource/noto-sans,
 * @fontsource/bebas-neue, material-icons), sous-ensemble latin, format woff2
 * seul — tous les navigateurs en service le lisent depuis 2016.
 */

/* ── Noto Sans : la police de tout le site ───────────────────────────── */

@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../fonts/noto-sans-300.woff2) format('woff2');
}

@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/noto-sans-400.woff2) format('woff2');
}

@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/noto-sans-500.woff2) format('woff2');
}

@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/noto-sans-600.woff2) format('woff2');
}

/* ── Bebas Neue : les titres de la page d'accueil publique ───────────── */

@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/bebas-neue-400.woff2) format('woff2');
}

/* ── Material Icons Outlined ─────────────────────────────────────────────
 *
 * font-display: block et non swap, contrairement aux polices de texte :
 * une icône dont la police n'est pas encore là s'affiche sous forme de son
 * nom en toutes lettres (« arrow_back », « visibility_off »), ce qui saute
 * aux yeux. Mieux vaut un blanc d'un dixième de seconde.
 *
 * La déclaration de classe reproduit exactement celle que servait Google :
 * les 108 usages du site écrivent <i class="material-icons-outlined">nom</i>
 * et s'appuient sur la ligature ('liga') pour transformer le nom en dessin.
 */

@font-face {
  font-family: 'Material Icons Outlined';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(../fonts/material-icons-outlined.woff2) format('woff2');
}

.material-icons-outlined {
  font-family: 'Material Icons Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'liga';
}
