/* Private Chefs Atelier — language switcher and Arabic RTL engineering.
   Kept in its own stylesheet so the accepted English design system in
   pca.css stays byte-identical. */

/* ── switcher ─────────────────────────────────────────────────── */
.lang{display:inline-flex;align-items:center;gap:2px;margin-inline-end:14px}
.lang__a{display:inline-flex;align-items:center;justify-content:center;
  min-width:34px;min-height:34px;padding:0 6px;
  font-family:var(--sans);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--c-35);text-decoration:none;border-bottom:1px solid transparent}
.lang__a:hover{color:var(--egg)}
.lang__a.is-on{color:var(--gold);border-bottom-color:var(--bl-edge-on)}
.lang__a:focus-visible{outline:1px solid var(--gold);outline-offset:2px}
[dir="rtl"] .lang__a{letter-spacing:normal}
@media(max-width:420px){.lang{gap:0;margin-inline-end:8px}.lang__a{min-width:30px;padding:0 4px}}

/* ── true RTL: logical properties, not a global right-align ───── */
[dir="rtl"] body{text-align:start}
[dir="rtl"] .wrap,[dir="rtl"] .mb-card,[dir="rtl"] .gr__card{text-align:start}
/* rows that are visually ordered must follow the reading direction */
[dir="rtl"] .nav ul,[dir="rtl"] .mob__nav ul,[dir="rtl"] .chips,[dir="rtl"] .btns,
[dir="rtl"] .mb-card__f,[dir="rtl"] .mb-al--i,[dir="rtl"] .mb-al__t,
[dir="rtl"] .gr__head,[dir="rtl"] .gr__sum,[dir="rtl"] .gr__who,
[dir="rtl"] .mb-filters,[dir="rtl"] .mb-catnav,[dir="rtl"] .mb-nav,
[dir="rtl"] .gr__track,[dir="rtl"] .gr__meta,[dir="rtl"] .mb-leg__i{flex-direction:row-reverse}
[dir="rtl"] .gr__track{direction:rtl}
[dir="rtl"] .mb-leg{direction:rtl}
/* directional affordances flip; artwork and universal marks do not */
[dir="rtl"] .gr__btn,[dir="rtl"] .mb-nav__b--back{transform:scaleX(-1)}
[dir="rtl"] .gr__btn>*,[dir="rtl"] .mb-nav__b--back>*{display:inline-block;transform:scaleX(-1)}
[dir="rtl"] .mb-ic,[dir="rtl"] .gr__stars,[dir="rtl"] .logo,[dir="rtl"] img{transform:none}
/* the star row is a rating, not a sentence: it stays LTR so the fill still
   reads from the first star */
[dir="rtl"] .gr__stars{direction:ltr;display:inline-block}
[dir="rtl"] .gr__sfg{left:0;right:auto}
/* popovers and rails anchored by logical edges */
[dir="rtl"] .mb-al__p{text-align:start}
[dir="rtl"] .gr__all,[dir="rtl"] .gr__src{text-align:start}

/* ── bidi isolation: data that must never be reordered ────────── */
[dir="rtl"] a[href^="tel:"],[dir="rtl"] a[href^="mailto:"],
[dir="rtl"] .price,[dir="rtl"] .gr__rate,[dir="rtl"] .gr__count,
[dir="rtl"] .mb-sum__pp,[dir="rtl"] .mb-price,
[dir="rtl"] time,[dir="rtl"] .gr__when{direction:ltr;unicode-bidi:isolate;text-align:start}
[dir="rtl"] .gr__google-attr{direction:ltr;unicode-bidi:isolate}
/* form fields whose content is inherently Latin */
[dir="rtl"] input[type="email"],[dir="rtl"] input[type="tel"],
[dir="rtl"] input[type="url"],[dir="rtl"] input[type="date"],
[dir="rtl"] input[type="number"]{direction:ltr;text-align:start}
[dir="rtl"] input[type="text"],[dir="rtl"] textarea{direction:rtl;text-align:start}

/* ── Arabic typography: no Latin letterforms imposed on Arabic ── */
[lang="ar"],[lang="ar"] body{font-feature-settings:"kern" 1}
[dir="rtl"] .eyebrow,[dir="rtl"] .mb-card__m,[dir="rtl"] .gr__label,
[dir="rtl"] .mb-al__pt,[dir="rtl"] .btn,[dir="rtl"] .mb-add__t,
[dir="rtl"] .mb-filter,[dir="rtl"] .mb-catnav__b{
  text-transform:none;letter-spacing:normal;line-height:1.75}
[lang="ar"] h1,[lang="ar"] h2,[lang="ar"] h3{letter-spacing:normal;line-height:1.4}
[lang="ar"] p,[lang="ar"] li{line-height:2}

/* ── Russian: Cyrillic must not fall back per-character ───────── */
[lang="ru"] h1,[lang="ru"] h2,[lang="ru"] h3,[lang="ru"] .xl,[lang="ru"] .lede{
  font-family:var(--display),"PT Serif",Georgia,serif}
[lang="ru"] .eyebrow,[lang="ru"] .btn,[lang="ru"] .mb-card__m{letter-spacing:.12em}
/* Russian runs longer than English: let it wrap rather than shrink */
[lang="ru"] .btn,[lang="ru"] .mb-add,[lang="ru"] .mb-filter{white-space:normal;height:auto}

/* V66.0 · The skip link is parked at left:-9999px. In LTR that is invisible
   and harmless; in RTL the overflow axis inverts and it created ~10,000px of
   horizontal scroll on every Arabic page. Clipped instead of displaced, so it
   still reaches the keyboard and occupies no space in either direction. */
[dir="rtl"] .skip:not(:focus):not(:focus-visible){
  position:absolute;left:auto;right:auto;inset-inline-start:0;
  width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* footer and nav lists must wrap rather than run past the inline edge */
[dir="rtl"] .nav ul,[dir="rtl"] .mob__nav ul,[dir="rtl"] .ft__l,[dir="rtl"] .ft ul{
  flex-wrap:wrap;min-width:0;max-width:100%}
