/**
 * Page Hero Block Styles
 *
 * @package GospelHope
 */

.pageHero {
	position: relative;
	width: 100%;
	min-height: 403px;
	border-radius: 18px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.pageHero__background {
	position: absolute;
	inset: 0;
	border-radius: 18px;
	overflow: hidden;
}

.pageHero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.pageHero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.8s ease;
}

/* Show video when loaded */
.pageHero__video[data-loaded="true"] {
	opacity: 1;
}

.pageHero__videoPoster {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	opacity: 1;
	transition: opacity 0.8s ease;
}

/* Hide poster once video is loaded and playing */
.pageHero__video[data-loaded="true"] ~ .pageHero__videoPoster {
	opacity: 0;
	pointer-events: none;
}

.pageHero__overlay {
	position: absolute;
	inset: 0;
	background-color: #000000;
	z-index: 1;
}

.pageHero__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
	padding: 32px;
	padding-top: clamp(12.5rem, calc(3.125rem + 25vw), 21.875rem);
}

.pageHero__title {
	font-family: var(--font-family-headings);
	font-size: 65px;
	font-weight: var(--font-weight-bold);
	line-height: 78px;
	letter-spacing: -1.3px;
	color: var(--color-white);
	margin: 0;
	max-width: 768px;
}

.pageHero__subtitle {
	font-family: var(--font-family-base);
	font-size: 24px;
	font-weight: var(--font-weight-light);
	line-height: 28.8px;
	color: #f3f3f3;
	margin: 0;
	max-width: 768px;
}

/* Responsive */
@media (max-width: 768px) {
	.pageHero {
		min-height: 300px;
	}

	.pageHero__content {
		padding: var(--space-lg);
		padding-top: 150px;
	}

	.pageHero__title {
		font-size: 40px;
		line-height: 48px;
	}

	.pageHero__subtitle {
		font-size: 18px;
		line-height: 24px;
	}

	/* On mobile, prefer poster image over video for performance */
	.pageHero__video {
		display: none;
	}

	.pageHero__videoPoster {
		display: block;
		opacity: 1 !important;
	}
}
