/*
 * Hero d'accueil Lorraine Services (remplace Revolution Slider).
 * Commpagnie, 01/09/2026.
 */

.ls-hero {
	position: relative;
	overflow: hidden;
	min-height: var(--ls-hero-h, 800px);
	background-color: #e7e7e7;

	/* Le bloc vit dans une colonne WPBakery mais doit s'afficher bord a bord,
	   comme le slider qu'il remplace. --ls-vw est la largeur utile posee par
	   hero.js (viewport MOINS la barre de defilement) ; sans JS on retombe sur
	   100vw, qui inclut la barre et decalerait la page de sa largeur. */
	width: var(--ls-vw, 100vw);
	margin-left: calc(50% - var(--ls-vw, 100vw) / 2);
	margin-right: calc(50% - var(--ls-vw, 100vw) / 2);
}

/* Chaque slide occupe toute la zone ; seule l'active est visible. */
.ls-hero__slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .6s ease, visibility .6s ease;
}

.ls-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 2;
}

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

/* Voile : les images d'origine sont claires, le texte est sombre.
   Un lavis blanc cote gauche garde le titre lisible sans delaver la photo. */
.ls-hero__voile {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, .82) 0%,
		rgba(255, 255, 255, .58) 26%,
		rgba(255, 255, 255, .12) 48%,
		rgba(255, 255, 255, 0) 62%
	);
}

.ls-hero__inner {
	position: relative;
	width: 100%;
	max-width: 1240px;   /* mesure du .container du site */
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

.ls-hero__contenu {
	max-width: 620px;
}

.ls-hero__surtitre {
	margin: 0 0 12px;
	color: #09aa42;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .02em;
}

.ls-hero__titre {
	margin: 0 0 22px;
	color: #1a1a1a;
	font-size: 52px;
	line-height: 1.14;
	font-weight: 700;
}

.ls-hero__accent {
	color: #09aa42;
}

.ls-hero__texte {
	margin: 0 0 32px;
	color: #1a1a1a;
	font-size: 19px;
	line-height: 1.6;
}

.ls-hero__bouton {
	display: inline-block;
}

/* Puces de navigation */
.ls-hero__puces {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 178px;              /* au-dessus de la carte tarif qui chevauche */
	display: flex;
	justify-content: center;
	gap: 10px;
	z-index: 3;
}

.ls-hero__puce {
	width: 12px;
	height: 12px;
	padding: 0;
	border: 2px solid #09aa42;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: background-color .25s ease, transform .25s ease;
}

.ls-hero__puce:hover,
.ls-hero__puce:focus-visible {
	background: rgba(9, 170, 66, .45);
}

.ls-hero__puce.is-active {
	background: #09aa42;
	transform: scale(1.15);
}

@media (max-width: 991px) {
	.ls-hero {
		min-height: 600px;
	}
	.ls-hero__titre {
		font-size: 40px;
	}
	.ls-hero__contenu {
		max-width: 520px;
	}
	.ls-hero__puces {
		bottom: 120px;
	}
}

@media (max-width: 767px) {
	.ls-hero {
		min-height: 520px;
	}
	.ls-hero__titre {
		font-size: 30px;
	}
	.ls-hero__texte {
		font-size: 17px;
	}
	.ls-hero__contenu {
		max-width: none;
	}
	/* Sur mobile la photo passe derriere un voile plein : la colonne est
	   trop etroite pour qu'un degrade lateral protege le texte. */
	.ls-hero__voile {
		background: rgba(255, 255, 255, .84);
	}
	.ls-hero__puces {
		bottom: 90px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ls-hero__slide {
		transition: none;
	}
}
