/**
 * Kadence shell overrides for HLM pages (content spacing + footer wrapper).
 */

body.hlm-theme:not(.hlm-blog):not(.hlm-single-post) .content-area,
body.hlm-landing-page .content-area {
	margin-top: 0;
	margin-bottom: 0;
}

body.hlm-theme #colophon.site-footer,
body.hlm-landing-page #colophon.site-footer {
	padding: 0;
	margin: 0;
	background: transparent;
	border: 0;
}

body.hlm-theme #colophon.site-footer .site-footer-wrap,
body.hlm-landing-page #colophon.site-footer .site-footer-wrap {
	padding: 0;
	margin: 0;
	max-width: none;
}

body.hlm-theme.admin-bar .hlm-hero,
body.hlm-landing-page.admin-bar .hlm-hero {
	min-height: calc(100svh - 32px);
	min-height: calc(100dvh - 32px);
	padding-top: calc(var(--hlm-hero-top) + 8px);
	padding-bottom: clamp(24px, 4vh, 48px);
}

body.hlm-theme.admin-bar .hlm-hero--has-media,
body.hlm-landing-page.admin-bar .hlm-hero--has-media {
	padding-top: 0;
}

@media screen and (max-width: 782px) {
	body.hlm-theme.admin-bar .hlm-hero,
	body.hlm-landing-page.admin-bar .hlm-hero {
		min-height: calc(100svh - 46px);
		min-height: calc(100dvh - 46px);
	}
}

/* Landing / home hero fills at least one viewport */
body.home .hlm-hero,
body.hlm-landing-page .hlm-hero {
	box-sizing: border-box;
	min-height: 100svh;
	min-height: 100dvh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: var(--hlm-hero-top);
	padding-bottom: clamp(24px, 4vh, 48px);
}

/* Sticky header is in document flow — media background starts flush below it */
body.home .hlm-hero--has-media,
body.hlm-landing-page .hlm-hero--has-media {
	padding-top: 0;
}

body.home .hlm-hero--has-media .hlm-hero-inner,
body.hlm-landing-page .hlm-hero--has-media .hlm-hero-inner {
	padding-top: var(--hlm-hero-content-offset);
}

body.home.transparent-header .hlm-hero--has-media .hlm-hero-inner,
body.hlm-landing-page.transparent-header .hlm-hero--has-media .hlm-hero-inner,
body.home.mobile-transparent-header .hlm-hero--has-media .hlm-hero-inner,
body.hlm-landing-page.mobile-transparent-header .hlm-hero--has-media .hlm-hero-inner {
	padding-top: calc(var(--hlm-header-height) + var(--hlm-hero-content-offset));
}

/* Lead-form heroes: stay centered when short, expand without a top gap when tall */
body.home .hlm-hero:has(.hlm-lead-capture),
body.hlm-landing-page .hlm-hero:has(.hlm-lead-capture) {
	align-items: flex-start;
}

body.home .hlm-hero:has(.hlm-lead-capture) .hlm-hero-inner,
body.hlm-landing-page .hlm-hero:has(.hlm-lead-capture) .hlm-hero-inner {
	margin-block: auto;
}

body.home .hlm-hero-inner,
body.hlm-landing-page .hlm-hero-inner {
	align-items: center;
	width: 100%;
}

body.home .entry-content > .hlm-hero:first-child,
body.hlm-landing-page .entry-content > .hlm-hero:first-child {
	margin-top: 0;
}

/* Must beat hlm-header.css `position: sticky !important` so the bar overlays the hero photo. */
body.hlm-landing-page.transparent-header #masthead.hlm-site-header--transparent,
body.home.transparent-header #masthead.hlm-site-header--transparent {
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
}

body.hlm-landing-page.transparent-header #masthead.hlm-site-header--transparent.hlm-header-scrolled,
body.home.transparent-header #masthead.hlm-site-header--transparent.hlm-header-scrolled {
	position: sticky !important;
}

@media (max-width: 1024px) {
	body.hlm-landing-page.mobile-transparent-header #masthead.hlm-site-header--transparent,
	body.home.mobile-transparent-header #masthead.hlm-site-header--transparent {
		position: absolute !important;
		left: 0 !important;
		right: 0 !important;
	}

	body.hlm-landing-page.mobile-transparent-header #masthead.hlm-site-header--transparent.hlm-header-scrolled,
	body.home.mobile-transparent-header #masthead.hlm-site-header--transparent.hlm-header-scrolled {
		position: sticky !important;
	}
}

/* ─── Hero + lead form: tablet and mobile ───────────────────── */
@media (max-width: 1024px) {
	body.home .hlm-hero:has(.hlm-lead-capture) .hlm-hero-inner,
	body.hlm-landing-page .hlm-hero:has(.hlm-lead-capture) .hlm-hero-inner,
	.hlm-hero:has(.hlm-lead-capture) .hlm-hero-inner {
		margin-block: 0;
		align-items: stretch;
	}

	body.home .hlm-hero:has(.hlm-lead-capture),
	body.hlm-landing-page .hlm-hero:has(.hlm-lead-capture) {
		align-items: flex-start;
		height: auto;
	}
}

@media (max-width: 768px) {
	body.home.transparent-header #masthead.hlm-site-header--transparent,
	body.home.mobile-transparent-header #masthead.hlm-site-header--transparent {
		position: absolute !important;
		left: 0 !important;
		right: 0 !important;
	}

	body.home.transparent-header #masthead.hlm-site-header--transparent.hlm-header-scrolled,
	body.home.mobile-transparent-header #masthead.hlm-site-header--transparent.hlm-header-scrolled {
		position: sticky !important;
	}

	body.home .hlm-hero:has(.hlm-lead-capture),
	body.hlm-landing-page .hlm-hero:has(.hlm-lead-capture),
	.hlm-hero:has(.hlm-lead-capture) {
		padding-bottom: clamp(20px, 3vh, 36px);
	}

	body.home .hlm-hero--has-media,
	body.hlm-landing-page .hlm-hero--has-media,
	.hlm-hero--has-media {
		padding-top: 0;
	}
}

@media (max-width: 480px) {
	body.home .hlm-hero--has-media .hlm-hero-inner,
	body.hlm-landing-page .hlm-hero--has-media .hlm-hero-inner,
	.hlm-hero--has-media .hlm-hero-inner {
		padding-top: max(var(--hlm-hero-content-offset), env(safe-area-inset-top, 0px));
	}

	body.home .hlm-hero:has(.hlm-lead-capture) .hlm-hero-inner,
	body.hlm-landing-page .hlm-hero:has(.hlm-lead-capture) .hlm-hero-inner,
	.hlm-hero:has(.hlm-lead-capture) .hlm-hero-inner {
		padding-inline: 20px;
		gap: 24px;
	}
}
