/* Multilingue : sélecteur de langue (drapeaux) et mise en page de droite à gauche pour l'arabe. */
.selecteur-langue { position: relative; display: inline-block; font-size: 14px; line-height: 1; }
.selecteur-langue > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 8px 0 7px;
  border-radius: 999px; border: 1px solid color-mix(in srgb, currentColor 30%, transparent); font-weight: 700; letter-spacing: .02em; user-select: none; }
.selecteur-langue > summary::-webkit-details-marker { display: none; }
.selecteur-langue > summary:hover { background: color-mix(in srgb, currentColor 12%, transparent); }
.selecteur-langue > summary:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.selecteur-langue svg:not(.chevron) { display: block; width: 24px; height: 16px; flex: none; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .2); }
.selecteur-langue .chevron { width: 14px; height: 14px; transition: transform .15s; }
.selecteur-langue[open] .chevron { transform: rotate(180deg); }
.selecteur-langue ul { position: absolute; top: calc(100% + 8px); inset-inline-end: 0; z-index: 200; min-width: 180px; margin: 0; padding: 6px; list-style: none;
  background: #fff; color: #14213d; border-radius: 12px; box-shadow: 0 12px 32px -8px rgba(15, 37, 64, .35), 0 0 0 1px rgba(15, 37, 64, .08); }
.selecteur-langue li button { all: unset; box-sizing: border-box; width: 100%; display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: 8px;
  cursor: pointer; font-weight: 600; font-size: 15px; }
.selecteur-langue li button:hover, .selecteur-langue li button:focus-visible { background: #eef3fb; }
.selecteur-langue li button.actif { background: #e3ecfb; color: #0b4fd6; }
.selecteur-langue li button.actif::after { content: "✓"; margin-inline-start: auto; font-weight: 800; }
.selecteur-langue li button[lang="ar"] span { font-family: "Segoe UI", "Noto Sans Arabic", Tahoma, sans-serif; }
@media (max-width: 640px) { .selecteur-langue .code-langue { display: none; } }

/* Arabe : polices système qui contiennent l'alphabet arabe, sans majuscules ni espacement latin. */
html[lang="ar"] body, html[lang="ar"] input, html[lang="ar"] select, html[lang="ar"] textarea, html[lang="ar"] button {
  font-family: "Segoe UI", "Noto Sans Arabic", "Noto Naskh Arabic", Tahoma, "Arial", sans-serif; }
html[lang="ar"] h1, html[lang="ar"] h2, html[lang="ar"] h3, html[lang="ar"] .titre-section, html[lang="ar"] .surtitre {
  font-family: "Segoe UI", "Noto Sans Arabic", Tahoma, sans-serif; text-transform: none; letter-spacing: 0; }
html[lang="ar"] body { line-height: 1.75; }

/* De droite à gauche : les flèches et icônes directionnelles se retournent, les nombres restent lisibles. */
[dir="rtl"] .ic-dir, [dir="rtl"] use[href$="#droite"], [dir="rtl"] use[href$="#gauche"] { transform: scaleX(-1); transform-origin: center; }
[dir="rtl"] input[type="tel"], [dir="rtl"] input[type="email"], [dir="rtl"] input[type="url"],
[dir="rtl"] input[inputmode="tel"], [dir="rtl"] .num, [dir="rtl"] kbd { direction: ltr; text-align: right; }
[dir="rtl"] td, [dir="rtl"] th { text-align: start; }
[dir="rtl"] ul, [dir="rtl"] ol { padding-inline-start: 1.4em; padding-left: 0; }

/* Éléments masqués hors écran (lien d'évitement, champs anti-robots) : à droite en arabe, sinon la page s'élargit. */
[dir="rtl"] .pot, [dir="rtl"] .evitement:not(:focus), [dir="rtl"] .sr { left: auto; right: -9999px; }
html[dir="rtl"], html[dir="rtl"] body { overflow-x: clip; }
html.i18n-attente body { visibility: hidden; }
