/* -------------------------------------------------------------------------
 * 0.2.12 -- timeline cards, pricing hierarchy, footer/contact denser
 * (Preserves 0.2.6 home CTA under logo + solid-navy contact header rules.)
 * ---------------------------------------------------------------------- */

/* ---- Page hero: tighter spacing under navy fallback for content pages ---- */
.msd-page-hero-fallback {
	padding-top: var(--wp--preset--spacing--50, 1.75rem) !important;
	padding-bottom: var(--wp--preset--spacing--40, 1.25rem) !important;
}

.msd-page-hero-fallback .wp-block-post-title,
.msd-page-hero .wp-block-post-title {
	/* Ensure post-title H1 remains the page hero title (Cover + fallback). */
	display: block;
	margin: 0;
}

/* Content group directly under hero: less air before first content block. */
.msd-page-main > .wp-block-group:has(> .wp-block-post-content) {
	margin-top: var(--wp--preset--spacing--30, 1rem) !important;
}

body:has(.msd-page-hero-fallback) .msd-page-main > .wp-block-group:has(> .wp-block-post-content) {
	margin-top: var(--wp--preset--spacing--30, 0.95rem) !important;
}

/* ---- Over mij timeline (year cards) ---- */
.msd-timeline {
	margin-block: 1.25rem 1.5rem;
}

.msd-timeline > .wp-block-heading {
	margin-bottom: 0.35rem;
}

.msd-timeline-row {
	margin-block: 0.65rem !important;
	align-items: stretch;
}

.msd-timeline-row > .wp-block-column {
	display: flex;
	flex-direction: column;
}

.msd-timeline-card {
	position: relative;
	flex: 1 1 auto;
	height: 100%;
	border-top: 3px solid var(--wp--preset--color--accent, #C9A227);
	box-shadow: 0 8px 22px rgba(2, 18, 40, 0.07);
}

.msd-timeline-card p {
	margin: 0;
}

.msd-timeline-year {
	color: var(--wp--preset--color--accent, #C9A227) !important;
	font-family: var(--wp--preset--font-family--heading, Fraunces, Georgia, serif);
	font-size: clamp(1.75rem, 3.2vw, 2.35rem) !important;
	letter-spacing: -0.02em;
}

.msd-timeline-card--highlight {
	background: linear-gradient(
		180deg,
		rgba(201, 162, 39, 0.14) 0%,
		var(--wp--preset--color--accent-5, #EDE6D6) 55%
	) !important;
	border-top-color: var(--wp--preset--color--accent-2, #D4A017);
}

/* ---- Lesson pricing / feature cards denser + price hierarchy ---- */
.msd-page-main .msd-card-row {
	margin-block: 0.85rem;
	gap: 0.85rem !important;
}

.msd-page-main .msd-card-row > .wp-block-column > .msd-card,
.msd-page-main .wp-block-group.msd-card:not(.msd-portrait):not(.msd-stat):not(.msd-timeline-card) {
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
}

/* Price hierarchy: scoped to .msd-pricing / .msd-price / large font presets (avoid feature-card blurbs). */
.msd-page-main .msd-pricing .msd-card > .wp-block-heading + p,
.msd-page-main .msd-pricing .msd-card .msd-card-body > .wp-block-heading + p,
.msd-page-main .msd-card .msd-price,
.msd-page-main .msd-card p.msd-price,
.msd-page-main .msd-card .has-x-large-font-size,
.msd-page-main .msd-card .has-xx-large-font-size {
	font-size: clamp(2rem, 3.6vw, 2.85rem) !important;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--accent, #C9A227);
	margin-top: 0.2rem;
	margin-bottom: 0.45rem;
}

.msd-page-main .msd-pricing .msd-card > .wp-block-heading,
.msd-page-main .msd-card .msd-price + .wp-block-heading {
	margin-bottom: 0.15rem;
}

.msd-page-main .msd-pricing .msd-card {
	border-top: 3px solid var(--wp--preset--color--accent, #C9A227);
}

.msd-page-main .msd-card .has-small-font-size {
	line-height: 1.45;
}

/* Strippenkaart / CTA band on lesson pages — closer to live navy+gold feel. */
.msd-page-main .msd-strippenkaart,
.msd-page-main .msd-cta-band {
	border-top: 3px solid var(--wp--preset--color--accent, #C9A227);
	box-shadow: 0 10px 28px rgba(2, 18, 40, 0.12);
	padding-block: 1.15rem !important;
}

.msd-page-main .msd-strippenkaart .wp-block-heading,
.msd-page-main .msd-cta-band .wp-block-heading {
	letter-spacing: -0.01em;
}

/* Fallback: if pricing columns lack .msd-pricing but use euro as lone strong line. */
.msd-page-main .msd-card > p > strong:only-child {
	font-size: clamp(1.85rem, 3.2vw, 2.5rem);
	font-weight: 700;
	color: var(--wp--preset--color--accent, #C9A227);
	letter-spacing: -0.02em;
}

/* Feature cards denser padding inside columns. */
.msd-page-main .wp-block-columns:not(.msd-timeline-row) > .wp-block-column > .msd-card {
	padding-inline: 1rem !important;
}

/* ---- Footer denser + gold accent line ---- */
.msd-footer,
footer .wp-block-group.has-contrast-background-color {
	padding-top: var(--wp--preset--spacing--50, 1.75rem) !important;
	padding-bottom: var(--wp--preset--spacing--40, 1.25rem) !important;
	border-top: 3px solid var(--wp--preset--color--accent, #C9A227);
}

.msd-footer .wp-block-columns,
footer .wp-block-group.has-contrast-background-color > .wp-block-columns {
	gap: 1.25rem !important;
	margin-bottom: 0.85rem;
}

.msd-footer .wp-block-heading,
footer .wp-block-group.has-contrast-background-color .wp-block-heading {
	margin-bottom: 0.35rem;
	color: var(--wp--preset--color--accent, #C9A227);
}

.msd-footer .wp-block-separator,
footer .wp-block-group.has-contrast-background-color .wp-block-separator {
	border: 0;
	height: 1px;
	background: rgba(201, 162, 39, 0.45) !important;
	opacity: 1;
	margin-block: 0.85rem !important;
}

.msd-footer p.has-small-font-size,
footer .wp-block-group.has-contrast-background-color p.has-small-font-size {
	margin-block: 0.25rem;
	line-height: 1.45;
}

/* ---- Contact page: tighter address / info rhythm ---- */
body.page-contact .msd-page-main .wp-block-post-content > * + *,
body.page-slug-contact .msd-page-main .wp-block-post-content > * + * {
	margin-block-start: 0.75rem;
}

body.page-contact .msd-page-main .wp-block-post-content > .wp-block-heading,
body.page-slug-contact .msd-page-main .wp-block-post-content > .wp-block-heading {
	margin-block-start: 1.15rem;
	margin-block-end: 0.4rem;
}

body.page-contact .msd-page-main .wp-block-post-content > .wp-block-heading:first-child,
body.page-slug-contact .msd-page-main .wp-block-post-content > .wp-block-heading:first-child {
	margin-block-start: 0;
}

body.page-contact .msd-page-main .wp-block-post-content h3,
body.page-slug-contact .msd-page-main .wp-block-post-content h3 {
	margin-block: 0.85rem 0.3rem;
}

/* ---- Optional: latest-blog / blog cards slightly denser ---- */
.msd-latest-blog {
	padding-top: var(--wp--preset--spacing--50, 1.75rem) !important;
	padding-bottom: var(--wp--preset--spacing--50, 1.75rem) !important;
}

.msd-latest-blog .msd-card-body {
	padding-top: var(--wp--preset--spacing--30, 1rem) !important;
	padding-bottom: var(--wp--preset--spacing--30, 1rem) !important;
}

.msd-latest-blog .wp-block-post-template {
	gap: var(--wp--preset--spacing--30, 1rem) !important;
}

/* -------------------------------------------------------------------------
 * Mobile
 * ---------------------------------------------------------------------- */
@media (max-width: 781px) {
	.msd-timeline-row {
		gap: 0.75rem !important;
	}

	.msd-timeline-card {
		padding-block: 0.9rem !important;
	}

	.msd-page-hero-fallback {
		padding-top: clamp(1.35rem, 4.5vw, 1.85rem) !important;
		padding-bottom: clamp(1rem, 3.5vw, 1.45rem) !important;
	}

	.msd-page-main .msd-pricing .msd-card > .wp-block-heading + p,
	.msd-page-main .msd-card .msd-price,
	.msd-page-main .msd-card .has-x-large-font-size {
		font-size: clamp(1.75rem, 7vw, 2.25rem) !important;
	}

	.msd-footer,
	footer .wp-block-group.has-contrast-background-color {
		padding-top: clamp(1.35rem, 5vw, 1.75rem) !important;
		padding-bottom: clamp(1.1rem, 4vw, 1.45rem) !important;
	}
}
