/* ============================================================
   site-extra.css — additions for CMS-rendered content.
   site.css is the original compiled stylesheet and is left
   untouched; anything new lives here so it is easy to edit.
   ============================================================ */

/* Utilities the original build did not ship (used by the new card/body markup) */
.aspect-\[3\/2\] { aspect-ratio: 3 / 2; }
.aspect-\[16\/9\] { aspect-ratio: 16 / 9; }
.group:hover .group-hover\:scale-\[1\.02\] { transform: scale(1.02); }
.group:hover .group-hover\:scale-105 { transform: scale(1.05); }
.max-h-\[70vh\] { max-height: 70vh; }
.text-\[1\.125rem\] { font-size: 1.125rem; }
.leading-\[1\.7\] { line-height: 1.7; }
.list-decimal { list-style-type: decimal; }
.my-10 { margin-top: 2.5rem; margin-bottom: 2.5rem; }
.z-\[65\] { z-index: 65; }
.z-\[70\] { z-index: 70; }

/* Subscription pop-up + /subscribe page (utilities the original build did not ship) */
.z-\[100\] { z-index: 100; }
.-top-3 { top: -0.75rem; }
.left-8 { left: 2rem; }
[dir="rtl"] .left-8 { left: auto; right: 2rem; }
.items-baseline { align-items: baseline; }
.max-w-4xl { max-width: 56rem; }
.bg-obsidian\/80 { background-color: hsl(var(--obsidian) / .8); }
.backdrop-blur-sm { -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.disabled\:opacity-60:disabled { opacity: .6; }
@media (min-width: 640px) { .sm\:justify-center { justify-content: center; } }
@media (min-width: 768px) { .md\:p-10 { padding: 2.5rem; } }
.plan-card[aria-pressed="true"] { border-color: hsl(var(--amber)); background-color: hsl(var(--card)); }
.plan-card[aria-pressed="true"] .plan-check { border-color: hsl(var(--amber)); background-color: hsl(var(--amber)); color: hsl(var(--obsidian)); }
.plan-card[aria-pressed="true"] .plan-check svg { display: block; }
.plan-card .plan-check svg { display: none; }
body.modal-open { overflow: hidden; }

/* Story body typography (mirrors the original article page) */
.prose-correspondent p + p { margin-top: 1.5rem; }
.prose-correspondent .first-letter\:font-heading::first-letter { font-family: var(--font-heading); }
.prose-correspondent .first-letter\:text-5xl::first-letter { font-size: 3rem; }
.prose-correspondent .first-letter\:float-left::first-letter { float: left; }
.prose-correspondent .first-letter\:mr-2::first-letter { margin-right: 0.5rem; }
.prose-correspondent .first-letter\:leading-none::first-letter { line-height: 1; }
.prose-correspondent .first-letter\:text-amber::first-letter { color: hsl(var(--amber)); }
.prose-correspondent em { font-style: italic; }
.prose-correspondent u { text-decoration: underline; text-underline-offset: 4px; }
.prose-correspondent li + li { margin-top: 0.5rem; }
.prose-correspondent img { display: block; max-width: 100%; height: auto; }
.prose-correspondent figure img { margin-top: 0; }

/* Broadcast page episode list active state */
.episode-item.is-active h4 { color: hsl(var(--amber)); }

/* ============================================================
   Languages: Ukrainian (Cyrillic, same fonts) and Urdu (RTL,
   Noto Nastaliq Urdu self-hosted in fonts-urdu.css).
   ============================================================ */
.rtl-flip { transition: transform .2s; }
[dir="rtl"] .rtl-flip { transform: scaleX(-1); }
[dir="rtl"] .group:hover .group-hover\:translate-x-1 { transform: scaleX(-1) translateX(-0.25rem); }

/* Physical Tailwind utilities mirrored for right-to-left pages */
[dir="rtl"] .pl-6  { padding-left: 0; padding-right: 1.5rem; }
[dir="rtl"] .pl-5  { padding-left: 0; padding-right: 1.25rem; }
[dir="rtl"] .border-l   { border-left-width: 0; border-right-width: 1px; }
[dir="rtl"] .border-l-2 { border-left-width: 0; border-right-width: 2px; }
[dir="rtl"] .-left-\[5px\] { left: auto; right: -5px; }
[dir="rtl"] .left-6 { left: auto; right: 1.5rem; }
[dir="rtl"] .object-left { object-position: right; }
[dir="rtl"] .text-left { text-align: right; }
[dir="rtl"] .lg\:bg-gradient-to-r { --tw-gradient-direction: to left; background-image: linear-gradient(to left, var(--tw-gradient-stops)); }
[dir="rtl"] .-mx-4 { margin-left: -1rem; margin-right: -1rem; }
[dir="rtl"] input, [dir="rtl"] textarea { text-align: right; }
[dir="rtl"] input[type="email"] { text-align: left; direction: ltr; }

/* Urdu typography: Nastaliq needs more line-height and no letter-spacing (it breaks the joined script) */
html[lang="ur"] body, html[lang="ur"] .font-body { font-family: "Noto Nastaliq Urdu", "Noto Naskh Arabic", "Jameel Noori Nastaleeq", serif; }
html[lang="ur"] .font-heading, html[lang="ur"] h1, html[lang="ur"] h2, html[lang="ur"] h3, html[lang="ur"] h4 { font-family: "Noto Nastaliq Urdu", "Noto Naskh Arabic", serif; }
html[lang="ur"] .brand-wordmark, html[lang="ur"] [lang="en"], html[lang="ur"] .tabular-nums { font-family: "Cormorant Garamond", ui-serif, Georgia, serif; letter-spacing: normal; }
html[lang="ur"] .tabular-nums { font-family: "Inter", ui-sans-serif, system-ui, sans-serif; }
html[lang="ur"] .tracking-widest, html[lang="ur"] .tracking-wide { letter-spacing: 0; }
html[lang="ur"] .uppercase { text-transform: none; }
html[lang="ur"] .text-\[11px\] { font-size: 13px; }
html[lang="ur"] .text-\[10px\] { font-size: 12px; }
html[lang="ur"] .text-sm { font-size: 0.95rem; }
html[lang="ur"] p, html[lang="ur"] .leading-relaxed { line-height: 2.1; }
html[lang="ur"] .leading-snug, html[lang="ur"] .leading-tight, html[lang="ur"] .leading-none, html[lang="ur"] .leading-\[1\.02\], html[lang="ur"] .leading-\[1\.05\], html[lang="ur"] .leading-\[0\.95\], html[lang="ur"] .leading-\[1\.15\], html[lang="ur"] .leading-\[1\.18\] { line-height: 1.55; }
html[lang="ur"] .text-8xl { font-size: 4.5rem; }
html[lang="ur"] .text-9xl { font-size: 5rem; }
html[lang="ur"] .lg\:text-9xl { font-size: 5rem; }
html[lang="ur"] .italic { font-style: normal; }
html[lang="ur"] .prose-correspondent p { line-height: 2.1; }
html[lang="ur"] .prose-correspondent [class*="first-letter"]::first-letter { font-size: inherit; float: none; margin: 0; color: inherit; font-family: inherit; line-height: inherit; }
html[lang="ur"] .line-clamp-2 { -webkit-line-clamp: 3; }
html[lang="ur"] .grid-cols-\[auto_1fr\] { grid-template-columns: auto 1fr; }
html[lang="ur"] .translate-item, html[lang="ur"] #lang-menu { letter-spacing: 0; }

/* Ukrainian: Cormorant/Inter carry Cyrillic; only the widest tracking is eased for legibility */
html[lang="uk"] .tracking-widest { letter-spacing: 0.14em; }

/* English fallback text inside a right-to-left page keeps LTR order but stays flush with the column */
[dir="rtl"] [data-en] { direction: ltr; text-align: right; unicode-bidi: isolate; font-family: "Cormorant Garamond", ui-serif, Georgia, serif; letter-spacing: normal; }
[dir="rtl"] p[data-en] { font-family: "Inter", ui-sans-serif, system-ui, sans-serif; line-height: 1.625; }
[dir="rtl"] .text-center [data-en] { text-align: center; }
