/* ============================================================
   DEENGEN — i18n: language switcher + RTL support
   Loaded on every page (root + language subfolders).
   ============================================================ */

/* ---- Language switcher ---- */
.langsel{position:relative;display:inline-block;font-family:'IBM Plex Mono',monospace}
.langsel > summary{
  list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;
  font-size:13px;color:var(--muted);background:var(--panel);
  border:1px solid var(--line-2);border-radius:8px;padding:8px 12px;
  transition:.2s;user-select:none;white-space:nowrap}
.langsel > summary::-webkit-details-marker{display:none}
.langsel > summary::marker{content:""}
.langsel > summary:hover{border-color:var(--mint);color:var(--mint)}
.langsel[open] > summary{border-color:var(--mint);color:var(--mint)}
.langsel > summary svg{width:15px;height:15px;flex-shrink:0}
.langsel > summary .caret{transition:.2s}
.langsel[open] > summary .caret{transform:rotate(180deg)}

.langmenu{
  position:absolute;top:calc(100% + 8px);right:0;min-width:200px;
  background:var(--panel-2);border:1px solid var(--line-2);border-radius:10px;
  padding:6px;z-index:90;box-shadow:0 18px 44px rgba(0,0,0,.55)}
.langmenu a{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:9px 12px;border-radius:7px;color:var(--muted);font-size:13px;
  transition:.15s;border-bottom:none}
.langmenu a:hover{background:var(--panel-3);color:var(--mint)}
.langmenu a .code{color:var(--faint);font-size:11px;letter-spacing:.06em}
.langmenu a.current{color:var(--mint)}
.langmenu a.current .code{color:var(--mint)}

/* opens upward (sidebar footer) */
.langsel.up .langmenu{top:auto;bottom:calc(100% + 8px)}
/* full-width in a sidebar */
.langsel.block{display:block;width:100%;margin-bottom:8px}
.langsel.block > summary{justify-content:space-between;width:100%}
.langsel.block .langmenu{right:0;left:0;width:100%}
/* standalone (login) — centered under the logo */
.langsel.solo{display:inline-flex;margin-top:16px}
[dir="rtl"] .langsel.block .langmenu{right:0;left:0}

/* mobile menu language row */
.mmlang{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0 2px}
.mmlang a{padding:6px 10px !important;border:1px solid var(--line-2);border-radius:7px;
  font-size:12px;color:var(--muted) !important;border-bottom:1px solid var(--line-2) !important}
.mmlang a.current{color:var(--mint) !important;border-color:var(--mint)}

/* ---- RTL: Arabic + Urdu ---- */
[dir="rtl"] body{direction:rtl}
[dir="rtl"] .langmenu{right:auto;left:0}
[dir="rtl"] .tbl th{text-align:right}
[dir="rtl"] .flist,[dir="rtl"] .card,[dir="rtl"] .sec-head,[dir="rtl"] .disc{text-align:right}
[dir="rtl"] .flist li{flex-direction:row-reverse;justify-content:flex-end}
[dir="rtl"] .eyebrow{flex-direction:row-reverse}
[dir="rtl"] .capture input{text-align:right}
[dir="rtl"] .crumbs{direction:rtl}

/* Arabic script fonts — force over inline IBM Plex Mono / Inter (no Arabic glyphs) */
html[lang="ar"] body,
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] p,
html[lang="ar"] a,html[lang="ar"] li,html[lang="ar"] span,html[lang="ar"] div,
html[lang="ar"] button,html[lang="ar"] summary,html[lang="ar"] input,
html[lang="ar"] .mono,html[lang="ar"] .eyebrow,html[lang="ar"] .btn,
html[lang="ar"] [style*="IBM Plex Mono"],html[lang="ar"] [style*="Plex Mono"]{
  font-family:'Noto Naskh Arabic','Noto Kufi Arabic','Segoe UI',Tahoma,sans-serif !important}

html[lang="ur"] body,
html[lang="ur"] h1,html[lang="ur"] h2,html[lang="ur"] h3,html[lang="ur"] p,
html[lang="ur"] a,html[lang="ur"] li,html[lang="ur"] span,html[lang="ur"] div,
html[lang="ur"] button,html[lang="ur"] summary,html[lang="ur"] input,
html[lang="ur"] .mono,html[lang="ur"] .eyebrow,html[lang="ur"] .btn,
html[lang="ur"] [style*="IBM Plex Mono"],html[lang="ur"] [style*="Plex Mono"]{
  font-family:'Noto Nastaliq Urdu','Noto Naskh Arabic','Segoe UI',Tahoma,sans-serif !important;
  line-height:2.1}
html[lang="ur"] .btn,html[lang="ur"] .navlinks a,html[lang="ur"] .langsel{line-height:1.6}

/* newsletter signup error message */
.capture-err{display:none;color:var(--crimson);font-size:13px;margin-top:10px;font-family:'IBM Plex Mono',monospace}
