/* ==========================================================================
   Rahavard Danesh — Typography
   Persian-first scale. Vazirmatn is loaded in the document head;
   this file defines the size/weight/line-height system.
   ========================================================================== */

body {
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  font-weight: var(--fw-regular);
  line-height: var(--lh-body);
  color: var(--color-text);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-sans);
  font-weight: var(--fw-bold);
  line-height: var(--lh-heading);
  color: var(--color-text);
  letter-spacing: -0.01em;
}

h1, .h1 { font-size: var(--fs-h1); }
h2, .h2 { font-size: var(--fs-h2); }
h3, .h3 { font-size: var(--fs-h3); }
h4, .h4 { font-size: var(--fs-h4); }

.display {
  font-size: var(--fs-display);
  font-weight: var(--fw-extrabold);
  line-height: var(--lh-display);
  letter-spacing: -0.02em;
}

.text-body-lg { font-size: var(--fs-body-lg); }
.text-body    { font-size: var(--fs-body); }
.text-body-sm { font-size: var(--fs-body-sm); }
.text-caption { font-size: var(--fs-caption); }

.text-muted  { color: var(--color-text-muted); }
.text-soft   { color: var(--color-text-soft); }
.text-invert { color: var(--color-text-invert); }

.text-primary { color: var(--color-primary-dark); }
.text-success { color: var(--color-success-dark); }
.text-danger  { color: var(--color-danger); }
.text-warning { color: var(--color-warning); }

.fw-regular  { font-weight: var(--fw-regular); }
.fw-medium   { font-weight: var(--fw-medium); }
.fw-semibold { font-weight: var(--fw-semibold); }
.fw-bold     { font-weight: var(--fw-bold); }
.fw-extrabold{ font-weight: var(--fw-extrabold); }

.lead {
  font-size: var(--fs-body-lg);
  line-height: var(--lh-body);
  color: var(--color-text-soft);
}

/* Persian numerals are handled by the font; ensure mixed LTR content
   (numbers, dates, code) breaks correctly. */
.ltr {
  direction: ltr;
  unicode-bidi: isolate;
}
