/* =============================================================
   Arabe (RTL) — chargé uniquement quand la langue est l'arabe.
   1) polices arabes auto-hébergées (sous-ensemble arabe ; le latin
      reste couvert par Inter/Cormorant en repli)
   2) familles typographiques pour l'arabe
   3) corrections propres à l'écriture arabe (cursive)
   4) inversions de mise en page (droite ↔ gauche)
   ============================================================= */

/* 1) Polices ------------------------------------------------- */
@font-face{font-family:'Amiri';font-style:normal;font-weight:400;font-display:swap;src:url(fonts-ar/amiri-400.woff2) format('woff2')}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:swap;src:url(fonts-ar/amiri-700.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:300;font-display:swap;src:url(fonts-ar/ibm-plex-sans-arabic-300.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url(fonts-ar/ibm-plex-sans-arabic-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url(fonts-ar/ibm-plex-sans-arabic-500.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-weight:600;font-display:swap;src:url(fonts-ar/ibm-plex-sans-arabic-600.woff2) format('woff2')}

/* 2) Familles : titres en Amiri, corps + libellés en IBM Plex Sans Arabic.
      Le latin (marque, chiffres) retombe sur Inter/Cormorant. */
:root{
  --serif:'Amiri','Cormorant Garamond',Georgia,serif;
  --sans:'IBM Plex Sans Arabic','Inter',system-ui,sans-serif;
  --mono:'IBM Plex Sans Arabic','Inter',sans-serif;
}

/* 3) Spécificités de l'arabe : l'écriture est cursive — jamais d'espacement
      entre lettres (ça casse les liaisons), et les capitales n'existent pas.
      On neutralise donc partout ce qui venait du style « mono » latin. */
[dir="rtl"] *{letter-spacing:0 !important;text-transform:none !important}
[dir="rtl"] body{font-family:var(--sans)}
/* un peu plus d'interligne : l'arabe a de hautes hampes et des points */
[dir="rtl"] p,[dir="rtl"] li{line-height:1.9}
[dir="rtl"] .serif,[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3{font-family:var(--serif);line-height:1.35}

/* 4) Inversions de mise en page (les flex/grilles/alignements se
      retournent seuls avec dir=rtl ; on ne corrige que le positionnement
      physique explicite). */
/* Barre de navigation (header) : on garde EXACTEMENT la même disposition qu'en
   LTR — logo à gauche, menu au centre, actions (langues + réserver + burger) à
   droite, et même ordre des liens. On force donc le sens LTR sur la barre ; le
   texte arabe de chaque lien reste bien affiché en RTL (glyphes cursifs). */
[dir="rtl"] header.site .h-inner{direction:ltr}
[dir="rtl"] .menu .close{right:auto;left:clamp(20px,4vw,52px)}
[dir="rtl"] .menu-figure figcaption{left:auto;right:18px}
[dir="rtl"] .fab{right:auto;left:22px}
[dir="rtl"] .skip{left:auto;right:24px}
[dir="rtl"] .menu-lang .lang a{padding:8px 0 8px 14px}
[dir="rtl"] .menu-lang .lang a[aria-current="true"]::after{left:14px;right:0}
/* la newsletter : coin arrondi/soudure input+bouton reste correct en flex */
[dir="rtl"] .news .news-row{direction:rtl}
/* Galerie « المعرض » : marquee piloté en JS (translate3d) calculé en LTR.
   Les rangées ne contiennent que des photos → on garde le flux LTR pour que
   l'ancrage flex et le bouclage restent corrects. */
[dir="rtl"] .gal,[dir="rtl"] .gal .m-row{direction:ltr}

/* Footer : les listes (navigation + contact) n'ont pas de puces → elles ne
   doivent pas hériter de l'indentation des listes à puces ci-dessous ; elles
   s'alignent sur le bord droit, comme les titres de colonne. */
[dir="rtl"] footer.site ul{padding-right:0}
/* Numéros de téléphone : toujours affichés en LTR, sinon les groupes de
   chiffres s'inversent (« 330 433 660 212+ »). inline-block => reste collé au
   bord droit de la colonne. */
[dir="rtl"] footer.site a[href^="tel:"]{direction:ltr;unicode-bidi:embed;display:inline-block}


/* Composants (accueil + intérieurs) : positions physiques à inverser en RTL.
   Inertes si la classe n'est pas présente sur la page. */
[dir="rtl"] .book-card label{border-right:0;border-left:1px solid var(--line)}
[dir="rtl"] .book-card label:last-child{border-left:0}
[dir="rtl"] .stay .tag{left:auto;right:14px}
[dir="rtl"] .tile .cap{left:auto;right:18px}
[dir="rtl"] .chapter figure figcaption{left:auto;right:18px}
[dir="rtl"] .exp:hover{padding-left:0;padding-right:18px}
[dir="rtl"] .q-rot cite .q-when{padding-left:0;padding-right:18px}
[dir="rtl"] .q-rot cite .q-when::before{left:auto;right:0}
[dir="rtl"] .scue .ln::after{left:auto;right:0}
/* facts-bar / listes à puce : puces à droite */
[dir="rtl"] .lg-body ul,[dir="rtl"] .rich ul,[dir="rtl"] ul{padding-left:0;padding-right:20px}

/* L'arabe ne s'italicise pas : le navigateur en fabrique une oblique déformée.
   On repasse en normal (accroche .ambiance, emphase <em>/<i>) + réglages de lecture. */
[dir="rtl"] .ambiance p,[dir="rtl"] em,[dir="rtl"] i{font-style:normal}
[dir="rtl"] .ambiance p{max-width:40ch;line-height:1.75}
[dir="rtl"] em{font-weight:600;color:var(--gold)}
