/* Prova — shared language-switcher, Arabic typography, and RTL rules.
   Linked by every page that includes i18n.js. Page-specific RTL fixes stay in
   that page's own <style> block. */

/* ---- language switcher ---- */
.lang{display:flex;align-items:center;gap:2px;border:1px solid rgba(127,216,198,.25);
  border-radius:999px;padding:3px;background:rgba(8,33,29,.4);}
.lang-btn{background:transparent;border:none;color:#bfe0d6;font-family:inherit;font-size:.8rem;
  font-weight:600;padding:6px 11px;border-radius:999px;cursor:pointer;line-height:1.2;
  transition:background .2s, color .2s;}
.lang-btn:hover{color:#fff;}
.lang-btn.on{background:#12A676;color:#fff;}
.lang-btn[lang="ar"]{font-size:.88rem;}
@media(max-width:820px){
  .lang-btn{display:inline-flex;align-items:center;min-height:44px;}
}
/* The rule above is a class selector and outranks the browser's [hidden]
   rule, which is how a hidden language button stayed visible under 820px.
   This puts [hidden] back in charge wherever it is set. */
.lang-btn[hidden]{display:none !important;}

/* ---- Arabic typography ---- */
/* Cairo is loaded from Google Fonts; the rest of the stack covers offline use
   (Geeza Pro ships with macOS/iOS, Noto Sans Arabic with Android/Linux). */
html[lang="ar"] body{font-family:'Cairo','Noto Sans Arabic','Geeza Pro','Segoe UI',
  -apple-system,BlinkMacSystemFont,sans-serif;line-height:1.9;}
/* Arabic is cursive — letter-spacing breaks the joins between letters. */
html[lang="ar"] .eyebrow,html[lang="ar"] .badge,html[lang="ar"] .press-label,
html[lang="ar"] .field label,html[lang="ar"] .f .n,html[lang="ar"] .step .n,
html[lang="ar"] .tag,html[lang="ar"] .refs h4,
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h4,
html[lang="ar"] h5,html[lang="ar"] .lang-btn{letter-spacing:normal;}
html[lang="ar"] h1{line-height:1.4;}
html[lang="ar"] .sec-head h2,html[lang="ar"] .authority h2{line-height:1.35;}
html[lang="ar"] .eyebrow,html[lang="ar"] .field label,html[lang="ar"] .press-label{text-transform:none;}

/* ---- RTL ---- */
/* Latin brand mark and figures keep LTR order inside RTL text. */
.brand-name,.f .n,.step .n{unicode-bidi:isolate;}

/* An English content block inside an RTL page: the page chrome mirrors, but the
   English prose keeps its natural left-to-right flow and left alignment. */
.en-body{unicode-bidi:isolate;}
html[dir="rtl"] .en-body{direction:ltr;text-align:left;}

/* A scorecard with no overall score. The headline is words, not a number, so it
   must not inherit the 3.6rem numeral sizing that exists for "4.2". */
.score-line.no-overall .big{font-size:1.7rem;line-height:1.2;}
