/* ============================================================
   DAL'ALU — Page "L'expertise DAL'ALU"
   Même DA que les autres pages : conteneurs 1460 px, hero à
   panneau rouge en blend, ancre + 215 px avant le formulaire.
   Blocs alternés (comme "Architectes") avec un badge numéro
   rouge (plaque à radius asymétriques, façon page Histoire)
   posé sur le coin extérieur du visuel.
   ============================================================ */

.dal-exp {
	padding: 0 0 90px;
	overflow: hidden;
}

/* Largeur des blocs : .dal-container de global.css (80 %, comme
   l'accueil) — aucun plafond ni override ici. */

/* ── Fil d'ariane ── */
.dal-exp__fil {
	padding: 18px 0 8px;
	font-size: 13px;
	color: #888;
}

.dal-exp__fil a {
	color: #888;
	text-decoration: none;
}

.dal-exp__fil a:hover {
	color: var(--dal-red, #DC0D15);
}

.dal-exp__fil span {
	margin: 0 6px;
}

/* ── Hero : bandeau image + panneau rouge centré ──
   Centrage en flex (pas de transform : un transform créerait un
   stacking context qui piégerait le mix-blend-mode du panneau). */
.dal-exp__hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80%;
	min-height: 260px;
	margin: 8px auto 0;
	background: #cfcfcf;
	border-radius: 24px;
}

.dal-exp__hero-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: inherit;
	display: block;
}

.dal-exp__hero-panel {
	position: relative;
	color: #fff;
	text-align: center;
	padding: 26px 110px;
	border-radius: 20px;
	max-width: 90%;
}

.dal-exp__hero-panel-bg {
	position: absolute;
	inset: 0;
	border-radius: 150px;
	background: var(--dal-red, #DC0D15);
	mix-blend-mode: hard-light;
}

.dal-exp__hero-panel-texte {
	position: relative;
	z-index: 1;
}

.dal-exp__hero-titre {
	margin: 0;
	color: #FFF;
	text-align: center;
	font-size: 40px;
	font-weight: 600;
	line-height: normal;
}

.dal-exp__hero-sous {
	margin: 8px 0 0;
	color: #FFF;
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	line-height: normal;
}

/* ── Blocs texte / image (alternés) ── */
.dal-container.dal-exp__bloc {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(40px, 7vw, 115px);
	align-items: center;
	margin-top: 92px;
}

.dal-container.dal-exp__bloc:first-of-type {
	margin-top: 64px;
}

/* ── Animation "fade in up" de chaque section (activée par expertise.js via
   .is-anim sur .dal-exp ; sans JS ou en mouvement réduit, tout reste visible) ── */
.dal-exp.is-anim .dal-exp__bloc {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity .7s ease, transform .7s cubic-bezier(.22, .61, .36, 1);
	will-change: opacity, transform;
}

.dal-exp.is-anim .dal-exp__bloc.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.dal-exp.is-anim .dal-exp__bloc {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Bloc "image à droite" : le visuel passe en 2e colonne */
.dal-exp__bloc--img-droite .dal-exp__col-visuel {
	order: 2;
}

/* ── Visuel + badge numéro ── */
.dal-exp__col-visuel {
	position: relative;
}

/* Cadre du visuel : masque le liseré blanc de l'image source (overflow) */
.dal-exp__visuel-wrap {
	aspect-ratio: 4 / 3;
	border-radius: 24px;
	overflow: hidden;
	background: #cfcfcf;
}

.dal-exp__visuel {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	/* léger zoom pour faire disparaître les bords de l'image de base */
	transform: scale(1.07);
}

/* Badge numéro : plaque rouge sur le coin haut extérieur du visuel.
   Non inversé (visuel à droite) → badge à droite ; radius grand côté extérieur. */
.dal-exp__num {
	position: absolute;
	z-index: 2;
	top: 28px;
	left: -16px;
	min-width: 120px;
	padding: 10px 30px;
	background: rgba(220, 13, 21, .85);
	color: #FFF;
	font-size: 32px;
	font-weight: 600;
	line-height: normal;
	text-align: center;
	border-radius: 18px 40px 40px 18px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
}

/* Bloc "image à droite" → badge sur le coin droit, radius en miroir */
.dal-exp__bloc--img-droite .dal-exp__num {
	left: auto;
	right: -16px;
	border-radius: 40px 18px 18px 40px;
}

/* ── Dépliage du badge (même effet que les vignettes de la page histoire) :
   le FOND se déplie d'abord (scaleX depuis le bord ancré au visuel), PUIS le
   texte apparaît. Piloté par .is-visible (posé sur le bloc par expertise.js). */
.dal-exp.is-anim .dal-exp__num {
	transform: scaleX(0);
	transform-origin: left center;    /* badge à gauche : déplie depuis le bord extérieur (gauche) */
	transition: transform .5s cubic-bezier(.22, .61, .36, 1) .15s;
}

.dal-exp.is-anim .dal-exp__bloc--img-droite .dal-exp__num {
	transform-origin: right center;   /* badge à droite : déplie depuis le bord extérieur (droite) */
}

.dal-exp.is-anim .dal-exp__bloc.is-visible .dal-exp__num {
	transform: scaleX(1);
}

.dal-exp.is-anim .dal-exp__num-txt {
	display: inline-block;
	opacity: 0;
	transition: opacity .35s ease;
}

.dal-exp.is-anim .dal-exp__bloc.is-visible .dal-exp__num-txt {
	opacity: 1;
	transition-delay: .6s;            /* après la fin du dépliement du fond */
}

@media (prefers-reduced-motion: reduce) {
	.dal-exp.is-anim .dal-exp__num,
	.dal-exp.is-anim .dal-exp__num-txt {
		transform: none;
		opacity: 1;
		transition: none;
	}
}

/* ── Colonne texte ── */
.dal-exp__titre {
	color: #000;
	font-size: clamp(1.6rem, 2.2vw, 33px);
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 24px;
}

.dal-exp__texte p {
	color: #000;
	font-size: 16px;
	font-weight: 400;
	line-height: normal;
	margin: 0 0 16px;
}

.dal-exp__texte p strong {
	font-weight: 600;
}

.dal-exp__texte p:last-child {
	margin-bottom: 0;
}

.dal-exp__btn {
	margin-top: 32px;
	padding: 10px 50px;
	font-size: 18px;
	font-weight: 500;
}

/* Ancre "Vous avez un projet ?" : 215 px d'écart avant le formulaire,
   scroll-margin calé sur la valeur validée côté gouttières. */
.dal-exp__ancre-devis {
	margin-top: 100px;
	scroll-margin-top: -35px !important;
}

/* ── Responsive ── */
@media (max-width: 900px) {

	/* Blocs : image d'abord, puis le texte (dans les deux sens) */
	.dal-container.dal-exp__bloc {
		grid-template-columns: 1fr;
		gap: 32px;
		margin-top: 64px;
	}

	.dal-exp__col-visuel,
	.dal-exp__bloc--img-droite .dal-exp__col-visuel {
		order: -1;
	}

	.dal-exp__visuel-wrap {
		aspect-ratio: 5 / 3;
	}
}

@media (max-width: 700px) {
	.dal-exp__hero {
		min-height: 220px;
	}

	.dal-exp__hero-panel {
		max-width: calc(100% - 40px);
		box-sizing: border-box;
	}

	.dal-exp__hero-panel {
		padding: 20px 32px;
	}

	.dal-exp__hero-titre {
		font-size: clamp(1.35rem, 6vw, 34px);
	}

	.dal-exp__btn {
		display: inline-block;
		text-align: center;
	}

	.dal-exp__ancre-devis {
		scroll-margin-top: -120px !important;
	}
}

/* Mobile : le hero suit la marge latérale du container (global.css) */
@media (max-width: 600px) {
	.dal-exp__hero {
		width: auto;
		margin-left: max(16px, 4vw);
		margin-right: max(16px, 4vw);
	}
}

/* Mobile : le titre quitte la bulle centrée pour une languette collée au
   bord gauche de l'écran (comme le blob du slider de l'accueil). Le hero
   garde sa marge latérale ; la languette la remonte et compense dans son
   padding gauche. */
@media (max-width: 600px) {
	.dal-exp__hero {
		justify-content: flex-start;
	}

	.dal-exp__hero-panel {
		margin-left: calc(-1 * max(16px, 4vw));
		width: fit-content;
		max-width: calc(100% + max(16px, 4vw) - 24px);
		box-sizing: border-box;
		padding: 18px 40px 18px calc(max(16px, 4vw) + 28px);
		border-radius: 0 100px 100px 0;
		text-align: left;
	}

	/* Le fond rouge reprend l'arrondi de la languette */
	.dal-exp__hero-panel-bg {
		border-radius: inherit;
	}

	.dal-exp__hero-titre,
	.dal-exp__hero-sous {
		text-align: left;
	}
}
