/* ------------------------------------------------------------------
   transport-prive.fr — ajustements pour l'arabe (dir="rtl")

   Chargée uniquement quand la page est en arabe. Le reste de la feuille
   principale repose sur flexbox et grid, qui s'inversent d'eux-mêmes sous
   dir="rtl" : seules les quelques déclarations directionnelles écrites en
   dur (left / right / margin-left / padding-left…) demandent un miroir.

   Les nombres, les prix, les heures, les immatriculations et les noms de
   villes français restent en écriture latine au milieu du texte arabe :
   c'est l'algorithme bidi du navigateur qui s'en charge, à condition de ne
   jamais forcer la direction sur un conteneur de texte.
------------------------------------------------------------------ */

/* ---------------------------------------------------------- en-tête */
.nav { margin-left: 0; margin-right: auto; }
.lgs-m { right: auto; left: 0; }
@media (max-width: 980px) { .lgs-m { left: auto; right: 0; } }

/* ---------------------------------------------------------- hero */
.hero-sign { right: auto; left: 24px; text-align: left; }

/* ---------------------------------------------------------- listes */
.txt ul,
.enc ul,
.alp-liste { padding-left: 0; padding-right: 20px; }
.enc ul { padding-right: 18px; }
.alp-liste { padding-right: 18px; }

/* filets décoratifs : le trait doré passe à droite du texte */
.alp-massif {
  padding-left: 0; padding-right: 11px;
  border-left: 0; border-right: 3px solid var(--or);
}
.alp-carte:not(.alp-carte-i) { border-left: 0; border-right: 3px solid var(--or); }

/* ---------------------------------------------------------- blocs trajet */
.tj-inf { text-align: left; }
@media (max-width: 760px) { .tj-px { margin-left: 0; margin-right: auto; } }

/* ---------------------------------------------------------- autocomplétion */
.ac-list small { margin-left: 0; margin-right: 6px; }

/* ---------------------------------------------------------- date + heure */
/* Le champ de date reste saisi de gauche à droite : un format jj/mm/aaaa
   inversé serait illisible et le sélecteur natif s'y perdrait. */
.dtp input,
input[type="date"],
input[type="time"],
input[type="tel"],
input[type="email"],
input[type="number"] { direction: ltr; text-align: right; }

.dtp-j input { padding-right: 12px !important; padding-left: 26px !important; }
.dtp-cal { right: auto; left: 0; }
.cal { left: auto; right: 0; }
@media (max-width: 640px) { .cal { right: auto; left: 0; } }

/* ---------------------------------------------------------- divers */
/* .hp (leurre anti-robot) n'a plus besoin d'être inversé : il est masqué par
   découpage et non par un décalage hors écran. */
.wa-flot { right: auto; left: 18px; }

/* ---------------------------------------------------------- bidi
   Un numéro de téléphone latin posé dans un paragraphe arabe est démonté
   par l'algorithme bidi : « +33 6 58 25 68 31 » s'affiche « 31 68 25 58 6
   33+ », le signe + ayant migré à l'autre bout. Les caractères neutres
   (+, espaces, @, /, .) prennent en effet la direction de leur voisinage.

   unicode-bidi: isolate coupe ces fragments du contexte arabe et leur
   rend leur ordre propre. Il faut l'appliquer partout où une donnée
   latine se glisse dans du texte arabe : téléphones, emails, URL,
   numéros de bon, codes aéroport et plaques. */
a[href^="tel:"],
a[href^="mailto:"],
.tel,
.num,
code,
time,
.ap-code,
.hd-act .tel {
  direction: ltr;
  unicode-bidi: isolate;
}

/* Un prix « 230,00 € » garde son symbole après le nombre, comme en
   français : isolé, il ne part pas se coller de l'autre côté. */
.px, .prix, .tj-px, .tarif b { unicode-bidi: isolate; }

/* ---------------------------------------------------------- typographie
   Poppins ne dessine aucun glyphe arabe : sans police de repli déclarée,
   le navigateur tombe sur sa police système par défaut, dont la hauteur
   d'œil jure avec le reste de la page. On nomme donc explicitement les
   familles arabes présentes sur les principaux systèmes. */
body,
input, select, textarea, button {
  font-family: 'Poppins', 'Noto Naskh Arabic', 'Geeza Pro', 'Segoe UI',
               'Tahoma', 'Arial', system-ui, sans-serif;
}
/* L'arabe n'a pas de capitales : les petites capitales et l'espacement de
   lettres des titres et étiquettes n'ont aucun sens et nuisent à la
   lisibilité des ligatures. */
.eti, .ft-bas, h2, .lgs summary, .nav, .bdg {
  text-transform: none;
  letter-spacing: normal;
}
/* L'écriture arabe a besoin d'un peu plus d'interligne que le latin :
   les diacritiques et les hampes se chevauchent sinon. */
body { line-height: 1.75; }
h1, h2, h3 { line-height: 1.45; }
