/* -------------------------------------------------------------------------
 * 0.2.11 -- denser section bands, page-hero polish, mobile fine-pass
 * (Preserves 0.2.6 home CTA under logo + solid-navy contact header rules.)
 * ---------------------------------------------------------------------- */

/* Contiguous bands: reinforce flush stacking after padding preset drops. */
.msd-front-main > .alignfull,
.msd-page-main > .alignfull {
	margin-block: 0;
}

.msd-why-choose,
.msd-cta-cover,
.msd-lessons-teaser,
.msd-about,
.msd-testimonials,
.msd-latest-blog,
.msd-page-hero,
.msd-page-hero-fallback {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* ---- Page hero (Cover when featured image exists) ---- */
.msd-page-hero.wp-block-cover {
	min-height: 46vh;
}

.msd-page-hero.wp-block-cover > .wp-block-cover__background.has-background-dim {
	background: linear-gradient(
		180deg,
		rgba(2, 18, 40, 0.58) 0%,
		rgba(2, 18, 40, 0.82) 100%
	);
	opacity: 1;
}

.msd-page-hero .wp-block-heading,
.msd-page-hero .wp-block-post-title {
	font-weight: 700;
	letter-spacing: -0.01em;
	text-shadow: 0 2px 22px rgba(2, 18, 40, 0.55);
}

/* ---- Fallback title band (no featured image): solid navy bar ---- */
.msd-page-hero-fallback {
	background-color: var(--wp--preset--color--contrast, #021228) !important;
	color: var(--wp--preset--color--accent-3, #ffffff);
	border-bottom: 1px solid rgba(201, 162, 39, 0.35);
}

.msd-page-hero-fallback .wp-block-heading,
.msd-page-hero-fallback .wp-block-post-title {
	color: var(--wp--preset--color--accent-3, #ffffff) !important;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0;
}

/* Do not add extra top margin when the first child is the navy title band. */
body:not(.home):has(.msd-page-hero-fallback) .msd-page-main > .msd-page-hero-fallback {
	margin-top: 0 !important;
}

/* Keep light-page first-group nudge only when there is neither Cover nor fallback band. */
body:not(.home):not(:has(.msd-page-hero.wp-block-cover)):not(:has(.msd-page-hero-fallback)) .msd-page-main > .wp-block-group:first-child {
	margin-top: var(--wp--preset--spacing--50) !important;
}

/* Home hero: slightly stronger title presence without killing the photo. */
.msd-hero .wp-block-heading {
	font-weight: 700;
	letter-spacing: -0.015em;
	text-shadow: 0 2px 24px rgba(2, 18, 40, 0.5);
}

.msd-hero.wp-block-cover > .wp-block-cover__background.has-background-dim {
	background: linear-gradient(
		100deg,
		rgba(2, 18, 40, 0.78) 0%,
		rgba(2, 18, 40, 0.42) 48%,
		rgba(2, 18, 40, 0.14) 100%
	);
	opacity: 1;
}

/* Why-choose / CTA typography scale closer to live Elementor density. */
.msd-why-choose .msd-check-list li {
	margin-bottom: 0.65rem;
	font-size: 1.02rem;
	letter-spacing: 0.01em;
}

.msd-why-choose .msd-check-list li::before {
	color: var(--wp--preset--color--accent, #C9A227);
	font-size: 1.1rem;
}

.msd-cta-cover .wp-block-heading {
	letter-spacing: -0.01em;
}

.msd-cta-cover p.has-large-font-size {
	max-width: 36rem;
	margin-inline: auto;
}

/* -------------------------------------------------------------------------
 * Mobile fine-pass (≤781px)
 * ---------------------------------------------------------------------- */
@media (max-width: 781px) {
	/* Section band padding: denser on small screens without cramped feel. */
	.msd-about,
	.msd-lessons-teaser,
	.msd-testimonials,
	.msd-why-choose,
	.msd-latest-blog {
		padding-top: clamp(1.35rem, 5.5vw, 2rem) !important;
		padding-bottom: clamp(1.35rem, 5.5vw, 2rem) !important;
	}

	.msd-cta-cover.wp-block-cover {
		padding-top: clamp(1.75rem, 6vw, 2.35rem) !important;
		padding-bottom: clamp(1.75rem, 6vw, 2.35rem) !important;
		min-height: 0 !important;
	}

	/* Home hero: keep 0.2.6 CTA-under-logo clearance; don't reduce below clamp. */
	body.home .msd-hero.wp-block-cover {
		padding-top: clamp(8.5rem, 34vw, 11rem) !important;
		padding-bottom: clamp(2rem, 8vw, 3rem) !important;
		min-height: 72vh;
	}

	/* Cover page-hero: keep clearance under absolute overlay header. */
	body:has(.msd-page-hero.wp-block-cover) .msd-page-hero.wp-block-cover {
		padding-top: clamp(8.5rem, 34vw, 11rem) !important;
		padding-bottom: clamp(1.75rem, 6vw, 2.5rem) !important;
		min-height: 36vh;
	}

	/* Fallback navy title band under sticky solid header. */
	.msd-page-hero-fallback {
		padding-top: clamp(1.5rem, 5vw, 2.1rem) !important;
		padding-bottom: clamp(1.25rem, 4.5vw, 1.75rem) !important;
	}

	/* About stats: stack cleanly, less air between cards. */
	.msd-about-stats {
		gap: 0.75rem !important;
	}

	.msd-about .msd-stat {
		padding-block: 0.85rem !important;
	}

	/* Pricing / feature cards on lesson pages. */
	.msd-page-main .msd-card-row > .wp-block-column > .msd-card,
	.msd-page-main .wp-block-group.msd-card {
		padding-block: 0.85rem;
	}

	.msd-page-main .wp-block-columns {
		gap: 0.85rem !important;
	}

	.msd-lessons-teaser .msd-card > .wp-block-image img {
		height: 9.5rem;
	}

	.msd-testimonials .msd-quote {
		padding: var(--wp--preset--spacing--30, 1rem) !important;
	}

	/* Header chrome: keep tap targets; tighten row gap slightly. */
	.msd-header__inner {
		row-gap: 0.55rem;
	}

	/* Contact / light pages: solid navy header must stay (rules in msd-base-b). */
	body:not(.home):not(:has(.msd-page-hero.wp-block-cover)) .msd-header,
	body:not(.home):not(:has(.msd-page-hero.wp-block-cover)) .msd-header.msd-header--overlay {
		background-color: var(--wp--preset--color--contrast, #021228) !important;
	}
}

@media (max-width: 480px) {
	.msd-hero .has-large-font-size {
		font-size: 1.05rem !important;
	}

	.msd-why-choose .msd-check-list li {
		font-size: 0.98rem;
		margin-bottom: 0.55rem;
	}

	.msd-page-main .wp-block-post-content > .wp-block-heading {
		margin-block-start: 1.1rem;
	}
}
