/* Shared selector; it inherits the existing independent theme palette. */
.language-control { display: flex; align-items: center; max-width: 100%; }
.language-control label { display: flex; align-items: center; gap: 8px; color: var(--header-text); font-size: .95rem; }
.language-control select { min-height: 44px; min-width: 9rem; max-width: 15rem; width: auto; padding: 6px 10px; color: var(--field-text); background: var(--field-bg); border: 1px solid var(--control-border); border-radius: 6px; font: inherit; }
.language-control select:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.language-status { flex-basis: 100%; color: var(--header-text); font-size: .9rem; }
.localized-text { white-space: pre-wrap; overflow-wrap: anywhere; }
[data-numeric], .numeric-value { white-space: nowrap; overflow-wrap: normal; }
/* Initial selected-language fetch is bounded in JS; static fallback always
   reappears on failure. Controls, loading and error states remain visible. */
html[data-language-pending="true"] main:not([data-localization-error]),
html[data-language-pending="true"] .site-nav { visibility: hidden; }
html[dir="rtl"] body { text-align: start; }
html[dir="rtl"] :is(p, figcaption) { unicode-bidi: plaintext; }
html[dir="rtl"] .site-nav a[aria-current] { text-align: start; }
html[dir="rtl"] .table-scroll { direction: rtl; }
html[dir="rtl"] th, html[dir="rtl"] td { text-align: start; }
/* IDs, code and numeric fields retain their order within Arabic prose. */
code, pre, bdi, .technical-value, .numeric-value, [data-technical], [data-numeric] { direction: ltr; unicode-bidi: isolate; }
@media (max-width: 600px) {
  .language-control { flex: 1 1 auto; }
  .language-control label { flex-wrap: wrap; gap: 4px 8px; }
  .language-control select { min-width: 8rem; max-width: min(15rem, 100%); }
  html[dir="rtl"] .skip-link { left: auto; right: 12px; }
}
