/* ShillGPT.com — language layer.
 * 1) Language switcher (header) + footer language row.
 * 2) Per-script typography (CJK / Devanagari / Arabic stacks).
 * 3) Minimal RTL adjustments for the Arabic build.
 * Loads after site.css; tokens come from themes.css. */

/* ── 1. switcher ─────────────────────────────────────────── */
.site-head .lang-switch { margin-left: auto; position: relative; }
.lang-switch summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--radius); color: var(--fg); background: none; }
.lang-switch summary::-webkit-details-marker { display: none; }
.lang-switch summary:hover { border-color: var(--fg); }
.lang-switch summary:active { transform: translateY(1px); }
.lang-switch .ls-label { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.04em; }
.lang-switch svg { display: block; }
.ls-menu { position: absolute; top: calc(100% + 8px); inset-inline-end: 0; margin: 0; padding: 6px; list-style: none; min-width: 216px; background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--radius); z-index: 70; }
.ls-menu li { margin: 0; }
.ls-menu a, .ls-menu .ls-cur { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 9px 12px; font-size: 14px; line-height: 1.4; text-decoration: none; color: var(--fg-soft); }
.ls-menu a:hover { background: var(--accent-soft); color: var(--fg); }
.ls-menu .ls-cur { color: var(--fg); }
.ls-menu a[aria-current="true"], .ls-menu .ls-cur { font-weight: 550; }
.ls-menu .ls-code { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.06em; color: var(--muted); }

.foot-langs { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.foot-langs a { font-size: 12.5px; color: var(--muted); text-decoration: none; }
.foot-langs a:hover { color: var(--fg); text-decoration: underline; }
.foot-langs a[aria-current="true"] { color: var(--fg); }

@media (max-width: 520px) {
  .lang-switch .ls-label { display: none; }
  .lang-switch summary { padding: 0 11px; }
  .ls-menu { min-width: 200px; }
}
@media print {
  .lang-switch, .foot-langs { display: none; }
}

/* ── 2. per-script typography ────────────────────────────── */
html[lang="zh-HK"][data-dir="digest"] {
  --font-body: 'PingFang HK', 'PingFang SC', 'Hiragino Sans GB', 'Noto Sans CJK SC', 'Microsoft YaHei', sans-serif;
  --font-display: 'Source Serif 4', 'Songti SC', 'Noto Serif CJK SC', 'SimSun', serif;
}
html[lang="zh-HK"] body { line-height: 1.75; }
html[lang="zh-HK"] h1, html[lang="zh-HK"] h2, html[lang="zh-HK"] h3 { letter-spacing: 0; }
html[lang="zh-HK"] h1 { line-height: 1.16; }
html[lang="zh-HK"] .lede { line-height: 1.7; }

html[lang="hi"][data-dir="digest"] {
  --font-body: 'IBM Plex Sans', 'Noto Sans Devanagari', 'Kohinoor Devanagari', 'Nirmala UI', 'Mangal', sans-serif;
  --font-display: 'Source Serif 4', 'Noto Serif Devanagari', 'Kohinoor Devanagari', serif;
}
html[lang="hi"] body { line-height: 1.75; }
html[lang="hi"] h1, html[lang="hi"] h2 { line-height: 1.3; }

html[lang="ar"][data-dir="digest"] {
  --font-body: 'IBM Plex Sans', 'Geeza Pro', 'Noto Naskh Arabic', 'Segoe UI', sans-serif;
  --font-display: 'Source Serif 4', 'Noto Naskh Arabic', 'Geeza Pro', serif;
}
html[lang="ar"] body { line-height: 1.8; }
html[lang="ar"] h1, html[lang="ar"] h2, html[lang="ar"] h3 { letter-spacing: 0; line-height: 1.35; }
html[lang="ar"] .lede { line-height: 1.75; }

/* ── 3. RTL adjustments ──────────────────────────────────── */
[dir="rtl"] .btn svg, [dir="rtl"] .text-link svg { transform: scaleX(-1); }
[dir="rtl"] .prose ul, [dir="rtl"] .prose ol { padding-left: 0; padding-right: 1.2em; }
[dir="rtl"] .dont ul, [dir="rtl"] .tier ul, [dir="rtl"] .module ul { padding-left: 0; padding-right: 1.1em; }
[dir="rtl"] .crumb { direction: rtl; }
[dir="rtl"] .ls-menu { left: 0; right: auto; }
[dir="rtl"] .fact-row, [dir="rtl"] .ledger-row { text-align: right; }
