/* ==========================================================================
   RTL-Korrekturen
   --------------------------------------------------------------------------
   Wird ausschliesslich von den RTL-Sprachbaeumen eingebunden (derzeit ar/)
   und ist zusaetzlich durchgaengig an [dir="rtl"] gebunden. Beides zusammen
   heisst: diese Datei kann eine LTR-Seite nicht erreichen, selbst wenn sie
   dort versehentlich verlinkt wuerde.

   Die eigentliche Spiegelung passiert nicht hier, sondern ueber logische
   Properties: css/*.css nutzt margin-inline-start statt margin-left, und die
   seiteneigenen <style>-Bloecke werden beim Generieren umgestellt
   (scripts/rtl_transform.py). Hier stehen nur die Faelle, die logische
   Properties nicht abdecken.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Tabellenkoepfe
   <th> traegt einen UA-Default, der sich wie `center` verhaelt, solange der
   geerbte text-align-Wert `start` ist -- steht dort ein expliziter Wert, erbt
   die Zelle ihn. Da die Seitenstile beim Generieren von `left` auf `start`
   umgestellt werden, wuerden alle Tabellenkoepfe still zentrieren. Diese
   Regel macht die Ausrichtung wieder deterministisch.

   Spezifitaet bewusst (0,0,1): jede Spaltenklasse schlaegt sie. Beim
   Explore-Umbau war genau das der Fehler -- ein Selektor mit (0,1,2) hat die
   rechtsbuendige Prozentspalte ueberschrieben.
   -------------------------------------------------------------------------- */
[dir="rtl"] th { text-align: start; }

/* --------------------------------------------------------------------------
   Bidi-Isolation
   Lateinische Markennamen, Zahlen und Codes stehen mitten im arabischen
   Fliesstext. Ohne Isolation reisst der Bidi-Algorithmus angrenzende
   Satzzeichen an den Zeilenanfang -- aus "320k+" wird sichtbar "+k 320".
   -------------------------------------------------------------------------- */
[dir="rtl"] bdi,
[dir="rtl"] .num,
[dir="rtl"] code,
[dir="rtl"] kbd,
[dir="rtl"] samp { unicode-bidi: isolate; }

/* Tabellenzellen mit reinen Zahlenwerten: als Ganzes isolieren, damit
   Vorzeichen und Einheiten an der Zahl bleiben. */
[dir="rtl"] td.num,
[dir="rtl"] .benchmark-bar__value,
[dir="rtl"] .ledger-num { unicode-bidi: isolate; }

/* --------------------------------------------------------------------------
   Dekorative Elemente ohne Textfluss-Semantik
   `transform` kennt keine logische Form und muss von Hand gespiegelt werden.
   -------------------------------------------------------------------------- */
[dir="rtl"] .hero-cursor { transform: scaleX(-1); }

/* Pfeil-Glyphen in Buttons und Links. Die Textpfeile (&rarr;) werden schon
   beim Generieren umgedreht; hier geht es um SVG- und Pseudo-Element-Pfeile,
   die als Grafik vorliegen. */
[dir="rtl"] .btn svg.icon-arrow,
[dir="rtl"] .link-arrow::after,
[dir="rtl"] .card-link::after { transform: scaleX(-1); }

/* --------------------------------------------------------------------------
   Typografie
   Die Brotschrift (Inter) deckt Arabisch nicht ab; ohne eigenen Stack faellt
   der Browser auf eine beliebige Systemschrift zurueck, was Zeilenhoehe und
   Laufweite unruhig macht. Ziffern bleiben westlich-arabisch.
   -------------------------------------------------------------------------- */
[dir="rtl"] body {
    font-family: "Noto Sans Arabic", "Segoe UI", Tahoma, Arial, sans-serif;
    font-feature-settings: normal;
}

/* Die Display-Serifenschrift hat keine arabischen Glyphen -- Ueberschriften
   wuerden sonst mitten im Absatz die Schrift wechseln. */
[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3,
[dir="rtl"] .hero__title, [dir="rtl"] .section__title {
    font-family: "Noto Kufi Arabic", "Noto Sans Arabic", "Segoe UI", Tahoma,
                 sans-serif;
}

/* Arabische Schrift traegt hoeher und braucht etwas mehr Zeilenabstand als
   die lateinische Vorlage. */
[dir="rtl"] p,
[dir="rtl"] li { line-height: 1.85; }

/* --------------------------------------------------------------------------
   Listen
   Aufzaehlungszeichen sitzen ueber list-style-position automatisch richtig;
   eigene Einzuege muessen aber logisch sein.
   -------------------------------------------------------------------------- */
[dir="rtl"] ul,
[dir="rtl"] ol { padding-inline-start: 1.25em; padding-inline-end: 0; }
