/*
 * Keep text above the image tint when the Hero Banner uses per-slide text.
 * Loaded in both the front end and block editor.
 */
.hero--multiple > .hero__tint {
	display: none;
}

.hero--multiple .hero__text {
	z-index: 2;
}

/*
 * Allow each Hero block to control its height without page-level HTML or CSS.
 */
.hero[style*="--hero-height"],
.hero[style*="--hero-height"] .hero__carousel,
.hero[style*="--hero-height"] .slick-list,
.hero[style*="--hero-height"] .slick-track,
.hero[style*="--hero-height"] .hero__banner {
	height: var(--hero-height) !important;
	min-height: 0 !important;
}

/* Preserve the mobile override regardless of editor asset enqueue order. */
@media (max-width: 767px) {
	.hero[style*="--hero-height-mobile"],
	.hero[style*="--hero-height-mobile"] .hero__carousel,
	.hero[style*="--hero-height-mobile"] .slick-list,
	.hero[style*="--hero-height-mobile"] .slick-track,
	.hero[style*="--hero-height-mobile"] .hero__banner {
		height: var(--hero-height-mobile) !important;
	}
}

/* Mobile static heroes place their copy below the image in this theme. */
@media (max-width: 766px) {
	section.hero.hero--static[style*="--hero-height"] {
		height: auto !important;
	}
}


/*
 * Keep carousel navigation below the hero copy and call to action.
 * Share the layout with Gutenberg, whose bundled styles have extra scope.
 */
@media (min-width: 767px) {
	.hero .hero__carousel .slick-dots,
	.block-editor .acf-block-body .hero .hero__carousel .slick-dots {
		bottom: 24px !important;
		margin: 0;
	}

	.hero .hero__text,
	.block-editor .acf-block-body .hero .hero__text {
		bottom: 64px;
		margin-bottom: 0;
		padding-top: 16px;
		padding-bottom: 16px;
	}

	/* Long headings also need to fit when the chosen banner height is short. */
	.hero .hero__header,
	.block-editor .acf-block-body .hero .hero__header {
		font-size: clamp(24px, calc(var(--hero-height, 90vh) * 0.1), 40px);
		line-height: 1.35;
	}
}

@media (min-width: 1024px) {
	.hero .hero__header,
	.block-editor .acf-block-body .hero .hero__header {
		font-size: clamp(24px, calc(var(--hero-height, 90vh) * 0.1), 52px);
		line-height: 1.35;
	}
}


/*
 * Keep the migrated homepage featured-card labels on one row.
 */
body.page-id-647 .featured-cpt__card {
	display: flex !important;
	flex-flow: row wrap !important;
	align-content: flex-start;
}

body.page-id-647 .featured-cpt__title,
body.page-id-647 .featured-cpt__excerpt {
	flex: 0 0 100%;
	width: 100%;
}


