/* Composant : page-hero */
.component-page-hero {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	background-color: var(--component-color-dark);
	color: var(--component-color-text-invert);
	--component-page-hero-position: 50%;
}

.component-page-hero__media {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.component-page-hero__media .component-page-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% var(--component-page-hero-position);
}

/* Voile en dégradé depuis la gauche (comme le hero de l'accueil) : texte lisible, image dégagée à droite. */
.component-page-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		color-mix(in srgb, var(--component-color-dark) 88%, transparent) 0%,
		color-mix(in srgb, var(--component-color-dark) 64%, transparent) 48%,
		color-mix(in srgb, var(--component-color-dark) 16%, transparent) 82%
	);
}

.component-page-hero__inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	min-height: clamp(300px, 34vw, 420px);
	padding-top: clamp(40px, 5vw, 72px);
	padding-bottom: clamp(40px, 5vw, 72px);
}

.component-page-hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.2rem;
	max-width: 660px;
}

.component-page-hero__eyebrow {
	margin: 0;
	font-size: var(--component-font-size-xs);
	font-weight: 600;
	letter-spacing: 0.18em;
	line-height: 1.4;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--component-color-primary) 35%, var(--component-color-text-invert));
}

.component-page-hero__title {
	margin: 0;
	font-size: var(--component-font-size-display);
	font-weight: 300;
	line-height: 1.04;
	letter-spacing: -0.02em;
	color: var(--component-color-text-invert);
}

/* Dans l'ALB, Enfold impose majuscules et espacement aux titres (le thème les neutralise) : on réimpose le
   resserrement et la casse normale avec un sélecteur plus fort (voir OVERRIDES.md). */
body#top :is(.tce-avia, .component-main) .component-page-hero__title {
	letter-spacing: -0.02em;
	text-transform: none;
	color: var(--component-color-text-invert);
}

body#top :is(.tce-avia, .component-main) .component-page-hero__eyebrow {
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.component-page-hero__subtitle {
	margin: 0;
	max-width: 56ch;
	font-size: var(--component-font-size-lead);
	line-height: 1.6;
	color: color-mix(in srgb, var(--component-color-text-invert) 90%, transparent);
}

/* Mobile : voile uniforme pour garder le texte lisible sur toute la largeur. */
@media (max-width: 767px) {
	.component-page-hero__overlay {
		background: color-mix(in srgb, var(--component-color-dark) 70%, transparent);
	}
}
