/**
 * Homepage Final Refinement & Footer Configuration 1.2
 */

.dxp-home--hfr12 {
	--home-section-space-lg: clamp(3.5rem, 5.5vw, 5.25rem); /* ~56–84px */
	--home-section-space-md: clamp(2.75rem, 4.5vw, 4.25rem); /* ~44–68px */
	--home-section-space-sm: clamp(2rem, 4vw, 2.75rem); /* ~32–44px */
	--home-section-gap: var(--home-section-space-md);
	--home-inner-gap: clamp(0.65rem, 1.4vw, 1rem);
}

@media (min-width: 1440px) {
	.dxp-home--hfr12 {
		--home-section-gap: var(--home-section-space-lg);
	}
}

@media (max-width: 781px) {
	.dxp-home--hfr12 {
		--home-section-gap: var(--home-section-space-sm);
	}
}

/* Canonical section rhythm — collapse cumulative padding */
.dxp-home--hfr12 > .dxp-section,
.dxp-home--hfr12 > .dxp-hero + .dxp-section {
	padding-block: var(--home-section-gap);
	margin-block: 0;
}

.dxp-home--hfr12 > .dxp-section + .dxp-section {
	padding-top: var(--home-section-gap);
}

.dxp-home--hfr12 .dxp-section-header,
.dxp-home--hfr12 .dxp-forecast-intro,
.dxp-home--hfr12 .dxp-why-intro,
.dxp-home--hfr12 .dxp-locations-header {
	margin-bottom: var(--home-inner-gap);
}

.dxp-home--hfr12 .dxp-section-title {
	margin-bottom: 0.35rem;
}

.dxp-home--hfr12 .dxp-lede {
	margin-top: 0.25rem;
	margin-bottom: 0;
}

.dxp-home--hfr12 .dxp-category-grid,
.dxp-home--hfr12 .dxp-brand-logo-row,
.dxp-home--hfr12 .dxp-grid-locations,
.dxp-home--hfr12 .dxp-testimonial-track {
	margin-top: var(--home-inner-gap);
	gap: clamp(0.75rem, 1.5vw, 1.15rem);
}

/* —— Hero hierarchy —— */
.dxp-home--hfr12 .dxp-hero--he2 {
	min-height: clamp(38.75rem, 68vh, 45rem); /* ~620–720px laptop */
	padding: clamp(3.75rem, 9vh, 6rem) 0 clamp(2.25rem, 5vh, 3.5rem);
}

@media (min-width: 1600px) {
	.dxp-home--hfr12 .dxp-hero--he2 {
		min-height: clamp(42rem, 78vh, 54rem); /* ~72–82vh large */
		padding-top: clamp(5rem, 11vh, 7rem);
		padding-bottom: clamp(2.75rem, 5.5vh, 4rem);
	}
}

@media (min-width: 1280px) and (max-width: 1599px) {
	.dxp-home--hfr12 .dxp-hero--he2 {
		min-height: clamp(40rem, 72vh, 48rem);
	}
}

@media (max-width: 781px) {
	.dxp-home--hfr12 .dxp-hero--he2 {
		min-height: clamp(22rem, 68vh, 34rem);
		padding: clamp(2.5rem, 7vh, 3.25rem) 0 1.5rem;
	}
}

.dxp-home--hfr12 .dxp-hero--he2 .dxp-hero-media {
	background-size: cover;
	background-position: center 26%;
}

.dxp-home--hfr12 .dxp-hero-eyebrow--brand {
	display: block;
	font-size: clamp(0.8rem, 1.1vw, 0.95rem);
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dxp-color-gold-400, #ffc437);
	margin: 0 0 0.55rem;
}

.dxp-home--hfr12 .dxp-hero-title .dxp-hero-support-line {
	display: block;
	font-size: clamp(1.05rem, 1.8vw, 1.35rem);
	font-weight: 600;
	letter-spacing: 0.02em;
	color: rgba(238, 242, 248, 0.92);
	margin-bottom: 0.2em;
}

.dxp-home--hfr12 .dxp-hero-title .dxp-hero-emphasis {
	color: var(--dxp-color-ember-400, #ff3b3b);
	font-weight: 900;
	letter-spacing: 0.04em;
}

.dxp-home--hfr12 .dxp-hero-title .dxp-hero-destination-line {
	display: block;
	font-weight: 900;
	letter-spacing: 0.03em;
	color: #fff;
}

.dxp-home--hfr12 .dxp-hero-subtitle {
	margin-top: 0.75rem;
	max-width: 34rem;
}

.dxp-home--hfr12 .dxp-hero-season-rail {
	margin-top: 1.1rem;
}

/* —— Forecast density —— */
.dxp-home--hfr12 .dxp-forecast-home--hlc11,
.dxp-home--hfr12 .dxp-forecast-home--hfr12 {
	padding-block: calc(var(--home-section-gap) * 0.85);
}

.dxp-home--hfr12 .dxp-forecast-board--compact {
	padding: 0.85rem 1rem;
	gap: 0.65rem;
}

.dxp-home--hfr12 .dxp-forecast-guidance-summary {
	font-size: 0.95rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.dxp-home--hfr12 .dxp-disclaimer--compact {
	margin-top: 0.45rem;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Featured Deal — keep HLC split; tighten heading gap */
.dxp-home--hfr12 .dxp-promotion--hlc11 .dxp-section-header {
	margin-bottom: 0.75rem;
}

/* —— Footer grid —— */
.site-footer.footer-v19 .footer-grid {
	display: grid;
	grid-template-columns: minmax(14rem, 1.35fr) repeat(auto-fit, minmax(11rem, 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem) clamp(1.75rem, 3.5vw, 2.75rem);
	align-items: start;
	max-width: 72rem;
	margin-inline: auto;
	width: 100%;
}

.site-footer .footer-brand {
	min-width: 0;
	max-width: 22rem;
}

.site-footer .footer-he2-links {
	display: contents !important;
}

.site-footer .footer-he2-col,
.site-footer .footer-season-col {
	min-width: 0;
}

.site-footer .footer-he2-col .footer-title,
.site-footer .footer-season-col .footer-title {
	margin: 0 0 0.65rem;
	line-height: 1.25;
}

.site-footer .footer-he2-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.45rem;
}

.site-footer .footer-he2-col a,
.site-footer .footer-email-action {
	display: inline-block;
	max-width: 100%;
	line-height: 1.35;
	overflow-wrap: anywhere;
	white-space: normal;
}

.site-footer .footer-email-action {
	white-space: nowrap;
	overflow-wrap: normal;
}

.site-footer .footer-season-col p {
	margin: 0 0 0.55rem;
	line-height: 1.4;
}

.site-footer .footer-bottom-widgets {
	grid-column: 1 / -1;
	min-width: 0;
}

@media (max-width: 1100px) {
	.site-footer.footer-v19 .footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.site-footer .footer-brand {
		grid-column: 1 / -1;
		max-width: none;
	}
}

@media (max-width: 620px) {
	.site-footer.footer-v19 .footer-grid {
		grid-template-columns: 1fr;
		gap: 1.35rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dxp-home--hfr12 * {
		scroll-behavior: auto;
	}
}
