/* ==========================================================================
   English / LTR overrides — loaded AFTER all other stylesheets on every /en/ page.
   The base CSS uses logical properties, so only direction-specific rules are overridden here.
   ========================================================================== */
:root { --font: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, Arial, sans-serif; }
html[lang="en"] body { line-height: 1.75; }
html[lang="en"] h1, html[lang="en"] h2, html[lang="en"] h3 { text-wrap: balance; }

/* Persian-digit font is not needed for Latin digits */
.num, .fact__num, .faq-item__n, .stat__value, .hero__count, .panel-link__num, .pcard__year, a[href^="tel:"],
.svc-link__n, .stat2__value, .result__value, .gal__count, .lightbox__count, .fchip__n { font-family: var(--font); }

/* headline rhythm: Latin text needs tighter line-height than Persian */
.slide__title { font-size: clamp(2.2rem, 1rem + 4.3vw, 4.4rem); line-height: 1.18; }
.slide__title--sm { font-size: clamp(1.8rem, .9rem + 2.9vw, 3.2rem); line-height: 1.25; }
.slide__lede { line-height: 1.7; }
.h2 { line-height: 1.28; }
.svc-statement, .banner__title, .pd-title, .cta__title { line-height: 1.3; }
.banner__title { font-size: clamp(2.2rem, 1rem + 4vw, 4.1rem); }
.pd-title { line-height: 1.32; } .pd-title--long { line-height: 1.38; }
.pcard__title { line-height: 1.5; min-height: 4.5em; font-size: 1.1rem; }
.fact__title, .svc-panel__title, .node__name, .cinfo__value, .pf__value { line-height: 1.5; }
.svc-panel__title { font-size: clamp(1.6rem, 1.1rem + 1.4vw, 2.2rem); }
.svc-panel__text, .history__lead, .mission__lead, .fact__text, .faq-item__body p, .ceo__text p, .svc-article p, .pd-desc p { line-height: 1.85; }
.faq-item summary { line-height: 1.5; }

/* justified long-form text: hyphenation avoids wide gaps in English */
.justify, .svc-article p, .ceo__text p, .pd-desc p { hyphens: auto; -webkit-hyphens: auto; }

/* hover / motion directions (the arrow icons are already swapped to point right) */
.btn:hover .icon--arrow { transform: translateX(4px); }
.svc-tab.is-active .icon { transform: translateX(4px); }
.pcard:hover .pcard__go .icon { transform: translateX(5px); }
.pcard::before, .stat2::after, .result::after { transform-origin: left; }
.pc-progress span { transform-origin: left; }

/* overlays: text sits on the LEFT, so the dark side of the gradient is the left */
.slide::after {
  background:
    linear-gradient(to right, rgb(6 14 22 / .92) 0%, rgb(6 14 22 / .7) 34%, rgb(6 14 22 / .2) 68%, rgb(6 14 22 / .05) 100%),
    linear-gradient(to top, rgb(6 14 22 / .7) 0%, transparent 38%),
    linear-gradient(to bottom, rgb(6 14 22 / .45) 0%, transparent 22%);
}
.holding::before { background: linear-gradient(to right, rgb(8 18 27 / .92) 0%, rgb(8 18 27 / .62) 55%, rgb(8 18 27 / .2) 100%); }

/* org chart connectors */
.org__root::after, .org__kids > .node::before { translate: -50% 0; }

/* gallery + lightbox controls: previous on the left, next on the right */
.gal__nav--prev { inset-inline-end: auto; inset-inline-start: 12px; }
.gal__nav--next { inset-inline-start: auto; inset-inline-end: 12px; }
.lightbox__prev { inset-inline-end: auto; inset-inline-start: 22px; }
.lightbox__next { inset-inline-start: auto; inset-inline-end: 22px; }
.lightbox__close { inset-inline-start: auto; inset-inline-end: 20px; }
.gal__zoom { inset-inline-end: auto; inset-inline-start: 14px; }
.gal__count { inset-inline-start: auto; inset-inline-end: 16px; }

/* nav: caret and focus order are symmetric; keep the language switch tidy */
.nav__link.lang-switch { font-family: "Vazirmatn", "Tahoma", sans-serif; }

@media (max-width: 1024px) { .svc-tab.is-active .icon { transform: rotate(90deg); } }

/* results: numbers read from the left in English */
.stat2__value, .result__value { justify-content: flex-start; }
