/**
 * Standard WordPress pages — prose width, media blocks, column tiles, buttons.
 * Applied to body.page (excluding the front page, which uses home.css).
 */

body.page {
	--page-prose: min(var(--measure-page), 100%);
}

/* ---------- Prose measure ---------- */
body.page .entry-content > .wp-block-paragraph,
body.page .entry-content > .wp-block-list,
body.page .entry-content > h5.wp-block-heading,
body.page .entry-content > h2.wp-block-heading:not(.has-large-font-size) {
	max-width: var(--page-prose);
}

body.page .entry-content > h5.wp-block-heading {
	font-size: clamp(1.05rem, 1vw + 0.9rem, 1.2rem);
	font-weight: 400;
	line-height: 1.55;
	color: var(--brand-text-muted);
}

body.page .entry-content > h2.has-large-font-size {
	padding-bottom: 0.4em;
	border-bottom: 1px solid var(--brand-border);
}

body.page .entry-content mark.has-vivid-purple-color,
body.page .entry-content mark.has-inline-color.has-vivid-purple-color {
	color: var(--brand-purple-dark);
	font-weight: 600;
	background: color-mix(in srgb, var(--brand-purple) 10%, transparent);
	padding: 0.08em 0.3em;
	border-radius: var(--radius-sm);
}

/* ---------- Resource buttons ---------- */
body.page .entry-content > .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	max-width: none;
}

body.page .entry-content > .wp-block-buttons .wp-block-button__link {
	padding: 0.55em 1.15em;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--brand-text);
	background: var(--brand-white);
	border: 1px solid var(--brand-border-strong);
	border-radius: var(--radius-full);
	box-shadow: var(--shadow-sm);
	filter: none;
	transition:
		color 0.2s var(--ease-out),
		border-color 0.2s var(--ease-out),
		background-color 0.2s var(--ease-out),
		box-shadow 0.2s var(--ease-out);
}

body.page .entry-content > .wp-block-buttons .wp-block-button__link:hover,
body.page .entry-content > .wp-block-buttons .wp-block-button__link:focus,
body.page .entry-content > .wp-block-buttons .wp-block-button__link:active {
	color: var(--brand-purple-dark);
	background: var(--brand-white);
	border-color: color-mix(in srgb, var(--brand-purple) 45%, var(--brand-border-strong));
	box-shadow: var(--shadow-md);
	filter: none;
}

/* ---------- Images & media-text ---------- */
body.page .entry-content .wp-block-media-text {
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: center;
}

body.page .entry-content .wp-block-media-text__media img,
body.page .entry-content .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--brand-border);
	border-radius: var(--radius-md);
	box-shadow:
		0 1px 2px rgba(10, 10, 10, 0.04),
		0 8px 24px rgba(10, 10, 10, 0.08);
}

body.page .entry-content .wp-block-media-text__content > .wp-block-paragraph {
	font-size: 0.975rem;
	line-height: 1.6;
	color: var(--brand-text-muted);
}

body.page .entry-content .wp-block-media-text__content > .wp-block-paragraph strong {
	color: var(--brand-text);
}

/* ---------- Column grids ---------- */
body.page .entry-content .wp-block-columns {
	gap: clamp(1rem, 2vw, 1.35rem);
}

/* Feature-card rows (class added server-side in page-helpers.php). */
body.page .entry-content .mtp-ph-card-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page .entry-content .mtp-ph-card-grid > .wp-block-column {
	flex: unset !important;
	flex-basis: auto !important;
	width: auto !important;
	min-width: 0;
}

body.page .entry-content .mtp-ph-card-grid.mtp-ph-card-grid--single {
	grid-template-columns: minmax(0, 1fr);
	max-width: calc((100% - 2 * clamp(1rem, 2vw, 1.35rem)) / 3);
}

@media (max-width: 781px) {
	body.page .entry-content .mtp-ph-card-grid {
		grid-template-columns: 1fr;
	}

	body.page .entry-content .mtp-ph-card-grid.mtp-ph-card-grid--single {
		max-width: none;
	}
}

/* Progressive enhancement when :has() is available. */
@supports selector(:has(*)) {
	body.page .entry-content .wp-block-columns:has(.mtp-ph-card):not(.mtp-ph-card-grid) {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.page .entry-content .wp-block-columns:has(.mtp-ph-card) .wp-block-column:not(:has(.mtp-ph-card, > h2.wp-block-heading)) {
		display: none;
	}
}

/* Info tiles (class added server-side in page-helpers.php). */
body.page .entry-content .mtp-ph-info-tile {
	display: flex;
	flex-direction: column;
	padding: clamp(1.1rem, 2vw, 1.45rem);
	background: var(--brand-white);
	border: 1px solid var(--brand-border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
	transition:
		border-color 0.2s var(--ease-out),
		box-shadow 0.2s var(--ease-out);
}

body.page .entry-content .mtp-ph-info-tile:hover {
	border-color: color-mix(in srgb, var(--brand-purple) 28%, var(--brand-border));
	box-shadow: var(--shadow-md);
}

body.page .entry-content .mtp-ph-info-tile > h2.wp-block-heading {
	margin: 0 0 0.45rem;
	padding-bottom: 0.55rem;
	font-size: clamp(1.05rem, 1vw + 0.85rem, 1.25rem);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.015em;
	color: var(--brand-purple-dark);
	border-bottom: 2px solid color-mix(in srgb, var(--brand-purple) 18%, transparent);
}

body.page .entry-content .mtp-ph-info-tile > .wp-block-paragraph {
	margin: 0;
	font-size: 0.925rem;
	line-height: 1.55;
	color: var(--brand-text-muted);
}

@supports selector(:has(*)) {
	body.page .entry-content .wp-block-column:has(> h2.wp-block-heading):not(.mtp-ph-info-tile) {
		display: flex;
		flex-direction: column;
		padding: clamp(1.1rem, 2vw, 1.45rem);
		background: var(--brand-white);
		border: 1px solid var(--brand-border);
		border-radius: var(--radius-md);
		box-shadow: var(--shadow-sm);
	}
}

/* ---------- Separators ---------- */
body.page .entry-content > hr.wp-block-separator {
	max-width: none;
	border: none;
	height: 1px;
	background: linear-gradient(
		90deg,
		color-mix(in srgb, var(--brand-purple) 35%, transparent),
		var(--brand-border) 35%,
		var(--brand-border) 65%,
		transparent
	);
}
