/*
 * Langues écrites de droite à gauche (arabe). Chargée uniquement par les pages
 * <html dir="rtl"> (localizeDocument, build/build-i18n.js) : aucun coût pour
 * les autres langues.
 *
 * - Polices : Unbounded, Onest et DotGothic16 n'ont pas de glyphes arabes ; le
 *   navigateur bascule glyphe par glyphe sur la police suivante de la pile,
 *   les noms latins (Twitch, StreamPulse) gardent la police de la marque.
 * - L'interlettrage casse la liaison des lettres arabes : remis à zéro partout.
 * - Les mises en page en flex et grid suivent dir="rtl" d'elles-mêmes ; seules
 *   les propriétés physiques (left/right, marges d'un côté) sont retournées ici.
 */

html[dir="rtl"] {
  --arabic: 'Noto Kufi Arabic', 'Noto Sans Arabic', 'Geeza Pro', 'SF Arabic', 'Segoe UI', 'Dubai', Tahoma, sans-serif;
  --display: 'Unbounded', var(--arabic), system-ui, sans-serif;
  --body: 'Onest', var(--arabic), system-ui, sans-serif;
  --dot: 'DotGothic16', var(--arabic), monospace;
}

html[dir="rtl"] body,
html[dir="rtl"] body * {
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Titres : la police d'affichage arabe de repli est plus haute que Unbounded. */
html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3 {
  line-height: 1.35;
}

/* Listes, citations et blocs de code : retrait du bon côté. */
html[dir="rtl"] ul,
html[dir="rtl"] ol {
  padding-right: 1.25em;
  padding-left: 0;
}

/* Adresses, clés de licence, codes d'erreur : toujours de gauche à droite. */
html[dir="rtl"] code,
html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[name="key"],
html[dir="rtl"] .key-value {
  direction: ltr;
  unicode-bidi: isolate;
}

/* Flèches et chevrons décoratifs : pointent dans le sens de lecture. */
html[dir="rtl"] .arrow,
html[dir="rtl"] [data-flip-rtl] {
  transform: scaleX(-1);
}
