/*
 * Typography scale — mapped to the Verda design system's text styles.
 * Heading scale is shifted down one step from the DS default
 * (h1 = 2XL rather than 3XL) so docs headings feel less oversized.
 *
 * Scale → tokens:
 *   2XL  24/26 600 — h1
 *   XL   20/22 600 — h2
 *   LG   18/22 600 — h3 (DS only defines LG at 400; bold is a docs-site deviation)
 *   MD   16/20 600 — h4 (MD-bold)
 *   SM   15/20 400 — body; h5 uses SM-bold 600
 *   XS   14/20 600 — h6 (XS-bold)
 *
 * Component-scoped text (tables, admonitions, grid cards, code, icons,
 * TOC) lives in components.css. This file is pure type + prose rhythm.
 */

.md-typeset {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  letter-spacing: 0;
}

/* ------------------------------------------------------------------ */
/* Heading scale                                                       */
/* ------------------------------------------------------------------ */
.md-typeset h1 {
  font-size: var(--font-size-2xl);
  line-height: var(--line-height-lg);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0;
  margin: 0 0 var(--spacing-xl);
}

.md-typeset h2 {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-md);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0;
  margin: var(--spacing-4xl) 0 var(--spacing-lg);
}

/* h3 is LG size but weight 600 — a deliberate deviation from the DS
   (which only defines LG at weight 400). In long-form docs, a 400-weight
   h3 between bold h2 and bold h4 reads as a hierarchy break. */
.md-typeset h3 {
  font-size: var(--font-size-lg);
  line-height: var(--line-height-md);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0;
  margin: var(--spacing-3xl) 0 var(--spacing-md);
}

.md-typeset h4 {
  font-size: var(--font-size-md);
  line-height: var(--line-height-sm);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0;
  margin: var(--spacing-2xl) 0 var(--spacing-sm);
}

.md-typeset h5 {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0;
  text-transform: none;
  margin: var(--spacing-xl) 0 var(--spacing-sm);
}

.md-typeset h6 {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-sm);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0;
  text-transform: none;
  margin: var(--spacing-xl) 0 var(--spacing-sm);
}

/* ------------------------------------------------------------------ */
/* Prose rhythm                                                        */
/* ------------------------------------------------------------------ */
.md-typeset p {
  margin: 0 0 var(--spacing-lg);
}

.md-typeset ul,
.md-typeset ol {
  margin: var(--spacing-lg) 0;
}

.md-typeset li {
  margin-bottom: var(--spacing-xs);
}

.md-typeset li > p {
  margin-bottom: var(--spacing-sm);
}

.md-typeset blockquote {
  margin: var(--spacing-lg) 0;
  padding-left: var(--spacing-lg);
}

.md-typeset hr {
  margin: var(--spacing-3xl) 0;
}

.md-typeset strong,
.md-typeset b {
  font-weight: var(--font-weight-semibold);
}

/* ------------------------------------------------------------------ */
/* Body text color — soften long-form prose with --color-text-body     */
/* (neutral-700 light / neutral-200 dark), a docs-scope tone between   */
/* primary and secondary. Headings stay primary via the heading rules  */
/* above; admonition titles keep primary explicitly.                   */
/* ------------------------------------------------------------------ */
.md-typeset p,
.md-typeset li {
  color: var(--color-text-body);
}

.md-typeset .admonition-title,
.md-typeset summary {
  color: var(--color-text-primary);
}
