/**
 * Search results hero styles.
 *
 * Two variants:
 *   .hsc-hero--resort  — full-bleed Streamline hero image with overlay
 *   .hsc-hero--generic — brand hero or solid gradient
 *
 * @since 5.0.0
 */

.hsc-hero {
	position: relative;
	width: 100%;
	min-height: 38vh;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	color: #fff;
	background-color: #0f1f2c; /* deep navy fallback for generic variant */
	margin-bottom: 24px;
}

.hsc-hero--resort {
	min-height: 56vh;
}

@media ( max-width: 768px ) {
	.hsc-hero,
	.hsc-hero--resort {
		min-height: 40vh;
	}
}

.hsc-hero__image {
	position: absolute;
	inset: 0;
	background-image: var( --hsc-hero-image );
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	z-index: 1;
}

.hsc-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		rgba( 0, 0, 0, 0.20 ) 0%,
		rgba( 0, 0, 0, 0.45 ) 60%,
		rgba( 0, 0, 0, 0.65 ) 100%
	);
	z-index: 2;
}

.hsc-hero__content {
	position: relative;
	z-index: 3;
	max-width: 880px;
	width: calc( 100% - 48px );
	padding: 32px 0;
	text-align: center;
}

.hsc-hero__eyebrow {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0 0 12px;
	opacity: 0.88;
}

.hsc-hero__title {
	font-size: clamp( 28px, 5vw, 52px );
	font-weight: 600;
	line-height: 1.1;
	margin: 0 0 14px;
	letter-spacing: -0.01em;
	text-shadow: 0 2px 16px rgba( 0, 0, 0, 0.3 );
}

.hsc-hero__lede {
	font-size: clamp( 14px, 1.5vw, 18px );
	line-height: 1.5;
	margin: 0 auto 20px;
	max-width: 62ch;
	opacity: 0.94;
	text-shadow: 0 1px 8px rgba( 0, 0, 0, 0.25 );
}

/* Generic variant fallback gradient — used when no hero image. */
.hsc-hero--generic .hsc-hero__image,
.hsc-hero--generic .hsc-hero__overlay {
	display: none;
}

.hsc-hero--generic {
	background: linear-gradient( 135deg, #122336 0%, #1f3856 100% );
}
