/* ==========================================================================
   9WEB STARTER THEME — TYPOGRAPHY
   Heading hierarchy, body copy rhythm, readability constraints.
   Font-size VALUES and fluid clamp() generation come from theme.json
   (settings.typography.fluid:true does that automatically) — this file
   only adds the hierarchy (weight/spacing/leading) on top of the tokens.
   ========================================================================== */

/* ---- Heading hierarchy --------------------------------------------------
   theme.json's styles.elements.heading already sets font-family + color
   globally. This file adds the size/weight/leading/tracking scale that
   theme.json's schema has no dedicated per-level heading mechanism for. */

h1, .wp-block-heading:where(h1),
h2, .wp-block-heading:where(h2),
h3, .wp-block-heading:where(h3),
h4, .wp-block-heading:where(h4),
h5, .wp-block-heading:where(h5),
h6, .wp-block-heading:where(h6) {
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.01em;
	text-wrap: balance;
}

h1, .wp-block-heading:where(h1) { font-size: var(--9w-text-display); line-height: 1.05; letter-spacing: -0.02em; }
h2, .wp-block-heading:where(h2) { font-size: var(--9w-text-5xl); }
h3, .wp-block-heading:where(h3) { font-size: var(--9w-text-4xl); }
h4, .wp-block-heading:where(h4) { font-size: var(--9w-text-3xl); }
h5, .wp-block-heading:where(h5) { font-size: var(--9w-text-2xl); }
h6, .wp-block-heading:where(h6) { font-size: var(--9w-text-xl); }

/* ---- Body copy -----------------------------------------------------------
   Paragraph text wants a narrower measure than the site's contentSize
   (1024px) for comfortable reading — ~700px keeps lines around 65-75
   characters. Only applies inside the constrained/prose context, never
   forces this width onto wide/full-aligned blocks. */

.wp-block-post-content > p,
.wp-block-post-content > ul,
.wp-block-post-content > ol,
.is-9w-prose > p {
	max-width: var(--9w-prose-max-width);
	text-wrap: pretty;
}

p {
	line-height: 1.7;
}

/* ---- Small/muted text ----------------------------------------------------- */

small, .is-9w-text-muted {
	color: var(--9w-color-muted);
	font-size: var(--9w-text-sm);
}

/* ---- Inline code / mono --------------------------------------------------- */

code, kbd, samp, pre {
	font-family: var(--9w-font-mono);
	font-size: 0.9em;
}
