/* Pages principales et canevas d'article, refonte 2026.
   Même langage que l'accueil V3 : palette de Lucie (sauge, crème, rose poudré, terracotta, rouge brique,
   bleu British), titres en Young Serif, formes carrées, bulles de dialogue.
   Les réglages propres à la palette de Lucie sont regroupés à la fin du fichier (« V3 »).
   Tout est rangé sous #fs-page pour ne pas toucher au reste du site. */

@font-face {
	font-family: "Young Serif";
	src: url("/wp-content/uploads/refonte-2026/young-serif-latin.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Figtree";
	src: url("/wp-content/uploads/refonte-2026/figtree-latin.woff2") format("woff2");
	font-weight: 300 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Figtree";
	src: url("/wp-content/uploads/refonte-2026/figtree-latin-italic.woff2") format("woff2");
	font-weight: 300 900;
	font-style: italic;
	font-display: swap;
}

#fs-page {
	/* Noms gardés de la première version pour ne pas réécrire tout le fichier : « ardoise » porte le bleu British,
	   « citron » le vert sauge (couleur principale), « gris » un crème plus soutenu, « blanc » le papier. */
	--ardoise: #273c4d;
	--ardoise-fonce: #1d2e3c;
	--citron: #98a98f;
	--gris: #eee6d7;
	--texte: #4a5662;
	--ligne: #dcd2c1;
	--blanc: #fbf8f2;
	--creme: #f5f0e6;
	--rose: #ddbcb2;
	--terracotta: #c9a17e;
	--brique: #a9473f;
	--titre: "Young Serif", Georgia, "Times New Roman", serif;
	--corps: "Figtree", "Helvetica Neue", Arial, sans-serif;
	--large: 1240px;
	--gouttiere: clamp(16px, 4vw, 40px);
	--section: clamp(72px, 8.5vw, 128px);
	--doux: cubic-bezier(0.2, 0.8, 0.2, 1);
	--fs-entete: 88px;
	--fs-entete-fixe: 70px;

	font-family: var(--corps);
	font-size: 17px;
	line-height: 1.6;
	color: var(--texte);
	background: var(--blanc);
	font-variant-numeric: lining-nums;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

/* Remise à zéro des styles Divi sur nos éléments */
#fs-page *,
#fs-page *::before,
#fs-page *::after { box-sizing: border-box; }
#fs-page h1, #fs-page h2, #fs-page h3, #fs-page h4,
#fs-page p, #fs-page ul, #fs-page ol, #fs-page li, #fs-page figure, #fs-page blockquote, #fs-page details, #fs-page summary {
	margin: 0;
	padding: 0;
	border: 0;
	line-height: inherit;
	font-weight: inherit;
	color: inherit;
}
#fs-page h1, #fs-page h2, #fs-page h3, #fs-page h4 { text-transform: none; letter-spacing: normal; font-size: inherit; }
#fs-page ul, #fs-page ol { list-style: none; }
#fs-page a { color: inherit; text-decoration: none; }
#fs-page img { display: block; max-width: 100%; height: auto; }
#fs-page strong { font-weight: 700; }
#fs-page button { font-family: var(--corps); }
#fs-page :focus-visible { outline: 3px solid var(--citron); outline-offset: 3px; }
#fs-page .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* ================================================================ Mise en page */
#fs-page .fs2-wrap {
	width: 100%;
	max-width: calc(var(--large) + 2 * var(--gouttiere));
	margin: 0 auto;
	padding: 0 var(--gouttiere);
}
#fs-page .fs2-section { padding: var(--section) 0; }
#fs-page .fs2-section--gris { background: var(--gris); }
#fs-page .fs2-section--ardoise { background: var(--ardoise); color: rgba(255, 255, 255, 0.84); }
#fs-page .fs2-section--citron { background: var(--citron); color: var(--ardoise); }
#fs-page .fs2-section--sans-haut { padding-top: 0; }

/* ================================================================ Textes */
#fs-page .fs2-titre {
	font-family: var(--titre);
	font-size: clamp(34px, 4.2vw, 58px);
	line-height: 1.04;
	letter-spacing: -0.025em;
	color: var(--ardoise);
	text-wrap: balance;
}
#fs-page .fs2-titre em { font-style: italic; font-weight: 300; }
#fs-page .fs2-titre strong {
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	background: linear-gradient(transparent 62%, var(--citron) 62%, var(--citron) 90%, transparent 90%);
	padding: 0 0.04em;
}
#fs-page .fs2-titre--petit { font-size: clamp(26px, 2.6vw, 36px); }
#fs-page .fs2-section--ardoise .fs2-titre,
#fs-page .fs2-titre--clair,
#fs-page .fs2-form--ardoise .fs2-titre { color: var(--blanc); }
#fs-page .fs2-section--ardoise .fs2-titre strong,
#fs-page .fs2-titre--clair strong,
#fs-page .fs2-form--ardoise .fs2-titre strong { background: none; color: var(--citron); padding: 0; }
#fs-page .fs2-section--citron .fs2-titre strong,
#fs-page .fs2-form--citron .fs2-titre strong { background: linear-gradient(transparent 62%, var(--blanc) 62%, var(--blanc) 90%, transparent 90%); }
#fs-page .fs2-point { color: var(--citron); font-weight: 800; font-style: normal; }
#fs-page .fs2-section--citron .fs2-point,
#fs-page .fs2-form--citron .fs2-point { color: var(--ardoise); }

#fs-page .fs2-sur {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	line-height: 1.3;
	color: var(--ardoise);
}
#fs-page .fs2-sur::before { content: ""; width: 10px; height: 10px; background: var(--citron); flex: none; }
#fs-page .fs2-section--ardoise .fs2-sur,
#fs-page .fs2-form--ardoise .fs2-sur { color: var(--blanc); }
#fs-page .fs2-section--citron .fs2-sur::before,
#fs-page .fs2-form--citron .fs2-sur::before { background: var(--ardoise); }

#fs-page .fs2-tete { max-width: 860px; margin-bottom: clamp(36px, 4.2vw, 60px); }
#fs-page .fs2-tete__texte { margin-top: 18px; font-size: 18px; }
#fs-page .fs2-tete--ligne { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px 40px; flex-wrap: wrap; max-width: none; }
#fs-page .fs2-tete__note { max-width: 340px; font-size: 16px; }
#fs-page .fs2-chapo { font-size: 20px; line-height: 1.5; color: var(--ardoise); }
#fs-page .fs2-section--ardoise .fs2-chapo { color: var(--blanc); }

#fs-page .fs2-lien {
	display: inline-block;
	padding: 2px 2px 3px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ardoise);
	background: linear-gradient(var(--citron), var(--citron)) no-repeat 0 100% / 100% 7px;
	transition: background-size 0.25s var(--doux);
}
#fs-page .fs2-lien:hover { background-size: 100% 100%; }

/* Étiquette en bulle */
#fs-page .fs2-etiquette {
	position: relative;
	display: inline-block;
	margin-bottom: 28px;
	padding: 8px 14px;
	background: var(--citron);
	color: var(--ardoise);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1.3;
}
#fs-page .fs2-etiquette::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 16px;
	border-top: 11px solid var(--citron);
	border-right: 13px solid transparent;
}

/* ================================================================ Boutons */
#fs-page .fs2-boutons { display: flex; flex-wrap: wrap; gap: 14px; }
#fs-page .fs2-bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 54px;
	padding: 0 26px;
	border: 2px solid transparent;
	font-family: var(--corps);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	text-align: center;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
#fs-page .fs2-fleche { width: 18px; height: 18px; flex: none; transition: transform 0.25s var(--doux); }
#fs-page a:hover > .fs2-fleche { transform: translateX(4px); }
#fs-page .fs2-bouton--citron { background: var(--citron); color: var(--ardoise); }
#fs-page .fs2-bouton--citron:hover { background: var(--blanc); }
#fs-page .fs2-bouton--ardoise { background: var(--ardoise); color: var(--blanc); }
#fs-page .fs2-bouton--ardoise:hover { background: var(--ardoise-fonce); color: var(--citron); }
#fs-page .fs2-bouton--contour { border-color: rgba(255, 255, 255, 0.45); color: var(--blanc); }
#fs-page .fs2-bouton--contour:hover { border-color: var(--citron); color: var(--citron); }
#fs-page .fs2-bouton--contour-ardoise { border-color: var(--ardoise); color: var(--ardoise); }
#fs-page .fs2-bouton--contour-ardoise:hover { background: var(--ardoise); color: var(--citron); }

/* ================================================================ Haut de page */
#fs-page .fs2-entree {
	position: relative;
	background: var(--gris);
	padding: calc(var(--fs-entete) + clamp(40px, 5vw, 80px)) 0 clamp(64px, 7vw, 110px);
	overflow: clip;
}
#fs-page .fs2-entree::before {
	/* le grand triangle blanc du site */
	content: "";
	position: absolute;
	inset: 0 5% 12% 5%;
	background: var(--blanc);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	pointer-events: none;
}
#fs-page .fs2-entree__grille {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	align-items: center;
	gap: clamp(40px, 6vw, 96px);
}
#fs-page .fs2-entree--seule .fs2-entree__grille { grid-template-columns: minmax(0, 860px); }
#fs-page .fs2-entree__titre {
	margin-bottom: 22px;
	font-family: var(--titre);
	font-size: clamp(48px, 6.4vw, 92px);
	line-height: 0.96;
	letter-spacing: -0.03em;
	color: var(--ardoise);
}
#fs-page .fs2-entree__titre em { font-weight: 300; font-style: italic; }
#fs-page .fs2-entree__titre strong {
	font-weight: 800;
	text-transform: uppercase;
	background: linear-gradient(transparent 58%, var(--citron) 58%, var(--citron) 90%, transparent 90%);
	padding: 0 0.04em;
}
#fs-page .fs2-entree__accroche {
	margin-bottom: 22px;
	font-family: var(--titre);
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: 300;
	font-style: italic;
	line-height: 1.25;
	color: var(--ardoise);
}
#fs-page .fs2-entree__accroche strong { font-weight: 800; }
#fs-page .fs2-entree__intro { max-width: 560px; font-size: 18px; }
#fs-page .fs2-entree__intro p + p { margin-top: 12px; }
#fs-page .fs2-entree__intro a,
#fs-page .fs2-entree__note a { font-weight: 700; color: var(--ardoise); text-decoration: underline; text-decoration-color: var(--citron); text-decoration-thickness: 3px; text-underline-offset: 3px; }
#fs-page .fs2-entree__note {
	max-width: 560px;
	margin-top: 22px;
	padding-left: 16px;
	border-left: 3px solid var(--citron);
	font-size: 16px;
	font-weight: 600;
	color: var(--ardoise);
}
#fs-page .fs2-entree .fs2-boutons { margin-top: 34px; }
#fs-page .fs2-entree__visuel { position: relative; }
#fs-page .fs2-scene {
	--q: 44px;
	position: relative;
	width: min(100%, 560px);
	aspect-ratio: 1 / 1.02;
	margin: 0 0 0 auto;
}
#fs-page .fs2-scene::before {
	/* le bloc jaune décalé de l'ancien site */
	content: "";
	position: absolute;
	inset: 32px -28px 6px 32px;
	background: var(--citron);
}
#fs-page .fs2-scene img {
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--pos, 50% 50%);
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--q)), calc(74% + var(--q) * 1.2) calc(100% - var(--q)), 74% 100%, 74% calc(100% - var(--q)), 0 calc(100% - var(--q)));
}
#fs-page .fs2-entree__visuel:not(.fs2-entree__visuel--bulles) > .fs2-yyc { position: absolute; left: -8px; bottom: -18px; z-index: 2; }
#fs-page .fs2-yyc { display: flex; gap: 8px; }
#fs-page .fs2-yyc img { width: clamp(58px, 5.4vw, 80px); }
#fs-page .fs2-yyc--grandes { flex-wrap: wrap; justify-content: flex-end; gap: 14px; }
#fs-page .fs2-yyc--grandes img { width: clamp(80px, 9vw, 140px); }
#fs-page .fs2-yyc--grandes .fs2-yyc__speak { width: min(100%, 460px); margin-top: 10px; }
#fs-page .fs2-entree__visuel--bulles { display: flex; justify-content: flex-end; }

@media (prefers-reduced-motion: no-preference) {
	#fs-page .fs2-entree__titre,
	#fs-page .fs2-entree__accroche,
	#fs-page .fs2-etiquette { animation: fs2-monte 0.9s var(--doux) both; }
	#fs-page .fs2-entree__accroche { animation-delay: 0.1s; }
	#fs-page .fs2-entree__intro,
	#fs-page .fs2-entree__note,
	#fs-page .fs2-entree .fs2-boutons { animation: fs2-monte 0.9s var(--doux) both; animation-delay: 0.2s; }
	#fs-page .fs2-scene,
	#fs-page .fs2-une { animation: fs2-pop 0.9s var(--doux) both; animation-delay: 0.15s; transform-origin: 74% 100%; }
	#fs-page .fs2-yyc img { animation: fs2-pop 0.6s var(--doux) both; }
	#fs-page .fs2-yyc img:nth-child(1) { animation-delay: 0.5s; }
	#fs-page .fs2-yyc img:nth-child(2) { animation-delay: 0.62s; }
	#fs-page .fs2-yyc img:nth-child(3) { animation-delay: 0.74s; }
	#fs-page .fs2-yyc img:nth-child(4) { animation-delay: 0.9s; }
}
@keyframes fs2-monte { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes fs2-pop { from { opacity: 0; transform: scale(0.9) translateY(14px); } to { opacity: 1; transform: none; } }

/* Apparition au défilement : commun.js ne cache que ce qui est sous l'écran au chargement */
#fs-page .fs2-cache {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.8s ease, transform 0.9s var(--doux);
	transition-delay: calc(var(--d, 0) * 90ms);
}
#fs-page .fs2-cache.is-vu { opacity: 1; transform: none; }

/* ================================================================ Tuiles à pictogramme */
#fs-page .fs2-tuiles { display: grid; gap: 16px; }
#fs-page .fs2-tuiles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#fs-page .fs2-tuiles--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#fs-page .fs2-tuiles li {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 26px;
	background: var(--gris);
	color: var(--ardoise);
}
#fs-page .fs2-section--gris .fs2-tuiles li { background: var(--blanc); }
#fs-page .fs2-tuiles__icone { display: grid; place-items: center; width: 72px; height: 72px; background: var(--blanc); }
#fs-page .fs2-section--gris .fs2-tuiles__icone { background: var(--gris); }
#fs-page .fs2-tuiles__icone img { width: 50px; height: 50px; }
#fs-page .fs2-tuiles__texte { display: flex; flex-direction: column; gap: 6px; font-size: 17px; line-height: 1.4; font-weight: 600; }
#fs-page .fs2-tuiles__texte strong { font-family: var(--titre); font-size: 19px; font-weight: 800; line-height: 1.25; }
#fs-page .fs2-tuiles__texte strong + span { font-weight: 400; font-size: 16px; color: var(--texte); }

#fs-page .fs2-encadre {
	margin-top: 22px;
	padding: 26px 30px;
	border-left: 6px solid var(--citron);
	background: var(--ardoise);
	color: rgba(255, 255, 255, 0.82);
}
#fs-page .fs2-encadre__fort { margin-bottom: 8px; font-family: var(--titre); font-size: 20px; font-weight: 800; line-height: 1.3; color: var(--blanc); }

/* ================================================================ Cartes photo */
#fs-page .fs2-cartes { display: grid; gap: clamp(18px, 2.2vw, 28px); }
#fs-page .fs2-cartes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#fs-page .fs2-carte {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--blanc);
	box-shadow: inset 0 0 0 1px var(--ligne);
	transition: box-shadow 0.25s;
}
#fs-page .fs2-section--gris .fs2-carte { box-shadow: none; }
#fs-page .fs2-carte:hover { box-shadow: inset 0 0 0 2px var(--ardoise); }
#fs-page .fs2-carte__visuel { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
#fs-page .fs2-carte__visuel img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 50%); transition: transform 0.9s var(--doux); }
#fs-page .fs2-carte:hover .fs2-carte__visuel img { transform: scale(1.05); }
#fs-page .fs2-carte__corps { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; flex: 1; padding: 24px 26px 26px; }
#fs-page .fs2-carte__repere { padding: 3px 8px; background: var(--citron); color: var(--ardoise); font-size: 13px; font-weight: 700; line-height: 1.4; }
#fs-page .fs2-carte__titre { font-family: var(--titre); font-size: clamp(24px, 2.2vw, 30px); font-weight: 800; line-height: 1.05; letter-spacing: -0.015em; text-transform: uppercase; color: var(--ardoise); }
#fs-page .fs2-carte__titre a::after { content: ""; position: absolute; inset: 0; }
#fs-page .fs2-carte__texte { display: flex; flex-direction: column; gap: 10px; font-size: 16px; }
#fs-page .fs2-carte__texte strong { color: var(--ardoise); }
#fs-page .fs2-carte__plus {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding-top: 8px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ardoise);
}
#fs-page .fs2-carte:hover .fs2-carte__plus .fs2-fleche { transform: translateX(4px); }
#fs-page .fs2-cartes--texte .fs2-carte__titre { font-size: clamp(22px, 2vw, 26px); }

/* ================================================================ Texte et média côte à côte */
#fs-page .fs2-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(32px, 6vw, 96px); }
#fs-page .fs2-duo__texte { display: flex; flex-direction: column; gap: 16px; }
#fs-page .fs2-duo__texte .fs2-titre { margin-bottom: 8px; }
#fs-page .fs2-duo__texte--carte { padding: clamp(26px, 3vw, 40px); background: var(--gris); }
#fs-page .fs2-duo__photo { display: block; aspect-ratio: 16 / 9; overflow: hidden; margin: calc(-1 * clamp(26px, 3vw, 40px)) calc(-1 * clamp(26px, 3vw, 40px)) 12px; }
#fs-page .fs2-duo__photo img { width: 100%; height: 100%; object-fit: cover; }
#fs-page .fs2-duo__image img { width: 100%; }
#fs-page .fs2-duo__texte a { font-weight: 700; color: var(--ardoise); text-decoration: underline; text-decoration-color: var(--citron); text-decoration-thickness: 3px; text-underline-offset: 3px; }

/* Vidéo YouTube chargée au clic */
#fs-page .fs2-video { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ardoise); }
#fs-page .fs2-video img { width: 100%; height: 100%; object-fit: cover; opacity: 0.85; transition: opacity 0.3s, transform 0.8s var(--doux); }
#fs-page .fs2-video:hover img { opacity: 1; transform: scale(1.03); }
#fs-page .fs2-video__lecture {
	position: absolute;
	inset: 0;
	margin: auto;
	display: grid;
	place-items: center;
	width: 88px;
	height: 76px;
	padding: 0 0 14px;
	border: 0;
	border-radius: 0;
	background: var(--citron);
	color: var(--ardoise);
	cursor: pointer;
	clip-path: polygon(0 0, 100% 0, 100% 82%, 46% 82%, 26% 100%, 26% 82%, 0 82%);
	transition: transform 0.25s var(--doux);
}
#fs-page .fs2-video__lecture svg { width: 32px; height: 32px; }
#fs-page .fs2-video:hover .fs2-video__lecture { transform: scale(1.08); }
#fs-page .fs2-video__titre { position: absolute; left: 14px; top: 14px; padding: 5px 10px; background: var(--blanc); color: var(--ardoise); font-size: 14px; font-weight: 700; }
#fs-page .fs2-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
#fs-page .fs2-videos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }

/* ================================================================ Trois blocs (Business) */
#fs-page .fs2-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
#fs-page .fs2-trio__bloc { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: clamp(26px, 3vw, 40px); background: var(--gris); color: var(--ardoise); }
#fs-page .fs2-trio__bloc--ardoise { background: var(--ardoise); color: rgba(255, 255, 255, 0.85); }
#fs-page .fs2-trio__bloc--ardoise .fs2-sur { color: var(--blanc); }
#fs-page .fs2-trio__bloc--citron { background: var(--citron); }
#fs-page .fs2-trio__titre { font-family: var(--titre); font-size: clamp(22px, 2vw, 28px); font-weight: 800; line-height: 1.15; letter-spacing: -0.01em; }
#fs-page .fs2-trio__bloc--ardoise .fs2-trio__titre { color: var(--blanc); }
#fs-page .fs2-trio__bloc .fs2-boutons { margin-top: auto; }
#fs-page .fs2-trio__logo { display: block; padding: 14px 20px; background: var(--blanc); transition: box-shadow 0.2s; }
#fs-page .fs2-trio__logo:hover { box-shadow: 0 0 0 3px var(--citron); }
#fs-page .fs2-trio__logo img { width: 200px; }
#fs-page .fs2-trio__note { font-size: 15px; }

/* ================================================================ Questions fréquentes */
#fs-page .fs2-faq-grille { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.5fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
#fs-page .fs2-faq-grille > div:first-child { position: sticky; top: calc(var(--fs-entete-fixe) + 40px); }
#fs-page .fs2-faq-appel { margin-top: 24px; font-size: 17px; }
#fs-page .fs2-faq-appel a { font-weight: 700; color: var(--ardoise); text-decoration: underline; text-decoration-color: var(--citron); text-decoration-thickness: 3px; text-underline-offset: 3px; }
#fs-page .fs2-faq { border-top: 1px solid var(--ligne); }
#fs-page .fs2-faq__item { border-bottom: 1px solid var(--ligne); }
#fs-page .fs2-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 24px 0;
	font-family: var(--titre);
	font-size: clamp(18px, 1.6vw, 21px);
	font-weight: 700;
	line-height: 1.35;
	color: var(--ardoise);
	cursor: pointer;
	list-style: none;
}
#fs-page .fs2-faq__item summary::-webkit-details-marker { display: none; }
#fs-page .fs2-faq__item summary i {
	position: relative;
	flex: none;
	width: 40px;
	height: 40px;
	background: var(--gris);
	transition: background-color 0.2s;
}
#fs-page .fs2-faq__item summary i::before,
#fs-page .fs2-faq__item summary i::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2.5px;
	margin: -1.25px 0 0 -8px;
	background: var(--ardoise);
	transition: transform 0.3s var(--doux);
}
#fs-page .fs2-faq__item summary i::after { transform: rotate(90deg); }
#fs-page .fs2-faq__item[open] summary i { background: var(--citron); }
#fs-page .fs2-faq__item[open] summary i::after { transform: rotate(0deg); }
#fs-page .fs2-faq__item summary:hover i { background: var(--citron); }
#fs-page .fs2-faq__reponse { padding: 0 64px 26px 0; font-size: 17px; }
#fs-page .fs2-faq__reponse p + p,
#fs-page .fs2-faq__reponse p + ul,
#fs-page .fs2-faq__reponse ul + p { margin-top: 12px; }
#fs-page .fs2-faq__reponse ul li { position: relative; padding-left: 20px; margin-top: 6px; }
#fs-page .fs2-faq__reponse ul li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 8px; height: 8px; background: var(--citron); }
#fs-page .fs2-faq__colonnes { columns: 2; column-gap: 28px; }
#fs-page .fs2-faq__colonnes li { break-inside: avoid; }
#fs-page .fs2-faq__reponse a { font-weight: 700; color: var(--ardoise); text-decoration: underline; text-decoration-color: var(--citron); text-decoration-thickness: 3px; }

/* ================================================================ Avis en bulles */
#fs-page .fs2-avis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 24px; }
#fs-page .fs2-avis__carte { display: flex; flex-direction: column; gap: 14px; }
#fs-page .fs2-avis__bulle {
	--q: 20px;
	padding: 26px 26px calc(26px + var(--q));
	background: var(--blanc);
	font-size: 16px;
	line-height: 1.6;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--q)), calc(30px + var(--q) * 1.3) calc(100% - var(--q)), 30px 100%, 30px calc(100% - var(--q)), 0 calc(100% - var(--q)));
}
#fs-page .fs2-section:not(.fs2-section--gris) .fs2-avis__bulle { background: var(--gris); }
#fs-page .fs2-avis__bulle::before { content: "“"; display: block; height: 44px; font-family: var(--titre); font-size: 76px; font-weight: 800; line-height: 1; color: var(--citron); }
#fs-page .fs2-avis__bulle strong { display: block; margin-bottom: 6px; font-family: var(--titre); font-size: 18px; font-weight: 800; color: var(--ardoise); }
#fs-page .fs2-avis__auteur { display: flex; align-items: center; gap: 12px; padding-left: 8px; font-size: 16px; font-weight: 700; color: var(--ardoise); }
#fs-page .fs2-avis__auteur img { width: 44px; height: 44px; object-fit: cover; }

/* ================================================================ Bandeaux avec formulaire Contact Form 7 */
#fs-page .fs2-form--ardoise { background: var(--ardoise); color: rgba(255, 255, 255, 0.84); }
#fs-page .fs2-form--citron { background: var(--citron); color: var(--ardoise); }
#fs-page .fs2-form__grille { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
#fs-page .fs2-form__texte { position: sticky; top: calc(var(--fs-entete-fixe) + 40px); }
#fs-page .fs2-form__intro { margin-top: 22px; font-size: 19px; line-height: 1.55; }
#fs-page .fs2-form--ardoise .fs2-form__intro { color: var(--blanc); }
#fs-page .fs2-form__boite { padding: clamp(24px, 3vw, 40px); background: var(--blanc); color: var(--texte); }
#fs-page .fs2-form__boite--blanc { box-shadow: inset 0 0 0 1px var(--ligne); }

#fs-page .wpcf7 { max-width: none; }
#fs-page .wpcf7-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px 18px;
	max-width: none;
	margin: 0;
}
#fs-page .wpcf7-form .hidden-fields-container { display: none; }
#fs-page .wpcf7-form > p { float: none !important; width: auto !important; margin: 0 !important; padding: 0; transform: none !important; }
#fs-page .wpcf7-form > p:has(select),
#fs-page .wpcf7-form > p:has(textarea),
#fs-page .wpcf7-form > p:has(.wpcf7-submit),
#fs-page .wpcf7-form .wpcf7-response-output { grid-column: 1 / -1; }
#fs-page .wpcf7-form:not(:has(input[type="tel"], input[name*="tel"])) > p:has(input[type="email"]) { grid-column: 1 / -1; }
#fs-page .wpcf7-form label {
	position: static !important;
	display: block !important;
	margin: 0 0 7px !important;
	padding: 0 !important;
	opacity: 1 !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ardoise) !important;
}
#fs-page .wpcf7-form label i { font-size: 14px; font-weight: 400; color: var(--texte); }
#fs-page .wpcf7-form input[type="text"],
#fs-page .wpcf7-form input[type="email"],
#fs-page .wpcf7-form input[type="tel"],
#fs-page .wpcf7-form select,
#fs-page .wpcf7-form textarea {
	width: 100%;
	min-height: 52px;
	margin: 0 !important;
	padding: 12px 14px;
	border: 2px solid var(--ligne) !important;
	border-radius: 0;
	box-shadow: none !important;
	background: var(--blanc);
	font-family: var(--corps);
	font-size: 16px;
	color: var(--ardoise);
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.2s, background-color 0.2s;
}
#fs-page .wpcf7-form select {
	padding-right: 44px;
	background: var(--blanc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%23273c4d' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center / 16px;
}
#fs-page .wpcf7-form textarea { height: 130px; min-height: 130px; resize: vertical; }
#fs-page .wpcf7-form input:focus,
#fs-page .wpcf7-form select:focus,
#fs-page .wpcf7-form textarea:focus { outline: none; border-color: var(--ardoise) !important; background-color: #fbfbe8; }
#fs-page .wpcf7-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	margin: 6px 0 0;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--ardoise) !important;
	color: var(--blanc) !important;
	font-family: var(--corps) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
	line-height: 1 !important;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}
#fs-page .wpcf7-form .wpcf7-submit::after,
#fs-page .wpcf7-form .wpcf7-submit::before { display: none !important; }
#fs-page .wpcf7-form .wpcf7-submit:hover { background: var(--citron) !important; color: var(--ardoise) !important; }
#fs-page .wpcf7-not-valid-tip { margin-top: 6px; font-size: 14px; font-weight: 600; color: #b3261e; }
#fs-page .wpcf7-form .wpcf7-not-valid { border-color: #b3261e !important; }
#fs-page .wpcf7-response-output { margin: 4px 0 0 !important; padding: 12px 16px !important; border: 2px solid var(--citron) !important; font-size: 15px; color: var(--ardoise); }
#fs-page .wpcf7 form.invalid .wpcf7-response-output,
#fs-page .wpcf7 form.failed .wpcf7-response-output { border-color: #b3261e !important; }
#fs-page .wpcf7-spinner { margin: 10px auto 0; }

/* ================================================================ Centres */
#fs-page .fs2-centres__grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
#fs-page .fs2-centre { display: flex; flex-direction: column; background: var(--blanc); box-shadow: inset 0 0 0 1px var(--ligne); }
#fs-page .fs2-centre__photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
#fs-page .fs2-centre__photo--vide { display: grid; place-items: center; background: var(--gris); }
#fs-page .fs2-logo-bulles { position: relative; width: 84px; height: 64px; }
#fs-page .fs2-logo-bulles i { position: absolute; width: 52px; height: 36px; }
#fs-page .fs2-logo-bulles i:first-child { left: 0; top: 0; background: var(--ardoise); clip-path: polygon(0 0, 100% 0, 100% 75%, 45% 75%, 25% 100%, 25% 75%, 0 75%); }
#fs-page .fs2-logo-bulles i:last-child { right: 0; top: 22px; background: var(--citron); clip-path: polygon(0 0, 100% 0, 100% 75%, 75% 75%, 75% 100%, 55% 75%, 0 75%); }
#fs-page .fs2-centre__infos { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; flex: 1; padding: 20px 20px 18px; font-size: 16px; line-height: 1.5; }
#fs-page .fs2-centre__nom { font-family: var(--titre); font-size: 20px; font-weight: 800; line-height: 1.2; color: var(--ardoise); }
#fs-page .fs2-centre__nom a { background: linear-gradient(var(--citron), var(--citron)) no-repeat 0 100% / 100% 5px; transition: background-size 0.25s; }
#fs-page .fs2-centre__nom a:hover { background-size: 100% 100%; }
#fs-page .fs2-centre__contact { display: flex; flex-direction: column; }
#fs-page .fs2-centre__contact a { font-weight: 600; color: var(--ardoise); overflow-wrap: anywhere; }
#fs-page .fs2-centre__contact a:hover { text-decoration: underline; text-decoration-color: var(--citron); text-decoration-thickness: 2px; }
#fs-page .fs2-centre__qualiopi { margin-top: auto; padding-top: 10px; }
#fs-page .fs2-centre__qualiopi img { width: 128px; }

/* ================================================================ Bon-cadeau */

#fs-page .fs2-cadeau {
	--q: 48px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px 48px;
	flex-wrap: wrap;
	padding: clamp(34px, 4vw, 56px) clamp(28px, 4vw, 60px) calc(clamp(34px, 4vw, 56px) + var(--q));
	background: var(--citron);
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--q)), calc(18% + var(--q) * 1.3) calc(100% - var(--q)), 18% 100%, 18% calc(100% - var(--q)), 0 calc(100% - var(--q)));
}
#fs-page .fs2-cadeau__titre { font-family: var(--titre); font-size: clamp(30px, 3.4vw, 48px); line-height: 1.05; letter-spacing: -0.02em; color: var(--ardoise); }
#fs-page .fs2-cadeau__titre em { font-weight: 300; font-style: italic; }
#fs-page .fs2-cadeau__titre span { font-weight: 400; }
#fs-page .fs2-cadeau__titre strong { display: block; font-weight: 800; text-transform: uppercase; }

/* ================================================================ Logos clients qui défilent */
#fs-page .fs2-logos { padding: 34px 0 30px; border-bottom: 1px solid var(--ligne); overflow: hidden; }
#fs-page .fs2-logos__titre { margin-bottom: 18px; text-align: center; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ardoise); }
#fs-page .fs2-logos__defile { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
#fs-page .fs2-logos__piste { display: flex; width: max-content; animation: fs2-defile 60s linear infinite; }
#fs-page .fs2-logos:hover .fs2-logos__piste { animation-play-state: paused; }
#fs-page .fs2-logos__lot { display: flex; align-items: center; gap: 56px; padding-right: 56px; }
#fs-page .fs2-logos__lot img { width: auto; max-width: 150px; height: 52px; object-fit: contain; filter: grayscale(1); opacity: 0.7; transition: filter 0.3s, opacity 0.3s; }
#fs-page .fs2-logos__lot img:hover { filter: none; opacity: 1; }
@keyframes fs2-defile { to { transform: translateX(-50%); } }

/* ================================================================ Équipe */
#fs-page .fs2-equipe { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 28px 20px; }
#fs-page .fs2-equipe__membre { display: flex; flex-direction: column; gap: 4px; }
#fs-page .fs2-equipe__photo { --q: 16px; display: block; aspect-ratio: 1; margin-bottom: 10px; overflow: hidden; clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--q)), calc(30% + var(--q) * 1.2) calc(100% - var(--q)), 30% 100%, 30% calc(100% - var(--q)), 0 calc(100% - var(--q))); background: var(--gris); }
#fs-page .fs2-equipe__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--doux); }
#fs-page .fs2-equipe__membre:hover .fs2-equipe__photo img { transform: scale(1.05); }
#fs-page .fs2-equipe__nom { font-family: var(--titre); font-size: 20px; font-weight: 800; line-height: 1.2; color: var(--ardoise); }
#fs-page .fs2-equipe__role { font-size: 15px; line-height: 1.35; }
#fs-page .fs2-equipe__pays { align-self: flex-start; margin-top: 4px; padding: 2px 8px; background: var(--citron); color: var(--ardoise); font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }

/* ================================================================ Deux publics (Univers) et listes cochées */
#fs-page .fs2-publics { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px, 2.2vw, 28px); }
#fs-page .fs2-public { display: flex; flex-direction: column; background: var(--gris); }
#fs-page .fs2-public--ardoise { background: var(--ardoise); color: rgba(255, 255, 255, 0.86); }
#fs-page .fs2-public__visuel { display: block; aspect-ratio: 16 / 8; overflow: hidden; }
#fs-page .fs2-public__visuel img { width: 100%; height: 100%; object-fit: cover; }
#fs-page .fs2-public__corps { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; flex: 1; padding: clamp(26px, 3vw, 40px); }
#fs-page .fs2-public__titre { font-family: var(--titre); font-size: clamp(28px, 2.6vw, 36px); line-height: 1.05; letter-spacing: -0.02em; color: var(--ardoise); }
#fs-page .fs2-public__titre em { font-weight: 300; font-style: italic; }
#fs-page .fs2-public__titre strong { font-weight: 800; text-transform: uppercase; }
#fs-page .fs2-public--ardoise .fs2-public__titre { color: var(--blanc); }
#fs-page .fs2-public--ardoise .fs2-public__titre strong { color: var(--citron); }
#fs-page .fs2-public .fs2-lien { margin-top: auto; }
#fs-page .fs2-public--ardoise .fs2-lien { color: var(--blanc); }
#fs-page .fs2-public--ardoise .fs2-lien:hover { color: var(--ardoise); }

#fs-page .fs2-coches { display: grid; gap: 12px; }
#fs-page .fs2-coches li { position: relative; padding-left: 34px; font-size: 16px; line-height: 1.5; }
#fs-page .fs2-coches li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.12em;
	width: 22px;
	height: 20px;
	background: var(--citron);
	clip-path: polygon(0 0, 100% 0, 100% 74%, 46% 74%, 24% 100%, 24% 74%, 0 74%);
}
#fs-page .fs2-coches li::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 0.32em;
	width: 9px;
	height: 5px;
	border-left: 2px solid var(--ardoise);
	border-bottom: 2px solid var(--ardoise);
	transform: rotate(-45deg);
}
#fs-page .fs2-coches--grand li { font-size: 18px; }
#fs-page .fs2-coches--clair li { color: var(--blanc); }
#fs-page .fs2-coches--ligne { display: flex; flex-wrap: wrap; gap: 12px 40px; margin-bottom: clamp(32px, 4vw, 48px); }

/* ================================================================ Ouvrir un centre */
#fs-page .fs2-raisons-grille { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
#fs-page .fs2-raisons-intro { position: sticky; top: calc(var(--fs-entete-fixe) + 40px); }
#fs-page .fs2-raisons { counter-reset: raison; display: grid; gap: 14px; }
#fs-page .fs2-raisons li {
	counter-increment: raison;
	display: grid;
	grid-template-columns: 76px 1fr;
	align-items: center;
	gap: 24px;
	padding: 22px 26px 22px 22px;
	background: var(--gris);
	font-family: var(--titre);
	font-size: clamp(18px, 1.6vw, 21px);
	font-weight: 600;
	line-height: 1.35;
	color: var(--ardoise);
}
#fs-page .fs2-raisons li::before {
	content: counter(raison);
	display: grid;
	place-items: center;
	width: 76px;
	height: 76px;
	background: var(--ardoise);
	color: var(--citron);
	font-size: 40px;
	font-weight: 800;
}
#fs-page .fs2-raisons li strong { font-weight: 800; }
#fs-page .fs2-contact-personne { display: flex; align-items: center; gap: 16px; margin-top: 30px; padding: 18px; background: var(--ardoise); color: rgba(255, 255, 255, 0.8); }
#fs-page .fs2-contact-personne img { width: 72px; height: 72px; object-fit: cover; }
#fs-page .fs2-contact-personne div { display: flex; flex-direction: column; font-size: 15px; line-height: 1.4; }
#fs-page .fs2-contact-personne strong { font-family: var(--titre); font-size: 19px; font-weight: 800; color: var(--blanc); }
#fs-page .fs2-contact-personne a { margin-top: 4px; font-size: 17px; font-weight: 700; color: var(--citron); }

#fs-page .fs2-bandeau { padding: 40px 0; background: var(--citron); }
#fs-page .fs2-bandeau__grille { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
#fs-page .fs2-bandeau__titre { font-family: var(--titre); font-size: clamp(28px, 3vw, 42px); line-height: 1.05; letter-spacing: -0.02em; color: var(--ardoise); }
#fs-page .fs2-bandeau__titre em { font-weight: 300; font-style: italic; }
#fs-page .fs2-bandeau__titre strong { font-weight: 800; text-transform: uppercase; }
#fs-page .fs2-bandeau__titre .fs2-point { color: var(--ardoise); }

#fs-page .fs2-partenaire { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
#fs-page .fs2-partenaire .fs2-titre,
#fs-page .fs2-checklist .fs2-titre { margin-bottom: 30px; }
#fs-page .fs2-galerie { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
#fs-page .fs2-galerie span { display: block; aspect-ratio: 1; overflow: hidden; }
#fs-page .fs2-galerie span:nth-child(2) { transform: translateY(28px); }
#fs-page .fs2-galerie span:nth-child(4) { transform: translateY(28px); }
#fs-page .fs2-galerie img { width: 100%; height: 100%; object-fit: cover; }

#fs-page .fs2-checklist { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
#fs-page .fs2-temoin { padding: clamp(28px, 3.4vw, 48px); background: var(--ardoise); color: rgba(255, 255, 255, 0.86); }
#fs-page .fs2-temoin .fs2-sur { color: var(--blanc); }
#fs-page .fs2-temoin .fs2-sur em { font-style: italic; font-weight: 400; text-transform: none; letter-spacing: 0; }
#fs-page .fs2-temoin blockquote { display: grid; gap: 14px; font-size: 17px; line-height: 1.6; }
#fs-page .fs2-temoin blockquote strong { color: var(--blanc); }
#fs-page .fs2-temoin blockquote a { color: var(--citron); text-decoration: underline; text-underline-offset: 3px; }
#fs-page .fs2-temoin__fin { font-family: var(--titre); font-size: 22px; font-style: italic; font-weight: 800; line-height: 1.3; color: var(--citron); }
#fs-page .fs2-temoin figcaption { display: flex; align-items: center; gap: 14px; margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, 0.16); font-size: 15px; }
#fs-page .fs2-temoin figcaption img { width: 60px; height: 60px; object-fit: cover; }
#fs-page .fs2-temoin figcaption strong { display: block; font-family: var(--titre); font-size: 19px; font-weight: 800; color: var(--blanc); }

/* ================================================================ Join us */
#fs-page .fs2-piliers { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
#fs-page .fs2-pilier { padding: clamp(26px, 3vw, 40px); background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12); }
#fs-page .fs2-pilier h3 { margin-bottom: 12px; font-family: var(--titre); font-size: clamp(24px, 2.2vw, 30px); font-weight: 800; color: var(--blanc); }
#fs-page .fs2-because { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
#fs-page .fs2-because li { padding: 24px; background: var(--gris); font-size: 16px; line-height: 1.5; color: var(--ardoise); border-top: 4px solid var(--citron); }
#fs-page .fs2-interesse { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
#fs-page .fs2-section--citron .fs2-titre strong { background: none; }
#fs-page .fs2-emails { display: grid; gap: 10px; }
#fs-page .fs2-emails li { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 16px 20px; background: var(--blanc); font-size: 17px; }
#fs-page .fs2-emails span { font-family: var(--titre); font-weight: 800; color: var(--ardoise); }
#fs-page .fs2-emails a { font-weight: 700; color: var(--ardoise); overflow-wrap: anywhere; }
#fs-page .fs2-emails a:hover { text-decoration: underline; text-decoration-color: var(--citron); text-decoration-thickness: 3px; }

/* ================================================================ Contact */
#fs-page .fs2-contact__grille { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
#fs-page .fs2-contact__form .fs2-titre { margin-bottom: 28px; }
#fs-page .fs2-contact__tels { position: sticky; top: calc(var(--fs-entete-fixe) + 40px); padding: clamp(24px, 3vw, 36px); background: var(--ardoise); }
#fs-page .fs2-contact__tels .fs2-titre { margin-bottom: 20px; color: var(--blanc); }
#fs-page .fs2-contact__tels .fs2-titre strong { background: none; color: var(--citron); padding: 0; }
#fs-page .fs2-tels { display: grid; gap: 8px; }
#fs-page .fs2-tels a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 14px 16px;
	background: rgba(255, 255, 255, 0.06);
	color: var(--blanc);
	font-size: 16px;
	transition: background-color 0.2s, color 0.2s;
}
#fs-page .fs2-tels a:hover { background: var(--citron); color: var(--ardoise); }
#fs-page .fs2-tels span { font-weight: 600; }
#fs-page .fs2-tels strong { font-family: var(--titre); font-weight: 800; white-space: nowrap; }
#fs-page .fs2-franchise { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.7fr); gap: clamp(20px, 3vw, 32px); align-items: stretch; }
#fs-page .fs2-franchise__bulle {
	--q: 40px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
	padding: clamp(30px, 3.6vw, 52px) clamp(28px, 3.4vw, 48px) calc(clamp(30px, 3.6vw, 52px) + var(--q));
	background: var(--ardoise);
	color: rgba(255, 255, 255, 0.86);
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--q)), calc(20% + var(--q) * 1.3) calc(100% - var(--q)), 20% 100%, 20% calc(100% - var(--q)), 0 calc(100% - var(--q)));
}
#fs-page .fs2-franchise__bulle .fs2-titre { color: var(--blanc); }
#fs-page .fs2-franchise__bulle .fs2-titre strong { background: none; color: var(--citron); padding: 0; }
#fs-page .fs2-franchise__bulle p strong { font-family: var(--titre); font-style: italic; font-weight: 800; color: var(--citron); }
#fs-page .fs2-qualiopi { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 28px; background: var(--gris); text-align: center; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ardoise); transition: box-shadow 0.2s; }
#fs-page .fs2-qualiopi:hover { box-shadow: inset 0 0 0 2px var(--ardoise); }
#fs-page .fs2-qualiopi img { width: min(100%, 240px); }

/* ================================================================ News */
#fs-page .fs2-une { background: var(--blanc); box-shadow: 0 30px 60px -30px rgba(29, 46, 60, 0.35); }
#fs-page .fs2-une__visuel { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--gris); }
#fs-page .fs2-une__visuel img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--doux); }
#fs-page .fs2-une:hover .fs2-une__visuel img { transform: scale(1.04); }
#fs-page .fs2-une__corps { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 26px 28px 28px; }
#fs-page .fs2-une__date { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; font-weight: 700; color: var(--ardoise); }
#fs-page .fs2-une__date span { padding: 3px 8px; background: var(--ardoise); color: var(--citron); }
#fs-page .fs2-une__date time { padding: 3px 8px; background: var(--citron); }
#fs-page .fs2-une__titre { font-family: var(--titre); font-size: clamp(22px, 2vw, 28px); font-weight: 800; line-height: 1.2; color: var(--ardoise); }
#fs-page .fs2-une__titre a:hover { background: linear-gradient(transparent 62%, var(--citron) 62%, var(--citron) 92%, transparent 92%); }
#fs-page .fs2-une__extrait { font-size: 16px; }

#fs-page .fs2-news-grille { display: grid; grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.6fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
#fs-page .fs2-news-intro { position: sticky; top: calc(var(--fs-entete-fixe) + 40px); }
#fs-page .fs2-news-intro .fs2-titre { margin-bottom: 30px; }
#fs-page .fs2-news { border-bottom: 1px solid var(--ligne); }
#fs-page .fs2-news__item {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr) 168px 48px;
	align-items: center;
	gap: 28px;
	padding: 26px 0;
	border-top: 1px solid var(--ligne);
}
#fs-page .fs2-news__item::before { content: ""; position: absolute; inset: -1px -20px; z-index: -1; background: var(--blanc); opacity: 0; transition: opacity 0.3s; }
#fs-page .fs2-section:not(.fs2-section--gris) .fs2-news__item::before { background: var(--gris); }
#fs-page .fs2-news__item:hover::before,
#fs-page .fs2-news__item:focus-within::before { opacity: 1; }
#fs-page .fs2-news__date { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 84px; height: 92px; background: var(--ardoise); color: var(--blanc); line-height: 1.1; text-align: center; }
#fs-page .fs2-news__jour { font-family: var(--titre); font-size: 34px; font-weight: 800; line-height: 1; color: var(--citron); }
#fs-page .fs2-news__mois { margin-top: 6px; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
#fs-page .fs2-news__annee { font-size: 13px; opacity: 0.7; }
#fs-page .fs2-news__corps { display: flex; flex-direction: column; gap: 8px; }
#fs-page .fs2-news__titre { font-family: var(--titre); font-size: clamp(19px, 1.6vw, 23px); font-weight: 800; line-height: 1.25; color: var(--ardoise); }
#fs-page .fs2-news__titre a { background: linear-gradient(var(--citron), var(--citron)) no-repeat 0 92% / 0 30%; transition: background-size 0.35s var(--doux); }
#fs-page .fs2-news__item:hover .fs2-news__titre a { background-size: 100% 30%; }
#fs-page .fs2-news__titre a::after { content: ""; position: absolute; inset: 0; }
#fs-page .fs2-news__extrait { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 16px; line-height: 1.55; }
#fs-page .fs2-news__vignette { display: block; width: 168px; aspect-ratio: 4 / 3; overflow: hidden; background: var(--gris); }
#fs-page .fs2-news__vignette img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--doux); }
#fs-page .fs2-news__item:hover .fs2-news__vignette img { transform: scale(1.06); }
#fs-page .fs2-news__fleche { display: grid; place-items: center; width: 48px; height: 48px; border: 2px solid var(--ardoise); color: var(--ardoise); transition: background-color 0.25s, border-color 0.25s; }
#fs-page .fs2-news__item:hover .fs2-news__fleche { background: var(--citron); border-color: var(--citron); }

#fs-page .fs2-pagination { margin-top: 36px; }
#fs-page .fs2-pagination ul { display: flex; flex-wrap: wrap; gap: 8px; }
#fs-page .fs2-pagination a,
#fs-page .fs2-pagination span.page-numbers { display: grid; place-items: center; min-width: 48px; height: 48px; padding: 0 10px; border: 2px solid var(--ligne); font-weight: 700; color: var(--ardoise); transition: background-color 0.2s, border-color 0.2s; }
#fs-page .fs2-pagination a:hover { border-color: var(--ardoise); }
#fs-page .fs2-pagination .current { background: var(--ardoise); border-color: var(--ardoise) !important; color: var(--citron) !important; }
#fs-page .fs2-pagination .dots { border-color: transparent !important; }
#fs-page .fs2-pagination .prev .fs2-fleche { transform: rotate(180deg); }

#fs-page .fs2-suivre__grille { display: flex; align-items: center; justify-content: space-between; gap: 28px 48px; flex-wrap: wrap; }
#fs-page .fs2-suivre .fs2-chapo { margin-top: 14px; }
#fs-page .fs2-reseaux { display: flex; flex-wrap: wrap; gap: 12px; }
#fs-page .fs2-reseaux a { display: flex; align-items: center; gap: 10px; padding: 10px 16px 10px 10px; background: rgba(255, 255, 255, 0.08); color: var(--blanc); font-weight: 700; transition: background-color 0.2s, color 0.2s; }
#fs-page .fs2-reseaux a:hover { background: var(--citron); color: var(--ardoise); }
#fs-page .fs2-reseaux img { width: 36px; height: 36px; }

/* ================================================================ Article */
#fs-page .fs2-article__tete { position: relative; padding: calc(var(--fs-entete) + clamp(36px, 4.5vw, 72px)) 0 clamp(40px, 5vw, 72px); background: var(--gris); overflow: clip; }
#fs-page .fs2-article__tete::before { content: ""; position: absolute; inset: 0 5% 0 5%; background: var(--blanc); clip-path: polygon(0 0, 100% 0, 50% 100%); pointer-events: none; }
#fs-page .fs2-article__tete-int { position: relative; max-width: calc(980px + 2 * var(--gouttiere)); }
#fs-page .fs2-fil { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; font-size: 14px; font-weight: 700; color: var(--texte); }
#fs-page .fs2-fil a { color: var(--ardoise); text-decoration: underline; text-decoration-color: var(--citron); text-decoration-thickness: 2px; text-underline-offset: 3px; }
#fs-page .fs2-article__meta { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; font-size: 14px; font-weight: 700; color: var(--ardoise); }
#fs-page .fs2-article__meta time { padding: 4px 10px; background: var(--citron); }
#fs-page .fs2-article__meta span { padding: 4px 10px; background: var(--blanc); box-shadow: inset 0 0 0 1px var(--ligne); }
#fs-page .fs2-article__titre { font-family: var(--titre); font-size: clamp(34px, 4.6vw, 62px); font-weight: 800; line-height: 1.06; letter-spacing: -0.025em; color: var(--ardoise); text-wrap: balance; }
#fs-page .fs2-article__chapo { max-width: 760px; margin-top: 22px; font-size: 20px; line-height: 1.55; color: var(--ardoise); }
#fs-page .fs2-article__image { max-width: calc(1080px + 2 * var(--gouttiere)); margin-top: clamp(-28px, -2vw, -16px); position: relative; }
#fs-page .fs2-article__image img { width: auto; max-width: 100%; max-height: 620px; margin: 0 auto; }
#fs-page .fs2-article__grille {
	display: grid;
	grid-template-columns: minmax(0, 720px) minmax(0, 300px);
	justify-content: space-between;
	gap: clamp(32px, 6vw, 96px);
	max-width: calc(1120px + 2 * var(--gouttiere));
	padding-top: clamp(40px, 5vw, 72px);
	padding-bottom: clamp(56px, 6vw, 96px);
}
#fs-page .fs2-article__cote { display: flex; flex-direction: column; gap: 20px; position: sticky; top: calc(var(--fs-entete-fixe) + 32px); align-self: start; }
#fs-page .fs2-sommaire { padding: 22px 22px 18px; background: var(--gris); }
#fs-page .fs2-sommaire[hidden] { display: none; }
#fs-page .fs2-sommaire__titre { margin-bottom: 12px; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ardoise); }
#fs-page .fs2-sommaire ol { display: grid; gap: 4px; }
#fs-page .fs2-sommaire a { display: block; padding: 6px 0 6px 12px; border-left: 3px solid transparent; font-size: 15px; line-height: 1.35; color: var(--texte); transition: border-color 0.2s, color 0.2s; }
#fs-page .fs2-sommaire a:hover,
#fs-page .fs2-sommaire a.is-actif { border-left-color: var(--citron); color: var(--ardoise); font-weight: 700; }
#fs-page .fs2-encart { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 26px 24px; background: var(--ardoise); color: rgba(255, 255, 255, 0.84); font-size: 16px; }
#fs-page .fs2-encart__titre { font-family: var(--titre); font-size: 22px; font-weight: 800; line-height: 1.2; color: var(--blanc); }
#fs-page .fs2-encart .fs2-bouton { width: 100%; }
#fs-page .fs2-encart__liens { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 15px; }
#fs-page .fs2-encart__liens a { font-weight: 700; color: var(--citron); text-decoration: underline; text-underline-offset: 3px; }

/* Le texte de l'article (blocs WordPress) */
#fs-page .fs2-prose { font-size: 18px; line-height: 1.75; color: #3d4d4f; }
#fs-page .fs2-prose > * + * { margin-top: 1.1em; }
#fs-page .fs2-prose h2 {
	margin-top: 1.9em;
	scroll-margin-top: calc(var(--fs-entete-fixe) + 24px);
	font-family: var(--titre);
	font-size: clamp(26px, 2.4vw, 32px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.015em;
	color: var(--ardoise);
}
#fs-page .fs2-prose h2::before { content: ""; display: block; width: 44px; height: 6px; margin-bottom: 14px; background: var(--citron); }
#fs-page .fs2-prose h3 { margin-top: 1.6em; font-family: var(--titre); font-size: clamp(21px, 1.8vw, 24px); font-weight: 800; line-height: 1.3; color: var(--ardoise); scroll-margin-top: calc(var(--fs-entete-fixe) + 24px); }
#fs-page .fs2-prose h4 { margin-top: 1.4em; font-family: var(--titre); font-size: 19px; font-weight: 800; color: var(--ardoise); }
#fs-page .fs2-prose strong { color: var(--ardoise); }
#fs-page .fs2-prose a { font-weight: 600; color: var(--ardoise); text-decoration: underline; text-decoration-color: var(--citron); text-decoration-thickness: 3px; text-underline-offset: 3px; transition: background-color 0.2s; }
#fs-page .fs2-prose a:hover { background: var(--citron); }
#fs-page .fs2-prose ul,
#fs-page .fs2-prose ol { display: grid; gap: 8px; padding-left: 0; }
#fs-page .fs2-prose ul li { position: relative; padding-left: 26px; }
#fs-page .fs2-prose ul li::before { content: ""; position: absolute; left: 4px; top: 0.66em; width: 9px; height: 9px; background: var(--citron); }
#fs-page .fs2-prose ol { counter-reset: point; }
#fs-page .fs2-prose ol li { counter-increment: point; position: relative; padding-left: 38px; }
#fs-page .fs2-prose ol li::before { content: counter(point); position: absolute; left: 0; top: 0.18em; display: grid; place-items: center; width: 26px; height: 26px; background: var(--ardoise); color: var(--citron); font-family: var(--titre); font-size: 14px; font-weight: 800; }
#fs-page .fs2-prose blockquote,
#fs-page .fs2-prose .wp-block-quote { padding: 22px 26px; border-left: 6px solid var(--citron); background: var(--gris); font-family: var(--titre); font-size: 21px; font-style: italic; line-height: 1.5; color: var(--ardoise); }
#fs-page .fs2-prose blockquote cite { display: block; margin-top: 10px; font-family: var(--corps); font-size: 15px; font-style: normal; font-weight: 700; }
#fs-page .fs2-prose figure,
#fs-page .fs2-prose .wp-block-image { margin-top: 1.6em; margin-bottom: 1.6em; }
#fs-page .fs2-prose figure img,
#fs-page .fs2-prose img { width: auto; max-width: 100%; height: auto; }
#fs-page .fs2-prose figcaption { margin-top: 8px; font-size: 14px; color: var(--texte); }
#fs-page .fs2-prose table { width: 100%; border-collapse: collapse; font-size: 16px; }
#fs-page .fs2-prose th,
#fs-page .fs2-prose td { padding: 10px 12px; border: 1px solid var(--ligne); text-align: left; }
#fs-page .fs2-prose th { background: var(--gris); color: var(--ardoise); }
#fs-page .fs2-prose .wp-block-table { overflow-x: auto; }
#fs-page .fs2-prose hr,
#fs-page .fs2-prose .wp-block-separator { height: 0; border: 0; border-top: 2px solid var(--ligne); margin: 2em 0; }
#fs-page .fs2-prose .wp-block-button__link,
#fs-page .fs2-prose .wp-element-button { display: inline-flex; align-items: center; min-height: 52px; padding: 0 24px; border-radius: 0; background: var(--ardoise); color: var(--blanc); font-size: 15px; font-weight: 700; letter-spacing: 0.06em; text-decoration: none; text-transform: uppercase; }
#fs-page .fs2-prose .wp-block-button__link:hover { background: var(--citron); color: var(--ardoise); }
#fs-page .fs2-prose iframe { max-width: 100%; }
#fs-page .fs2-prose .fs2-article__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2.4em; padding-top: 1.6em; border-top: 1px solid var(--ligne); }
#fs-page .fs2-article__tags a { display: block; padding: 6px 12px; border: 1px solid var(--ligne); font-size: 14px; font-weight: 600; text-decoration: none; color: var(--ardoise); }
#fs-page .fs2-article__tags a:hover { background: var(--citron); border-color: var(--citron); }
#fs-page .fs2-prose .fs2-article__tags li::before { display: none; }
#fs-page .fs2-prose .fs2-article__tags li { padding: 0; }
#fs-page .fs2-voisins { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: calc(1120px + 2 * var(--gouttiere)); padding-bottom: clamp(56px, 6vw, 96px); }
#fs-page .fs2-voisins__lien { display: flex; flex-direction: column; gap: 6px; padding: 22px 24px; background: var(--gris); color: var(--ardoise); transition: background-color 0.2s; }
#fs-page .fs2-voisins__lien:hover { background: var(--citron); }
#fs-page .fs2-voisins__lien--suiv { grid-column: 2; text-align: right; }
#fs-page .fs2-voisins__sens { font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
#fs-page .fs2-voisins__lien strong { font-family: var(--titre); font-size: 19px; font-weight: 800; line-height: 1.3; }

/* ================================================================ Tablette */
@media (max-width: 1100px) {
	#fs-page .fs2-tuiles--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#fs-page .fs2-centres__grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#fs-page .fs2-centre__photo { aspect-ratio: 16 / 9; }
	#fs-page .fs2-equipe { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	#fs-page .fs2-because { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#fs-page .fs2-trio { grid-template-columns: 1fr 1fr; }
	#fs-page .fs2-trio__bloc--ardoise { grid-column: 1 / -1; }
	#fs-page .fs2-article__grille { grid-template-columns: minmax(0, 1fr); }
	#fs-page .fs2-article__cote { position: static; }
	#fs-page .fs2-sommaire { display: none; }
	#fs-page .fs2-cadeau { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 980px) {
	/* sous 981 px, l'en-tête Divi est une barre foncée de 80 px */
	#fs-page { --fs-entete: 80px; --fs-entete-fixe: 80px; }
}

@media (max-width: 900px) {
	#fs-page { font-size: 16px; }
	#fs-page .fs2-entree__grille,
	#fs-page .fs2-duo,
	#fs-page .fs2-form__grille,
	#fs-page .fs2-faq-grille,
	#fs-page .fs2-raisons-grille,
	#fs-page .fs2-partenaire,
	#fs-page .fs2-checklist,
	#fs-page .fs2-interesse,
	#fs-page .fs2-contact__grille,
	#fs-page .fs2-franchise,
	#fs-page .fs2-news-grille,
	#fs-page .fs2-publics { grid-template-columns: minmax(0, 1fr); }
	#fs-page .fs2-scene { margin: 0; width: min(100% - 24px, 520px); }
	#fs-page .fs2-entree__visuel--bulles { justify-content: flex-start; }
	#fs-page .fs2-yyc--grandes { justify-content: flex-start; }
	#fs-page .fs2-form__texte,
	#fs-page .fs2-faq-grille > div:first-child,
	#fs-page .fs2-raisons-intro,
	#fs-page .fs2-contact__tels,
	#fs-page .fs2-news-intro { position: static; }
	#fs-page .fs2-cartes--3,
	#fs-page .fs2-avis,
	#fs-page .fs2-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#fs-page .fs2-equipe { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	#fs-page .fs2-piliers { grid-template-columns: 1fr; }
	#fs-page .fs2-galerie span:nth-child(2),
	#fs-page .fs2-galerie span:nth-child(4) { transform: none; }
}

/* ================================================================ Téléphone */
@media (max-width: 700px) {
	#fs-page .fs2-entree__intro { font-size: 17px; }
	#fs-page .fs2-boutons { flex-direction: column; align-items: stretch; }
	#fs-page .fs2-scene { --q: 32px; width: calc(100% - 20px); }
	#fs-page .fs2-scene::before { inset: 22px -18px 4px 22px; }
	#fs-page .fs2-tuiles--3,
	#fs-page .fs2-tuiles--4 { grid-template-columns: 1fr; gap: 10px; }
	#fs-page .fs2-tuiles li { flex-direction: row; align-items: center; gap: 16px; padding: 16px; }
	#fs-page .fs2-tuiles__icone { width: 60px; height: 60px; flex: none; }
	#fs-page .fs2-tuiles__icone img { width: 42px; height: 42px; }
	#fs-page .fs2-cartes--3,
	#fs-page .fs2-avis,
	#fs-page .fs2-videos,
	#fs-page .fs2-trio,
	#fs-page .fs2-because,
	#fs-page .fs2-centres__grille { grid-template-columns: 1fr; }
	#fs-page .fs2-equipe { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
	#fs-page .fs2-faq__reponse { padding-right: 0; }
	#fs-page .fs2-faq__colonnes { columns: 1; }
	#fs-page .fs2-wpcf7-une-colonne,
	#fs-page .wpcf7-form { grid-template-columns: 1fr; }
	#fs-page .wpcf7-form > p { grid-column: 1 / -1; }
	#fs-page .fs2-raisons li { grid-template-columns: 56px 1fr; gap: 16px; padding: 16px; }
	#fs-page .fs2-raisons li::before { width: 56px; height: 56px; font-size: 30px; }
	#fs-page .fs2-centre { flex-direction: row; }
	#fs-page .fs2-centre__photo { width: 34%; aspect-ratio: auto; flex: none; }
	#fs-page .fs2-centre__infos { padding: 14px; }
	#fs-page .fs2-centre__qualiopi img { width: 110px; }
	#fs-page .fs2-cadeau { --q: 36px; }
	#fs-page .fs2-news__item { grid-template-columns: 74px minmax(0, 1fr); gap: 16px; padding: 20px 0; align-items: start; }
	#fs-page .fs2-news__item::before { inset: -1px calc(-1 * var(--gouttiere)); }
	#fs-page .fs2-news__date { width: 74px; height: 76px; }
	#fs-page .fs2-news__jour { font-size: 26px; }
	#fs-page .fs2-news__mois,
	#fs-page .fs2-news__annee { font-size: 10px; }
	#fs-page .fs2-news__vignette,
	#fs-page .fs2-news__fleche { display: none; }
	#fs-page .fs2-news-intro .fs2-bouton { width: 100%; }
	#fs-page .fs2-prose { font-size: 17px; }
	#fs-page .fs2-voisins { grid-template-columns: 1fr; }
	#fs-page .fs2-voisins__lien--suiv { grid-column: auto; }
	#fs-page .fs2-emails li { flex-direction: column; align-items: flex-start; gap: 2px; }
}

@media (max-width: 380px) {
	#fs-page .fs2-centre { flex-direction: column; }
	#fs-page .fs2-centre__photo { width: 100%; aspect-ratio: 16 / 9; }
}

/* ================================================================ Mouvement réduit */
@media (prefers-reduced-motion: reduce) {
	#fs-page .fs2-logos__piste { animation: none; flex-wrap: wrap; width: auto; justify-content: center; }
	#fs-page .fs2-logos__lot { flex-wrap: wrap; justify-content: center; gap: 24px 40px; padding: 0 var(--gouttiere); }
	#fs-page .fs2-logos__lot + .fs2-logos__lot { display: none; }
	#fs-page .fs2-logos__defile { -webkit-mask-image: none; mask-image: none; }
}

/* Le pied de page Divi (Theme Builder) pose 60 px de marge au-dessus de lui : bande blanche sous la dernière section. */
#main-content.fs-main ~ .et-l--footer .et_pb_section_0_tb_footer.et_pb_section { margin-top: 0; }

/* ==================================================================================
   V3 : palette de Lucie (octobre 2026), même traitement que l'accueil
   ================================================================================== */

/* Young Serif n'a qu'une graisse : le navigateur ne doit ni l'épaissir ni la pencher */
#fs-page {
	font-synthesis: none;
	background-color: var(--creme);
	/* grain de papier très léger */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .15 0 0 0 0 .2 0 0 0 0 .25 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E");
}
#fs-page :focus-visible { outline-color: var(--brique); }

/* ------------------------------------------------ Titres : serif à l'ancienne, casse normale, mot clé souligné de rose */
#fs-page :is(.fs2-titre, .fs2-entree__titre, .fs2-entree__accroche, .fs2-cadeau__titre, .fs2-public__titre, .fs2-bandeau__titre, .fs2-trio__titre, .fs2-carte__titre,
	.fs2-tuiles__texte strong, .fs2-encadre__fort, .fs2-avis__bulle strong, .fs2-centre__nom, .fs2-equipe__nom, .fs2-raisons li, .fs2-contact-personne strong,
	.fs2-temoin__fin, .fs2-temoin figcaption strong, .fs2-pilier h3, .fs2-emails span, .fs2-tels strong, .fs2-une__titre, .fs2-news__jour, .fs2-news__titre,
	.fs2-article__titre, .fs2-encart__titre, .fs2-voisins__lien strong) { font-weight: 400; font-style: normal; }
#fs-page .fs2-prose :is(h2, h3, h4) { font-weight: 400; }
#fs-page :is(.fs2-titre, .fs2-entree__titre, .fs2-entree__accroche, .fs2-cadeau__titre, .fs2-public__titre, .fs2-bandeau__titre, .fs2-raisons li) :is(em, strong) {
	font-style: normal;
	font-weight: 400;
	text-transform: none;
	letter-spacing: inherit;
}
#fs-page .fs2-carte__titre { text-transform: none; letter-spacing: -0.01em; line-height: 1.1; }
#fs-page .fs2-titre { font-size: clamp(34px, 4.3vw, 60px); line-height: 1.06; letter-spacing: -0.012em; }
#fs-page .fs2-titre--petit { font-size: clamp(26px, 2.6vw, 36px); }
#fs-page .fs2-titre strong,
#fs-page .fs2-entree__titre strong { background: linear-gradient(transparent 64%, var(--rose) 64%, var(--rose) 92%, transparent 92%); }
#fs-page .fs2-point { color: var(--brique); font-weight: 400; }
#fs-page :is(.fs2-section--citron, .fs2-form--citron, .fs2-bandeau) .fs2-point { color: var(--brique); }
#fs-page .fs2-sur::before { background: var(--brique); }

/* Sur fond bleu : le rose prend le relais (le sauge et le brique y manquent de contraste) */
#fs-page :is(.fs2-section--ardoise, .fs2-form--ardoise, .fs2-public--ardoise, .fs2-trio__bloc--ardoise, .fs2-franchise__bulle, .fs2-contact__tels, .fs2-titre--clair, .fs2-temoin, .fs2-encadre, .fs2-encart, .fs2-contact-personne) .fs2-point,
#fs-page .fs2-section--ardoise .fs2-titre strong,
#fs-page .fs2-titre--clair strong,
#fs-page .fs2-form--ardoise .fs2-titre strong,
#fs-page .fs2-contact__tels .fs2-titre strong,
#fs-page .fs2-franchise__bulle .fs2-titre strong,
#fs-page .fs2-public--ardoise .fs2-public__titre strong,
#fs-page .fs2-franchise__bulle p strong,
#fs-page .fs2-contact-personne a,
#fs-page .fs2-temoin blockquote a,
#fs-page .fs2-temoin__fin,
#fs-page .fs2-encart__liens a { color: var(--rose); }
#fs-page :is(.fs2-section--ardoise, .fs2-form--ardoise, .fs2-temoin) .fs2-sur::before { background: var(--rose); }
#fs-page .fs2-franchise__bulle p strong { font-weight: 400; font-style: normal; }

/* ------------------------------------------------ Boutons : sauge sur bleu, bleu au survol */
#fs-page .fs2-bouton--citron:hover { background: var(--ardoise); color: var(--blanc); }
#fs-page .fs2-section--ardoise .fs2-bouton--citron:hover,
#fs-page .fs2-trio__bloc--ardoise .fs2-bouton--citron:hover,
#fs-page .fs2-franchise__bulle .fs2-bouton--citron:hover { background: var(--rose); color: var(--ardoise); }
#fs-page .fs2-bouton--ardoise:hover { color: var(--rose); }
#fs-page .fs2-bouton--contour:hover { border-color: var(--rose); color: var(--rose); }
#fs-page .fs2-bouton--contour-ardoise:hover { color: var(--blanc); }

/* ------------------------------------------------ Haut de page */
#fs-page .fs2-entree__titre { font-size: clamp(46px, 6.2vw, 90px); line-height: 1.02; letter-spacing: -0.02em; }
#fs-page .fs2-entree__accroche { font-size: clamp(22px, 2.1vw, 28px); line-height: 1.3; }
#fs-page .fs2-entree__accroche strong { color: var(--brique); }
#fs-page .fs2-entree__intro a,
#fs-page .fs2-entree__note a { text-decoration-color: var(--rose); }
/* pas de bordure à gauche : un petit carré rose devant la note */
#fs-page .fs2-entree__note { position: relative; padding-left: 24px; border-left: 0; }
#fs-page .fs2-entree__note::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 10px; height: 10px; background: var(--rose); }
#fs-page .fs2-scene::before { background: var(--rose); }
#fs-page .fs2-entree__visuel:not(.fs2-entree__visuel--bulles) > .fs2-yyc { left: auto; right: clamp(-30px, -1.6vw, -8px); bottom: -14px; }
#fs-page .fs2-yyc img:nth-child(1) { transform: rotate(-6deg); }
#fs-page .fs2-yyc img:nth-child(2) { transform: translateY(-10px); }
#fs-page .fs2-yyc img:nth-child(3) { transform: rotate(5deg); }

/* ------------------------------------------------ Cartes, tuiles, encadrés */
#fs-page .fs2-carte__repere { background: var(--rose); }
#fs-page .fs2-encadre { border-left: 0; }
#fs-page .fs2-trio__bloc--citron { background: var(--rose); }
#fs-page .fs2-duo__texte a,
#fs-page .fs2-faq-appel a,
#fs-page .fs2-faq__reponse a { text-decoration-color: var(--rose); }
#fs-page .fs2-faq__item[open] summary i,
#fs-page .fs2-faq__item summary:hover i { background: var(--rose); }
#fs-page .fs2-avis__bulle::before { color: var(--rose); font-weight: 400; }
#fs-page .fs2-equipe__pays { background: var(--rose); }
#fs-page .fs2-equipe__photo img { object-position: 50% 35%; }
#fs-page .fs2-because li { border-top-color: var(--terracotta); }
#fs-page .fs2-raisons li::before { color: var(--rose); font-weight: 400; font-family: var(--titre); }
#fs-page .fs2-tels a:hover { background: var(--rose); }
#fs-page .fs2-reseaux a:hover { background: var(--rose); }

/* ------------------------------------------------ Bon-cadeau en rose poudré, mot clé en rouge brique */
#fs-page .fs2-cadeau { background: var(--rose); }
#fs-page .fs2-cadeau__titre strong { color: var(--brique); }

/* ------------------------------------------------ News et articles */
#fs-page .fs2-une__date span { color: var(--rose); }
#fs-page .fs2-une__date time,
#fs-page .fs2-article__meta time { background: var(--rose); }
#fs-page .fs2-une__titre a:hover { background: linear-gradient(transparent 62%, var(--rose) 62%, var(--rose) 92%, transparent 92%); }
#fs-page .fs2-news__titre a { background-image: linear-gradient(var(--rose), var(--rose)); }
#fs-page .fs2-news__jour { color: var(--rose); }
#fs-page .fs2-pagination .current { color: var(--rose) !important; }
#fs-page .fs2-prose h2::before { background: var(--rose); }
#fs-page .fs2-prose a { text-decoration-color: var(--rose); }
#fs-page .fs2-prose a:hover { background: var(--rose); }
#fs-page .fs2-prose ul li::before { background: var(--terracotta); }
/* citation : pas de bordure à gauche, une bordure complète fine sur fond papier */
#fs-page .fs2-prose .wp-block-quote { border: 1px solid var(--ligne); background: var(--blanc); font-style: normal; }
/* sommaire : l'entrée active se repère à son fond, pas à une bordure à gauche */
#fs-page .fs2-sommaire a { padding-left: 10px; border-left: 0; }
#fs-page .fs2-sommaire a:hover,
#fs-page .fs2-sommaire a.is-actif { background: var(--blanc); }
#fs-page .fs2-fil a { text-decoration-color: var(--rose); }

/* ------------------------------------------------ Titres courts : jamais un mot seul sur la dernière ligne */
#fs-page :is(.fs2-carte__titre, .fs2-trio__titre, .fs2-public__titre, .fs2-bandeau__titre, .fs2-cadeau__titre, .fs2-une__titre, .fs2-news__titre,
	.fsb-news__titre, .fsb-une__titre, .fs2-pilier h3, .fs2-encart__titre, .fs2-voisins__lien strong) { text-wrap: balance; }
#fs-page .fs2-insecable { white-space: nowrap; }
/* Carte de contact (Ouvrir un centre) : le texte passe sous la photo quand la colonne est étroite */
#fs-page .fs2-contact-personne { flex-wrap: wrap; }
#fs-page .fs2-contact-personne div { flex: 1 1 200px; }


/* ==================================================================================
   Refonte 2026 posée dans l'éditeur WordPress : blocs natifs (Groupe, Boucle de requête).
   Les listes de news sont des blocs « Boucle de requête » : même rendu que les listes codées.
   Couleurs de la palette de Lucie (octobre 2026) : le rose poudré sur le bleu, une seule graisse pour Young Serif.
   ================================================================================== */

/* Blocs Groupe : pas d'espace ajouté par WordPress entre les éléments (spécificité basse exprès) */
:is(#fs-page, #fs-accueil) > *,
:is(#fs-page, #fs-accueil) :where(.wp-block-group, .wp-block-query) > * { margin-block-start: 0; margin-block-end: 0; }

:is(#fs-page, #fs-accueil) .wp-block-query { margin: 0; }
:is(#fs-page, #fs-accueil) .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
:is(#fs-page, #fs-accueil) .wp-block-post-template > li { margin: 0; padding-left: 0; }

/* ------------------------------------------------ Liste de news (accueil, page News) */
:is(#fs-page, #fs-accueil) .fsb-news { border-bottom: 1px solid var(--ligne); }
:is(#fs-page, #fs-accueil) .fsb-news > li {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr) 168px 48px;
	align-items: center;
	gap: 28px;
	padding: 26px 0;
	border-top: 1px solid var(--ligne);
}
/* fond de survol qui déborde un peu de la colonne */
:is(#fs-page, #fs-accueil) .fsb-news > li::before {
	content: "";
	position: absolute;
	inset: -1px -20px;
	z-index: -1;
	background: var(--gris);
	opacity: 0;
	transition: opacity 0.3s;
}
#fs-page .fs2-section--gris .fsb-news > li::before { background: var(--blanc); }
:is(#fs-page, #fs-accueil) .fsb-news > li:hover::before,
:is(#fs-page, #fs-accueil) .fsb-news > li:focus-within::before { opacity: 1; }
/* flèche, dans un carré à droite */
:is(#fs-page, #fs-accueil) .fsb-news > li::after {
	content: "";
	grid-column: 4;
	grid-row: 1;
	width: 48px;
	height: 48px;
	border: 2px solid var(--ardoise);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3 10h13M11 4.5 16.5 10 11 15.5' fill='none' stroke='%23273c4d' stroke-width='2.2' stroke-linecap='square'/%3E%3C/svg%3E") 50% 50% / 20px no-repeat;
	transition: background-color 0.25s, border-color 0.25s, background-position 0.25s;
}
:is(#fs-page, #fs-accueil) .fsb-news > li:hover::after { background-color: var(--citron); border-color: var(--citron); background-position: calc(50% + 3px) 50%; }

:is(#fs-page, #fs-accueil) .fsb-news__date {
	grid-column: 1;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 92px;
	background: var(--ardoise);
	color: var(--blanc);
	line-height: 1.1;
	text-align: center;
}
:is(#fs-page, #fs-accueil) .fsb-news__jour { font-family: var(--titre); font-size: 34px; font-weight: 400; line-height: 1; color: var(--rose); }
:is(#fs-page, #fs-accueil) .fsb-news__date > .fsb-news__mois { margin-top: 6px; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
:is(#fs-page, #fs-accueil) .fsb-news__annee { font-size: 13px; opacity: 0.7; }

:is(#fs-page, #fs-accueil) .fsb-news__corps { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; gap: 8px; }
:is(#fs-page, #fs-accueil) .fsb-news__titre { margin: 0; font-family: var(--titre); font-size: clamp(19px, 1.6vw, 23px); font-weight: 400; line-height: 1.25; color: var(--ardoise); }
:is(#fs-page, #fs-accueil) .fsb-news__titre a {
	color: inherit;
	text-decoration: none;
	background: linear-gradient(var(--rose), var(--rose)) no-repeat 0 92% / 0 30%;
	transition: background-size 0.35s var(--doux);
}
:is(#fs-page, #fs-accueil) .fsb-news > li:hover .fsb-news__titre a { background-size: 100% 30%; }
:is(#fs-page, #fs-accueil) .fsb-news__titre a::after { content: ""; position: absolute; inset: 0; }
:is(#fs-page, #fs-accueil) .fsb-news__extrait p {
	display: -webkit-box;
	margin: 0;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 16px;
	line-height: 1.55;
}

:is(#fs-page, #fs-accueil) .fsb-news__vignette { grid-column: 3; grid-row: 1; display: block; width: 168px; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; background: var(--gris); }
:is(#fs-page, #fs-accueil) .fsb-news__vignette img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--doux); }
:is(#fs-page, #fs-accueil) .fsb-news > li:hover .fsb-news__vignette img { transform: scale(1.06); }

/* ------------------------------------------------ « À la une » (haut de la page News) */
#fs-page .fsb-une > li { background: var(--blanc); box-shadow: 0 30px 60px -30px rgba(29, 46, 60, 0.35); }
#fs-page .fsb-une__visuel { display: block; aspect-ratio: 16 / 9; margin: 0; overflow: hidden; background: var(--gris); }
#fs-page .fsb-une__visuel a { display: block; height: 100%; }
#fs-page .fsb-une__visuel img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--doux); }
#fs-page .fsb-une > li:hover .fsb-une__visuel img { transform: scale(1.04); }
#fs-page .fsb-une__corps { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 26px 28px 28px; }
#fs-page .fsb-une__haut { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; font-weight: 700; color: var(--ardoise); }
#fs-page .fsb-une__label { padding: 3px 8px; background: var(--ardoise); color: var(--rose); }
#fs-page .fsb-une__date { padding: 3px 8px; background: var(--rose); }
#fs-page .fsb-une__titre { margin: 0; font-family: var(--titre); font-size: clamp(22px, 2vw, 28px); font-weight: 400; line-height: 1.2; color: var(--ardoise); }
#fs-page .fsb-une__titre a { color: inherit; text-decoration: none; }
#fs-page .fsb-une__titre a:hover { background: linear-gradient(transparent 62%, var(--rose) 62%, var(--rose) 92%, transparent 92%); }
#fs-page .fsb-une__extrait p { margin: 0; font-size: 16px; }
@media (prefers-reduced-motion: no-preference) {
	#fs-page .fsb-une > li { animation: fs2-pop 0.9s var(--doux) both; animation-delay: 0.15s; transform-origin: 74% 100%; }
}

/* ------------------------------------------------ Pagination des news */
#fs-page .fsb-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 36px; }
#fs-page .fsb-pagination .wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
#fs-page .fsb-pagination :is(.page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next) {
	display: grid;
	place-items: center;
	min-width: 48px;
	height: 48px;
	margin: 0;
	padding: 0 10px;
	border: 2px solid var(--ligne);
	font-weight: 700;
	color: var(--ardoise);
	text-decoration: none;
	transition: border-color 0.2s;
}
#fs-page .fsb-pagination a:hover { border-color: var(--ardoise); }
#fs-page .fsb-pagination .current { background: var(--ardoise); border-color: var(--ardoise); color: var(--rose); }
#fs-page .fsb-pagination .dots { border-color: transparent; }
/* précédent et suivant : la flèche seule à l'écran, le libellé reste pour les lecteurs d'écran */
#fs-page .fsb-pagination :is(.wp-block-query-pagination-previous, .wp-block-query-pagination-next) { font-size: 0; }
#fs-page .fsb-pagination [class*="-arrow"] { margin: 0; font-size: 20px; line-height: 1; transform: translateY(-1px); }

/* ------------------------------------------------ Téléphone */
@media (max-width: 700px) {
	:is(#fs-page, #fs-accueil) .fsb-news > li { grid-template-columns: 74px minmax(0, 1fr); gap: 16px; padding: 20px 0; align-items: start; }
	:is(#fs-page, #fs-accueil) .fsb-news > li::before { inset: -1px calc(-1 * var(--gouttiere)); }
	:is(#fs-page, #fs-accueil) .fsb-news__date { width: 74px; height: 76px; }
	:is(#fs-page, #fs-accueil) .fsb-news__jour { font-size: 26px; }
	:is(#fs-page, #fs-accueil) .fsb-news__date > .fsb-news__mois { font-size: 10px; letter-spacing: 0.02em; }
	:is(#fs-page, #fs-accueil) .fsb-news__annee { font-size: 11px; }
	:is(#fs-page, #fs-accueil) .fsb-news__vignette,
	:is(#fs-page, #fs-accueil) .fsb-news > li::after { display: none; }
}
