/* =========================================================================
   Fiche franchisé (single "franchises") — DA proche des pages du site.
   Namespace .dal-fiche (distinct de .dal-franchise utilisé par la home).
   Réutilise les tokens globaux (--dal-red, .dal-container, .dal-btn) et,
   pour le carrousel, les classes .dal-realisations* de home.css.
   ========================================================================= */

.dal-fiche {
	font-family: "Futura Std", sans-serif;
	color: #1a1a1a;
}

/* ── Fil d'ariane ── */
.dal-fiche__fil {
	padding: 16px 0 10px;
	font-size: 14px;
	color: #8a8a8a;
}
.dal-fiche__fil a { color: #8a8a8a; text-decoration: none; }
.dal-fiche__fil a:hover { text-decoration: underline; }
.dal-fiche__fil .sep { margin: 0 6px; }

/* ── Hero : image + panneau rouge en blend ── */
.dal-fiche__hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 300px;
	margin: 4px 0 0;
	background: #cfcfcf;
	border-radius: 24px;
	overflow: hidden;
}
.dal-fiche__hero-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 55%;
	border-radius: inherit;
	display: block;
}
.dal-fiche__hero-panel {
	position: relative;
	color: #fff;
	text-align: center;
	padding: 28px 110px;
	max-width: 90%;
}
.dal-fiche__hero-panel-bg {
	position: absolute;
	inset: 0;
	border-radius: 150px;
	background: var(--dal-red, #DC0D15);
	mix-blend-mode: hard-light;
}
.dal-fiche__hero-texte { position: relative; z-index: 1; }
.dal-fiche__hero-titre {
	margin: 0;
	color: #fff;
	font-size: 34px;
	font-weight: 800;
	line-height: 1.2;
}

/* ── Intro : infos (gauche) + carte (droite) ── */
.dal-fiche__intro {
	margin-top: 48px;
}
/* Rangée : cadre rose (pleine largeur, dessous) + carte (absolue, dessus) */
.dal-fiche__row {
	position: relative;
}
.dal-fiche__nom {
	color: var(--dal-red, #DC0D15);
	font-size: 32px;
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 20px;
	text-transform: uppercase;
}
.dal-fiche__card {
	background: #FAF2F4;
	border-radius: 16px 500px 500px 16px;
	/* Pleine largeur : la carte flotte par-dessus la partie droite ;
	   le contenu reste calé à gauche (large marge droite réservée) et le
	   cadre rose dépasse donc à droite de la carte. */
	width: 100%;
	min-height: 440px;
	padding: 26px 62% 26px 45px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
/* Desktop uniquement : le bord gauche de la card déborde de la valeur du
   padding-left (45px) pour que le CONTENU (texte) s'aligne sur les autres
   sections (bord du conteneur), pas le bord de la card. Élargie d'autant
   pour garder le bord droit. En mobile : aucun décalage (règle de base). */
@media (min-width: 901px) {
	.dal-fiche__card {
		width: calc(100% + 45px);
		margin-left: -45px;
	}
}
.dal-fiche__card-head {
	display: flex;
	align-items: center;
	gap: 160px;
	margin-bottom: 8px;
}
.dal-fiche__card-label {
	color: var(--dal-red, #DC0D15);
	font-weight: 800;
	font-size: 15px;
	margin: 0;
}
/* Rangée adresse + bouton : le bouton est à la même hauteur que le texte
   de l'adresse (label "Adresse" au-dessus, standalone). */
.dal-fiche__adresse-row {
	display: flex;
	align-items: center;
	gap: 100px;
	margin: 0 0 18px;
}
.dal-fiche__adresse-row .dal-fiche__adresse {
	margin: 0;
}

.dal-fiche__contact-btn {
	/* bouton aligné sur le texte de l'adresse (rangée .dal-fiche__adresse-row) */
	margin-top: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid var(--dal-red, #DC0D15);
	color: var(--dal-white, #FFFFFF);
	background: var(--dal-red, #DC0D15);
	border-radius: 100px;
	padding: 8px 28px;
	font-family: "Futura Std", sans-serif;
	font-weight: 500;
	font-size: 18px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.dal-fiche__contact-btn:hover { background: #b40a11; border-color: #b40a11; color: #fff; }
.dal-fiche__contact-btn svg { width: 20px; height: auto; }
.dal-fiche__adresse { margin: 0 0 18px; font-weight: 500; font-size: 15px; line-height: 1.5; }
.dal-fiche__horaires-label {
	color: var(--dal-red, #DC0D15);
	font-weight: 800;
	font-size: 15px;
	margin: 0 0 8px;
}
.dal-fiche__horaires { width: auto; border-collapse: collapse; font-size: 14px; }
.dal-fiche__horaires td { padding: 3px 0; vertical-align: top; }
.dal-fiche__horaires .jour { font-weight: 800; width: 96px; }
.dal-fiche__horaires .plage { padding-right: 0; white-space: nowrap; }
/* Écart de 45px entre la plage du matin et celle de l'après-midi */
.dal-fiche__horaires .jour + .plage { padding-right: 45px; }
.dal-fiche__horaires .ferme { color: #8a8a8a; }

/* ── Carte (réutilise la carte de l'accueil) ──
   Absolue, centrée verticalement sur le cadre des horaires, un peu plus haute,
   et calée à droite en laissant le cadre rose dépasser (right:10%). */
.dal-fiche__map {
	position: absolute;
    top: 50%;
    right: 5%;
    width: 55%;
    transform: translateY(-50%);
    z-index: 2;
}
/* Carte experts légèrement plus haute sur la fiche */
.dal-fiche__map .dalalu-carte-experts__map {
	min-height: 560px;
}
/* Pas de pastille rouge décorative derrière la carte sur la fiche */
.dal-fiche__map .dalalu-carte-experts__col--carte::before {
	display: none;
}
/* Repli embed (franchise sans coordonnées GPS) : cadre arrondi classique */
.dal-fiche__map--embed {
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
	background: #eee;
}
.dal-fiche__map--embed iframe { width: 100%; height: 480px; border: 0; display: block; }

/* ── "DAL'ALU près de chez vous !" + WYSIWYG ── */
.dal-fiche__contenu { margin-top: 64px; }
.dal-fiche__section-titre { font-size: 30px; font-weight: 800; margin: 0 0 8px; }
.dal-fiche__section-titre .accent { color: var(--dal-red, #DC0D15); }
.dal-fiche__section-barre {
	width: 64px; height: 4px;
	background: var(--dal-red, #DC0D15);
	border-radius: 3px;
	margin-bottom: 26px;
}
.dal-fiche__wysiwyg { font-size: 15px; line-height: 1.7; max-width: 940px; }
.dal-fiche__wysiwyg h2 { font-size: 20px; font-weight: 800; margin: 28px 0 10px; }
.dal-fiche__wysiwyg h3 { font-size: 17px; font-weight: 800; margin: 24px 0 8px; }
.dal-fiche__wysiwyg p { margin: 0 0 12px; }
.dal-fiche__wysiwyg a { color: var(--dal-red, #DC0D15); }
.dal-fiche__wysiwyg ul,
.dal-fiche__wysiwyg ol { margin: 0 0 12px 20px; }
.dal-fiche__wysiwyg img { max-width: 100%; height: auto; border-radius: 8px; }

/* ── Réalisations (réutilise .dal-realisations de la home) ── */
.dal-fiche__realisations { margin-top: 72px; }

/* ── Responsive ── */
@media (max-width: 900px) {
	/* Empilé : plus de chevauchement, la carte passe sous le cadre */
	.dal-fiche__card { min-height: 0; padding: 22px 26px; }
	.dal-fiche__map {
		position: static;
		width: 100%;
		transform: none;
		margin-top: 24px;
	}
	.dal-fiche__map .dalalu-carte-experts__map { min-height: 320px; }
	.dal-fiche__map--embed iframe { height: 300px; }
}
@media (max-width: 700px) {
	.dal-fiche__hero { min-height: 220px; }
	.dal-fiche__hero-panel { padding: 20px 28px; max-width: calc(100% - 32px); }
	.dal-fiche__hero-titre { font-size: clamp(1.2rem, 6vw, 30px); }
	.dal-fiche__nom { font-size: 25px; }
	.dal-fiche__section-titre { font-size: 24px; }
	.dal-fiche__adresse-row { flex-direction: column; align-items: flex-start; gap: 14px; }
}
