/**
 * Editorial article typography for the body_content prose container.
 * Loaded AFTER tailwind.css from functions.php (Phase 12.3).
 *
 * Design intent: editorial confidence in the prose without case-file numerals.
 * — Tighter modular scale on prose headings (5-step ratio, fewer sizes)
 * — Gold hairline rule above each H2 (visible without reading as a divider)
 * — Lead paragraph after each H2 reads heavier and more breathable
 * — Subtle gold drop cap on the very first paragraph
 * — `.muv-pull` opt-in pull-quote helper for editor-marked proof points
 *
 * @package muv
 */

.entry-content.prose > h2 {
	position: relative;
	font-family: 'Michroma', sans-serif;
	font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2rem);
	letter-spacing: -0.02em;
	line-height: 1.18;
	text-transform: none;
	color: #171717;
	margin-top: 3.5rem;
	margin-bottom: 1.25rem;
	padding-top: 1.75rem;
	border-top: 1px solid rgba(177, 159, 108, 0.25);
}

.entry-content.prose > h2:first-of-type {
	margin-top: 0.5rem;
	padding-top: 0;
	border-top: 0;
}

.entry-content.prose > h3 {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: -0.005em;
	color: #292929;
	margin-top: 2rem;
	margin-bottom: 0.75rem;
}

.entry-content.prose > p {
	font-size: 1rem;
	line-height: 1.7;
	color: #3f3f3f;
	max-width: 70ch;
}

.entry-content.prose > h2 + p,
.entry-content.prose > h1 + p {
	font-size: 1.0625rem;
	line-height: 1.55;
	color: #292929;
}

/* Drop cap — blog posts (post_type=post) ONLY. WP adds `single-post` to <body>
 * for single-post views. The drop cap was leaking into the FAQ page and any
 * other page that reuses `.entry-content.prose`, breaking layouts whose first
 * paragraph wasn't wide enough for a 3.25rem floated capital. */
body.single-post .entry-content.prose > p:first-of-type::first-letter {
	float: left;
	font-family: 'Michroma', sans-serif;
	font-size: 3.25rem;
	line-height: 0.9;
	color: #b19f6c;
	padding: 0.35rem 0.65rem 0 0;
	letter-spacing: -0.04em;
}

.entry-content.prose ul,
.entry-content.prose ol {
	max-width: 70ch;
	font-size: 1rem;
	line-height: 1.7;
	color: #3f3f3f;
}

.entry-content.prose ul > li::marker { color: #b19f6c; }

.entry-content.prose .muv-pull {
	font-family: 'Michroma', sans-serif;
	font-size: clamp(1.375rem, 1rem + 1.5vw, 1.875rem);
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: #171717;
	padding: 1.5rem 0;
	margin: 2.5rem 0;
	max-width: none;
}

.entry-content.prose .muv-pull::before {
	content: "";
	display: block;
	width: 2.5rem;
	height: 2px;
	background: #b19f6c;
	margin-bottom: 1.25rem;
}

@media (min-width: 1024px) {
	.entry-content.prose > h2 { margin-top: 4rem; }
}

/**
 * 2026-05-09 — Force WordPress's native align* classes to float inside the
 * prose container. Tailwind Typography normalizes images to display:block,
 * which kills float wrapping. Override here so editorial bios with image-left
 * (or image-right) layout render with text wrapping next to the portrait,
 * not stacked above it.
 */
.entry-content .alignleft,
.entry-content img.alignleft {
	float: left !important;
	display: block;
	margin: 0.25rem 1.75rem 1rem 0 !important;
	max-width: 360px;
	height: auto;
}
.entry-content .alignright,
.entry-content img.alignright {
	float: right !important;
	display: block;
	margin: 0.25rem 0 1rem 1.75rem !important;
	max-width: 360px;
	height: auto;
}
.entry-content .aligncenter {
	display: block;
	margin: 1.5rem auto !important;
	clear: both;
}
/* Clear floats before each new section heading so portraits don't bleed across bios */
.entry-content h2,
.entry-content h3 {
	clear: both;
}
@media (max-width: 640px) {
	.entry-content .alignleft,
	.entry-content .alignright,
	.entry-content img.alignleft,
	.entry-content img.alignright {
		float: none !important;
		display: block;
		margin: 1rem auto !important;
		max-width: 100%;
	}
}

/**
 * 2026-05-09 — when an alignleft/alignright image is alone inside a wrapping <p>
 * (WordPress's wpautop default), the wrapping <p> traps the float in its own
 * block, preventing following <p>s from wrapping. Use display:contents so the
 * <p> dissolves layout-wise and the image floats freely against subsequent prose.
 */
.entry-content p:has(> img.alignleft:only-child),
.entry-content p:has(> img.alignright:only-child),
.entry-content p:has(> img.aligncenter:only-child) {
	display: contents;
}
