/*
 * prose.css — long-form post body. Targets `.fa-prose`, the class
 * single.html and the per-CPT singulars apply to wp:post-content.
 *
 * Style philosophy: typography first, decoration almost never.
 * Vertical rhythm is set in `em` so section font sizes scale rhythm
 * automatically. Heading anchor offsets are handled via
 * `scroll-margin-top` so deep links don't land under the sticky header.
 */

.fa-prose {
	max-width: var(--wp--custom--prose--measure, 65ch);
	font-size: var(--wp--preset--font-size--base);
	line-height: var(--wp--custom--prose--line-height, 1.7);
	color: var(--wp--preset--color--text);
}

.fa-prose > * + * { margin-block-start: 1.25em; }

.fa-prose p,
.fa-prose ul,
.fa-prose ol,
.fa-prose blockquote,
.fa-prose figure,
.fa-prose pre,
.fa-prose hr,
.fa-prose table { margin-block: 0 1.25em; }

.fa-prose h2,
.fa-prose h3,
.fa-prose h4 {
	margin-block: 2em 0.75em;
	scroll-margin-top: 6rem;
	color: var(--wp--preset--color--text-strong);
}

.fa-prose h2 { font-size: var(--wp--preset--font-size--2xl); line-height: 1.2; }
.fa-prose h3 { font-size: var(--wp--preset--font-size--xl);  line-height: 1.25; }
.fa-prose h4 { font-size: var(--wp--preset--font-size--lg);  letter-spacing: 0; }

.fa-prose strong { color: var(--wp--preset--color--text-strong); font-weight: 600; }
.fa-prose em     { font-style: italic; }
.fa-prose mark   { background: var(--wp--preset--color--accent-soft); color: inherit; padding: 0 0.125em; border-radius: 0.125em; }

.fa-prose blockquote {
	padding: 0.5em 0 0.5em 1.25em;
	border-left: 3px solid var(--wp--preset--color--accent);
	color: var(--wp--preset--color--text-muted);
	font-style: italic;
}
.fa-prose blockquote p { margin: 0 0 0.5em; }

.fa-prose img,
.fa-prose figure {
	border-radius: 0.5rem;
}
.fa-prose figcaption {
	margin-top: 0.5em;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--text-muted);
	text-align: center;
}

.fa-prose ul,
.fa-prose ol {
	padding-inline-start: 1.5em;
}
.fa-prose ul li::marker { color: var(--wp--preset--color--accent); }
.fa-prose ol li::marker { color: var(--wp--preset--color--text-muted); font-weight: 600; }

.fa-prose code:not(pre code) {
	padding: 0.125em 0.375em;
	background: var(--wp--preset--color--code-bg);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 0.25em;
	font-family: var(--wp--preset--font-family--jetbrains-mono);
	font-size: 0.9em;
	color: var(--wp--preset--color--code-text);
}

.fa-prose a {
	color: var(--wp--preset--color--link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	text-decoration-color: var(--wp--preset--color--border-strong);
	transition: color 120ms cubic-bezier(0.4, 0, 0.2, 1),
	            text-decoration-color 120ms cubic-bezier(0.4, 0, 0.2, 1);
}
.fa-prose a:hover { color: var(--wp--preset--color--link-hover); text-decoration-color: var(--wp--preset--color--accent); }

.fa-prose hr { border: 0; border-top: 1px solid var(--wp--preset--color--border); margin-block: 2.5em; }

/* Tables in prose */
.fa-prose table {
	font-size: var(--wp--preset--font-size--sm);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 0.5rem;
	overflow: hidden;
}
.fa-prose th,
.fa-prose td {
	padding: 0.5em 0.75em;
	border-top: 1px solid var(--wp--preset--color--border);
	text-align: left;
	vertical-align: top;
}
.fa-prose thead th {
	background: var(--wp--preset--color--bg-elevated);
	font-weight: 600;
	color: var(--wp--preset--color--text-muted);
	border-top: 0;
}
.fa-prose .is-style-stripes tbody tr:nth-child(odd) { background: var(--wp--preset--color--bg-elevated); }

/* Guide variant — Newsreader serif body */
.fa-prose--guide {
	font-family: var(--wp--preset--font-family--newsreader);
	font-size: var(--wp--preset--font-size--md);
	line-height: 1.75;
}
.fa-prose--guide h2,
.fa-prose--guide h3,
.fa-prose--guide h4 {
	font-family: var(--wp--preset--font-family--inter);
}
