/* Polices auto-hébergées (woff2 latin). Grenze 700 : titres, logo, chiffres de profondeur.
   Proza Libre 400/500/600/700 + 400 italique : texte, boutons, menus, formulaires. */
@font-face{ font-family:'Grenze'; font-style:normal; font-weight:700; font-display:swap; src:url(../fonts/grenze-700.woff2) format('woff2'); }
@font-face{ font-family:'Proza Libre'; font-style:normal; font-weight:400; font-display:swap; src:url(../fonts/proza-libre-400.woff2) format('woff2'); }
@font-face{ font-family:'Proza Libre'; font-style:normal; font-weight:500; font-display:swap; src:url(../fonts/proza-libre-500.woff2) format('woff2'); }
@font-face{ font-family:'Proza Libre'; font-style:normal; font-weight:600; font-display:swap; src:url(../fonts/proza-libre-600.woff2) format('woff2'); }
@font-face{ font-family:'Proza Libre'; font-style:normal; font-weight:700; font-display:swap; src:url(../fonts/proza-libre-700.woff2) format('woff2'); }
@font-face{ font-family:'Proza Libre'; font-style:italic; font-weight:400; font-display:swap; src:url(../fonts/proza-libre-400-italic.woff2) format('woff2'); }

/*
Theme Name: fz-carotte
Theme URI: https://freatic-forage-70.fr/
Author: Freatic Forage
Description: Thème code pur de Freatic Forage (forage d'eau domestique : le prix, le devis, l'eau potable). Idée unique : la carotte de forage. Un forage traverse des couches, la carotte qu'on en sort raconte le terrain, donc le prix et l'eau. Strates, segments de carotte, caisse à carottes, profondeurs écrites.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: fz-carotte
*/

/* ===================================================================================
 * JETONS DE DESIGN — palette de la direction artistique, aucune autre couleur.
 *   Calcaire #F1EDE3 (fond) · Humus #262019 (encre) · Marne #82703F (dominante)
 *   · Brique #BD2923 (accent). Texte courant couleur marne = #60522E (contraste 4,5+).
 * Dérivées autorisées : blanc (cartes), Humus à 12 % (filets), Marne à 18 % (bandes).
 * Pas de mode sombre (décision du chantier) : un seul jeu de variables, clair.
 * =================================================================================== */
:root{
	--fz-calcaire:#F1EDE3;
	--fz-humus:#262019;
	--fz-marne:#82703F;
	--fz-marne-txt:#60522E;
	--fz-brique:#BD2923;
	--fz-blanc:#FFFFFF;
	--fz-filet:rgba(38,32,25,.12);
	--fz-filet-fort:rgba(38,32,25,.28);
	--fz-bande:rgba(130,112,63,.18);
	--fz-voile:rgba(241,237,227,.78);

	--fz-titre:'Grenze',serif;
	--fz-texte:'Proza Libre',sans-serif;

	--fz-max:1216px;
	--fz-gut:32px;
	--fz-entete:64px;

	/* Variables des blocs figés (habillage uniquement) */
	--sb-conteneur:1240px;
	--sb-lecture:700px;
	--sb-rail:340px;
	--sb-gouttiere:24px;
	--sb-accent:var(--fz-brique);
	--sb-accent-clair:var(--fz-calcaire);
	--sb-encre:var(--fz-humus);
	--sb-doux:var(--fz-marne-txt);
	--sb-filet:var(--fz-filet);
	--sb-fond-carte:var(--fz-blanc);
	--sb-surf:var(--fz-bande);
	--sb-fonce:var(--fz-humus);
	--sb-sur-fonce:var(--fz-calcaire);
	--sb-rayon:6px;
	--sb-rayon-grand:10px;
	--sb-ombre:0 0 0 1px var(--fz-filet);
	--sb-ombre-forte:0 0 0 1px var(--fz-filet-fort);
	--sb-filet-fort:var(--fz-filet-fort);
	--sb-titre:var(--fz-titre);
	--sb-texte:var(--fz-texte);
}

@media (max-width:760px){
	:root{ --fz-gut:20px; --fz-entete:60px; --sb-gouttiere:20px; }
}

/*
 * BLOC FIGÉ — ARTICLE (thématique) — CSS
 * Origine : curieux-du-web.com, theme/style.css, règles `.cdw-article*` /
 * `.cdw-fil-ariane` / `.cdw-a-lire` / `.cdw-carte*` (renommées `.sbt-*` ici).
 * Couleurs/polices/espacements uniquement en `var(--sb-*, repli)` : un site neuf peut
 * utiliser ce fichier tel quel sans avoir encore défini ses propres variables.
 *
 * INTERDIT DE MODIFIER : voir single-article.php (un seul <article>, « à lire aussi »
 * en <div>). LIBRE DE MODIFIER : toutes les valeurs des var() ci-dessous.
 */

.sbt-conteneur{ max-width: var(--sb-conteneur, 1240px); margin-inline: auto; padding-inline: var(--sb-gouttiere, 24px); }

.sbt-fil-ariane{ font-size: .8125rem; color: var(--sb-doux, #55607a); display: flex; gap: 6px; flex-wrap: wrap; padding-block: 16px; }
.sbt-fil-ariane a{ color: var(--sb-doux, #55607a); text-decoration: none; }
.sbt-fil-ariane a:hover{ color: var(--sb-encre, #0f172a); }

.sbt-article-entete{ max-width: var(--sb-lecture, 720px); margin-inline: auto; padding-block: 8px 24px; }
.sbt-article-pastille{
	display: inline-block; background: var(--sb-surf, #f4f5fa); color: var(--sb-encre, #0f172a);
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700; font-size: .75rem;
	text-transform: uppercase; letter-spacing: .04em; padding: 6px 12px; border-radius: 999px; margin-bottom: 16px;
	text-decoration: none;
}
.sbt-article-entete h1{ font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); line-height: 1.15; margin: 0; }
.sbt-article-chapo{ font-family: var(--sb-texte, 'Inter', system-ui, sans-serif); font-style: italic; font-size: clamp(1.0625rem,1rem + .3vw,1.3125rem); color: var(--sb-doux, #55607a); margin-top: 16px; }
.sbt-article-meta{ display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 20px; font-size: .875rem; color: var(--sb-doux, #55607a); }
.sbt-article-meta img{ width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.sbt-article-meta-auteur{ color: inherit; font-weight: 600; text-decoration: none; }

.sbt-article-une{ max-width: var(--sb-conteneur, 1240px); margin: 28px auto 32px; padding-inline: var(--sb-gouttiere, 24px); }
.sbt-article-une-cadre{ aspect-ratio: 2.4 / 1; max-height: min(520px, 46vh); overflow: hidden; /* 01/10 : à 1440×900 le texte passait sous la ligne de flottaison (B-ART-09) */ border-radius: var(--sb-rayon, 14px); box-shadow: var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08)); }
.sbt-article-une-cadre img{ width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 640px){ .sbt-article-une-cadre{ aspect-ratio: auto; height: 220px; max-height: 220px; } }

/* Grille corps + rail — align-items:start obligatoire pour que le rail sticky
   (cf. partial-sidebar.css) tienne sur toute la hauteur du contenu. */
.sbt-article-mise-en-page{
	display: grid; grid-template-columns: minmax(0, var(--sb-lecture, 720px)) var(--sb-rail, 340px);
	column-gap: var(--sb-gouttiere, 24px); row-gap: var(--sb-gouttiere, 24px);
	max-width: var(--sb-conteneur, 1240px); margin-inline: auto;
	padding: 32px var(--sb-gouttiere, 24px) 64px; align-items: start; justify-content: center;
}
@media (max-width: 1080px){ .sbt-article-mise-en-page{ grid-template-columns: minmax(0,1fr); } .sbt-article-principal, .sbt-rail{ min-width: 0; } }
.sbt-article-mise-en-page--suite{ padding-top: 0; }

.sbt-article-corps{ font-size: 1.0625rem; line-height: 1.7; color: var(--sb-encre, #0f172a); font-family: var(--sb-texte, 'Inter', system-ui, sans-serif); }
.sbt-article-corps h2{ margin-top: 2.2em; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); }
.sbt-article-corps h3{ margin-top: 1.8em; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); }
.sbt-article-corps p{ margin-bottom: 1.3em; }
.sbt-article-corps img{ border-radius: var(--sb-rayon, 14px); margin-block: 1.6em; width: 100%; height: auto; }
.sbt-article-corps blockquote{
	margin: 1.8em 0; padding: 18px 24px; border-left: 4px solid var(--sb-accent, #2563eb);
	background: var(--sb-surf, #f4f5fa); border-radius: 8px; font-style: italic;
}

/* Sommaire replié en accordéon sur mobile uniquement (en desktop, il vit dans le rail —
   cf. partial-sidebar.php / partial-sommaire.php). */
.sbt-sommaire-mobile{ display: none; }
@media (max-width: 1080px){ .sbt-sommaire-mobile{ display: block; margin-bottom: 24px; } }
/* 01/10/2026 (baliturismo, juge visuel) : sous 1080px le rail passe SOUS l'article ; sa carte sommaire
   faisait doublon avec le sommaire mobile de tête (erreur n°6 « sommaire en double »). */
@media (max-width: 1080px){ .sbt-rail-carte--sommaire{ display: none; } }

/* « À lire aussi » (toujours un <div>, jamais un <article> — cf. single-article.php) */
.sbt-a-lire{ margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--sb-filet, #e2e5ef); }
.sbt-kicker{ font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-size: .9375rem; font-weight: 700; margin-bottom: 12px; }
.sbt-grille{ display: grid; gap: var(--sb-gouttiere, 24px); }
.sbt-grille--3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
@media (max-width: 760px){ .sbt-grille--3{ grid-template-columns: 1fr; } }
.sbt-carte{
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef);
	border-radius: var(--sb-rayon, 14px); overflow: hidden; box-shadow: var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08));
	transition: transform .2s ease, box-shadow .2s ease;
}
.sbt-carte:hover{ transform: translateY(-4px); box-shadow: var(--sb-ombre-forte, 0 16px 40px rgba(15,23,42,.16)); }
.sbt-carte a{ display: block; color: inherit; text-decoration: none; }
.sbt-carte img{ width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.sbt-carte-corps{ padding: 18px; }
.sbt-carte-corps h3{ margin: 0; font-size: 1.0625rem; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); }

.sbt-article-commentaires{ margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--sb-filet, #e2e5ef); }

/* 01/10 (accessoiriste.net) : un seul sommaire visible par largeur — la carte du rail se masque quand l'accordéon mobile s'affiche. */
@media (max-width: 1080px){ .sbt-rail-carte--sommaire{ display: none; } }
/* 05/10 (operations-digestives, juge visuel) : sous-titres collés au paragraphe suivant (marge basse 0 px mesurée) */
.sbt-article-corps h2{ margin-bottom: .6em; }
.sbt-article-corps h3{ margin-bottom: .45em; }

/*
 * BLOC FIGÉ — BARRE LATÉRALE D'ARTICLE (thématique) — CSS
 * Origine : curieux-du-web.com, theme/style.css, règles `.cdw-rail` / `.cdw-rail-carte`
 * (lignes ~854-861, renommées `.sbt-rail*` ici) — commentaire garde-fou d'origine
 * CONSERVÉ TEL QUEL ci-dessous (règle la plus importante de ce bloc).
 *
 * Inspiration secondaire documentée (pas copiée en entier) : amatauto.fr fait basculer
 * sa colonne latérale en bloc STATIQUE empilé sous le texte à partir de 1100px
 * (assets/css/v2.css, `.a2-art__cote { position: sticky; ... }` +
 * `@media (max-width: 1100px) { .a2-art__cote { position: static; } }`) — repris ici en
 * option mobile (media query 1080px, cohérente avec le point de rupture de
 * `.sbt-article-mise-en-page` dans single-article.css).
 */

/* Rail sticky — collé à la colonne de texte, séparation par un filet interne, jamais un
   gap blanc entre les deux colonnes. */
.sbt-rail{
	position: sticky; top: 96px; align-self: start;
	display: flex; flex-direction: column; gap: 20px;
	border-left: 1px solid var(--sb-filet, #e2e5ef); padding-left: 20px;
}
/* ⛔ GARDE-FOU (conservé tel quel depuis curieux-du-web.com, retour Mathias ×3) : jamais
   de overflow-y ni de max-height ici — la colonne reste collante et accompagne TOUTE la
   lecture de l'article jusqu'en bas, sans sa propre barre de défilement interne. */
.sbt-rail-carte{
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef);
	border-radius: var(--sb-rayon, 14px); padding: 18px;
}
.sbt-rail-carte .sbt-t4, .sbt-rail-carte h4{
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-size: .875rem;
	text-transform: uppercase; letter-spacing: .04em; color: var(--sb-doux, #55607a); margin: 0 0 10px;
}

/* Option mobile (inspirée d'amatauto.fr, cf. en-tête) : sous 1080px, la grille parente
   passe déjà en une colonne (cf. .sbt-article-mise-en-page dans single-article.css) — le
   rail redevient donc naturellement un bloc statique empilé sous le texte. */
@media (max-width: 1080px){
	.sbt-rail{ position: static; border-left: 0; padding-left: 0; border-top: 1px solid var(--sb-filet, #e2e5ef); padding-top: 20px; }
}

/* Sommaire tel qu'affiché dans le rail (cf. partial-sommaire.css pour le détail des
   classes `.sbt-sommaire*`) : pas de style supplémentaire ici, la carte du rail suffit. */

/*
 * BLOC FIGÉ — SOMMAIRE (thématique) — CSS
 * CSS volontairement simple (voir partial-sommaire.php : la robustesse de ce bloc est
 * dans le PHP — ids séquentiels, exclusion FAQ/Sources, seuil de 3 titres — pas dans son
 * habillage). Inspiré du rendu `<details>` natif de health-nutrition-cambrai.fr
 * (« Bien Vivre Santé »), classes renommées `.sbt-sommaire*`.
 */

.sbt-sommaire{
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef);
	border-left: 4px solid var(--sb-accent, #2563eb); border-radius: var(--sb-rayon, 14px);
	padding: 16px 20px;
}
.sbt-sommaire-titre{
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700;
	font-size: .9375rem; cursor: pointer; list-style: none;
}
.sbt-sommaire-titre::-webkit-details-marker{ display: none; }
.sbt-sommaire ol{ list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sbt-sommaire li a{
	display: flex; align-items: baseline; gap: 10px; font-size: .9375rem;
	color: var(--sb-encre, #0f172a); text-decoration: none;
}
.sbt-sommaire li a:hover{ color: var(--sb-accent, #2563eb); text-decoration: underline; }
.sbt-sommaire-num{
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700; font-size: .75rem;
	color: var(--sb-encre, #0f172a); background: var(--sb-surf, #f4f5fa); border-radius: 50%;
	width: 20px; height: 20px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
}

/*
 * BLOC FIGÉ — ENCADRÉS « LE SAVIEZ-VOUS » / « POINTS À RETENIR » (thématique) — CSS
 * Origine : amatauto.fr, assets/css/v2.css, règles `.amat-encadre--retenir` / `.a2-saviez`
 * (renommées `.sbt-encadre--retenir` / `.sbt-encadre--saviez` ici). Habillage simplifié
 * (gradients/decorations ::before retirés pour rester générique et léger), la structure
 * (grille icône + texte pour « le saviez-vous », liste à puces pour « points à retenir »)
 * est conservée.
 */

.sbt-encadre{ margin-block: 2em; border-radius: var(--sb-rayon-grand, 22px); }

.sbt-encadre-titre{
	margin: 0 0 12px; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif);
	font-weight: 700; font-size: .8125rem; text-transform: uppercase; letter-spacing: .08em;
}

/* « Points à retenir » — fond foncé, liste à puces check. */
.sbt-encadre--retenir{
	background: var(--sb-fonce, #141733); color: var(--sb-sur-fonce, #ffffff);
	padding: 28px 30px;
}
.sbt-encadre--retenir .sbt-encadre-titre{ color: var(--sb-accent-clair, #93c5fd); }
.sbt-retenir-liste{ list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.sbt-retenir-liste li{
	position: relative; padding-left: 32px; font-size: 1rem; line-height: 1.55;
}
.sbt-retenir-liste li::before{
	content: ""; position: absolute; left: 0; top: .15em; width: 20px; height: 20px; border-radius: 50%;
	background: var(--sb-accent, #2563eb)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")
		center / 12px no-repeat;
}

/* « Le saviez-vous ? » — encadré clair, icône ampoule. */
.sbt-encadre--saviez{
	display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start;
	padding: 22px 24px; background: var(--sb-surf, #f4f5fa);
}
.sbt-encadre--saviez::before{
	content: "?"; grid-row: 1 / span 2; width: 48px; height: 48px; border-radius: 14px;
	background: var(--sb-accent, #2563eb); color: #fff; display: flex; align-items: center; justify-content: center;
	font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700; font-size: 1.375rem;
}
.sbt-encadre--saviez .sbt-encadre-titre{ grid-column: 2; margin: 0; color: var(--sb-encre, #0f172a); }
.sbt-encadre--saviez p:not(.sbt-encadre-titre){ grid-column: 2; margin: 0; font-size: 1rem; line-height: 1.6; color: var(--sb-encre, #0f172a); }

@media (max-width: 620px){
	.sbt-encadre--saviez{ grid-template-columns: 1fr; }
	.sbt-encadre--saviez::before{ grid-row: 1; }
	.sbt-encadre--saviez .sbt-encadre-titre, .sbt-encadre--saviez p:not(.sbt-encadre-titre){ grid-column: 1; }
}
/* 04/10/2026 (invalidcast.com) : la règle de liste du corps d'article écrasait le retrait → la coche mangeait la 1re lettre. */
.sbt-article-corps .sbt-retenir-liste{ padding: 0; margin: 0; list-style: none; }
.sbt-article-corps .sbt-retenir-liste li{ padding-left: 34px; margin: 0; text-indent: 0; }

/*
 * BLOC FIGÉ — FAQ EN ACCORDÉON (thématique) — CSS
 * Visuel inspiré du rendu RÉEL de solutionminceur.fr, classes `.smr-faq*` récupérées par
 * un unique curl en lecture seule sur
 * `https://solutionminceur.fr/wp-content/themes/solutionminceur-v2/roxane.css`
 * (fichier CSS distant, absent du mirroir local du chantier — ce curl a RÉUSSI, voir
 * README). Classes renommées `.sbt-faq*` ici, variables de couleur remplacées par des
 * `var(--sb-*, repli)` génériques.
 *
 * Mécanisme accordéon (natif <details>/<summary>, sans JS) : cf. partial-faq.php, origine
 * health-nutrition-cambrai.fr.
 *
 * fz-carotte : seul habillage changé — le « + » de l'accordéon passe de la couleur par défaut du bloc à la
 * Brique du site (#BD2923).
 */

.sbt-faq{ margin: 56px 0; padding: 30px; border-radius: var(--sb-rayon-grand, 22px); background: var(--sb-surf, #f4f5fa); border: 1px solid var(--sb-filet, #e2e5ef); }
.sbt-faq-liste{ display: grid; gap: 10px; }
.sbt-faq-liste details{
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef) !important;
	border-radius: 14px; padding: 0 !important; transition: box-shadow .25s ease, border-color .25s ease;
}
.sbt-faq-liste details[open]{ box-shadow: var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08)); border-color: var(--sb-accent, #2563eb) !important; }
.sbt-faq-liste summary{
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center;
	gap: 18px; padding: 18px 20px; font-size: 1.03rem; font-weight: 600; line-height: 1.45; color: var(--sb-encre, #0f172a);
}
.sbt-faq-liste summary::-webkit-details-marker{ display: none; }
.sbt-faq-liste summary::after{
	content: ""; width: 30px; height: 30px; flex: none; border-radius: 50%;
	background: var(--sb-surf, #f4f5fa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23BD2923' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 15px no-repeat;
	transition: transform .3s ease;
}
.sbt-faq-liste details[open] summary::after{ transform: rotate(135deg); }
.sbt-faq-liste summary:hover{ color: var(--sb-accent, #2563eb); }
.sbt-faq-reponse{ padding: 0 20px 18px; font-size: .96875rem; line-height: 1.75; color: var(--sb-doux, #55607a); }
.sbt-faq-reponse p{ margin: 0 0 14px; }
.sbt-faq-reponse p:last-child{ margin-bottom: 0; }

@media (max-width: 760px){
	.sbt-faq{ padding: 20px; }
}

/*
 * BLOC FIGÉ — SIGNATURE / BOÎTE AUTEUR (thématique) — CSS
 * Visuel inspiré du rendu RÉEL de solutionminceur.fr, classes `.smr-auteur*` récupérées
 * par le même curl en lecture seule que partial-faq.css (roxane.css, voir README).
 * Classes renommées `.sbt-auteur*` ici, variables de couleur remplacées par des
 * `var(--sb-*, repli)` génériques.
 */

.sbt-auteur{
	display: grid; grid-template-columns: 120px 1fr; gap: 26px; margin: 54px 0 10px;
	padding: 30px; border-radius: var(--sb-rayon-grand, 22px);
	background: var(--sb-surf, #f4f5fa); border: 1px solid var(--sb-filet, #e2e5ef);
}
.sbt-auteur-photo img{
	width: 120px; height: 120px; border-radius: 50%; object-fit: cover;
	box-shadow: 0 0 0 5px var(--sb-fond-carte, #ffffff), var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08));
}
.sbt-auteur-sur{ margin: 0 0 2px; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--sb-doux, #55607a); }
.sbt-auteur-nom{ font-size: 1.5rem; margin: 0 0 4px; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); }
.sbt-auteur-nom a{ color: var(--sb-encre, #0f172a); text-decoration: none; }
.sbt-auteur-nom a:hover{ text-decoration: underline; }
.sbt-auteur-role{ margin: 0 0 12px; font-size: .8125rem; font-weight: 600; color: var(--sb-accent, #2563eb); text-transform: uppercase; letter-spacing: .05em; }
.sbt-auteur-bio{ font-size: .96875rem; line-height: 1.7; color: var(--sb-encre, #0f172a); margin: 0 0 16px; }
.sbt-auteur-chiffres{ display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.sbt-auteur-chiffres span{ background: var(--sb-fond-carte, #ffffff); border-radius: 12px; padding: 8px 12px; font-size: .78125rem; color: var(--sb-doux, #55607a); }
.sbt-auteur-chiffres b{ color: var(--sb-encre, #0f172a); margin-right: 4px; }
.sbt-auteur-der{ margin-bottom: 18px; }
.sbt-auteur-der p{ margin: 0 0 6px; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--sb-doux, #55607a); }
.sbt-auteur-der a{ display: block; font-size: .9375rem; font-weight: 500; padding: 6px 0; color: var(--sb-encre, #0f172a); text-decoration: none; border-bottom: 1px dashed var(--sb-filet, #e2e5ef); }
.sbt-auteur-der a:hover{ color: var(--sb-accent, #2563eb); }
.sbt-auteur-actions{ display: flex; flex-wrap: wrap; gap: 10px; }
.sbt-auteur-actions .sbt-btn{
	display: inline-block; padding: 10px 18px; border-radius: 999px; font-size: .875rem; font-weight: 600;
	text-decoration: none; background: var(--sb-accent, #2563eb); color: #fff;
}
.sbt-auteur-actions .sbt-btn--fantome{ background: transparent; border: 1.5px solid var(--sb-filet, #e2e5ef); color: var(--sb-encre, #0f172a); }

@media (max-width: 700px){
	.sbt-auteur{ grid-template-columns: 1fr; padding: 22px; }
	.sbt-auteur-photo img{ width: 88px; height: 88px; }
}

/*
 * BLOC FIGÉ — PIED DE PAGE (thématique) — CSS
 * Origine : curieux-du-web.com, theme/style.css, règles `.cdw-footer*` / `.cdw-cookies*` /
 * `.cdw-popup-sortie*` / `.cdw-btn*` (renommées `.sbt-footer*` / `.sbt-cookies*` /
 * `.sbt-popup-sortie*` / `.sbt-btn*` ici).
 *
 * fz-carotte : habillage seul — pied CLAIR (fond Calcaire, encre Humus), toutes les couleurs en variables du
 * thème (le bloc d'origine portait des bleus en dur sur fond foncé). Structure et sélecteurs inchangés.
 */

.sbt-btn{
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 13px 24px; border-radius: 999px; font-weight: 700; font-size: 1rem;
	background: var(--sb-accent, #2563eb); color: #fff; text-decoration: none; border: 0; cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease;
}
.sbt-btn:hover{ transform: translateY(-2px); box-shadow: var(--sb-ombre, 0 8px 24px rgba(15,23,42,.08)); }
.sbt-btn--petit{ padding: 10px 18px; font-size: .875rem; }
.sbt-btn--fantome{ background: transparent; border: 1.5px solid var(--sb-filet-fort, rgba(255,255,255,.5)); color: inherit; }

/* Pied CLAIR : Calcaire, filet Humus 2 px en haut (la fine carotte en strates est posée par assets/css/app.css). */
.sbt-footer{ background: var(--fz-calcaire, var(--sb-fond-carte)); color: var(--sb-encre); padding-block: clamp(40px,6vw,64px) 24px; border-top: 2px solid var(--fz-humus, var(--sb-encre)); position: relative; }
.sbt-footer a{ color: var(--sb-encre); text-decoration: none; }
.sbt-footer a:hover{ color: var(--sb-accent); text-decoration: underline; }
.sbt-footer a.sbt-btn, .sbt-footer a.sbt-btn:hover{ color: #fff; text-decoration: none; }

.sbt-footer-cta{
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
	padding: 24px 28px; margin-bottom: 32px; border-bottom: 1px solid var(--sb-filet);
}
@media (max-width: 600px){ .sbt-footer-cta{ padding: 20px 0; } }
.sbt-footer-cta .sbt-t3{ color: var(--sb-encre); margin: 0 0 4px; font-size: 1.25rem; }
.sbt-footer-cta p{ color: var(--sb-doux); margin: 0; max-width: 46ch; }

.sbt-footer-grille{ display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px; padding-bottom: 32px; border-bottom: 1px solid var(--sb-filet); }
@media (max-width: 980px){ .sbt-footer-grille{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){ .sbt-footer-grille{ grid-template-columns: 1fr; } }
.sbt-footer-colonne .sbt-t4{ font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-size: .8125rem; text-transform: uppercase; letter-spacing: .06em; color: var(--sb-doux); margin: 0 0 14px; }
.sbt-footer-colonne ul{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sbt-footer-colonne ul a{ font-size: .875rem; }
.sbt-footer-logo{ display: block; font-family: var(--sb-titre, 'Manrope', system-ui, sans-serif); font-weight: 700; font-size: 1.125rem; color: var(--sb-encre); margin-bottom: 14px; }
.sbt-footer-desc{ color: var(--sb-doux); font-size: .9375rem; margin: 0; max-width: 32ch; }
.sbt-footer-contact{ display: flex; flex-direction: column; gap: 8px; font-size: .875rem; }

.sbt-footer-bas{ padding-top: 20px; font-size: .8125rem; color: var(--sb-doux); }

/* Bandeau cookies — deux boutons de MÊME poids (même classe .sbt-btn/.sbt-btn--petit),
   jamais un seul « J'ai compris » qui vaudrait acceptation forcée. (Non émis sur ce site : aucun traceur.) */
.sbt-cookies{
	position: fixed; left: 8px; right: 8px; bottom: 8px; z-index: 80;
	background: var(--sb-fonce, #141733); color: var(--sb-sur-fonce, #fff); border-radius: 12px;
	padding: 10px 14px; display: none; align-items: center; gap: 12px;
	box-shadow: var(--sb-ombre-forte, 0 16px 40px rgba(15,23,42,.16)); max-height: 64px; overflow: hidden;
}
.sbt-cookies.est-visible{ display: flex; }
.sbt-cookies p{ margin: 0; flex: 1; min-width: 0; font-size: .75rem; line-height: 1.3; }
.sbt-cookies-actions{ display: flex; gap: 8px; flex-shrink: 0; }
.sbt-cookies .sbt-btn{ flex-shrink: 0; padding: 8px 14px; min-height: 32px; font-size: .8125rem; }

/* Popup de sortie — jamais de colonne image vide : si pas d'image, la boîte bascule sur
   une seule colonne (cf. .sbt-popup-sortie-boite--sans-image). (Non émise sur ce site : aucune offre.) */
.sbt-popup-sortie{ position: fixed; inset: 0; z-index: 90; display: none; align-items: center; justify-content: center; padding: 20px; }
.sbt-popup-sortie.est-ouvert{ display: flex; }
.sbt-popup-sortie-fond{ position: absolute; inset: 0; background: rgba(38,32,25,.7); }
.sbt-popup-sortie-boite{
	position: relative; z-index: 1; background: var(--sb-fond-carte, #ffffff); border-radius: var(--sb-rayon, 14px);
	max-width: 720px; width: 100%; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden;
	box-shadow: var(--sb-ombre-forte, 0 16px 40px rgba(15,23,42,.16)); max-height: 90vh;
}
.sbt-popup-sortie-boite--sans-image{ grid-template-columns: 1fr; max-width: 480px; }
@media (max-width: 640px){ .sbt-popup-sortie-boite{ grid-template-columns: 1fr; max-height: 85vh; overflow-y: auto; } }
.sbt-popup-sortie-image{ min-height: 220px; }
.sbt-popup-sortie-image img{ width: 100%; height: 100%; object-fit: cover; }
.sbt-popup-sortie-texte{ padding: 28px; color: var(--sb-encre, #0f172a); }
.sbt-popup-sortie-fermer{
	position: absolute; top: 12px; right: 12px; z-index: 2; width: 40px; height: 40px; border-radius: 50%;
	background: var(--sb-fond-carte, #ffffff); border: 1px solid var(--sb-filet, #e2e5ef);
	display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.sbt-popup-sortie-fermer svg{ width: 20px; height: 20px; }

/* ===================================================================================
 * Freatic Forage — fz-carotte. Feuille unique (assemblée dans tout.css après fonts.css, style.css et blocs/*.css).
 * Palette : Calcaire #F1EDE3 · Humus #262019 · Marne #82703F (texte courant #60522E) · Brique #BD2923.
 * Polices : Grenze 700 (titres, chiffres de profondeur) · Proza Libre (texte, boutons, formulaires).
 * Idée : la carotte de forage. Strates, segments de carotte, caisse à carottes, règle des profondeurs.
 * Pas de mode sombre (décision du chantier), pas de pop-up, pas de pagination numérotée.
 * =================================================================================== */

/* ---------- Base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-padding-top:84px; }
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth; } }
body{ margin:0; background:var(--fz-calcaire); color:var(--fz-humus); font-family:var(--fz-texte); font-size:1.0625rem; line-height:1.6; display:flex; flex-direction:column; min-height:100vh; overflow-x:clip; -webkit-font-smoothing:antialiased; }
body.fz-menu-ouvert{ overflow:hidden; }
.fz-main{ flex:1 0 auto; display:block; }
img,svg,picture{ max-width:100%; }
img{ height:auto; }
h1,h2,h3,h4{ font-family:var(--fz-titre); font-weight:700; color:var(--fz-humus); }
a{ color:inherit; }
p{ margin:0 0 1em; }
ul,ol{ padding-left:1.2em; }
:focus-visible{ outline:3px solid var(--fz-brique); outline-offset:2px; }
.fz-sr{ position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.fz-evitement{ position:absolute; left:12px; top:-60px; z-index:100; background:var(--fz-humus); color:var(--fz-calcaire); padding:10px 16px; border-radius:4px; font-weight:700; text-decoration:none; }
.fz-evitement:focus{ top:10px; }
.fz-cont{ max-width:var(--fz-max); margin-inline:auto; padding-inline:var(--fz-gut); }
.fz-cont--lecture{ max-width:calc(820px + 2 * var(--fz-gut)); }
.fz-bande{ background:var(--fz-bande); }
.fz-section{ padding-block:clamp(40px,5vw,64px); }
.fz-picto{ width:1.2em; height:1.2em; flex:none; }

/* ---------- Boutons : gros, lisibles, Brique ---------- */
.fz-btn,.sbt-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:12px 26px; border:2px solid var(--fz-brique); border-radius:4px; background:var(--fz-brique); color:#fff; font:700 1.0625rem/1.2 var(--fz-texte); text-decoration:none; cursor:pointer; transition:background-color .18s,border-color .18s,color .18s,transform .18s; -webkit-appearance:none; appearance:none; }
.fz-btn:hover,.sbt-btn:hover{ background:var(--fz-humus); border-color:var(--fz-humus); color:var(--fz-calcaire); transform:none; box-shadow:none; }
.fz-btn:active{ transform:translateY(1px); }
.fz-btn[disabled]{ opacity:.42; cursor:not-allowed; background:var(--fz-brique); border-color:var(--fz-brique); color:#fff; }
.fz-btn--fantome{ background:transparent; color:var(--fz-humus); border-color:var(--fz-humus); }
.fz-btn--fantome:hover{ background:var(--fz-humus); color:var(--fz-calcaire); }
.fz-btn--petit,.sbt-btn--petit{ min-height:46px; padding:10px 20px; font-size:1rem; }
.fz-lien{ background:none; border:0; padding:6px 0; font:600 .95rem var(--fz-texte); color:var(--fz-humus); text-decoration:underline; text-decoration-color:var(--fz-brique); text-decoration-thickness:2px; text-underline-offset:4px; cursor:pointer; }
.sbt-btn--fantome{ background:transparent; color:var(--fz-humus); border-color:var(--fz-humus); }
.sbt-auteur-actions .sbt-btn{ border-radius:4px; border:2px solid var(--fz-brique); padding:10px 20px; min-height:46px; }
.sbt-auteur-actions .sbt-btn--fantome{ background:transparent; border-color:var(--fz-humus); color:var(--fz-humus); }
.sbt-auteur-actions .sbt-btn:hover{ background:var(--fz-humus); border-color:var(--fz-humus); color:var(--fz-calcaire); }

/* ---------- En-tête collant 64 px ---------- */
.fz-entete{ position:sticky; top:0; z-index:60; height:var(--fz-entete); background:var(--fz-calcaire); border-bottom:1px solid var(--fz-filet); transition:box-shadow .2s; }
.fz-entete.est-ombre{ box-shadow:0 1px 0 var(--fz-filet-fort); }
.fz-entete-in{ max-width:1280px; height:100%; margin-inline:auto; padding-inline:var(--fz-gut); display:flex; align-items:center; gap:28px; }
.fz-entete-logo{ display:inline-flex; text-decoration:none; flex:none; }
.fz-logo{ display:inline-flex; align-items:center; gap:10px; }
.fz-logo-carotte{ display:block; width:54px; height:auto; }
.fz-logo-mot{ font-family:var(--fz-titre); font-weight:700; font-size:1.55rem; line-height:1; letter-spacing:.01em; color:var(--fz-humus); white-space:nowrap; }
.fz-menu-bouton{ display:none; }
.fz-nav{ display:flex; align-items:center; gap:24px; margin-left:auto; }
.fz-nav-liste{ display:flex; gap:4px 22px; list-style:none; margin:0; padding:0; }
.fz-nav-liste a{ display:block; padding:8px 0 5px; font-weight:600; font-size:.95rem; color:var(--fz-humus); text-decoration:none; border-bottom:3px solid transparent; white-space:nowrap; }
.fz-nav-liste a:hover{ border-bottom-color:var(--fz-filet-fort); }
.fz-nav-item.est-actif a{ border-bottom-color:var(--fz-brique); }
.fz-nav-cta{ min-height:44px; padding:8px 18px; font-size:.95rem; white-space:nowrap; }
.fz-progres{ position:absolute; left:0; right:0; bottom:-3px; height:3px; pointer-events:none; }
.fz-progres-barre{ display:block; width:100%; height:100%; background:var(--fz-brique); transform:scaleX(0); transform-origin:left; }

@media (max-width:1199px){
	.fz-menu-bouton{ display:inline-flex; align-items:center; gap:8px; margin-left:auto; min-height:44px; padding:8px 14px; background:transparent; border:2px solid var(--fz-humus); border-radius:4px; font:700 1rem var(--fz-texte); color:var(--fz-humus); cursor:pointer; }
	.fz-nav{ position:fixed; z-index:59; left:0; right:0; top:var(--fz-entete); bottom:0; margin:0; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:20px; padding:20px var(--fz-gut) 32px; background:var(--fz-calcaire); overflow-y:auto; opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .2s,transform .2s,visibility 0s .2s; }
	.fz-menu-ouvert .fz-nav{ opacity:1; visibility:visible; transform:none; transition:opacity .2s,transform .2s; }
	.fz-nav-liste{ flex-direction:column; gap:0; }
	.fz-nav-liste a{ padding:14px 0; font-family:var(--fz-titre); font-size:1.6rem; border-bottom:1px solid var(--fz-filet); }
	.fz-nav-item.est-actif a{ color:var(--fz-brique); border-bottom-color:var(--fz-filet); }
	.fz-nav-cta{ width:100%; min-height:56px; font-size:1.125rem; }
	.fz-progres{ bottom:-3px; }
}
@media (min-width:1200px){ .fz-progres{ display:none; } }

/* ---------- LA CAROTTE ---------- */
.fz-carotte{ position:relative; display:flex; width:100%; height:140px; overflow:hidden; border-radius:64px/50%; isolation:isolate; background:var(--fz-bande); }
.fz-carotte::after{ content:""; position:absolute; inset:0; z-index:3; pointer-events:none; background:linear-gradient(to bottom,rgba(241,237,227,.34) 0,rgba(241,237,227,0) 13%,rgba(38,32,25,0) 80%,rgba(38,32,25,.34) 100%); }
.fz-seg{ position:relative; flex:var(--w,1) 1 0; min-width:0; background-color:rgba(130,112,63,.22); background-image:var(--img,none); background-size:cover; background-position:center; }
.fz-seg::before{ content:""; position:absolute; inset:0; z-index:1; background:rgba(38,32,25,.08); pointer-events:none; }
.fz-carotte--couchee .fz-seg:nth-child(2){ background-color:rgba(130,112,63,.32); }
.fz-carotte--couchee .fz-seg:nth-child(3){ background-color:rgba(130,112,63,.44); }
.fz-carotte--couchee .fz-seg:nth-child(4){ background-color:rgba(130,112,63,.28); }
.fz-carotte--couchee .fz-seg:nth-child(5){ background-color:rgba(130,112,63,.38); }
.fz-carotte--couchee .fz-seg:nth-child(6){ background-color:rgba(130,112,63,.2); }
.fz-seg-photo{ position:absolute; inset:0; display:block; }
.fz-seg-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.fz-cassure{ position:absolute; left:-6px; top:0; bottom:0; width:12px; z-index:2; pointer-events:none; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 140' preserveAspectRatio='none'%3E%3Cpath d='M6 0l3 12-6 14 5 14-4 14 5 14-6 14 5 14-4 14 5 14-3 16' fill='none' stroke='%23262019' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% 100% no-repeat; }
.fz-prof{ position:absolute; z-index:4; left:16px; top:14px; display:flex; flex-direction:column; gap:2px; padding:6px 12px 6px 10px; background:rgba(38,32,25,.8); color:var(--fz-calcaire); clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)); }
.fz-prof b{ font-family:var(--fz-titre); font-weight:700; font-size:15px; line-height:1.1; }
.fz-prof i{ font-style:normal; font-weight:600; font-size:12px; line-height:1.1; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.fz-eau{ position:absolute; z-index:2; left:0; right:0; top:50%; height:14px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 14'%3E%3Cpath d='M0 7Q14 0 28 7T56 7' fill='none' stroke='%23F1EDE3' stroke-width='2'/%3E%3C/svg%3E") repeat-x; background-size:56px 14px; animation:fz-onde 5s linear infinite; }
@keyframes fz-onde{ to{ background-position-x:56px; } }
@media (prefers-reduced-motion:reduce){ .fz-eau{ animation:none; } }

/* Carotte verticale (en-têtes de rubrique, rangée d'accueil) */
.fz-carotte--verticale{ flex-direction:column; width:var(--l,96px); height:var(--h,220px); border-radius:50%/22px; margin-inline:auto; transition:transform .25s ease; }
.fz-carotte--verticale::after{ background:linear-gradient(to right,rgba(241,237,227,.34) 0,rgba(241,237,227,0) 16%,rgba(38,32,25,0) 76%,rgba(38,32,25,.34) 100%); }
.fz-carotte--verticale .fz-seg:nth-child(1){ background-color:rgba(130,112,63,.3); }
.fz-carotte--verticale .fz-seg:nth-child(2){ background-color:rgba(130,112,63,.44); }
.fz-carotte--verticale .fz-seg:nth-child(3){ background-color:rgba(130,112,63,.24); }
.fz-carotte--verticale .fz-cassure{ left:0; right:0; top:-6px; bottom:auto; width:auto; height:12px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6l12 3 14-6 14 5 14-4 14 5 14-6 14 5 14-4 14 5 16-3' fill='none' stroke='%23262019' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }

/* Carotte rompue (404) */
.fz-carotte--rompue{ height:96px; width:min(100%,640px); margin-inline:auto; border-radius:48px 0 0 48px/50%; clip-path:polygon(0 0,95% 0,100% 12%,93% 24%,99% 38%,92% 52%,100% 66%,94% 80%,98% 100%,0 100%); }
.fz-carotte--rompue .fz-prof{ left:14px; top:12px; padding:4px 10px; }
.fz-rupture{ display:none; }
.fz-carotte-mini{ display:block; height:auto; }

/* ---------- PREMIER ÉCRAN DE L'ACCUEIL ---------- */
.fz-hero{ position:relative; padding-top:28px; }
.fz-hero-in{ display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:48px; align-items:start; max-width:var(--fz-max); margin-inline:auto; padding-inline:var(--fz-gut); }
.fz-hero-texte{ padding-top:6px; }
.fz-hero h1{ font-size:clamp(2rem,3.5vw,3.125rem); line-height:1.04; margin:0 0 .5em; text-wrap:balance; }
.fz-hero-chapo{ font-size:1.125rem; line-height:1.5; max-width:54ch; margin:0; }
.fz-hero > .fz-carotte{ margin-top:28px; }
.fz-hero-guides{ display:flex; flex-wrap:wrap; gap:4px 32px; list-style:none; max-width:var(--fz-max); margin:0 auto; padding:8px var(--fz-gut) 20px; }
.fz-hero-guides a{ display:inline-flex; align-items:center; min-height:44px; font-weight:700; text-decoration:underline; text-decoration-color:var(--fz-brique); text-decoration-thickness:3px; text-underline-offset:5px; }
.fz-hero-guides a:hover{ color:var(--fz-brique); }

@media (min-width:1700px){
	.fz-hero h1{ font-size:3.5rem; }
	.fz-hero > .fz-carotte{ height:160px; margin-top:32px; }
	.fz-hero-in{ max-width:1360px; }
}
@media (max-width:999px) and (min-width:761px){
	.fz-hero-in{ grid-template-columns:minmax(0,1fr); gap:24px; }
	.fz-hero-caisse{ max-width:560px; }
}
@media (max-width:760px){
	.fz-hero{ display:grid; grid-template-columns:92px minmax(0,1fr); padding-top:0; }
	.fz-hero-in{ display:contents; }
	.fz-hero-texte{ grid-column:2; grid-row:1; padding:16px var(--fz-gut) 0 8px; }
	.fz-hero-caisse{ grid-column:2; grid-row:2; padding:12px var(--fz-gut) 16px 8px; }
	.fz-hero h1{ font-size:1.625rem; line-height:1.08; margin-bottom:.4em; }
	.fz-hero-chapo{ font-size:.9rem; line-height:1.45; margin-bottom:0; }
	.fz-hero > .fz-carotte{ grid-column:1; grid-row:1 / span 2; flex-direction:column; width:auto; height:auto; margin:12px 0 16px 8px; border-radius:50%/26px; }
	.fz-hero > .fz-carotte::after{ background:linear-gradient(to right,rgba(241,237,227,.34) 0,rgba(241,237,227,0) 16%,rgba(38,32,25,0) 76%,rgba(38,32,25,.34) 100%); }
	.fz-hero > .fz-carotte .fz-cassure{ left:0; right:0; top:-6px; bottom:auto; width:auto; height:12px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6l12 3 14-6 14 5 14-4 14 5 14-6 14 5 14-4 14 5 16-3' fill='none' stroke='%23262019' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }
	.fz-hero > .fz-carotte .fz-prof{ left:5px; top:12px; padding:4px 8px 4px 7px; }
	.fz-hero > .fz-carotte .fz-prof b{ font-size:14px; }
	.fz-hero > .fz-carotte .fz-prof i{ font-size:10px; letter-spacing:.06em; }
	.fz-hero > .fz-carotte .fz-seg:first-child .fz-prof{ top:24px; }
	.fz-hero-guides{ grid-column:1 / -1; grid-row:3; flex-direction:column; gap:0; padding-top:0; }
	.fz-hero.est-resultat .fz-hero-caisse{ grid-column:1 / -1; padding-left:var(--fz-gut); }
	.fz-hero.est-resultat > .fz-carotte{ grid-row:1; max-height:260px; }
}

/* ---------- LA CAISSE À CAROTTES ---------- */
.fz-caisse,.fz-planche,.fz-contact-caisse{ background:repeating-linear-gradient(92deg,rgba(38,32,25,.07) 0 1px,transparent 1px 7px),var(--fz-bois-img,none) center/cover,linear-gradient(100deg,#82703F,#60522E 45%,#82703F); }
.fz-caisse{ position:relative; padding:10px; border-radius:6px; box-shadow:inset 0 0 0 2px rgba(38,32,25,.4),inset 0 -3px 0 rgba(38,32,25,.25); scroll-margin-top:96px; }
.fz-caisse .fz-btn{ min-height:48px; padding-block:10px; }
.fz-caisse .fz-btn--petit{ min-height:46px; }
.fz-vis{ position:absolute; z-index:2; width:11px; height:11px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#F1EDE3,#82703F 62%,#262019); box-shadow:0 0 0 1px rgba(38,32,25,.5); }
.fz-vis::after{ content:""; position:absolute; left:2px; right:2px; top:50%; height:1.5px; margin-top:-.75px; background:#262019; transform:rotate(-35deg); }
.fz-vis--1{ left:5px; top:5px; } .fz-vis--2{ right:5px; top:5px; } .fz-vis--3{ left:5px; bottom:5px; } .fz-vis--4{ right:5px; bottom:5px; }
.fz-caisse-tete{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 6px 7px; padding:6px 12px; background:rgba(38,32,25,.88); color:var(--fz-calcaire); }
.fz-caisse-titre{ margin:0; font-family:var(--fz-titre); font-weight:700; font-size:1.625rem; line-height:1.05; color:var(--fz-calcaire); }
/* Les points d'avancement sont remplacés par « 1/3 » dans la question ; ils restent dans le HTML pour l'accessibilité. */
.fz-form-pas{ display:none; }
.fz-caisse-int{ background:var(--fz-calcaire); padding:8px 10px 10px; box-shadow:inset 0 2px 6px rgba(38,32,25,.3); }
.fz-form-etape{ display:none; }
.fz-form-etape.est-active{ display:block; }
.fz-form-q{ display:flex; align-items:baseline; gap:8px; margin:0 0 6px; font-size:1.2rem; line-height:1.15; outline-offset:4px; }
.fz-form-n{ font-family:var(--fz-texte); font-weight:700; font-size:.8rem; letter-spacing:.04em; color:var(--fz-marne-txt); }
.fz-cases{ display:grid; gap:6px; padding:6px; background:var(--fz-marne); border-radius:3px; }
.fz-cases--prof{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.fz-cases--usage{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.fz-case{ appearance:none; -webkit-appearance:none; display:flex; align-items:center; gap:10px; min-height:52px; padding:6px 10px; border:0; background:var(--fz-calcaire); color:var(--fz-humus); font:inherit; text-align:left; cursor:pointer; box-shadow:inset 0 2px 4px rgba(38,32,25,.24); transition:background-color .15s,box-shadow .15s; }
.fz-case:hover{ background:#fff; }
.fz-case[aria-checked="true"]{ background:#fff; box-shadow:inset 0 0 0 3px var(--fz-brique); }
.fz-case-t{ display:block; line-height:1.2; font-size:.95rem; }
.fz-case-t b{ font-weight:700; }
.fz-case-t small{ font-size:.8rem; color:var(--fz-marne-txt); }
.fz-case-jauge{ flex:none; width:12px; height:34px; border-radius:6px; background:linear-gradient(to bottom,var(--fz-marne) calc(var(--p,0)*100%),rgba(130,112,63,.24) calc(var(--p,0)*100%)); }
.fz-case[aria-checked="true"] .fz-case-jauge{ background:linear-gradient(to bottom,var(--fz-brique) calc(var(--p,0)*100%),rgba(130,112,63,.24) calc(var(--p,0)*100%)); }
.fz-case[data-valeur="ne-sais-pas"] .fz-case-jauge{ background:none; border:2px dashed var(--fz-marne); }
.fz-case-coche{ flex:none; width:22px; height:22px; border:2px solid var(--fz-humus); border-radius:3px; background:#fff; }
.fz-case[aria-checked="true"] .fz-case-coche{ border-color:var(--fz-brique); background:var(--fz-brique) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/16px no-repeat; }
.fz-form-pied{ display:flex; gap:10px; margin-top:8px; }
.fz-form-pied .fz-btn{ flex:1 1 auto; }
.fz-form-pied .fz-btn--retour{ flex:0 0 auto; }
.fz-passer{ margin:4px 0 0; text-align:center; }
.fz-champ-dept label{ display:block; font-size:.85rem; font-weight:600; color:var(--fz-marne-txt); margin-bottom:6px; }
.fz-dept{ width:100%; height:56px; padding:0 14px; border:2px solid var(--fz-humus); border-radius:3px; background:#fff; color:var(--fz-humus); font:700 1.75rem var(--fz-titre); letter-spacing:.06em; text-transform:uppercase; }
.fz-dept-nom{ margin:6px 0 0; min-height:1.5em; font-weight:600; font-size:.95rem; }
.fz-form-msg{ margin:4px 0 0; min-height:1.2em; font-size:.88rem; font-weight:600; color:var(--fz-brique); }
.fz-form-msg.est-ok{ color:var(--fz-humus); }

/* Résultat : les postes qui pèsent, les déclarations */
.fz-form-q--resultat{ font-size:1.3rem; }
.fz-resultat{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:16px; margin-bottom:10px; }
.fz-res-t{ margin:0 0 6px; font-weight:700; font-size:.82rem; letter-spacing:.04em; color:var(--fz-marne-txt); }
.fz-res-postes{ list-style:none; margin:0; padding:0; display:grid; gap:4px; }
.fz-poste{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:5px 9px; font-size:.88rem; line-height:1.25; background:rgba(130,112,63,.14); border-left:4px solid var(--fz-marne); }
.fz-poste.est-fort{ background:#fff; border-left-color:var(--fz-brique); font-weight:700; }
.fz-poste em{ flex:none; font-style:normal; font-size:.72rem; font-weight:700; color:var(--fz-brique); }
.fz-res-legende{ margin:6px 0 0; font-size:.78rem; color:var(--fz-marne-txt); line-height:1.35; }
.fz-res-decl{ list-style:none; margin:0 0 8px; padding:0; display:grid; gap:6px; font-size:.88rem; line-height:1.35; }
.fz-res-decl li{ padding-left:12px; border-left:3px solid var(--fz-humus); }
.fz-res-liens{ display:flex; flex-direction:column; gap:2px; margin:0; }
.fz-res-lien{ display:inline-flex; align-items:center; min-height:40px; font-weight:700; font-size:.92rem; color:var(--fz-humus); text-decoration:underline; text-decoration-color:var(--fz-brique); text-decoration-thickness:3px; text-underline-offset:4px; }
.fz-res-lien--ville{ color:var(--fz-brique); }
.fz-form-email{ margin-top:6px; padding-top:10px; border-top:2px dashed var(--fz-filet-fort); display:grid; grid-template-columns:1fr 1fr; gap:6px 8px; }
.fz-form-sous{ grid-column:1 / -1; margin:0; font-weight:700; font-size:.92rem; }
.fz-form-ligne{ grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.fz-form-email input[type=text],.fz-form-email input[type=email]{ width:100%; height:44px; padding:0 12px; border:2px solid var(--fz-humus); border-radius:3px; background:#fff; color:var(--fz-humus); font:500 .95rem var(--fz-texte); }
.fz-consent{ display:flex; align-items:flex-start; gap:8px; font-size:.82rem; line-height:1.3; cursor:pointer; }
.fz-consent input{ flex:none; width:22px; height:22px; margin:0; accent-color:var(--fz-brique); }
.fz-form-envoyer{ align-self:center; white-space:nowrap; }
.fz-rgpd{ grid-column:1 / -1; margin:0; font-size:.75rem; line-height:1.35; color:var(--fz-marne-txt); }
.fz-form-email .fz-form-msg{ grid-column:1 / -1; }
.fz-form-envoye{ grid-column:1 / -1; padding:14px; background:#fff; border-left:4px solid var(--fz-brique); font-weight:700; }
.fz-form-envoye p{ margin:0; }
.fz-form-modif{ margin:0; }

/* Caisse compacte (barre latérale) */
.fz-caisse--compact{ padding:10px; }
.fz-caisse--compact .fz-caisse-tete{ margin:0 4px 6px; padding:6px 10px; }
.fz-caisse--compact .fz-caisse-titre{ font-size:1.2rem; }
.fz-caisse--compact .fz-form-pas{ display:none; }
.fz-caisse--compact .fz-caisse-int{ padding:8px 8px 10px; }
.fz-caisse--compact .fz-cases--prof{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.fz-caisse--compact .fz-cases--usage{ grid-template-columns:minmax(0,1fr); }
.fz-caisse--compact .fz-case{ min-height:46px; padding:6px 8px; }
.fz-caisse--compact .fz-case-t{ font-size:.86rem; }
.fz-caisse--compact .fz-case-jauge{ height:28px; width:10px; }
.fz-caisse--compact .fz-form-q{ font-size:1.05rem; margin-bottom:6px; }
.fz-caisse--compact .fz-resultat{ grid-template-columns:minmax(0,1fr); gap:10px; }
.fz-caisse--compact .fz-poste{ font-size:.82rem; padding:4px 8px; }
.fz-caisse--compact .fz-form-email,.fz-caisse--compact .fz-form-ligne{ grid-template-columns:minmax(0,1fr); }
.fz-caisse--compact .fz-form-envoyer{ width:100%; }
.fz-caisse--page{ max-width:680px; }
.fz-caisse--page .fz-cases--prof,.fz-caisse--ville .fz-cases--prof{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.fz-caisse--ville{ max-width:520px; }

@media (max-width:1179px){
	.fz-hero .fz-cases--prof,.fz-caisse--hero .fz-cases--prof{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px){
	.fz-caisse{ padding:9px; }
	.fz-caisse-tete{ margin:0 3px 6px; padding:6px 9px; }
	.fz-caisse-titre{ font-size:1.05rem; }
	.fz-form-pas{ display:none; }
	.fz-caisse-int{ padding:8px 8px 10px; }
	.fz-cases--prof,.fz-caisse--page .fz-cases--prof,.fz-caisse--ville .fz-cases--prof{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.fz-cases--usage{ grid-template-columns:minmax(0,1fr); }
	.fz-case{ min-height:46px; padding:6px 8px; gap:8px; }
	.fz-case-t{ font-size:.86rem; }
	.fz-case-jauge{ height:28px; width:10px; }
	.fz-form-q{ font-size:1.05rem; }
	.fz-resultat,.fz-form-email,.fz-form-ligne{ grid-template-columns:minmax(0,1fr); }
	.fz-form-envoyer{ width:100%; }
}

/* ---------- Sections de l'accueil ---------- */
.fz-section-tete{ max-width:68ch; margin-bottom:28px; }
.fz-section-tete h2,.fz-section-t,.fz-potable-texte h2,.fz-decl-texte h2,.fz-rubs-carottes h2,.fz-ouverte-texte h2,.fz-alire-t{ font-size:clamp(1.75rem,2.7vw,2.5rem); line-height:1.08; margin:0 0 .35em; text-wrap:balance; }
.fz-h2-petit{ font-size:1.6rem; line-height:1.1; margin:0 0 16px; }
.fz-section-tete p,.fz-potable-chapo,.fz-decl-texte > p{ color:var(--fz-marne-txt); margin:0; }
.fz-section-pied{ margin:28px 0 0; }
.fz-section-pied--gauche{ margin-top:20px; }

/* 1 — Ce qui fait le prix : six segments-cartes posés côte à côte */
.fz-postes{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.fz-postes > .fz-segment{ display:block; }
.fz-poste-bandeau{ display:block; height:66px; background-color:rgba(130,112,63,.3); background-image:var(--img,none); background-size:cover; background-position:center; border-bottom:2px solid var(--fz-humus); }
.fz-segment-suite{ margin-top:auto; padding-top:6px; font-weight:700; font-size:.92rem; text-decoration:underline; text-decoration-color:var(--fz-brique); text-decoration-thickness:3px; text-underline-offset:4px; }
@media (max-width:1179px){ .fz-postes{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px){
	.fz-postes{ display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding:2px var(--fz-gut) 14px; margin-inline:calc(-1 * var(--fz-gut)); -webkit-overflow-scrolling:touch; }
	.fz-postes > .fz-segment{ flex:0 0 78%; scroll-snap-align:start; }
}

/* 2 — De la nappe au verre */
.fz-potable{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:56px; align-items:center; }
.fz-potable-photo{ position:relative; margin:0; aspect-ratio:4/3; max-height:430px; border-radius:64px/50%; overflow:hidden; background:var(--fz-bande); }
.fz-potable-photo img,.fz-potable-photo .fz-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fz-potable-chapo{ margin:0 0 6px; }
.fz-colonne{ list-style:none; margin:18px 0 0; padding:0; display:flex; flex-direction:column-reverse; position:relative; }
.fz-colonne::before{ content:""; position:absolute; left:21px; top:22px; bottom:22px; width:4px; border-radius:2px; background:linear-gradient(to top,var(--fz-marne),var(--fz-brique)); }
.fz-colonne-n{ position:relative; display:grid; grid-template-columns:44px minmax(0,1fr); gap:16px; align-items:start; padding:10px 0; }
.fz-colonne-n b{ display:block; font-family:var(--fz-titre); font-size:1.3rem; line-height:1.1; margin-bottom:2px; }
.fz-colonne-n p{ margin:0; font-size:.98rem; line-height:1.45; }
.fz-colonne-num{ position:relative; z-index:1; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--fz-humus); color:var(--fz-calcaire); font-family:var(--fz-titre); font-weight:700; font-size:1.3rem; }
.fz-colonne-n--1 .fz-colonne-num{ background:var(--fz-marne-txt); }
.fz-colonne-n--3 .fz-colonne-num{ background:var(--fz-brique); }
@media (max-width:900px){ .fz-potable{ grid-template-columns:minmax(0,1fr); gap:28px; } .fz-potable-photo{ aspect-ratio:16/9; border-radius:40px/50%; } }

/* 3 — Les deux déclarations : étiquettes de papier agrafées sur le bois de la caisse */
.fz-decl{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:48px; align-items:center; }
.fz-decl-photo{ margin:18px 0 0; aspect-ratio:16/9; max-width:420px; border-radius:40px/50%; overflow:hidden; background:var(--fz-bande); position:relative; }
.fz-decl-photo img,.fz-decl-photo .fz-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fz-planche{ position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:28px 26px 30px; border-radius:6px; box-shadow:inset 0 0 0 2px rgba(38,32,25,.4); }
.fz-papier{ position:relative; background:#fff; color:var(--fz-humus); padding:34px 22px 22px; box-shadow:0 2px 0 rgba(38,32,25,.4); clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%); }
.fz-papier:nth-child(odd){ transform:rotate(-.9deg); }
.fz-papier:nth-child(even){ transform:rotate(.9deg); }
.fz-papier h3{ margin:0 0 .35em; font-size:1.55rem; line-height:1.1; }
.fz-papier p{ margin:0 0 .6em; font-size:.98rem; line-height:1.45; }
.fz-papier small{ display:block; font-size:.82rem; color:var(--fz-marne-txt); line-height:1.3; }
.fz-agrafe{ position:absolute; top:9px; left:50%; width:30px; height:9px; margin-left:-15px; border:2px solid var(--fz-humus); border-bottom:0; border-radius:3px 3px 0 0; }
.fz-planche--colonne{ grid-template-columns:minmax(0,1fr); gap:18px; }
@media (max-width:900px){ .fz-decl{ grid-template-columns:minmax(0,1fr); gap:28px; } .fz-planche{ grid-template-columns:minmax(0,1fr); } .fz-decl-photo{ max-width:none; } }

/* 4 — Les rubriques : cinq carottes verticales + derniers guides */
.fz-rubs{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:48px; align-items:start; }
.fz-rubs--seules{ grid-template-columns:minmax(0,1fr); }
.fz-rub-liste-vide{ display:none; }
ul.fz-rub-liste{ list-style:none; margin:20px 0 0; padding:0; display:flex; gap:18px; align-items:flex-start; padding-block:0; }
.fz-rub{ flex:1 1 0; min-width:0; }
.fz-rub a{ display:grid; justify-items:center; gap:8px; text-decoration:none; }
.fz-rub a:hover .fz-carotte--verticale{ transform:translateY(-6px); }
.fz-rub-nom{ font-family:var(--fz-titre); font-weight:700; font-size:1.15rem; line-height:1.1; text-align:center; }
.fz-rub-nb{ font-size:.85rem; font-weight:600; color:var(--fz-marne-txt); }
.fz-grille--2{ display:flex; flex-direction:column; gap:12px; }
@media (max-width:900px){ .fz-rubs{ grid-template-columns:minmax(0,1fr); gap:32px; } }
@media (max-width:640px){ ul.fz-rub-liste{ overflow-x:auto; padding-bottom:10px; gap:20px; } .fz-rub{ flex:0 0 92px; } }

/* 5 — Étiquettes de carottier */
.fz-tags{ display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:0; padding:0; }
.fz-tag{ display:inline-flex; align-items:center; gap:10px; min-height:48px; padding:6px 28px 6px 6px; background:#fff; color:var(--fz-humus); font-weight:600; text-decoration:none; clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%); transition:background-color .15s; }
.fz-tag b{ display:grid; place-items:center; min-width:42px; height:36px; padding:0 6px; background:var(--fz-humus); color:var(--fz-calcaire); font-family:var(--fz-titre); font-size:1.1rem; }
a.fz-tag:hover{ background:var(--fz-calcaire); }
a.fz-tag:hover b{ background:var(--fz-brique); }
.fz-tag--sans{ background:rgba(255,255,255,.55); color:var(--fz-marne-txt); }
.fz-tag--sans b{ background:var(--fz-marne-txt); }
.fz-tags--grands .fz-tag{ min-height:56px; font-size:1.05rem; }
.fz-tags--grands{ margin-bottom:36px; }

/* 6 — Actualité */
.fz-actu-grille{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); grid-template-rows:auto auto; gap:14px 20px; align-items:stretch; }
.fz-actu-grille .fz-actu-une{ grid-row:1 / span 2; }
.fz-actu-grille[data-n="1"]{ grid-template-columns:minmax(0,1fr); }
.fz-actu-grille[data-n="1"] .fz-actu-une{ grid-row:auto; }
@media (max-width:900px){ .fz-actu-grille{ grid-template-columns:minmax(0,1fr); } .fz-actu-grille .fz-actu-une{ grid-row:auto; } }

/* ---------- Cartes « segment de carotte » ---------- */
.fz-segment{ position:relative; background:#fff; border:1px solid var(--fz-filet); border-radius:28px/50%; overflow:hidden; transition:transform .2s ease,border-color .2s ease; list-style:none; }
.fz-segment:hover{ transform:translateX(4px); border-color:var(--fz-filet-fort); }
.fz-segment-lien{ display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.fz-segment-photo{ position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:var(--fz-bande); }
.fz-segment-photo img,.fz-segment-photo .fz-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.fz-strate{ display:block; flex:none; height:10px; background-color:rgba(130,112,63,.4); background-image:var(--img,none); background-size:cover; background-position:center; border-block:1px solid rgba(38,32,25,.3); }
.fz-segment-corps{ display:flex; flex-direction:column; gap:8px; flex:1 1 auto; padding:16px 32px 20px; }
.fz-segment-titre{ font-family:var(--fz-titre); font-weight:700; font-size:1.375rem; line-height:1.15; color:var(--fz-humus); }
.fz-segment-extrait{ font-size:.95rem; line-height:1.45; color:var(--fz-marne-txt); }
.fz-segment-meta{ margin-top:auto; padding-top:2px; font-size:.85rem; font-weight:600; color:var(--fz-marne-txt); }
.fz-segment--poste .fz-segment-lien{ height:100%; }
.fz-segment--poste .fz-segment-corps{ padding:14px 26px 20px; }
.fz-segment--poste .fz-segment-titre{ font-size:1.18rem; }
.fz-segment--poste .fz-segment-extrait{ font-size:.9rem; line-height:1.4; color:var(--fz-humus); }
.fz-etiquette{ position:absolute; z-index:2; left:32px; bottom:10px; max-width:calc(100% - 64px); padding:5px 12px 5px 10px; background:rgba(38,32,25,.82); color:var(--fz-calcaire); font:700 .74rem/1.15 var(--fz-texte); letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)); }
.fz-repli{ display:grid; place-items:center; background:var(--fz-bande); color:var(--fz-marne-txt); }
.fz-repli-carotte,.fz-bientot-carotte{ width:64px; height:auto; color:var(--fz-marne-txt); }

/* Carte de une (grande, horizontale) et carte petite (compacte, horizontale) */
.fz-segment--une .fz-segment-lien{ flex-direction:row; }
.fz-segment--une .fz-segment-photo{ flex:0 0 54%; aspect-ratio:auto; min-height:260px; height:clamp(260px,34vw,420px); max-height:min(440px,calc(100vh - 220px)); }
.fz-segment--une .fz-strate{ width:10px; height:auto; border-block:0; border-inline:1px solid rgba(38,32,25,.3); }
.fz-segment--une .fz-segment-corps{ justify-content:center; padding:24px 44px 24px 30px; gap:12px; }
.fz-segment--une .fz-segment-titre{ font-size:clamp(1.6rem,2.5vw,2.25rem); }
.fz-segment--une .fz-segment-extrait{ font-size:1.02rem; }
.fz-segment--petit .fz-segment-lien{ flex-direction:row; align-items:stretch; }
.fz-segment--petit .fz-segment-photo{ flex:0 0 36%; aspect-ratio:auto; min-height:104px; }
.fz-segment--petit .fz-strate{ width:8px; height:auto; border-block:0; border-inline:1px solid rgba(38,32,25,.3); }
.fz-segment--petit .fz-segment-corps{ justify-content:center; padding:12px 30px 12px 18px; gap:4px; }
.fz-segment--petit .fz-segment-titre{ font-size:1.12rem; }
.fz-segment--petit .fz-etiquette{ display:none; }
.fz-segment--seul .fz-segment-lien{ flex-direction:row; }
.fz-segment--seul .fz-segment-photo{ flex:0 0 46%; aspect-ratio:auto; min-height:220px; max-height:360px; }
.fz-segment--seul .fz-strate{ width:10px; height:auto; border-block:0; border-inline:1px solid rgba(38,32,25,.3); }
.fz-segment--seul .fz-segment-corps{ justify-content:center; padding:24px 44px 24px 30px; }

/* Grilles */
.fz-grille{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.fz-grille[data-n="2"]{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.fz-grille[data-n="1"]{ grid-template-columns:minmax(0,1fr); max-width:620px; }
.fz-grille6{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; margin-top:22px; }
.fz-grille6 > .fz-segment{ grid-column:span 2; }
.fz-grille6 > .fz-segment--moitie{ grid-column:span 3; }
.fz-grille6 > .fz-segment--seul{ grid-column:span 6; }
.fz-js .fz-segment--cachee{ display:none; }
.fz-plus{ margin:28px 0 0; text-align:center; }
.fz-rub-une{ margin-bottom:6px; }
@media (max-width:1000px){
	.fz-grille,.fz-grille[data-n="2"]{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.fz-grille6{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.fz-grille6 > .fz-segment,.fz-grille6 > .fz-segment--moitie{ grid-column:span 1; }
	.fz-grille6 > .fz-segment--seul{ grid-column:span 2; }
}
@media (max-width:640px){
	.fz-grille,.fz-grille[data-n="2"],.fz-grille6{ grid-template-columns:minmax(0,1fr); }
	.fz-grille6 > .fz-segment,.fz-grille6 > .fz-segment--moitie,.fz-grille6 > .fz-segment--seul{ grid-column:auto; }
	.fz-segment--une .fz-segment-lien,.fz-segment--seul .fz-segment-lien{ flex-direction:column; }
	.fz-segment--une .fz-segment-photo,.fz-segment--seul .fz-segment-photo{ flex:none; width:100%; height:auto; aspect-ratio:16/10; min-height:0; }
	.fz-segment--une .fz-strate,.fz-segment--seul .fz-strate{ width:auto; height:10px; border-inline:0; border-block:1px solid rgba(38,32,25,.3); }
	.fz-segment--une .fz-segment-corps,.fz-segment--seul .fz-segment-corps{ padding:16px 28px 20px; }
	.fz-segment{ border-radius:22px/50%; }
	.fz-segment-corps{ padding-inline:26px; }
	.fz-etiquette{ left:26px; max-width:calc(100% - 52px); }
}

/* ---------- En-tête de rubrique, de hub, de page simple ---------- */
.fz-rub-tete{ background:var(--fz-bande); border-bottom:1px solid var(--fz-filet); padding:26px 0 36px; }
.fz-rub-tete-in{ max-width:var(--fz-max); margin-inline:auto; padding-inline:var(--fz-gut); display:flex; align-items:center; justify-content:space-between; gap:48px; }
.fz-rub-titres{ flex:1 1 auto; max-width:780px; }
.fz-rub-tete h1{ font-size:clamp(2.1rem,3.7vw,3.3rem); line-height:1.05; margin:.1em 0 .3em; text-wrap:balance; }
.fz-rub-chapo{ font-size:1.125rem; line-height:1.55; max-width:62ch; margin:0 0 .7em; }
.fz-rub-nb{ margin:0; font-weight:700; font-size:.92rem; color:var(--fz-marne-txt); }
.fz-rub-carotte{ flex:none; }
.fz-rub-carotte .fz-carotte--verticale{ margin:0; }
.fz-rub-tete--simple{ padding-block:22px 28px; }
.fz-rub-tete--simple .fz-rub-carotte{ display:block; }
.fz-ariane,.sbt-fil-ariane.fz-ariane{ padding-block:0 12px; }
.fz-rub-liste{ padding-top:32px; }
.fz-hub-texte{ padding-bottom:0; }
.fz-prose{ font-size:1.0625rem; line-height:1.75; }
.fz-prose h2{ font-size:1.9rem; line-height:1.1; margin:1.6em 0 .5em; }
.fz-prose h3{ font-size:1.4rem; margin:1.4em 0 .4em; }
.fz-prose a{ text-decoration-color:var(--fz-brique); text-decoration-thickness:2px; text-underline-offset:3px; }
.fz-page-legal{ padding-top:40px; }
.fz-bientot{ max-width:640px; margin:32px auto; padding:36px 32px; text-align:center; background:var(--fz-bande); border-radius:40px/50%; }
.fz-bientot h2{ font-size:1.8rem; margin:.4em 0 .3em; }
.fz-bientot p{ color:var(--fz-marne-txt); }
@media (max-width:760px){
	.fz-rub-tete-in{ gap:16px; }
	.fz-rub-carotte .fz-carotte--verticale{ --l:64px!important; --h:150px!important; }
	.fz-rub-tete{ padding-bottom:28px; }
	.fz-bientot{ border-radius:28px/50%; padding:28px 22px; }
}

/* ---------- Article : en-tête, règle des profondeurs, corps, rail ---------- */
.fz-eh{ background:var(--fz-bande); border-bottom:1px solid var(--fz-filet); padding:22px 0 44px; }
.fz-eh-in{ max-width:var(--fz-max); margin-inline:auto; padding-inline:var(--fz-gut); }
.fz-eh-grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,440px); gap:56px; align-items:start; }
.fz-eh h1{ font-size:clamp(1.9rem,3.1vw,2.75rem); line-height:1.08; margin:0 0 .45em; text-wrap:balance; }
.fz-eh-chapo{ font-size:1.15rem; line-height:1.55; margin:0 0 1em; max-width:62ch; }
.fz-eh-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; font-size:.92rem; color:var(--fz-marne-txt); }
.fz-eh-auteur{ display:inline-flex; align-items:center; gap:10px; color:var(--fz-humus); font-weight:700; text-decoration:none; }
.fz-eh-auteur:hover span{ text-decoration:underline; }
.fz-eh-auteur img,.fz-eh-auteur svg{ width:40px; height:40px; border-radius:50%; object-fit:cover; }
.fz-eh-segment{ position:relative; aspect-ratio:4/3; border-radius:56px/50%; overflow:hidden; background:var(--fz-bande); border:1px solid var(--fz-filet-fort); }
.fz-eh-segment img,.fz-eh-segment .fz-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.fz-eh-segment .fz-etiquette{ left:68px; bottom:16px; max-width:calc(100% - 136px); }
.fz-eh--ville .fz-eh-grille{ grid-template-columns:minmax(0,1fr) minmax(0,500px); align-items:start; }
.fz-eh-caisse{ min-width:0; }
.fz-article .sbt-article-mise-en-page{ column-gap:56px; padding-top:44px; padding-bottom:72px; }
.sbt-article-principal{ position:relative; }
.fz-article .sbt-article-mise-en-page:not(:has(.sbt-rail)){ grid-template-columns:minmax(0,var(--sb-lecture)); }
.sbt-article-corps{ font-size:1.0625rem; line-height:1.72; }
.sbt-article-corps > :first-child{ margin-top:0; }
.sbt-article-corps h2{ font-size:clamp(1.65rem,2.4vw,2.1rem); line-height:1.1; margin-top:2em; scroll-margin-top:88px; }
.sbt-article-corps h3{ font-size:1.4rem; line-height:1.15; }
.sbt-article-corps a{ color:var(--fz-humus); text-decoration-color:var(--fz-brique); text-decoration-thickness:2px; text-underline-offset:3px; }
.sbt-article-corps a:hover{ color:var(--fz-brique); }
.sbt-article-corps img{ border-radius:28px/50%; }
.sbt-article-corps figure{ margin:1.6em 0; }
.sbt-article-corps figcaption{ font-size:.88rem; color:var(--fz-marne-txt); margin-top:6px; }
.sbt-article-corps ul,.sbt-article-corps ol{ padding-left:1.3em; }
.sbt-article-corps li{ margin-bottom:.4em; }
.sbt-article-corps blockquote{ background:var(--fz-bande); border-left-color:var(--fz-marne); border-radius:0 6px 6px 0; font-style:normal; }
.sbt-rail{ top:88px; gap:16px; border-left:0; padding-left:0; }
.sbt-rail.fz-libre{ position:static; }
.sbt-rail-carte{ border-radius:6px; padding:14px 16px; }
.sbt-sommaire{ padding:14px 16px; border-radius:0 6px 6px 0; border-left-width:5px; }
.sbt-sommaire ol{ margin-top:10px; gap:6px; }
.sbt-sommaire li a{ font-size:.9rem; line-height:1.3; }
.sbt-sommaire-titre{ font-size:1.05rem; }
.sbt-sommaire:not([open]) .sbt-sommaire-titre::after{ content:" · " attr(data-n) " parties · ouvrir"; font-family:var(--fz-texte); font-weight:600; font-size:.85rem; color:var(--fz-marne-txt); }
.sbt-sommaire-mobile .sbt-sommaire{ margin-bottom:0; }
.fz-rail-lien{ padding:18px; background:var(--fz-bande); border-radius:6px; border-left:5px solid var(--fz-brique); }
.fz-rail-lien-titre{ font-family:var(--fz-titre); font-weight:700; font-size:1.3rem; margin:0 0 .3em; }
.fz-rail-lien p{ font-size:.95rem; }
.fz-rail-lien .fz-btn{ width:100%; }
.fz-voisines{ padding:12px 14px; background:#fff; border:1px solid var(--fz-filet); border-radius:6px; }
.fz-voisines-t{ margin:0 0 6px; font-family:var(--fz-titre); font-weight:700; font-size:1.1rem; }
.fz-voisines ul{ display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0; padding:0; }
.fz-voisines a{ display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:2px 10px 2px 2px; background:var(--fz-calcaire); font-size:.86rem; font-weight:600; text-decoration:none; clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%); }
.fz-voisines a b{ display:grid; place-items:center; min-width:30px; height:30px; background:var(--fz-humus); color:var(--fz-calcaire); font-family:var(--fz-titre); font-size:.9rem; }
.fz-calc-tete{ margin-bottom:36px; }

/* La règle des profondeurs : marge gauche du corps, ≥ 1200 px (la colonne du rail se resserre à 1200-1279 px pour lui laisser sa place). */
.fz-regle{ display:none; }
@media (min-width:1081px) and (max-width:1279px){
	:root{ --sb-rail:320px; }
	.fz-article .sbt-article-mise-en-page{ column-gap:48px; }
}
@media (min-width:1200px){
	.fz-regle{ display:block; position:absolute; left:-60px; top:0; bottom:0; width:54px; pointer-events:none; }
	.fz-regle-in{ position:sticky; top:112px; height:min(60vh,420px); }
	/* Tout tient DANS la règle : la piste des graduations et du curseur est rentrée de 12 px en haut et en bas (la moitié d'une étiquette). */
	.fz-regle-in::before{ content:""; position:absolute; right:0; top:12px; bottom:12px; width:2px; background:var(--fz-humus); }
	.fz-regle-in::after{ content:""; position:absolute; right:2px; top:12px; bottom:12px; width:6px; background:repeating-linear-gradient(to bottom,var(--fz-humus) 0 1px,transparent 1px 5%); opacity:.6; }
	.fz-regle-grad{ list-style:none; margin:0; padding:0; position:absolute; inset:12px 0; }
	.fz-regle-grad li{ position:absolute; right:2px; top:calc(var(--p) * 100%); transform:translateY(-50%); display:flex; align-items:center; gap:3px; }
	.fz-regle-grad li::after{ content:""; order:2; width:10px; height:2px; background:var(--fz-humus); }
	.fz-regle-grad span{ order:1; font-family:var(--fz-titre); font-weight:700; font-size:.78rem; line-height:1; color:var(--fz-marne-txt); }
	.fz-regle-curseur{ position:absolute; z-index:1; right:0; top:12px; transform:translateY(-50%); display:flex; align-items:center; flex-direction:row-reverse; gap:0; }
	.fz-regle-curseur::before{ content:""; width:10px; height:4px; background:var(--fz-brique); }
	.fz-regle-curseur b{ padding:3px 5px; background:var(--fz-brique); color:#fff; font-family:var(--fz-titre); font-weight:700; font-size:.8rem; line-height:1; white-space:nowrap; }
	.fz-regle-grad li:first-child span,.fz-regle-grad li:last-child span{ opacity:1; }
}

/* Blocs visuels tirés du texte */
.fz-coches{ list-style:none; padding:0!important; margin:1.4em 0; display:grid; gap:10px; }
.fz-coches li{ position:relative; margin:0; padding:2px 0 2px 36px; }
.fz-coches li::before{ content:""; position:absolute; left:0; top:.5em; width:24px; height:12px; border-radius:6px/50%; background:linear-gradient(90deg,var(--fz-humus) 0 34%,var(--fz-marne) 34% 68%,var(--fz-brique) 68%); }
/* Figures du corps (encadrés enveloppés, sources, étapes, fiche) : la figure porte l'espacement, jamais en double */
.sbt-article-corps figure.fz-fig{ margin:2em 0; }
.sbt-article-corps figure.fz-fig--encadre{ margin:0; }
.sbt-article-corps > figure.fz-fig--encadre:first-child > .sbt-encadre{ margin-top:0; }
.sbt-article-corps figure.fz-sources{ margin:3em 0 1.5em; }
.sbt-article-corps figure.fz-sources--acc{ margin:0; }

/* Étapes = une carotte qu'on sort du forage : un segment de strate par étape (de la terre à la nappe), cassure entre deux segments, étiquette numérotée collée dessus. */
.fz-carotte-etapes{ padding:24px 26px 24px 22px; background:#fff; border:1px solid var(--fz-filet); border-radius:6px; }
.fz-etapes{ list-style:none; margin:0; padding:0!important; display:grid; }
.fz-etape{ display:grid; grid-template-columns:58px minmax(0,1fr); column-gap:24px; margin:0!important; }
.fz-etape-n{ position:relative; display:block; min-height:72px; background:var(--fz-marne) url(../img/strate-marne.webp) center/cover; }
.fz-etape:nth-child(6n+1) .fz-etape-n{ background-image:url(../img/strate-terre.webp); }
.fz-etape:nth-child(6n+3) .fz-etape-n{ background-image:url(../img/strate-argile.webp); }
.fz-etape:nth-child(6n+4) .fz-etape-n{ background-image:url(../img/strate-sable.webp); }
.fz-etape:nth-child(6n+5) .fz-etape-n{ background-image:url(../img/strate-calcaire.webp); }
.fz-etape:last-child .fz-etape-n{ background-image:url(../img/strate-nappe.webp); }
.fz-etape-n::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(38,32,25,.5),rgba(241,237,227,.14) 38%,rgba(241,237,227,.14) 56%,rgba(38,32,25,.55)); border-radius:inherit; }
.fz-etape:first-child .fz-etape-n{ border-radius:29px 29px 0 0/11px 11px 0 0; }
.fz-etape:last-child .fz-etape-n{ border-radius:0 0 29px 29px/0 0 11px 11px; }
.fz-etape + .fz-etape .fz-etape-n{ clip-path:polygon(0 6px,21% 1px,40% 7px,62% 0,81% 6px,100% 2px,100% 100%,0 100%); }
.fz-etape-n b{ position:absolute; z-index:1; top:16px; left:50%; transform:translateX(-50%); display:grid; place-items:center; min-width:32px; height:32px; padding:0 4px; background:var(--fz-calcaire); color:var(--fz-humus); font-family:var(--fz-titre); font-weight:700; font-size:1.2rem; line-height:1; border-radius:2px; box-shadow:0 0 0 1px var(--fz-filet-fort); }
.fz-etape-texte{ min-width:0; padding:14px 0 20px; }
.fz-etape + .fz-etape .fz-etape-texte{ border-top:1px solid var(--fz-filet); }
.fz-etape:last-child .fz-etape-texte{ padding-bottom:8px; }
.fz-etape-texte > :first-child{ margin-top:0!important; }
.fz-etape-texte > :last-child{ margin-bottom:0!important; }
.fz-etape-texte h3{ font-size:1.25rem; line-height:1.15; margin:0 0 .4em; }
.fz-etape-texte p{ margin:0 0 .6em; }

/* Page ville : la fiche du terrain = un relevé de sondage (carotte de 3 strates à gauche, ce que dit la page à droite). */
.fz-terrain{ display:grid; grid-template-columns:64px minmax(0,1fr); background:var(--fz-calcaire); border:1px solid var(--fz-filet-fort); border-radius:6px; overflow:hidden; }
.fz-terrain-carotte{ display:grid; grid-template-rows:1fr 1.4fr 1fr; gap:3px; background:var(--fz-calcaire); }
.fz-terrain-carotte span{ position:relative; background:var(--fz-marne) center/cover; }
.fz-terrain-carotte span:nth-child(1){ background-image:url(../img/strate-terre.webp); }
.fz-terrain-carotte span:nth-child(2){ background-image:url(../img/strate-marne.webp); }
.fz-terrain-carotte span:nth-child(3){ background-image:url(../img/strate-nappe.webp); }
.fz-terrain-carotte span::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(38,32,25,.45),rgba(241,237,227,.12) 40%,rgba(38,32,25,.5)); }
.fz-terrain-fiche{ min-width:0; padding:18px 24px 14px; }
.fz-terrain-titre{ margin:0 0 8px!important; font-family:var(--fz-titre); font-weight:700; font-size:1.4rem; line-height:1.1; color:var(--fz-humus); }
.fz-terrain-liste{ margin:0; display:grid; }
.fz-terrain-liste > div{ display:grid; grid-template-columns:minmax(0,14em) minmax(0,1fr); gap:2px 18px; padding:9px 0; border-top:1px solid var(--fz-filet); }
.fz-terrain-liste dt{ font-weight:600; font-size:.92rem; line-height:1.4; color:var(--fz-marne-txt); }
.fz-terrain-liste dd{ margin:0; font-size:1rem; line-height:1.45; color:var(--fz-humus); }
.fz-bloc{ margin:2em 0; border-radius:6px; }
.fz-bloc--repere{ position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 22px; align-items:center; padding:20px 24px 20px 30px; background:#fff; border:1px solid var(--fz-filet); border-left:10px solid var(--fz-marne); border-radius:0 28px 28px 0/0 50% 50% 0; }
.fz-bloc-etiquette{ grid-column:1 / -1; margin:0; font-weight:700; font-size:.82rem; letter-spacing:.04em; color:var(--fz-marne-txt); }
.fz-repere-chiffre{ margin:0; font-family:var(--fz-titre); font-weight:700; font-size:clamp(2.3rem,5vw,3.4rem); line-height:1; color:var(--fz-brique); white-space:nowrap; }
.fz-repere-phrase{ margin:0; font-size:1.02rem; line-height:1.5; }
.fz-sources{ margin:3em 0 1.5em; padding:22px 24px 20px; background:var(--fz-bande); border-radius:6px; border:1px solid var(--fz-filet-fort); }
.fz-sources-titre{ margin:0 0 14px!important; font-size:1.5rem!important; }
.fz-sources-liste{ list-style:none; margin:0; padding:0!important; display:grid; gap:10px; }
.fz-src{ position:relative; margin:0!important; display:grid; grid-template-columns:10px minmax(0,1fr); align-items:center; gap:6px 14px; padding:10px 28px 10px 20px; background:#fff; clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%); }
.fz-src::before{ content:""; width:10px; height:10px; border-radius:50%; background:var(--fz-calcaire); box-shadow:inset 0 0 0 2px var(--fz-humus); flex:none; }
.fz-src-org{ font-family:var(--fz-texte); font-weight:700; font-size:.98rem; line-height:1.4; color:var(--fz-humus); text-decoration:none!important; }
.fz-sources-intro{ margin:0 0 12px!important; font-size:.95rem; color:var(--fz-humus); }
.fz-src-docs{ grid-column:2; display:flex; flex-wrap:wrap; gap:6px; } /* pastilles sous le titre : jamais par-dessus */
.fz-src-lien{ text-decoration:none!important; }
.fz-src-doc{ display:inline-block; padding:3px 10px; border:2px solid var(--fz-humus); border-radius:3px; font-weight:600; font-size:.88rem; color:var(--fz-humus); }
.fz-src-doc:hover{ background:var(--fz-humus); color:var(--fz-calcaire)!important; }
a.fz-src-org:hover{ color:var(--fz-brique)!important; }
.fz-sources-date{ margin:12px 0 0; font-size:.88rem; font-style:italic; color:var(--fz-marne-txt); }
.sbt-article-corps .sbs_tableau{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin:1.4em 0; }
.sbt-article-corps table{ border-collapse:collapse; min-width:480px; width:100%; font-size:.95rem; }
.sbt-article-corps th,.sbt-article-corps td{ padding:10px 12px; border:1px solid var(--fz-filet-fort); text-align:left; }
.sbt-article-corps th{ background:var(--fz-bande); font-weight:700; }
/* Infographies du socle (balisage neutre) */
sbs-tarifs,sbs-frise,sbs-jauges,sbs-lieu{ display:block; margin:1.8em 0; padding:20px 22px; background:#fff; border:1px solid var(--fz-filet); border-left:8px solid var(--fz-marne); border-radius:0 6px 6px 0; }
.sbs_tarifs_titre,.sbs_frise_titre,.sbs_jauges_titre,.sbs_lieu_nom{ display:block; margin-bottom:12px; font-family:var(--fz-titre); font-size:1.35rem; }
sbs-tarif{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) auto; gap:12px; align-items:center; margin-bottom:8px; }
.sbs_tarif_barre{ width:100%; height:14px; accent-color:var(--fz-brique); }
.sbs_tarif_prix{ font-family:var(--fz-titre); font-size:1.15rem; }
sbs-jauges{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; }
sbs-jauges .sbs_jauges_titre{ grid-column:1 / -1; margin:0; }
sbs-jauge{ display:block; }
.sbs_jauge_valeur{ display:block; font-family:var(--fz-titre); font-weight:700; font-size:2.4rem; line-height:1; color:var(--fz-brique); }
.sbs_jauge_libelle,.sbs_jauge_unite,.sbs_source,.sbs_tarifs_notes,.sbs_etape_desc,.sbs_lieu_acces{ display:block; font-size:.88rem; color:var(--fz-marne-txt); }
sbs-etape{ display:block; padding:0 0 12px 18px; border-left:3px solid var(--fz-marne); }
.sbs_etape_date{ font-weight:700; font-size:.9rem; color:var(--fz-brique); }
.sbs_etape_titre{ display:block; font-family:var(--fz-titre); font-size:1.15rem; }
.sbs_lieu_adresse{ font-style:normal; }

/* À lire aussi : pleine largeur */
.fz-alire{ padding:48px 0 76px; border-top:1px solid var(--fz-filet); background:var(--fz-bande); }
.fz-alire-t{ margin-bottom:24px; }

/* Page ville : accordéons, photo, voisines */
.fz-ville-photo{ position:relative; aspect-ratio:16/6; margin:0 0 28px; border-radius:48px/50%; overflow:hidden; background:var(--fz-bande); }
.fz-ville-photo img,.fz-ville-photo .fz-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fz-acc{ background:#fff; border:1px solid var(--fz-filet); border-left:6px solid var(--fz-marne); border-radius:0 6px 6px 0; margin:0 0 10px; }
.fz-acc[open]{ border-left-color:var(--fz-brique); }
.fz-acc > summary{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 18px; cursor:pointer; list-style:none; }
.fz-acc > summary::-webkit-details-marker{ display:none; }
.fz-acc > summary h2{ margin:0!important; font-size:1.3rem!important; line-height:1.15; }
.fz-acc-signe{ flex:none; position:relative; width:28px; height:28px; border-radius:50%; background:var(--fz-bande); }
.fz-acc-signe::before,.fz-acc-signe::after{ content:""; position:absolute; left:7px; right:7px; top:13px; height:2px; background:var(--fz-humus); }
.fz-acc-signe::after{ transform:rotate(90deg); transition:transform .2s; }
.fz-acc[open] .fz-acc-signe::after{ transform:rotate(0); }
.fz-acc-corps{ padding:0 18px 16px; }
.fz-acc-corps > :last-child{ margin-bottom:0; }
.fz-sources--acc{ margin:0; padding:0; background:none; border:0; }

/* ---------- Contact ---------- */
.fz-contact{ padding-block:clamp(24px,4vw,56px); }
.fz-contact-in{ max-width:1120px; margin-inline:auto; padding-inline:var(--fz-gut); display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:40px; align-items:stretch; }
.fz-contact-photo{ position:relative; margin:0; min-height:420px; border-radius:64px/50%; overflow:hidden; background:var(--fz-bande); }
.fz-contact-photo img,.fz-contact-photo .fz-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fz-contact-photo .fz-etiquette{ left:72px; }
.fz-contact-caisse{ position:relative; padding:14px; border-radius:6px; box-shadow:inset 0 0 0 2px rgba(38,32,25,.4); }
.fz-contact-form{ background:var(--fz-calcaire); padding:24px 24px 22px; box-shadow:inset 0 2px 6px rgba(38,32,25,.3); }
.fz-contact-form h1{ font-size:clamp(1.7rem,2.6vw,2.3rem); line-height:1.08; margin:0 0 .3em; }
.fz-contact-sous{ font-size:.98rem; color:var(--fz-marne-txt); margin:0 0 14px; }
.fz-contact-sous a{ color:var(--fz-humus); text-decoration-color:var(--fz-brique); text-decoration-thickness:2px; }
.fz-compart-grille{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:6px; background:var(--fz-marne); border-radius:3px; margin-bottom:12px; }
.fz-compart{ display:flex; flex-direction:column; gap:2px; padding:8px 10px; background:var(--fz-calcaire); box-shadow:inset 0 2px 4px rgba(38,32,25,.24); }
.fz-compart:focus-within{ background:#fff; box-shadow:inset 0 0 0 3px var(--fz-brique); }
.fz-compart--large{ grid-column:1 / -1; }
.fz-compart span{ font-size:.78rem; font-weight:700; letter-spacing:.03em; color:var(--fz-marne-txt); }
.fz-compart input,.fz-compart textarea{ width:100%; border:0; background:transparent; color:var(--fz-humus); font:500 1rem var(--fz-texte); padding:4px 0; outline:0; resize:vertical; min-height:30px; }
.fz-compart textarea{ min-height:96px; }
.fz-contact-envoyer{ width:100%; margin-top:10px; min-height:56px; }
@media (max-width:860px){
	.fz-contact{ padding-block:14px 24px; }
	.fz-contact-in{ grid-template-columns:minmax(0,1fr); gap:12px; }
	.fz-contact-photo{ min-height:0; height:92px; border-radius:36px/50%; }
	.fz-contact-photo .fz-etiquette{ display:none; }
	.fz-contact-caisse{ padding:9px; }
	.fz-contact-form{ padding:14px 12px 14px; }
	.fz-contact-form h1{ font-size:1.5rem; }
	.fz-contact-sous{ display:none; }
	.fz-compart{ padding:6px 8px; }
	.fz-compart textarea{ min-height:72px; }
	.fz-compart input{ padding:2px 0; }
	.fz-compart-grille{ margin-bottom:8px; }
	.fz-contact-envoyer{ min-height:52px; margin-top:6px; }
}

/* ---------- À propos : la caisse ouverte ---------- */
.fz-caisse-ouverte{ display:grid; grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:48px; align-items:center; }
.fz-ouverte-photo{ position:relative; margin:0; aspect-ratio:4/3; border-radius:72px/50%; overflow:hidden; background:var(--fz-bande); }
.fz-ouverte-photo img,.fz-ouverte-photo .fz-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fz-ouverte-photo .fz-etiquette{ left:80px; }
.fz-equipe-liste{ display:flex; flex-wrap:wrap; gap:16px; list-style:none; margin:20px 0 0; padding:0; }
.fz-membre-lien{ display:flex; align-items:center; gap:14px; min-width:260px; padding:10px 34px 10px 10px; background:#fff; border:1px solid var(--fz-filet); border-radius:40px/50%; text-decoration:none; transition:transform .2s; }
.fz-membre-lien:hover{ transform:translateX(4px); }
.fz-membre-photo img,.fz-membre-photo svg{ display:block; width:72px; height:72px; border-radius:50%; object-fit:cover; }
.fz-membre-nom{ display:block; font-family:var(--fz-titre); font-weight:700; font-size:1.25rem; line-height:1.1; }
.fz-membre-nb{ display:block; font-size:.88rem; color:var(--fz-marne-txt); }
@media (max-width:900px){ .fz-caisse-ouverte{ grid-template-columns:minmax(0,1fr); gap:28px; } .fz-ouverte-photo{ border-radius:44px/50%; aspect-ratio:16/10; } .fz-ouverte-photo .fz-etiquette{ left:48px; } }

/* ---------- Auteur, 404, recherche ---------- */
.fz-auteur-photo{ flex:none; }
.fz-auteur-photo img,.fz-auteur-photo svg{ display:block; width:160px; height:160px; border-radius:50%; object-fit:cover; border:6px solid #fff; }
.fz-404{ padding-block:clamp(40px,7vw,96px); text-align:center; }
.fz-404-in{ display:flex; flex-direction:column; align-items:center; }
.fz-404-carotte{ width:100%; margin-bottom:28px; }
.fz-404 h1{ font-size:clamp(2.4rem,6vw,4.2rem); line-height:1; margin:0 0 .3em; }
.fz-404-texte{ font-size:1.15rem; max-width:46ch; }
.fz-404-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:8px 0 28px; }
.fz-404-liens{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px 22px; list-style:none; margin:24px 0 0; padding:0; }
.fz-404-liens a{ display:inline-flex; align-items:center; min-height:44px; font-weight:700; text-decoration-color:var(--fz-brique); text-decoration-thickness:3px; text-underline-offset:5px; }
.fz-recherche{ display:flex; gap:8px; width:100%; max-width:600px; margin:0 auto 28px; }
.fz-recherche input[type=search]{ flex:1 1 auto; min-width:0; height:56px; padding:0 16px; border:2px solid var(--fz-humus); border-radius:4px; background:#fff; color:var(--fz-humus); font:500 1.05rem var(--fz-texte); }
.fz-recherche .fz-btn{ flex:none; min-height:56px; }
@media (max-width:560px){ .fz-recherche .fz-btn span{ display:none; } .fz-recherche .fz-btn{ padding-inline:18px; } }

/* ---------- Pied de page : clair, une fine carotte en strates au-dessus ---------- */
.sbt-footer{ margin-top:0; }
.sbt-footer::before{ content:""; position:absolute; left:0; right:0; top:0; height:6px; background:linear-gradient(90deg,#262019 0 14%,#82703F 14% 31%,#60522E 31% 50%,#82703F 50% 72%,#262019 72% 86%,#BD2923 86% 100%); }
.sbt-footer{ padding-top:clamp(44px,6vw,68px); }
.sbt-footer .sbt-conteneur{ max-width:var(--fz-max); margin-inline:auto; padding-inline:var(--fz-gut); }
.sbt-footer-cta{ padding-inline:0; }
.sbt-footer .sbt-btn{ border-radius:4px; }
.sbt-footer-grille{ grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr)); align-items:stretch; gap:0; }
.sbt-footer-colonne{ padding:0 24px 0 0; }
.sbt-footer-colonne + .sbt-footer-colonne{ border-left:1px solid var(--fz-filet); padding-left:24px; }
.sbt-footer-colonne:nth-child(1){ order:1; }
.sbt-footer-colonne.fz-col-guides{ order:2; }
.sbt-footer-colonne:nth-child(2):not(.fz-col-guides){ order:3; }
.sbt-footer-colonne:last-child{ order:4; }
.sbt-footer-colonne ul{ gap:0; }
.sbt-footer-colonne ul a{ display:inline-flex; align-items:center; min-height:34px; font-size:.95rem; }
.sbt-footer-colonne .sbt-t4{ font-size:.85rem; letter-spacing:.02em; text-transform:none; font-family:var(--fz-texte); font-weight:700; color:var(--fz-marne-txt); }
.sbt-footer-logo{ font-size:1.7rem; }
.sbt-footer-logo::before{ content:""; display:block; width:54px; height:21px; margin-bottom:10px; background:url("../svg/carotte.svg") left center/contain no-repeat; }
.sbt-footer-desc{ font-size:.98rem; color:var(--fz-humus); }
.sbt-footer-bas{ font-size:.85rem; }
@media (max-width:980px){
	.sbt-footer-grille{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 0; }
	.sbt-footer-colonne:nth-child(1){ order:1; } .sbt-footer-colonne:nth-child(3){ border-left:0; padding-left:0; }
	.sbt-footer-colonne + .sbt-footer-colonne{ border-left:0; padding-left:0; }
}
@media (max-width:560px){ .sbt-footer-grille{ grid-template-columns:minmax(0,1fr); gap:24px; } }

/* ---------- Ajustements mobiles généraux ---------- */
@media (max-width:1080px){
	.fz-eh-grille,.fz-eh--ville .fz-eh-grille{ grid-template-columns:minmax(0,1fr); gap:28px; }
	.fz-eh-visuel{ max-width:520px; }
	.fz-eh-caisse .fz-caisse{ max-width:560px; }
	.sbt-article-mise-en-page{ column-gap:0; }
}
@media (max-width:760px){
	.fz-section{ padding-block:36px; }
	.fz-eh{ padding-bottom:28px; }
	.fz-eh-segment{ border-radius:36px/50%; }
	.fz-eh-segment .fz-etiquette{ left:44px; max-width:calc(100% - 88px); }
	.fz-article .sbt-article-mise-en-page{ padding-top:28px; padding-bottom:48px; }
	.fz-bloc--repere{ grid-template-columns:minmax(0,1fr); border-radius:0 20px 20px 0/0 50% 50% 0; padding-inline:20px 22px; }
	.fz-carotte-etapes{ padding:16px 16px 16px 14px; }
	.fz-etape{ grid-template-columns:44px minmax(0,1fr); column-gap:14px; }
	.fz-etape-n b{ min-width:28px; height:28px; font-size:1.05rem; top:14px; }
	.fz-etape:first-child .fz-etape-n{ border-radius:22px 22px 0 0/9px 9px 0 0; }
	.fz-etape:last-child .fz-etape-n{ border-radius:0 0 22px 22px/0 0 9px 9px; }
	.fz-terrain{ grid-template-columns:36px minmax(0,1fr); }
	.fz-src{ padding-right:24px; }
	.fz-terrain-fiche{ padding:14px 16px 10px; }
	.fz-terrain-titre{ font-size:1.25rem; }
	.fz-terrain-liste > div{ grid-template-columns:minmax(0,1fr); }
	.fz-papier{ padding-inline:18px; }
	.fz-alire{ padding-block:36px 52px; }
	.fz-membre-lien{ min-width:0; width:100%; }
	.sbt-article-corps img{ border-radius:20px/50%; }
	sbs-tarif{ grid-template-columns:minmax(0,1fr); gap:4px; }
}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{ transition-duration:.01ms!important; animation-duration:.01ms!important; scroll-behavior:auto!important; }
}

/* ===================================================================================
 * CORRECTIONS n°1 (18/10/2026) — mesurées sur captures-v2, aucune couleur ni police nouvelle.
 * =================================================================================== */

/* Accueil · « Ce qui fait le prix » : deux rangées de trois segments de longueurs inégales (une carotte
   rompue en six morceaux), titre + lien du guide sur la même ligne. Section ≤ 680 px à 1440. */
.fz-section--prix{ padding-block:clamp(36px,3.6vw,52px); }
.fz-section-tete--ligne{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px 40px; max-width:none; margin-bottom:24px; }
.fz-section-tete--ligne > div{ max-width:68ch; }
.fz-section-tete--ligne h2{ margin-bottom:.25em; }
.fz-section-tete--ligne .fz-btn{ flex:none; }
@media (min-width:761px){
	.fz-postes{ display:flex; flex-wrap:wrap; gap:14px; }
	.fz-postes > .fz-segment{ display:block; min-width:0; }
	.fz-postes > .fz-segment:nth-child(1),.fz-postes > .fz-segment:nth-child(6){ flex:35 1 calc(35% - 12px); }
	.fz-postes > .fz-segment:nth-child(2),.fz-postes > .fz-segment:nth-child(5){ flex:33 1 calc(33% - 12px); }
	.fz-postes > .fz-segment:nth-child(3),.fz-postes > .fz-segment:nth-child(4){ flex:32 1 calc(32% - 12px); }
	.fz-poste-bandeau{ height:56px; }
	.fz-segment--poste .fz-segment-corps{ padding:12px 34px 16px; gap:6px; }
	.fz-segment--poste .fz-segment-extrait{ font-size:.92rem; line-height:1.42; }
}
@media (max-width:760px){
	.fz-section-tete--ligne{ flex-direction:column; align-items:flex-start; }
	.fz-segment--poste .fz-segment-corps{ padding-bottom:22px; }
}

/* Accueil · « Les rubriques » : les 5 carottes à gauche (≈ 45 %), les 4 derniers guides en lignes à droite
   (vignette 120 px en bout de carotte + titre + date). Section ≤ 680 px à 1440. */
@media (min-width:901px){ .fz-rubs{ grid-template-columns:minmax(0,45fr) minmax(0,55fr); gap:48px; } }
.fz-guides-liste{ display:grid; gap:12px; }
.fz-segment--ligne .fz-segment-lien{ flex-direction:row; align-items:stretch; min-height:100px; }
.fz-segment--ligne .fz-segment-photo{ flex:0 0 120px; width:120px; aspect-ratio:auto; min-height:100px; }
.fz-segment--ligne .fz-strate{ width:8px; height:auto; border-block:0; border-inline:1px solid rgba(38,32,25,.3); }
.fz-segment--ligne .fz-segment-corps{ justify-content:center; gap:6px; padding:12px 36px 12px 18px; }
.fz-segment--ligne .fz-segment-titre{ font-size:1.14rem; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.fz-segment--ligne .fz-segment-meta{ margin-top:0; }
.fz-segment--ligne .fz-etiquette{ display:none; }
@media (max-width:640px){
	.fz-segment--ligne .fz-segment-photo{ flex-basis:96px; width:96px; }
	.fz-segment--ligne .fz-segment-corps{ padding:10px 26px 10px 14px; }
	.fz-segment--ligne .fz-segment-titre{ font-size:1.05rem; }
}

/* Repli d'une image absente : un choix graphique, pas une image cassée. Aplat Marne 18 %, liseré de strate
   photo en haut, carotte au trait centrée. */
.fz-repli{ position:relative; overflow:hidden; }
span.fz-repli.fz-repli{ display:grid; place-items:center; background-color:var(--fz-bande); color:var(--fz-marne-txt); }
.fz-repli .fz-repli-strate{ position:absolute; left:0; right:0; top:0; height:14px; background:rgba(130,112,63,.4) var(--img,none) center/cover; border-bottom:2px solid var(--fz-humus); }
.fz-repli .fz-repli-carotte{ width:clamp(64px,30%,140px); height:auto; margin-top:10px; color:var(--fz-marne-txt); opacity:.9; }

/* Tableaux d'articles (bloc figé : habillage seul) : cadre, défilement horizontal interne, ombres de bord qui
   signalent la suite, première colonne fixe sur mobile. La page ne déborde jamais (scrollWidth = fenêtre). */
.sbt-article-corps .sbs_tableau{ max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; border:1px solid var(--fz-filet-fort); border-radius:4px;
	background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)) left center/40px 100% no-repeat local,
		linear-gradient(270deg,#fff 30%,rgba(255,255,255,0)) right center/40px 100% no-repeat local,
		radial-gradient(farthest-side at 0 50%,rgba(38,32,25,.22),rgba(38,32,25,0)) left center/14px 100% no-repeat scroll,
		radial-gradient(farthest-side at 100% 50%,rgba(38,32,25,.22),rgba(38,32,25,0)) right center/14px 100% no-repeat scroll,
		#fff; }
.sbt-article-corps .sbs_tableau table{ margin:0; border-style:hidden; }
.sbt-article-corps .sbs_tableau td{ background:transparent; }
@media (max-width:760px){
	.sbt-article-corps .sbs_tableau table{ min-width:560px; font-size:.9rem; }
	.sbt-article-corps .sbs_tableau th:first-child,.sbt-article-corps .sbs_tableau td:first-child{ position:sticky; left:0; z-index:1; min-width:104px; max-width:120px; background:#fff; box-shadow:1px 0 0 var(--fz-filet-fort); }
	.sbt-article-corps .sbs_tableau th:first-child{ background:#ebe5d6; }
}

/* À propos : caisse ouverte plus compacte (≤ 704 px à 1440), conteneur ≥ 24 px en mobile. */
@media (min-width:901px){ .fz-caisse-ouverte{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:44px; } }
.fz-apropos .fz-ouverte-texte h2{ margin-bottom:.3em; }
.fz-apropos .fz-planche--colonne{ gap:12px; padding:20px 22px 22px; }
.fz-apropos .fz-papier{ padding:26px 24px 12px; }
.fz-apropos .fz-papier h3{ font-size:1.32rem; margin-bottom:.25em; }
.fz-apropos .fz-papier p{ font-size:.96rem; margin-bottom:.4em; }
@media (max-width:760px){
	.fz-apropos .fz-cont,.fz-equipe .fz-cont,.fz-contact-in{ padding-inline:24px; }
	.fz-apropos .fz-planche--colonne{ padding:16px 14px 18px; }
}

/* Calculateur : la caisse en grand en tête du contenu, entière au-dessus du pli (1440×780, 1920×950) :
   l'en-tête se resserre sur cette page seulement. */
.fz-article--calc .fz-eh{ padding-bottom:28px; }
.fz-article--calc .fz-eh-segment{ aspect-ratio:16/9; }
.fz-article--calc .sbt-article-mise-en-page{ padding-top:28px; }
.fz-article--calc .fz-calc-tete{ margin-bottom:40px; }
@media (max-width:760px){
	.fz-article--calc .fz-eh-segment{ aspect-ratio:3/1; }
	.fz-article--calc .fz-calc-tete{ margin-bottom:28px; }
}

/* Carotte du premier écran : le 4ᵉ segment est la photo de la foreuse, son étiquette le dit (« 60 m · la foreuse »).
   Sur la carotte verticale (390), le libellé passe sur deux lignes plutôt que de sortir du segment. */
@media (max-width:760px){ .fz-hero > .fz-carotte .fz-seg--foreuse .fz-prof i{ white-space:normal; max-width:62px; } }
.fz-rub-nb{ white-space:nowrap; text-align:center; }
/* Le tableau arrive parfois déjà enveloppé par le bloc de contenu (…__tbl, cadre + défilement) : un seul cadre,
   un seul défilement, celui du thème. */
.sbt-article-corps [class*="__tbl"]:has(> .sbs_tableau){ border:0; border-radius:0; overflow:visible; margin:1.4em 0; }
.sbt-article-corps [class*="__tbl"] > .sbs_tableau{ margin:0; }

/* 19/10 — menu entre 1200 et 1320 px : la page ne déborde plus (bouton « Prix de mon forage ») */
@media (min-width:1200px) and (max-width:1320px){
	.fz-nav{ gap:16px; }
	.fz-nav-liste{ gap:4px 15px; }
	.fz-nav-liste a{ font-size:.9rem; }
	.fz-nav-cta{ padding:8px 14px; font-size:.9rem; }
}

/* 19/10 — règle des profondeurs : les étiquettes 0 m / 100 m restent dans le cadre de leur liste (sb-sortie hors_cadre) */
@media (min-width:1200px){
	.fz-regle-grad{ inset:0; }
	.fz-regle-grad li{ top:calc(12px + var(--p) * (100% - 24px)); }
}

/* ===================================================================================
 * CORRECTIONS n°3 (19/10/2026) — juge visuel : « plat, tout beige ». La fiche M15 ne change pas (titre d'une seule
 * couleur, pied clair, carotte 140/160 px, palette et polices). On utilise ce qu'elle PERMET : Marne en aplat plein
 * (texte blanc 4,8:1), Humus en aplat (texte Calcaire 13,7:1), vraies photos en grand, profondeur (ombres douces,
 * superpositions). Trois fonds sur l'accueil : Calcaire, Humus, Marne.
 * =================================================================================== */

/* ---------- Fonds pleins ---------- */
.fz-fond-humus{ background:var(--fz-humus); color:var(--fz-calcaire); }
.fz-fond-marne{ background:var(--fz-marne); color:#fff; }
.fz-fond-humus h2,.fz-fond-humus h3,.fz-fond-humus b{ color:var(--fz-calcaire); }
.fz-fond-marne h2,.fz-fond-marne h3{ color:#fff; }
.fz-fond-humus .fz-section-tete p,.fz-fond-humus .fz-potable-chapo,.fz-fond-humus p{ color:rgba(241,237,227,.86); }
.fz-fond-marne .fz-section-tete p,.fz-fond-marne p{ color:#fff; }
.fz-btn--clair{ background:var(--fz-calcaire); border-color:var(--fz-calcaire); color:var(--fz-humus); }
.fz-btn--clair:hover{ background:var(--fz-brique); border-color:var(--fz-brique); color:#fff; }
.fz-fond-humus :focus-visible,.fz-fond-marne :focus-visible{ outline-color:var(--fz-calcaire); }

/* ---------- Boutons de la caisse : Brique plein dès l'arrivée, jamais un bouton « mort » ---------- */
.fz-btn[aria-disabled="true"]{ opacity:1; background:var(--fz-brique); border-color:var(--fz-brique); color:#fff; cursor:pointer; }
.fz-btn[aria-disabled="true"]:hover{ background:var(--fz-humus); border-color:var(--fz-humus); }
.fz-form-attente{ margin:6px 0 0; min-height:0; font-size:.92rem; font-weight:700; color:var(--fz-brique); }
.fz-form-attente:empty{ display:none; }
.fz-cases.est-signale{ animation:fz-signal .5s ease 1; box-shadow:0 0 0 3px var(--fz-brique); }
@keyframes fz-signal{ 0%,100%{ transform:none; } 25%{ transform:translateX(-4px); } 75%{ transform:translateX(4px); } }
@media (prefers-reduced-motion:reduce){ .fz-cases.est-signale{ animation:none; } }

/* ---------- LA CAROTTE, plus riche : ombrage cylindrique, cassures marquées, étiquettes lisibles, nappe vivante ---------- */
.fz-carotte--couchee{ box-shadow:0 22px 34px -18px rgba(38,32,25,.55),0 2px 0 rgba(38,32,25,.25); overflow:hidden; }
.fz-carotte--couchee::before{ content:""; position:absolute; inset:0; z-index:3; pointer-events:none;
	background:linear-gradient(to bottom,rgba(38,32,25,.28) 0,rgba(241,237,227,.10) 9%,rgba(241,237,227,.42) 20%,rgba(241,237,227,.08) 33%,rgba(38,32,25,0) 55%,rgba(38,32,25,.22) 80%,rgba(38,32,25,.62) 100%); }
.fz-carotte--couchee::after{ background:linear-gradient(to right,rgba(38,32,25,.35) 0,rgba(38,32,25,0) 3%,rgba(38,32,25,0) 97%,rgba(38,32,25,.35) 100%); }
.fz-carotte--couchee .fz-seg::before{ background:rgba(38,32,25,.04); }
.fz-carotte--couchee .fz-cassure{ left:-8px; width:16px; z-index:4; filter:drop-shadow(1px 0 0 rgba(241,237,227,.55)); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 140' preserveAspectRatio='none'%3E%3Cpath d='M8 0l4 12-8 14 7 14-6 14 7 14-8 14 7 14-6 14 7 14-4 16' fill='none' stroke='%23262019' stroke-width='3.2' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.fz-carotte--couchee .fz-prof{ z-index:5; left:20px; top:16px; padding:7px 14px 7px 12px; background:rgba(38,32,25,.9); box-shadow:0 6px 14px -6px rgba(0,0,0,.6); }
.fz-carotte--couchee .fz-prof b{ font-size:18px; }
.fz-carotte--couchee .fz-prof i{ font-size:12.5px; letter-spacing:.08em; }
.fz-carotte--couchee .fz-eau{ z-index:4; top:46%; height:18px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 18'%3E%3Cpath d='M0 9Q14 1 28 9T56 9' fill='none' stroke='%23F1EDE3' stroke-width='2.6'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 18'%3E%3Cpath d='M0 9Q14 3 28 9T56 9' fill='none' stroke='%23F1EDE3' stroke-opacity='.55' stroke-width='1.6'/%3E%3C/svg%3E"); background-size:56px 18px,44px 18px; background-position:0 0,0 14px; background-repeat:repeat-x; height:34px; animation:fz-onde2 4s linear infinite; }
.fz-carotte--couchee .fz-seg--nappe::after{ content:""; position:absolute; left:0; right:0; top:calc(46% + 9px); bottom:0; z-index:2; background:rgba(38,32,25,.18); }
@keyframes fz-onde2{ to{ background-position:56px 0,-44px 14px; } }
@media (prefers-reduced-motion:reduce){ .fz-carotte--couchee .fz-eau{ animation:none; } }
.fz-carotte--verticale{ box-shadow:14px 18px 28px -16px rgba(38,32,25,.55); }
.fz-carotte--verticale::before{ content:""; position:absolute; inset:0; z-index:3; pointer-events:none; background:linear-gradient(to right,rgba(38,32,25,.3) 0,rgba(241,237,227,.4) 22%,rgba(241,237,227,.06) 38%,rgba(38,32,25,0) 60%,rgba(38,32,25,.5) 100%); }

/* ---------- PREMIER ÉCRAN : preuves courtes sous le chapô, la caisse posée SUR la carotte ---------- */
.fz-preuves{ display:flex; flex-wrap:wrap; gap:10px 12px; list-style:none; margin:22px 0 0; padding:0; }
.fz-preuves a{ display:inline-flex; align-items:center; gap:10px; min-height:46px; padding:4px 26px 4px 4px; background:#fff; color:var(--fz-humus); text-decoration:none; font-weight:600; font-size:.95rem; line-height:1.15; clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%); transition:background-color .15s; }
.fz-preuves b{ display:grid; place-items:center; min-width:44px; height:38px; padding:0 8px; background:var(--fz-humus); color:var(--fz-calcaire); font-family:var(--fz-titre); font-size:1.35rem; }
.fz-preuves a:hover b{ background:var(--fz-brique); }
@media (min-width:761px){
	.fz-hero-caisse{ position:relative; z-index:6; }
	.fz-hero-caisse .fz-caisse{ box-shadow:inset 0 0 0 2px rgba(38,32,25,.4),inset 0 -3px 0 rgba(38,32,25,.25),0 26px 40px -22px rgba(38,32,25,.7); }
	.fz-hero-caisse{ margin-bottom:-56px; }
	.fz-hero > .fz-carotte{ position:relative; z-index:1; margin-top:20px; }
	.fz-hero-texte{ padding-bottom:0; }
}
@media (min-width:1700px){ .fz-hero > .fz-carotte{ margin-top:24px; } }
@media (max-width:760px){ .fz-preuves{ display:none; } }

/* ---------- « Ce qui fait le prix » : six postes, photo haute (≥ 184 px) et « Poste N » posé dessus ---------- */
.fz-segment--poste .fz-poste-bandeau{ position:relative; display:block; }
.fz-segment--poste .fz-poste-bandeau .fz-etiquette{ left:26px; bottom:12px; max-width:calc(100% - 34px); font-size:.8rem; }
@media (min-width:761px){
	.fz-postes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
	.fz-postes > .fz-segment{ flex:none!important; }
	.fz-segment--poste .fz-segment-lien{ flex-direction:row; align-items:stretch; min-height:188px; }
	.fz-segment--poste .fz-poste-bandeau{ flex:0 0 40%; height:auto; min-height:188px; border-bottom:0; border-right:3px solid var(--fz-humus); }
	.fz-segment--poste .fz-segment-corps{ justify-content:center; padding:14px 30px 16px 18px; gap:6px; }
	.fz-segment--poste .fz-segment-titre{ font-size:1.16rem; }
	.fz-segment--poste .fz-segment-extrait{ font-size:.9rem; line-height:1.4; }
}
@media (min-width:761px) and (max-width:1100px){ .fz-postes{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px){
	.fz-poste-bandeau{ height:168px; }
}

/* ---------- « De la nappe au verre » sur Humus, la photo d'analyse en grand ---------- */
.fz-section--potable{ padding-block:clamp(44px,5vw,64px); }
.fz-section--potable .fz-potable{ grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:56px; }
.fz-section--potable .fz-potable-photo{ aspect-ratio:auto; height:clamp(320px,34vw,500px); max-height:none; box-shadow:0 30px 50px -26px rgba(0,0,0,.8); }
.fz-section--potable .fz-colonne::before{ background:linear-gradient(to top,var(--fz-marne),var(--fz-brique)); }
.fz-section--potable .fz-colonne-num{ background:var(--fz-calcaire); color:var(--fz-humus); }
.fz-section--potable .fz-colonne-n--1 .fz-colonne-num{ background:var(--fz-marne); color:#fff; }
.fz-section--potable .fz-colonne-n--3 .fz-colonne-num{ background:var(--fz-brique); color:#fff; }
.fz-section--potable .fz-colonne-n p{ color:rgba(241,237,227,.86); }
.fz-section--potable .fz-etiquette{ background:var(--fz-calcaire); color:var(--fz-humus); left:56px; bottom:18px; }
@media (max-width:900px){ .fz-section--potable .fz-potable{ grid-template-columns:minmax(0,1fr); gap:28px; } .fz-section--potable .fz-potable-photo{ height:auto; aspect-ratio:16/10; } }

/* ---------- « Trouver un foreur » sur Marne pleine, étiquettes de carottier Calcaire ---------- */
.fz-section--villes .fz-tag{ background:var(--fz-calcaire); }
.fz-section--villes a.fz-tag:hover{ background:#fff; }
.fz-section--villes .fz-tag--sans{ background:rgba(241,237,227,.78); color:var(--fz-humus); }
.fz-section--villes .fz-tag--sans b{ background:var(--fz-marne-txt); }
.fz-section--villes .fz-tags{ filter:drop-shadow(0 8px 10px rgba(38,32,25,.22)); }

/* ---------- Cartes : la photo prend la hauteur en trop (jamais de vide blanc dans une carte) ---------- */
.fz-segment--une .fz-segment-meta,.fz-actu-grille .fz-segment-meta{ margin-top:2px; }
.fz-segment--une .fz-segment-lien{ align-items:stretch; }
.fz-segment--une .fz-segment-photo{ height:auto; min-height:320px; max-height:none; }
.fz-segment--une .fz-segment-corps{ flex:1 1 46%; justify-content:center; padding:28px 48px 28px 32px; }
.fz-actu-grille .fz-segment--petit .fz-segment-lien{ flex-direction:column; }
.fz-actu-grille .fz-segment--petit .fz-segment-photo{ flex:1 1 auto; width:100%; min-height:132px; }
.fz-actu-grille .fz-segment--petit .fz-strate{ width:auto; height:8px; border-inline:0; border-block:1px solid rgba(38,32,25,.3); }
.fz-actu-grille .fz-segment--petit .fz-segment-corps{ flex:0 0 auto; padding:12px 30px 14px; }
.fz-actu-grille .fz-segment--petit .fz-etiquette{ display:block; }
@media (max-width:640px){
	.fz-segment--une .fz-segment-photo{ min-height:0; }
	.fz-segment--une .fz-segment-corps{ padding:16px 28px 20px; }
	.fz-actu-grille .fz-segment--petit .fz-segment-photo{ min-height:0; aspect-ratio:16/9; flex:none; }
}

/* ---------- En-tête de rubrique, de hub, de page : Marne pleine, la carotte de la rubrique en grand ---------- */
.fz-rub-tete{ background:var(--fz-marne); color:#fff; border-bottom:0; padding:26px 0 34px; position:relative; }
.fz-rub-tete::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:6px; background:linear-gradient(90deg,#262019 0 14%,#60522E 14% 31%,#262019 31% 50%,#60522E 50% 72%,#262019 72% 86%,#BD2923 86% 100%); }
.fz-rub-tete h1,.fz-rub-tete .fz-rub-chapo{ color:#fff; }
.fz-rub-tete .fz-rub-nb{ display:inline-flex; align-items:center; gap:8px; margin-top:4px; padding:5px 14px; background:var(--fz-humus); color:var(--fz-calcaire); text-align:left; font-size:.95rem; }
.fz-rub-tete .sbt-fil-ariane,.fz-rub-tete .sbt-fil-ariane a,.fz-rub-tete .sbt-fil-ariane span{ color:#fff; }
.fz-rub-tete .sbt-fil-ariane a{ text-decoration-color:rgba(255,255,255,.6); }
.fz-rub-tete .fz-carotte--verticale{ box-shadow:18px 22px 34px -18px rgba(38,32,25,.75); }
.fz-rub-tete--simple{ padding-block:24px 30px; }
.fz-rub-tete .fz-auteur-photo img,.fz-rub-tete .fz-auteur-photo svg{ border-color:var(--fz-calcaire); }
@media (max-width:760px){
	.fz-rub-carotte .fz-carotte--verticale{ --l:72px!important; --h:220px!important; }
	.fz-rub-tete-in{ align-items:flex-start; }
}

/* ---------- Prix & devis : les guides du prix d'abord ---------- */
.fz-guides-prix{ margin-bottom:36px; }
.fz-grille--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.fz-rub-articles-t{ margin:0 0 18px; }
@media (max-width:1100px){ .fz-grille--4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .fz-grille--4{ grid-template-columns:minmax(0,1fr); } }

/* ---------- En-tête d'article : bande Humus, la photo-segment déborde sur le texte (profondeur) ---------- */
.fz-eh{ background:var(--fz-humus); color:var(--fz-calcaire); border-bottom:0; position:relative; }
.fz-eh::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:6px; background:linear-gradient(90deg,#82703F 0 14%,#60522E 14% 31%,#82703F 31% 50%,#60522E 50% 72%,#82703F 72% 86%,#BD2923 86% 100%); }
.fz-eh h1{ color:var(--fz-calcaire); }
.fz-eh-chapo{ color:rgba(241,237,227,.9); }
.fz-eh-meta{ color:rgba(241,237,227,.8); }
.fz-eh-auteur{ color:var(--fz-calcaire); }
.fz-eh .sbt-fil-ariane,.fz-eh .sbt-fil-ariane a,.fz-eh .sbt-fil-ariane span{ color:rgba(241,237,227,.88); }
.fz-eh .sbt-fil-ariane a{ text-decoration-color:rgba(241,237,227,.5); }
.fz-eh-segment{ border:4px solid var(--fz-marne); box-shadow:0 30px 46px -24px rgba(0,0,0,.85); }
.fz-eh-segment .fz-etiquette{ background:var(--fz-calcaire); color:var(--fz-humus); }
.fz-eh :focus-visible{ outline-color:var(--fz-calcaire); }
@media (min-width:1081px){
	.fz-eh:not(.fz-eh--ville){ padding-bottom:36px; }
	.fz-eh:not(.fz-eh--ville) .fz-eh-visuel{ position:relative; z-index:3; margin-bottom:-56px; }
	.fz-eh:not(.fz-eh--ville)::after{ z-index:1; }
	.fz-article:not(.fz-article--ville) .sbt-rail{ margin-top:24px; }
}
.fz-eh--ville .fz-caisse{ box-shadow:inset 0 0 0 2px rgba(38,32,25,.4),0 26px 40px -24px rgba(0,0,0,.8); }
.fz-article--calc .fz-eh-visuel{ margin-bottom:0!important; }

/* Page ville : la caisse de la colonne n'apparaît qu'une fois celle de l'en-tête sortie de l'écran. */
.fz-ville-js .fz-article--ville .sbt-rail .fz-caisse:not(.est-montree){ display:none; }

/* ---------- Rail d'article : sommaire + caisse, UN bloc collant compact (les deux visibles en 1440 × 780) ---------- */
@media (min-width:1081px){
	.fz-article .sbt-rail{ gap:0; }
	.fz-article .sbt-rail .sbt-rail-carte--sommaire{ border-radius:6px 6px 0 0; border-bottom:0; padding:12px 14px 10px; background:#fff; }
	.fz-article .sbt-rail .sbt-sommaire{ padding:0 0 0 12px; border-left-width:4px; }
	.fz-article .sbt-rail .sbt-sommaire ol{ margin-top:6px; gap:2px; }
	.fz-article .sbt-rail .sbt-sommaire li a{ font-size:.84rem; line-height:1.25; padding-block:2px; }
	.fz-article .sbt-rail .sbt-sommaire-titre{ font-size:1rem; }
	.fz-article .sbt-rail .fz-caisse--compact{ border-radius:0 0 6px 6px; }
	.fz-article .sbt-rail .sbt-rail-carte--sommaire + .fz-caisse--compact .fz-vis--1,.fz-article .sbt-rail .sbt-rail-carte--sommaire + .fz-caisse--compact .fz-vis--2{ display:none; }
	.fz-article .sbt-rail .fz-caisse--compact .fz-caisse-titre{ font-size:1.08rem; }
	.fz-article .sbt-rail .fz-caisse--compact .fz-case{ min-height:42px; }
	.fz-article .sbt-rail .fz-caisse--compact .fz-btn{ min-height:46px; }
	.fz-article .sbt-rail .fz-voisines,.fz-article .sbt-rail .fz-rail-lien{ margin-top:14px; }
}

/* ---------- Corps d'article : blocs tirés du texte (fiches, cartes, classement, pour/contre) ---------- */
.sbt-article-corps figure.fz-cartes,.sbt-article-corps figure.fz-fiches,.sbt-article-corps figure.fz-classement,.sbt-article-corps figure.fz-duo{ margin:1.6em 0 2em; }
.fz-cartes-liste{ list-style:none; margin:0; padding:0!important; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.fz-cartes-liste[data-n="3"]{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.fz-carte{ position:relative; margin:0!important; padding:16px 18px 16px 20px; background:#fff; border:1px solid var(--fz-filet); border-top:6px solid var(--fz-marne); border-radius:4px 4px 14px 14px/4px 4px 14px 14px; box-shadow:0 10px 18px -14px rgba(38,32,25,.5); }
.fz-carte:nth-child(3n+2){ border-top-color:var(--fz-humus); }
.fz-carte:nth-child(3n){ border-top-color:var(--fz-marne-txt); }
.fz-carte-t,.fz-carte h3{ margin:0 0 6px!important; font-family:var(--fz-titre); font-weight:700; font-size:1.18rem!important; line-height:1.15; color:var(--fz-humus); }
.fz-carte-txt{ font-size:.97rem; line-height:1.55; }
.fz-carte-txt > :last-child{ margin-bottom:0; }
.fz-carte-txt small{ display:block; margin-top:4px; color:var(--fz-marne-txt); }
.fz-cartes--h3 .fz-carte{ border-top-width:8px; }

.fz-fiches{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.fz-fiche{ padding:14px 18px 12px; background:#fff; border:1px solid var(--fz-filet); border-left:8px solid var(--fz-humus); border-radius:0 6px 6px 0; box-shadow:0 10px 18px -14px rgba(38,32,25,.5); }
.fz-fiche--pour{ border-left-color:var(--fz-marne); }
.fz-fiche--contre{ border-left-color:var(--fz-brique); }
.fz-fiche-t{ margin:0 0 6px!important; font-family:var(--fz-titre); font-weight:700; font-size:1.15rem; line-height:1.15; }
.fz-fiche ul{ margin:0; padding-left:1.1em!important; font-size:.96rem; line-height:1.5; }
.fz-fiche li{ margin-bottom:.3em; }
.fz-fiche small{ color:var(--fz-marne-txt); }

.fz-duo{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; border-radius:6px; overflow:hidden; box-shadow:0 14px 26px -18px rgba(38,32,25,.6); }
.fz-duo-col{ padding:18px 22px 16px; }
.fz-duo-col--pour{ background:var(--fz-marne); color:#fff; }
.fz-duo-col--contre{ background:var(--fz-brique); color:#fff; }
.fz-duo-col a{ color:#fff!important; text-decoration-color:rgba(255,255,255,.65)!important; }
.fz-duo-t{ margin:0 0 8px!important; font-family:var(--fz-titre); font-weight:700; font-size:1.5rem; line-height:1; }
.fz-duo-col ul{ margin:0; padding-left:1.1em!important; font-size:.96rem; line-height:1.5; }
.fz-duo-sections{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:2em 0; }
.fz-duo-sec{ padding:4px 22px 18px; background:#fff; border:1px solid var(--fz-filet); border-top:8px solid var(--fz-marne); border-radius:4px 4px 6px 6px; box-shadow:0 12px 22px -16px rgba(38,32,25,.55); }
.fz-duo-sec--contre{ border-top-color:var(--fz-brique); }
.sbt-article-corps .fz-duo-sec h2{ margin-top:.7em; font-size:1.45rem; }
.fz-duo-sec ul{ padding-left:1.1em; font-size:.96rem; }
.fz-duo-sec p{ font-size:.96rem; }

.fz-classement{ counter-reset:none; }
.fz-rangs{ list-style:none; margin:0; padding:0!important; display:grid; gap:14px; }
.fz-rang{ position:relative; display:grid; grid-template-columns:62px minmax(0,1fr); margin:0!important; background:#fff; border:1px solid var(--fz-filet); border-radius:6px; overflow:hidden; box-shadow:0 12px 22px -16px rgba(38,32,25,.55); }
.fz-rang-n{ display:grid; place-items:start center; padding-top:16px; background:var(--fz-humus) url(../img/strate-marne.webp) center/cover; background-blend-mode:multiply; color:var(--fz-calcaire); font-family:var(--fz-titre); font-weight:700; font-size:2rem; line-height:1; }
.fz-rang:nth-child(even) .fz-rang-n{ background-image:url(../img/strate-calcaire.webp); }
.fz-rang-corps{ padding:14px 20px 14px; min-width:0; }
.sbt-article-corps .fz-rang-corps h3{ margin:0 0 8px; font-size:1.25rem; }
.fz-rang-dl{ margin:0; display:grid; gap:6px; }
.fz-rang-ligne{ display:grid; grid-template-columns:minmax(0,11em) minmax(0,1fr); gap:2px 14px; padding:6px 0 0; border-top:1px solid var(--fz-filet); }
.fz-rang-ligne dt{ font-weight:700; font-size:.88rem; line-height:1.4; color:var(--fz-marne-txt); }
.fz-rang-ligne dd{ margin:0; font-size:.96rem; line-height:1.5; }
.fz-rang-ligne--pour dt{ color:var(--fz-marne); }
.fz-rang-ligne--contre dt{ color:var(--fz-brique); }
.fz-classement--libre .fz-rang{ grid-template-columns:14px minmax(0,1fr); }
.fz-classement--libre .fz-rang-n{ font-size:0; }

/* Tableaux : une carte à en-tête Humus */
.sbt-article-corps .sbs_tableau{ box-shadow:0 14px 26px -18px rgba(38,32,25,.55); border-color:var(--fz-humus); }
.sbt-article-corps .sbs_tableau th,.sbt-article-corps table th{ background:var(--fz-humus); color:var(--fz-calcaire); border-color:rgba(241,237,227,.18); font-family:var(--fz-texte); }
.sbt-article-corps .sbs_tableau tbody tr:nth-child(even) td{ background:rgba(130,112,63,.08); }
@media (max-width:760px){ .sbt-article-corps .sbs_tableau th:first-child{ background:var(--fz-humus); } }

@media (max-width:760px){
	.fz-cartes-liste,.fz-cartes-liste[data-n="3"],.fz-fiches,.fz-duo,.fz-duo-sections{ grid-template-columns:minmax(0,1fr); }
	.fz-rang{ grid-template-columns:44px minmax(0,1fr); }
	.fz-rang-n{ font-size:1.5rem; }
	.fz-rang-ligne{ grid-template-columns:minmax(0,1fr); }
}

/* ---------- À propos : méthode sur Humus, visages sur Marne ---------- */
.fz-methode-in{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:48px; align-items:center; }
.fz-methode-texte h2{ font-size:clamp(1.75rem,2.7vw,2.5rem); line-height:1.08; margin:0 0 .4em; }
.fz-methode-chiffres{ display:flex; flex-wrap:wrap; gap:14px 28px; list-style:none; margin:26px 0 0; padding:0; }
.fz-methode-chiffres li{ display:flex; flex-direction:column; }
.fz-methode-chiffres b{ font-family:var(--fz-titre); font-size:3rem; line-height:1; color:var(--fz-calcaire); }
.fz-methode-chiffres span{ font-weight:600; font-size:.95rem; color:rgba(241,237,227,.86); }
.fz-methode-sources{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.fz-methode-sources li{ padding:16px 18px; background:var(--fz-calcaire); color:var(--fz-humus); border-top:6px solid var(--fz-marne); border-radius:4px; }
.fz-methode-sources li:nth-child(2){ border-top-color:var(--fz-brique); }
.fz-methode-sources li:nth-child(4){ border-top-color:var(--fz-marne-txt); }
.fz-methode-sources b{ display:block; margin-bottom:4px; font-family:var(--fz-titre); font-size:1.3rem; color:var(--fz-humus); }
.fz-methode-sources span{ display:block; font-size:.93rem; line-height:1.45; color:var(--fz-humus); }
.fz-visages{ list-style:none; margin:24px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.fz-visage-lien{ display:grid; grid-template-columns:150px minmax(0,1fr); gap:22px; align-items:center; padding:18px 26px 18px 18px; background:var(--fz-calcaire); color:var(--fz-humus); text-decoration:none; border-radius:6px; box-shadow:0 18px 30px -20px rgba(38,32,25,.8); transition:transform .2s; }
.fz-visage-lien:hover{ transform:translateY(-3px); }
.fz-visage-photo img,.fz-visage-photo svg{ display:block; width:150px; height:150px; border-radius:50%; object-fit:cover; border:5px solid #fff; }
.fz-visage-nom{ display:block; font-family:var(--fz-titre); font-weight:700; font-size:1.6rem; line-height:1.05; }
.fz-visage-nb{ display:block; margin-top:4px; font-weight:700; font-size:.9rem; color:var(--fz-marne-txt); }
.fz-visage-bio{ display:block; margin-top:8px; font-size:.95rem; line-height:1.45; }
.fz-visage-suite{ display:inline-block; margin-top:10px; font-weight:700; text-decoration:underline; text-decoration-color:var(--fz-brique); text-decoration-thickness:3px; text-underline-offset:4px; }
.fz-equipe.fz-fond-marne .fz-section-t{ color:#fff; }
@media (max-width:900px){
	.fz-methode-in{ grid-template-columns:minmax(0,1fr); gap:28px; }
	.fz-visages{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:560px){
	.fz-methode-sources{ grid-template-columns:minmax(0,1fr); }
	.fz-visage-lien{ grid-template-columns:96px minmax(0,1fr); gap:14px; padding:14px; }
	.fz-visage-photo img,.fz-visage-photo svg{ width:96px; height:96px; border-width:3px; }
	.fz-visage-nom{ font-size:1.3rem; }
}

/* Accueil · Actualité ≤ 704 px à 1440 : titre de une plus court, lien dans l'en-tête de section */
.fz-actu-grille .fz-actu-une .fz-segment-titre{ font-size:clamp(1.5rem,2vw,1.85rem); }
.fz-actu-grille .fz-actu-une .fz-segment-photo{ flex-basis:50%; min-height:300px; }
.fz-section--actu .fz-section-tete--ligne{ margin-bottom:22px; }
/* « Points à retenir » (bloc figé, habillage) : Marne pleine sous l'en-tête Humus — jamais deux aplats sombres collés. */
.fz-article .sbt-encadre--retenir{ background:var(--fz-marne); color:#fff; box-shadow:0 16px 28px -20px rgba(38,32,25,.7); }
.fz-article .sbt-encadre--retenir .sbt-encadre-titre{ color:#fff; }
.fz-article .sbt-encadre--retenir a{ color:#fff; }
/* Encart : une section d'un seul paragraphe qui cadre la lecture */
.sbt-article-corps figure.fz-encart{ margin:1em 0 1.8em; padding:18px 22px 18px 26px; background:#fff; border:1px solid var(--fz-filet); border-left:10px solid var(--fz-marne); border-radius:0 28px 28px 0/0 50% 50% 0; box-shadow:0 12px 22px -18px rgba(38,32,25,.55); }
.sbt-article-corps figure.fz-encart p{ margin:0; font-size:1.02rem; line-height:1.6; }
.sbt-article-corps figure.fz-encart--prix{ border-left-color:var(--fz-brique); }
@media (max-width:760px){ .sbt-article-corps figure.fz-encart{ border-radius:0 18px 18px 0/0 50% 50% 0; padding:14px 18px 14px 20px; } }
/* Premier écran : les quatre preuves tiennent sur UNE ligne (la carotte remonte sous le chapô) */
.fz-preuves{ gap:8px; margin-top:20px; }
.fz-preuves a{ gap:8px; padding-right:22px; font-size:.9rem; }
.fz-preuves b{ min-width:40px; }
@media (min-width:761px){ .fz-hero > .fz-carotte{ margin-top:10px; } }
/* La caisse est posée SUR la fin de la carotte : les étiquettes des deux derniers segments passent en bas, jamais cachées. */
@media (min-width:761px){
	.fz-hero > .fz-carotte .fz-seg--sable .fz-prof,.fz-hero > .fz-carotte .fz-seg--nappe .fz-prof{ top:auto; bottom:14px; }
	.fz-hero > .fz-carotte .fz-seg--nappe .fz-eau{ top:30%; }
	.fz-hero > .fz-carotte .fz-seg--nappe::after{ top:calc(30% + 9px); }
}
/* Liste de contrôle (≥ 4 lignes) : une fiche à cocher posée sur la page */
.sbt-article-corps figure.fz-liste-carte{ margin:1.4em 0 2em; padding:18px 22px 8px; background:#fff; border:1px solid var(--fz-filet); border-top:8px solid var(--fz-humus); border-radius:4px 4px 6px 6px; box-shadow:0 12px 22px -18px rgba(38,32,25,.55); }
.sbt-article-corps figure.fz-liste-carte .fz-coches{ margin:0 0 .6em; }
@media (min-width:1200px){ .sbt-article-corps figure.fz-liste-carte .fz-coches li{ font-size:.98rem; } }

/* 19/10 — page ville à 390 : la caisse entière (bouton compris) tient dans 390×700 */
@media (max-width:600px){
	.fz-eh--ville .fz-ariane [aria-current="page"],
	.fz-eh--ville .fz-ariane [aria-current="page"] ~ *{ display:none; }
	.fz-eh--ville .fz-ariane > span[aria-hidden="true"]:last-of-type{ display:none; }
	.fz-eh--ville .fz-eh-chapo{ font-size:1rem; line-height:1.45; margin-top:8px; }
	.fz-eh--ville .fz-eh-meta{ margin-top:10px; }
}
@media (max-width:600px){
	.fz-eh--ville h1{ font-size:1.6rem; line-height:1.15; }
	.fz-eh--ville .fz-eh-date, .fz-eh--ville .fz-eh-lecture{ display:none; }
	.fz-eh--ville .fz-eh-meta{ margin-top:8px; }
	.fz-eh--ville .fz-eh-caisse{ margin-top:14px; }
}

/* ===================================================================================
 * CORRECTIONS n°4 (19/10/2026)
 * =================================================================================== */

/* Accueil 1440/1920 : plus de vide crème sous la carotte, le haut des cartes-postes entre dans le premier écran */
@media (min-width:761px){
	.fz-hero-guides{ padding-bottom:0; }
	.fz-section--prix{ padding-top:22px; }
	.fz-section--prix .fz-section-tete--ligne{ margin-bottom:16px; }
	.fz-section--prix .fz-section-tete--ligne h2{ margin-bottom:.15em; }
}

/* Accueil · derniers guides de fond : l'étiquette de rubrique posée DANS la vignette */
.fz-segment--ligne .fz-segment-photo{ flex-basis:150px; width:150px; }
.fz-segment--ligne .fz-etiquette{ display:block; left:10px; right:auto; bottom:8px; max-width:calc(100% - 20px); padding:4px 8px 4px 7px; font-size:.62rem; letter-spacing:.05em; white-space:normal; line-height:1.15; }
@media (max-width:640px){ .fz-segment--ligne .fz-segment-photo{ flex-basis:112px; width:112px; } .fz-segment--ligne .fz-etiquette{ font-size:.58rem; left:8px; max-width:calc(100% - 16px); } }

/* Mobile · « Trouver un foreur » : deux colonnes d'étiquettes, 12 villes, puis « Voir les 25 villes » (section < 900 px) */
@media (max-width:760px){
	.fz-section--villes .fz-tags{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
	.fz-section--villes .fz-tags li:nth-child(n+13){ display:none; }
	.fz-section--villes .fz-tag{ display:flex; width:100%; min-height:44px; padding-right:20px; font-size:.92rem; }
	.fz-section--villes .fz-tag b{ min-width:36px; height:32px; font-size:1rem; }
	.fz-section--villes .fz-section-tete{ margin-bottom:18px; }
	.fz-section--villes .fz-section-pied{ margin-top:18px; }
}

/* Guides · cartes-postes (même famille que l'accueil) : photo à gauche, « Poste n » dessus, le texte d'origine à droite */
.sbt-article-corps figure.fz-postes-fig{ margin:1.4em 0 2em; }
.fz-pcartes{ list-style:none; margin:0; padding:0!important; display:grid; gap:14px; }
.fz-pcarte{ position:relative; display:grid; grid-template-columns:minmax(150px,30%) minmax(0,1fr); margin:0!important; background:#fff; border:1px solid var(--fz-filet); border-radius:28px/60px; overflow:hidden; box-shadow:0 14px 24px -18px rgba(38,32,25,.6); }
.fz-pcarte-photo{ position:relative; display:block; min-height:170px; background:var(--fz-bande) var(--img,none) center/cover; border-right:3px solid var(--fz-humus); }
.fz-pcarte-photo .fz-etiquette{ left:24px; bottom:12px; }
.fz-pcarte-corps{ min-width:0; padding:16px 30px 14px 20px; align-self:center; }
.sbt-article-corps .fz-pcarte-t,.fz-pcarte-t{ margin:0 0 6px!important; font-family:var(--fz-titre); font-weight:700; font-size:1.25rem!important; line-height:1.15; color:var(--fz-humus); }
.fz-pcarte-corps p{ margin:0 0 .5em; font-size:.97rem; line-height:1.55; }
.fz-pcarte-corps p:last-child{ margin-bottom:0; }
@media (max-width:640px){
	.fz-pcarte{ grid-template-columns:minmax(0,1fr); border-radius:22px/40px; }
	.fz-pcarte-photo{ min-height:120px; border-right:0; border-bottom:3px solid var(--fz-humus); }
	.fz-pcarte-corps{ padding:14px 22px 16px; }
}

/* Cartes avec bandeau photo (facteurs propres au terrain) */
.fz-cartes--photo .fz-carte{ padding-top:0; border-top:0; overflow:hidden; }
.fz-carte-photo{ display:block; height:96px; margin:0 -18px 12px -20px; background:var(--fz-bande) var(--img,none) center/cover; border-bottom:3px solid var(--fz-humus); }

/* Page ville : photo de la ville sur toute la largeur du texte ; colonne de droite pleine (collante) */
.fz-article--ville .fz-ville-photo{ aspect-ratio:680/300; border-radius:40px/50%; box-shadow:0 18px 30px -22px rgba(38,32,25,.7); }
.fz-article--ville .sbt-rail{ gap:14px; }
.fz-article--ville .sbt-rail .fz-terrain{ margin:0; grid-template-columns:34px minmax(0,1fr); }
.fz-article--ville .sbt-rail .fz-terrain-fiche{ padding:12px 14px 8px; }
.fz-article--ville .sbt-rail .fz-terrain-titre{ font-size:1.15rem; margin-bottom:4px!important; }
.fz-article--ville .sbt-rail .fz-terrain-liste > div{ grid-template-columns:minmax(0,1fr); gap:0; padding:6px 0; }
.fz-article--ville .sbt-rail .fz-terrain-liste dt{ font-size:.8rem; }
.fz-article--ville .sbt-rail .fz-terrain-liste dd{ font-size:.92rem; line-height:1.35; }
.fz-rail-devis{ position:relative; padding:0 16px 16px; background:var(--fz-humus); color:var(--fz-calcaire); border-radius:6px; overflow:hidden; }
.fz-rail-devis-photo{ display:block; height:96px; margin:0 -16px 12px; background:var(--fz-marne) var(--img,none) center/cover; border-bottom:3px solid var(--fz-brique); }
.fz-rail-devis .fz-rail-lien-titre{ color:var(--fz-calcaire); font-size:1.25rem; margin:0 0 .25em; }
.fz-rail-devis p{ font-size:.92rem; color:rgba(241,237,227,.86); margin:0 0 .7em; }
.fz-rail-devis .fz-btn{ width:100%; min-height:46px; }
.fz-ville-js .sbt-rail.est-caisse .fz-rail-devis{ display:none; }
.sbt-rail.est-caisse .fz-caisse{ order:-1; }
@media (max-height:899px){ .fz-ville-js .sbt-rail.est-caisse .fz-voisines{ display:none; } }
