/*
 * Typographie arabe — Kufi.
 *
 * Le site compose en Poppins, qui ne contient aucun glyphe arabe. Les titres
 * en arabe (10 articles et 10 slides publiés) retombaient donc sur la police
 * par défaut du système : rendu différent d'un poste à l'autre, chasse
 * incohérente avec le reste de la page.
 *
 * On déclare ici une famille dont la plage Unicode est limitée à l'arabe.
 * Placée en tête de la pile de polices, elle prend en charge les caractères
 * arabes partout où ils apparaissent — titres, descriptions, saisies — sans
 * qu'aucun gabarit n'ait à être modifié, et sans toucher au texte latin.
 */

@font-face {
  font-family: 'ENSAM Kufi';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: local('Noto Kufi Arabic'), local('NotoKufiArabic-Regular');
  /* Plages arabes : bloc de base, supplément, étendu A, formes de présentation */
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}

/*
 * La famille est ajoutée en tête sans redéfinir la police latine : le
 * navigateur utilise Kufi pour les seuls caractères couverts par la plage
 * ci-dessus, et poursuit avec la pile existante pour tout le reste.
 */
body,
.card,
h1, h2, h3, h4, h5, h6,
p, span, a, li, td, th,
input, textarea, select, button {
  font-family: 'ENSAM Kufi', 'Noto Kufi Arabic', inherit;
}

body {
  font-family: 'ENSAM Kufi', 'Noto Kufi Arabic', 'Poppins', system-ui, -apple-system,
               'Segoe UI', Roboto, sans-serif;
}

/*
 * Un titre entièrement arabe se lit de droite à gauche. La classe est posée
 * automatiquement par le script, sur les seuls éléments dont le texte est
 * majoritairement arabe : forcer le sens sur toute la page casserait la mise
 * en page des sections bilingues.
 */
.texte-arabe {
  direction: rtl;
  text-align: right;
  unicode-bidi: isolate;
  line-height: 1.9;          /* l'arabe demande plus d'interligne que le latin */
  letter-spacing: 0;         /* l'espacement latin déforme les ligatures */
}

.text-center .texte-arabe,
.texte-arabe.text-center {
  text-align: center;
}

/* Les vignettes de cartes gardent leur alignement centré. */
.card .texte-arabe {
  text-align: center;
}
