/* Vahid Jafari — language-aware layout normalization.
 * English pages use true LTR flow without changing the geometry of intentional
 * visual diagrams, which keep their own coordinate system.
 */

html[lang^="en"] .site-main,
html[lang^="en"] .site-main .vj-container,
html[lang^="en"] .site-main [class*="__inner"],
html[lang^="en"] .site-main [class*="__grid"],
html[lang^="en"] .site-main [class*="__layout"],
html[lang^="en"] .site-main [class*="__head"],
html[lang^="en"] .site-main [class*="__row"],
html[lang^="en"] .site-main [class*="__columns"],
html[lang^="en"] .site-main [class*="__copy"],
html[lang^="en"] .site-main [class*="__body"],
html[lang^="en"] .site-main [class*="__content"] {
  direction: ltr;
}

/* Problem detail had several explicit RTL layout contracts. */
html[lang^="en"] .vj-problem-detail .vj-pd-hero__grid,
html[lang^="en"] .vj-problem-detail .vj-pd-intro__inner,
html[lang^="en"] .vj-problem-detail .vj-pd-section-head,
html[lang^="en"] .vj-problem-detail .vj-pd-diagnosis-grid,
html[lang^="en"] .vj-problem-detail .vj-pd-model__grid,
html[lang^="en"] .vj-problem-detail .vj-pd-question-row,
html[lang^="en"] .vj-problem-detail .vj-pd-method__steps,
html[lang^="en"] .vj-problem-detail .vj-pd-outcome-grid,
html[lang^="en"] .vj-problem-detail .vj-pd-knowledge-grid,
html[lang^="en"] .vj-problem-detail .vj-pd-cta__inner {
  direction: ltr;
}

/* Article body and sidebar previously forced RTL on desktop. */
@media (min-width: 1121px) {
  html[lang^="en"] body.single-post .vj-single-article .vj-article__body,
  html[lang^="en"] body.single-post .vj-single-article .vj-article__aside {
    direction: ltr;
  }
}

/* Keep deliberately coordinate-based visuals independent from document flow. */
html[lang^="en"] .vj-system-map,
html[lang^="en"] .vj-system-map__connectors,
html[lang^="en"] .vj-pd-hero__visual,
html[lang^="en"] .vj-pd-model__visual,
html[lang^="en"] .vj-esd-system-diagram,
html[lang^="en"] .vj-bmd-value-model {
  direction: ltr;
}

/* Hero H1 typography: preserve natural word spacing and use balanced line breaks.
 * Browser-side Kashida/forced justification is intentionally avoided for Persian headlines. */
.site-main [class*="hero"] h1,
.site-main h1[class*="hero"] {
  text-align: right;
  text-align-last: right;
  text-wrap: balance;
  word-spacing: normal;
  letter-spacing: normal;
}

html[lang^="en"] .site-main [class*="hero"] h1,
html[lang^="en"] .site-main h1[class*="hero"] {
  text-align: left;
  text-align-last: left;
}

/* English typographic flow follows the LTR document direction. */
html[lang^="en"] .site-main h1,
html[lang^="en"] .site-main h2,
html[lang^="en"] .site-main h3,
html[lang^="en"] .site-main h4,
html[lang^="en"] .site-main h5,
html[lang^="en"] .site-main h6,
html[lang^="en"] .site-main p,
html[lang^="en"] .site-main li,
html[lang^="en"] .site-main dt,
html[lang^="en"] .site-main dd,
html[lang^="en"] .site-main blockquote,
html[lang^="en"] .site-main figcaption {
  unicode-bidi: normal;
}
