/* Polices auto-hébergées (woff2, sous-ensemble latin). Noms de fichiers attendus : voir FONTS-A-TELECHARGER.txt */
@font-face{ font-family:'Zilla Slab'; font-style:normal; font-weight:600; font-display:swap; src:url(../fonts/zilla-slab-600-latin.woff2) format('woff2'); }
@font-face{ font-family:'Zilla Slab'; font-style:normal; font-weight:700; font-display:swap; src:url(../fonts/zilla-slab-700-latin.woff2) format('woff2'); }
@font-face{ font-family:'Fira Sans'; font-style:normal; font-weight:400; font-display:swap; src:url(../fonts/fira-sans-400-latin.woff2) format('woff2'); }
@font-face{ font-family:'Fira Sans'; font-style:normal; font-weight:500; font-display:swap; src:url(../fonts/fira-sans-500-latin.woff2) format('woff2'); }
@font-face{ font-family:'Fira Sans'; font-style:normal; font-weight:600; font-display:swap; src:url(../fonts/fira-sans-600-latin.woff2) format('woff2'); }
@font-face{ font-family:'Fira Sans'; font-style:italic; font-weight:400; font-display:swap; src:url(../fonts/fira-sans-400-italic-latin.woff2) format('woff2'); }

/*
Theme Name: Centennial — Cordeau
Theme URI: https://centennialfencing.com/
Author: Centennial
Description: Thème code-pur de centennialfencing.com. Motif unique : le cordeau rose du poseur, tendu sur une clôture qui monte en escalier (poteau + travée + cote).
Version: 1.0.0
Text Domain: cf-cordeau
Requires at least: 6.0
Requires PHP: 7.4
*/

/*
 * 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.
 */

.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='%232563eb' 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).
 */

.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 rgba(255,255,255,.5); color: inherit; }

.sbt-footer{ background: var(--sb-fonce, #141733); color: var(--sb-sur-fonce, #ffffff); padding-block: clamp(40px,6vw,64px) 24px; }
.sbt-footer a{ color: #c4c7e4; text-decoration: none; }
.sbt-footer a:hover{ color: #fff; }
.sbt-footer a.sbt-btn, .sbt-footer a.sbt-btn:hover{ color: #fff; } /* 10/10/2026 (blueau.fr) : « .sbt-footer a » battait la couleur du bouton (texte gris sur accent, 4,25:1) */

.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 rgba(255,255,255,.12);
}
@media (max-width: 600px){ .sbt-footer-cta{ padding: 20px; } } /* 04/10/2026 (invalidcast.com) : texte collé au bord dès qu'un thème donne un fond de carte au bandeau */
.sbt-footer-cta .sbt-t3{ color: #fff; margin: 0 0 4px; font-size: 1.25rem; }
.sbt-footer-cta p{ color: #a9acd0; 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 rgba(255,255,255,.12); }
@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: #8b8fb5; 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: #fff; margin-bottom: 14px; }
.sbt-footer-desc{ color: #a9acd0; 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: #8b8fb5; }

/* 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. */
.sbt-cookies{
	position: fixed; left: 8px; right: 8px; bottom: 8px; z-index: 80;
	background: var(--sb-fonce, #141733); color: #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). */
.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(15,23,42,.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; }

/*
 * cf-cordeau — feuille du site (centennialfencing.com, « Centennial »).
 * Assemblée au déploiement en assets/css/tout.css : fonts.css + style.css + blocs/*.css + app.css.
 * Ce fichier passe donc APRÈS les blocs figés : il les habille par variables --sb-* et par surcharges
 * de même spécificité (jamais de changement de structure).
 *
 * Motif unique : poteau Fer + travée + cordeau rose de 3 px + cote écrite sur le poteau.
 * Palette : Lait #F7F6F1 · Fer #23272B · Vert grillage #2D5440 · Rose cordeau #FF4F8B (+ blanc, + transparences).
 * Le rose ne porte JAMAIS de texte sur fond clair ; le texte posé sur rose est en Fer (4,8:1).
 * Mode clair uniquement.
 */

/* ===================================================================== 1. Jetons */
:root{
	--lait:#F7F6F1; --fer:#23272B; --vert:#2D5440; --rose:#FF4F8B;
	--doux:rgba(35,39,43,.74);          /* texte secondaire : 5,9:1 sur Lait */
	--filet:rgba(35,39,43,.16);
	--titre:'Zilla Slab','Kreon',Georgia,'Times New Roman',serif;
	--texte:'Fira Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
	--cf-marge:28px;
	--cf-entete:72px;

	/* Variables des blocs figés (single-article, rail, sommaire, encadrés, FAQ, auteur, pied) */
	--sb-conteneur:1280px; --sb-lecture:720px; --sb-rail:360px; --sb-gouttiere:28px;
	--sb-accent:var(--rose); --sb-accent-clair:var(--lait);
	--sb-encre:var(--fer); --sb-doux:var(--doux); --sb-filet:var(--filet);
	--sb-fond-carte:#fff; --sb-surf:rgba(35,39,43,.05);
	--sb-fonce:var(--vert); --sb-sur-fonce:#fff;
	--sb-rayon:2px; --sb-rayon-grand:3px;
	--sb-ombre:0 6px 18px rgba(35,39,43,.10); --sb-ombre-forte:0 14px 34px rgba(35,39,43,.18);
	--sb-titre:var(--titre); --sb-texte:var(--texte);
}
@media (max-width:640px){ :root{ --cf-marge:20px; --sb-gouttiere:20px; --cf-entete:64px; } }

/* ===================================================================== 2. Base */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-padding-top:calc(var(--cf-entete) + 16px); }
body.cf-corps{ margin:0; background:var(--lait); color:var(--fer); font:400 1.0625rem/1.6 var(--texte); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden; }
img,svg{ max-width:100%; }
img{ height:auto; }
h1,h2,h3,h4{ font-family:var(--titre); font-weight:700; line-height:1.12; margin:0 0 .5em; color:var(--fer); text-wrap:balance; }
p{ margin:0 0 1em; }
a{ color:inherit; text-underline-offset:3px; }
button{ font-family:inherit; }
.cf-sr{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.cf-evitement{ position:absolute; left:12px; top:-60px; z-index:100; background:var(--fer); color:#fff; padding:12px 18px; font-weight:600; text-decoration:none; }
.cf-evitement:focus{ top:8px; }
:focus-visible{ outline:3px solid var(--fer); outline-offset:3px; box-shadow:0 0 0 3px var(--rose); }
.cf-avant :focus-visible, .sbt-cookies :focus-visible{ outline-color:#fff; }
.cf-c{ width:min(1280px, calc(100% - 2 * var(--cf-marge))); margin-inline:auto; }
.cf-main{ display:block; }
::selection{ background:var(--rose); color:var(--fer); }

/* Boutons : gros, nets, angles droits (la clôture n'a pas de coin arrondi) */
.cf-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 24px; font:600 1rem/1.1 var(--texte); text-decoration:none; color:var(--fer); background:#fff; border:2px solid var(--fer); border-radius:2px; cursor:pointer; transition:background-color .18s, color .18s, transform .18s, box-shadow .18s; }
.cf-btn:hover{ transform:translateY(-2px); box-shadow:3px 3px 0 var(--fer); }
.cf-btn--rose{ background:var(--rose); border-color:var(--rose); color:var(--fer); }
.cf-btn--rose:hover{ background:var(--fer); border-color:var(--fer); color:var(--lait); box-shadow:3px 3px 0 var(--rose); }
.cf-btn--fer{ background:var(--fer); color:var(--lait); }
.cf-btn--fer:hover{ background:var(--rose); border-color:var(--rose); color:var(--fer); box-shadow:3px 3px 0 var(--fer); }
.cf-btn[disabled]{ opacity:.42; cursor:not-allowed; transform:none; box-shadow:none; }
.cf-btn .cf-picto, .cf-lien-fleche .cf-picto{ width:20px; height:20px; flex:none; }
.cf-lien-fleche{ display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--vert); }
.cf-lien-fleche:hover{ color:var(--fer); }

/* ===================================================================== 3. En-tête collant */
.cf-entete{ position:sticky; top:0; z-index:60; background:var(--lait); border-bottom:2px solid var(--fer); }
.cf-entete-interieur{ display:flex; align-items:center; gap:22px; width:min(1360px, calc(100% - 40px)); margin-inline:auto; min-height:var(--cf-entete); }
.cf-entete-logo{ display:inline-flex; text-decoration:none; color:var(--fer); flex:none; }
.cf-logo{ display:inline-flex; align-items:center; gap:10px; }
.cf-logo-symbole{ width:26px; height:36px; display:block; flex:none; }
.cf-logo-nom{ font:700 1.625rem/1 var(--titre); letter-spacing:-.012em; }
.cf-nav{ display:flex; align-items:center; justify-content:space-between; gap:18px; flex:1; min-width:0; align-self:stretch; }
.cf-nav-liste{ display:flex; align-items:stretch; gap:0; list-style:none; margin:0; padding:0; align-self:stretch; }
.cf-nav-item{ display:flex; position:relative; }
.cf-nav-item a{ display:flex; align-items:center; position:relative; padding:0 9px; font-size:.9375rem; font-weight:500; color:var(--fer); text-decoration:none; white-space:nowrap; }
.cf-nav-item a:hover{ color:var(--vert); }
.cf-nav-cordeau{ position:absolute; left:9px; right:9px; bottom:-2px; height:4px; background:var(--rose); opacity:0; transform:scaleX(.4); transform-origin:left; transition:opacity .18s, transform .22s; }
.cf-nav-item:hover .cf-nav-cordeau{ opacity:.55; transform:none; }
.cf-nav-item.est-actif .cf-nav-cordeau{ opacity:1; transform:none; }
.cf-nav-item.est-actif a{ font-weight:600; }
.cf-nav-poteau{ display:none; }
.cf-nav-bas{ display:flex; align-items:center; gap:14px; flex:none; }
.cf-nav-loupe{ display:none; }
.cf-nav-cta{ min-height:44px; padding:0 18px; font-size:.9375rem; }
.cf-menu-bouton{ display:none; margin-left:auto; align-items:center; gap:8px; min-height:44px; padding:0 14px; background:#fff; color:var(--fer); border:2px solid var(--fer); font:600 1rem/1 var(--texte); cursor:pointer; }
.cf-menu-bouton .cf-picto{ width:22px; height:22px; }

@media (max-width:1179px){
	.cf-menu-bouton{ display:inline-flex; }
	.cf-nav{ position:fixed; left:0; right:0; top:var(--cf-entete); bottom:0; z-index:70; display:none; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:22px; padding:6px 20px 28px; background:var(--lait); overflow-y:auto; border-top:2px solid var(--fer); }
	.cf-nav.est-ouvert{ display:flex; }
	body.cf-menu-ouvert{ overflow:hidden; }
	.cf-nav-liste{ flex-direction:column; align-self:stretch; }
	.cf-nav-item{ border-bottom:2px solid var(--fer); }
	.cf-nav-item a{ flex:1; padding:17px 34px 17px 0; font:700 1.5rem/1.15 var(--titre); }
	.cf-nav-cordeau{ left:0; right:auto; width:54px; bottom:9px; height:3px; }
	.cf-nav-item:hover .cf-nav-cordeau{ opacity:0; }
	.cf-nav-item.est-actif .cf-nav-cordeau{ opacity:1; }
	.cf-nav-poteau{ display:block; position:absolute; right:2px; bottom:0; width:16px; height:calc(16px + var(--cf-n) * 5px); background:var(--fer); clip-path:polygon(0 8px, 50% 0, 100% 8px, 100% 100%, 0 100%); }
	.cf-nav-bas{ flex-direction:column; align-items:stretch; gap:14px; }
	.cf-nav-loupe{ display:inline-flex; align-items:center; gap:10px; min-height:48px; padding:0 4px; font-weight:600; color:var(--fer); text-decoration:underline; }
	.cf-nav-loupe .cf-picto{ width:22px; height:22px; }
	.cf-nav-cta{ min-height:56px; font-size:1.0625rem; }
}

/* ===================================================================== 4. Cordeau séparateur de section */
.cf-section{ position:relative; padding:60px 0 64px; }
.cf-cordon{ position:absolute; top:-1px; left:max(var(--cf-marge), calc((100% - 1280px) / 2)); right:max(var(--cf-marge), calc((100% - 1280px) / 2)); height:3px; z-index:6; pointer-events:none; }
.cf-cordon b{ position:absolute; inset:0; background:var(--rose); border-radius:2px; }
.cf-cordon i{ position:absolute; top:-9px; width:12px; height:21px; background:var(--fer); border-radius:3px; }
.cf-cordon i:first-child{ left:-6px; } .cf-cordon i:last-child{ right:-6px; }
.cf-cordon--a{ transform:rotate(.3deg); } .cf-cordon--b{ transform:rotate(-.3deg); }
.cf-h2{ font-size:clamp(1.7rem, 2.6vw, 2.25rem); line-height:1.1; letter-spacing:-.01em; margin:0 0 8px; }
.cf-section-tete{ margin-bottom:28px; max-width:72ch; }
.cf-section-chapo{ margin:0; color:var(--doux); font-size:1.0625rem; }

/* ===================================================================== 5. Premier écran : la clôture en escalier */
.cf-hero.cf-section{ padding:14px 0 0; background:var(--lait); overflow-x:clip; }
.cf-hero-titre{ font-size:clamp(2.1rem, 3.9vw, 3.375rem); line-height:1.03; letter-spacing:-.015em; margin:0 0 10px; }
.cf-hero-titre span{ display:block; }
.cf-hero-chapo{ margin:0 0 14px; font-size:1.0625rem; line-height:1.5; color:var(--doux); max-width:none; }
.cf-chapo-court{ display:none; }

.cf-cloture{ position:relative; height:470px; --sol:3px; }
.cf-poteau{ position:absolute; z-index:3; left:var(--x); bottom:var(--sol); width:1.5%; height:var(--hp); background:var(--fer); clip-path:polygon(0 22px, 50% 0, 100% 22px, 100% 100%, 0 100%); }
.cf-poteau-cote{ position:absolute; left:50%; bottom:12px; writing-mode:vertical-rl; transform:translateX(-50%) rotate(180deg); font:600 .75rem/1 var(--texte); letter-spacing:.04em; color:var(--lait); white-space:nowrap; font-variant-numeric:tabular-nums; }
.cf-trav{ position:absolute; z-index:1; left:var(--x); width:var(--w); height:var(--h); bottom:var(--sol); }
.cf-trav--photo{ display:block; overflow:hidden; background:var(--vert); color:#fff; text-decoration:none; }
.cf-trav-photo, .cf-trav-photo img, .cf-trav-photo .cf-repli{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.cf-trav-photo img{ object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.cf-trav--photo:hover .cf-trav-photo img{ transform:scale(1.05); }
.cf-trav-nom{ position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column; gap:1px; padding:9px 10px 10px; background:var(--fer); color:#fff; }
.cf-trav-nom strong{ font:700 1rem/1.15 var(--titre); }
.cf-trav-nom small{ font-size:.75rem; line-height:1.2; color:rgba(255,255,255,.8); }
.cf-trav--form{ background:var(--lait); border:2px solid var(--fer); }
.cf-sol{ position:absolute; z-index:2; left:-1.5%; right:-1.5%; bottom:0; height:3px; background:var(--fer); }
.cf-cordeau-svg{ position:absolute; inset:0; width:100%; height:100%; z-index:4; overflow:visible; pointer-events:none; }
.cf-pince{ position:absolute; z-index:5; width:14px; height:20px; background:var(--fer); border-radius:3px; }
.cf-pince::after{ content:""; position:absolute; left:2px; right:2px; top:50%; height:3px; margin-top:-1.5px; background:var(--rose); }
.cf-pince--g{ left:calc(-1% - 8px); bottom:213px; }
.cf-pince--d{ left:calc(101% - 6px); bottom:429px; }
.cf-js .cf-cordeau-svg{ animation:cf-trace .9s cubic-bezier(.3,.6,.2,1) backwards; }
@keyframes cf-trace{ from{ clip-path:inset(-30px 100% -30px -3%); } to{ clip-path:inset(-30px -3% -30px -3%); } }

/* Repli d'une photo manquante : aplat Vert grillage + lames et cordeau dessinés, jamais une case vide */
.cf-repli{ background:var(--vert) repeating-linear-gradient(90deg, rgba(255,255,255,.1) 0 2px, transparent 2px 18px); position:relative; display:block; min-height:100%; }
.cf-repli-cordeau{ position:absolute; left:0; right:0; top:34%; height:3px; background:var(--rose); }

/* ---- L'estimateur : la travée-formulaire ---- */
.cf-form-carte{ display:flex; flex-direction:column; height:100%; padding:16px 20px 18px; background:var(--lait); color:var(--fer); position:relative; }
.cf-form-tete{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.cf-form-titre{ margin:0; font:700 1.375rem/1.1 var(--titre); letter-spacing:-.005em; }
.cf-prog{ position:relative; display:flex; align-items:flex-end; gap:24px; height:22px; padding:0 2px; }
.cf-prog::before{ content:""; position:absolute; left:-4px; right:-4px; top:5px; height:3px; background:var(--rose); }
.cf-prog i{ position:relative; display:block; width:9px; height:21px; background:rgba(35,39,43,.28); clip-path:polygon(0 6px, 50% 0, 100% 6px, 100% 100%, 0 100%); transition:background-color .2s; }
.cf-prog i.est-faite{ background:var(--vert); }
.cf-prog i.est-en-cours{ background:var(--fer); }
.cf-form-etape{ display:none; flex:1; flex-direction:column; gap:12px; min-height:0; }
.cf-form-etape.est-active{ display:flex; }
.cf-form-question{ margin:2px 0 0; font:600 1.0625rem/1.25 var(--texte); }
.cf-form-num{ display:inline-block; margin-right:6px; padding:2px 7px; background:var(--fer); color:var(--lait); font:600 .8125rem/1.3 var(--texte); font-variant-numeric:tabular-nums; vertical-align:1px; }
.cf-longueur{ display:flex; align-items:center; gap:8px; min-height:58px; padding:0 16px; background:#fff; border:2px solid var(--fer); }
.cf-longueur:focus-within{ box-shadow:0 0 0 3px var(--rose); }
.cf-longueur input{ flex:1; width:0; min-width:0; border:0; outline:0; background:transparent; font:600 1.875rem/1 var(--texte); color:var(--fer); font-variant-numeric:tabular-nums; -moz-appearance:textfield; }
.cf-longueur input::-webkit-outer-spin-button, .cf-longueur input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.cf-longueur input::placeholder{ color:rgba(35,39,43,.55); font-weight:500; }
.cf-longueur-unite{ font:600 1.375rem/1 var(--texte); color:var(--doux); }
.cf-tuiles{ display:grid; gap:8px; }
.cf-tuiles--n4{ grid-template-columns:repeat(4, minmax(0,1fr)); }
.cf-tuiles--n5{ grid-template-columns:repeat(5, minmax(0,1fr)); }
.cf-tuiles--n6{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.cf-tuile{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:58px; padding:8px 4px; background:#fff; color:var(--fer); border:2px solid var(--fer); border-radius:0; font:600 1rem/1.15 var(--texte); text-align:center; cursor:pointer; transition:transform .15s, box-shadow .15s, background-color .15s, color .15s; font-variant-numeric:tabular-nums; }
.cf-tuile:hover{ transform:translateY(-2px); box-shadow:3px 3px 0 var(--rose); }
.cf-tuile[aria-pressed="true"]{ background:var(--fer); color:var(--lait); box-shadow:3px 3px 0 var(--rose); }
.cf-tuile--motif{ min-height:74px; }
.cf-tuile-motif{ display:flex; align-items:flex-end; justify-content:center; height:34px; }
.cf-motif{ display:block; width:42px; height:28px; }
.cf-motif--poteau{ width:20px; height:34px; }
.cf-tuile-texte{ display:block; }
.cf-form-pied{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; }
.cf-form-pied .cf-btn{ min-height:52px; }
.cf-lien-retour{ display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 4px; background:none; border:0; font:600 .9375rem/1 var(--texte); color:var(--fer); text-decoration:underline; cursor:pointer; }
.cf-lien-retour .cf-picto{ width:18px; height:18px; }

/* La réponse */
.cf-rep-resume{ margin:0; font-size:.875rem; font-weight:500; color:var(--doux); }
.cf-rep-prix{ margin:0; font:600 clamp(2rem, 3vw, 2.5rem)/1.05 var(--texte); letter-spacing:-.01em; font-variant-numeric:tabular-nums; }
.cf-rep-note{ margin:0; font-size:.8125rem; line-height:1.4; color:var(--doux); }
.cf-reperes{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.cf-reperes li a{ position:relative; display:block; padding-left:17px; font-size:.875rem; line-height:1.35; color:var(--fer); }
.cf-reperes li a::before{ content:""; position:absolute; left:0; top:.28em; width:8px; height:12px; background:var(--rose); clip-path:polygon(0 3px, 50% 0, 100% 3px, 100% 100%, 0 100%); }
.cf-rep-lien{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; font:600 .9375rem/1.2 var(--texte); color:var(--vert); }
.cf-rep-lien .cf-picto{ width:18px; height:18px; }
.cf-rep-form{ display:flex; flex-direction:column; gap:9px; margin-top:auto; }
.cf-rep-champs{ display:grid; grid-template-columns:1fr 1.55fr 1fr; gap:8px; }
.cf-rep-champs input, .cf-contact-champs input, .cf-contact-form textarea, .cf-recherche input{ min-width:0; width:100%; min-height:48px; padding:0 12px; background:#fff; border:2px solid var(--fer); border-radius:0; font:400 1rem/1.2 var(--texte); color:var(--fer); }
.cf-rep-champs input::placeholder, .cf-contact-champs input::placeholder, .cf-contact-form textarea::placeholder, .cf-recherche input::placeholder{ color:rgba(35,39,43,.62); }
.cf-rep-champs input:focus, .cf-contact-champs input:focus, .cf-contact-form textarea:focus, .cf-recherche input:focus{ outline:0; box-shadow:0 0 0 3px var(--rose); }
.cf-rep-consent{ display:flex; align-items:flex-start; gap:9px; font-size:.75rem; line-height:1.35; color:var(--doux); }
.cf-rep-consent input{ flex:none; width:20px; height:20px; margin:0; accent-color:var(--vert); }
.cf-rep-consent a{ color:var(--fer); }
.cf-rep-msg{ margin:0; font-size:.8125rem; line-height:1.35; min-height:0; }
.cf-rep-msg:empty{ display:none; }
.cf-rep-msg.est-erreur{ padding-left:10px; border-left:3px solid var(--rose); font-weight:600; }
.cf-form-carte.est-envoye .cf-rep-champs, .cf-form-carte.est-envoye .cf-rep-consent{ display:none; }
.cf-form-pied--rep [type="submit"]{ gap:0; }
.cf-btn-suite{ margin-left:.3em; }

/* ---- Variante compacte : barre latérale des articles ---- */
.cf-form-carte--rail{ height:auto; padding:14px 16px 16px; border:2px solid var(--fer); }
.cf-form-carte--rail .cf-form-titre{ font-size:1.1875rem; }
.cf-form-carte--rail .cf-prog{ gap:18px; }
.cf-form-carte--rail .cf-form-etape{ gap:10px; }
.cf-form-carte--rail .cf-form-question{ font-size:1rem; }
.cf-form-carte--rail .cf-longueur{ min-height:50px; }
.cf-form-carte--rail .cf-longueur input{ font-size:1.5rem; }
.cf-form-carte--rail .cf-tuile{ min-height:50px; font-size:.9375rem; }
.cf-form-carte--rail .cf-tuile--motif{ min-height:66px; font-size:.8125rem; }
.cf-form-carte--rail .cf-tuiles--n5 .cf-tuile{ padding-inline:2px; }
.cf-form-carte--rail .cf-rep-prix{ font-size:1.875rem; }
.cf-form-carte--rail .cf-reperes, .cf-form-carte--rail .cf-champ-nom, .cf-form-carte--rail .cf-champ-cp{ display:none; }
/* Rail : e-mail + bouton sur UNE ligne, consentement dessous, retour en dernier */
.cf-form-carte--rail .cf-rep-form{ display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"mail send" "consent consent" "msg msg" "retour retour"; gap:8px; align-items:center; }
.cf-form-carte--rail .cf-rep-champs, .cf-form-carte--rail .cf-form-pied--rep{ display:contents; }
.cf-form-carte--rail .cf-rep-champs input[type="email"]{ grid-area:mail; }
.cf-form-carte--rail .cf-form-pied--rep [type="submit"]{ grid-area:send; min-height:48px; padding:0 16px; }
.cf-form-carte--rail .cf-form-pied--rep [data-cf-retour]{ grid-area:retour; justify-self:start; min-height:36px; }
.cf-form-carte--rail .cf-rep-consent{ grid-area:consent; }
.cf-form-carte--rail .cf-rep-msg{ grid-area:msg; }
.cf-form-carte--rail .cf-btn-suite{ display:none; }
.cf-rail-estim{ order:-1; }

/* ===================================================================== 6. Palissade des rubriques */
.cf-palissade{ background:#fff; }
.cf-palissade-liste{ position:relative; list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); gap:8px; }
.cf-palissade-liste::before{ content:""; position:absolute; z-index:3; left:-14px; right:-14px; top:118px; height:3px; background:var(--rose); border-radius:2px; pointer-events:none; }
.cf-pal-item{ filter:drop-shadow(0 8px 12px rgba(35,39,43,.16)); }
.cf-pal{ position:relative; display:block; height:400px; overflow:hidden; background:var(--vert); color:#fff; text-decoration:none; clip-path:polygon(0 34px, 50% 0, 100% 34px, 100% 100%, 0 100%); }
.cf-pal-photo, .cf-pal-photo img, .cf-pal-photo .cf-repli{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.cf-pal-photo img{ object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.cf-pal:hover .cf-pal-photo img{ transform:scale(1.05); }
.cf-pal-texte{ position:absolute; left:0; right:0; bottom:0; min-height:88px; display:flex; flex-direction:column; justify-content:center; gap:3px; padding:12px 12px 14px; background:var(--fer); color:#fff; }
.cf-pal-texte strong{ font:700 1.0625rem/1.15 var(--titre); }
.cf-pal-texte small{ font-size:.8125rem; color:rgba(255,255,255,.8); }

/* ===================================================================== 7. Cartes lames */
.cf-lames{ display:grid; gap:14px; align-items:stretch; }
.cf-lames--rail{ grid-template-columns:repeat(6, minmax(0,1fr)); }
.cf-lame{ display:flex; filter:drop-shadow(0 6px 10px rgba(35,39,43,.13)); }
.cf-lame-lien{ flex:1; display:flex; flex-direction:column; min-width:0; background:#fff; color:var(--fer); text-decoration:none; clip-path:polygon(0 36px, 50% 0, 100% 36px, 100% 100%, 0 100%); }
.cf-lame-photo{ display:block; aspect-ratio:1 / 1.02; overflow:hidden; border-bottom:3px solid var(--rose); background:var(--vert); }
.cf-lame-photo img, .cf-lame-photo .cf-repli{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.cf-lame-lien:hover .cf-lame-photo img{ transform:scale(1.045); }
.cf-lame-corps{ flex:1; display:flex; flex-direction:column; gap:6px; padding:12px 13px 14px; }
.cf-lame-rub{ font:600 .75rem/1.1 var(--texte); text-transform:uppercase; letter-spacing:.09em; color:var(--vert); }
.cf-lame-titre{ margin:0; min-height:calc(1.2em * 3); font:700 1.0625rem/1.2 var(--titre); display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; text-wrap:pretty; }
.cf-lame-extrait{ display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; overflow:hidden; font-size:.8125rem; line-height:1.4; color:var(--doux); }
.cf-lame-pied{ margin-top:auto; display:flex; gap:6px; flex-wrap:wrap; font-size:.8125rem; color:var(--doux); font-variant-numeric:tabular-nums; }
.cf-lame-lien:focus-visible{ outline-offset:-3px; }
.cf-derniers{ background:var(--lait); }

/* Listes (rubrique, auteur, recherche) : lames de 292 px, rangées pleines ou centrées, jamais de case vide */
.cf-lames--liste{ display:flex; flex-wrap:wrap; justify-content:center; gap:18px 16px; }
.cf-lames--liste .cf-lame{ flex:0 1 292px; }
.cf-lames--liste .cf-lame-photo{ aspect-ratio:1 / .9; }

/* ===================================================================== 8. Avant de poser (Vert grillage) */
.cf-avant{ background:var(--vert); color:#fff; }
.cf-avant .cf-h2{ color:#fff; }
.cf-avant .cf-section-chapo{ color:rgba(255,255,255,.9); }
.cf-reperes-reg{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); align-items:start; }
.cf-rep-reg{ position:relative; padding:4px 30px 0; border-left:3px solid rgba(247,246,241,.42); }
.cf-rep-reg:first-child{ padding-left:0; border-left:0; }
.cf-rep-reg:last-child{ padding-right:0; }
.cf-rep-reg + .cf-rep-reg::before{ content:""; position:absolute; left:-9px; top:-16px; width:15px; height:26px; background:var(--lait); clip-path:polygon(0 8px, 50% 0, 100% 8px, 100% 100%, 0 100%); }
.cf-rep-reg-titre{ margin:0 0 10px; font:700 1.25rem/1.2 var(--titre); color:#fff; }
.cf-rep-reg-chiffres{ display:flex; flex-wrap:wrap; gap:6px 28px; margin:0 0 14px; font:600 1.25rem/1 var(--texte); font-variant-numeric:tabular-nums; }
.cf-chif{ display:flex; flex-direction:column; gap:6px; }
.cf-rep-reg-chiffres b{ font:600 3.25rem/.95 var(--texte); letter-spacing:-.02em; }
.cf-rep-reg-chiffres small{ font:400 .8125rem/1.3 var(--texte); color:rgba(255,255,255,.88); max-width:17ch; }
.cf-rep-reg-texte{ margin:0 0 14px; font-size:.96875rem; line-height:1.55; color:rgba(255,255,255,.94); }
.cf-rep-reg-lien{ display:inline-flex; align-items:center; gap:8px; font-weight:600; color:#fff; text-decoration:underline; text-decoration-color:var(--rose); text-decoration-thickness:3px; text-underline-offset:5px; }
.cf-rep-reg-lien:hover{ text-decoration-color:#fff; }
.cf-rep-reg-lien .cf-picto{ width:18px; height:18px; flex:none; }

/* ===================================================================== 9. La règle des prix */
.cf-prix{ background:var(--lait); }
.cf-regle{ position:relative; }
.cf-regle-ligne{ display:grid; grid-template-columns:270px minmax(0,1fr) 128px; align-items:center; min-height:50px; border-bottom:1px solid var(--filet); }
.cf-regle-ligne--grad{ border-bottom:0; min-height:40px; }
.cf-regle-nom{ padding-right:18px; font-size:1rem; font-weight:500; line-height:1.25; }
.cf-regle-ligne--grad .cf-regle-nom{ font-size:.8125rem; font-weight:600; color:var(--doux); }
.cf-regle-piste{ position:relative; height:50px; background:linear-gradient(to right, rgba(35,39,43,.16) 1px, transparent 1px) 0 0 / 20% 100%; border-right:1px solid rgba(35,39,43,.16); }
.cf-regle-grad{ height:40px; background:none; border-right:0; border-bottom:2px solid var(--fer); }
.cf-regle-grad::before, .cf-regle-grad::after{ content:""; position:absolute; left:0; right:0; bottom:0; pointer-events:none; }
.cf-regle-grad::before{ height:8px; background:repeating-linear-gradient(to right, var(--fer) 0 1px, transparent 1px 5%); }
.cf-regle-grad::after{ height:16px; background:repeating-linear-gradient(to right, var(--fer) 0 2px, transparent 2px 20%); }
.cf-grad-n{ position:absolute; top:3px; transform:translateX(-50%); font:600 .8125rem/1 var(--texte); font-variant-numeric:tabular-nums; }
.cf-grad-n:first-child{ transform:none; }
.cf-grad-n:last-child{ transform:translateX(-100%); }
.cf-barre{ position:absolute; top:14px; height:22px; left:var(--g); width:var(--d); background:var(--vert); }
.cf-barre::before, .cf-barre::after{ content:""; position:absolute; top:-8px; bottom:-8px; width:3px; background:var(--rose); }
.cf-barre::before{ left:-1.5px; } .cf-barre::after{ right:-1.5px; }
.cf-regle-val{ padding-left:16px; text-align:right; white-space:nowrap; font:600 .9375rem/1 var(--texte); font-variant-numeric:tabular-nums; color:var(--fer); }
.cf-prix-pied{ margin:28px 0 0; }

/* ===================================================================== 10. La rédaction */
.cf-redaction{ background:#fff; }
.cf-redaction-grille{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:56px; align-items:start; }
.cf-redaction-phrase{ font-size:1.125rem; line-height:1.55; margin:0 0 16px; max-width:52ch; }
.cf-equipe{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.cf-equipier{ display:grid; grid-template-columns:96px minmax(0,1fr); gap:18px; align-items:center; padding:16px 18px; background:var(--lait); border:2px solid var(--fer); }
.cf-equipier-photo{ display:block; width:96px; height:96px; border-radius:50%; overflow:hidden; box-shadow:0 0 0 3px var(--rose); background:var(--vert); }
.cf-equipier-photo img, .cf-equipier-photo svg{ width:96px; height:96px; object-fit:cover; display:block; border-radius:50%; }
.cf-equipier-nom{ margin:0 0 4px; font:700 1.3125rem/1.15 var(--titre); }
.cf-equipier-nom a{ text-decoration:none; }
.cf-equipier-nom a:hover{ text-decoration:underline; }
.cf-equipier-bio{ margin:0 0 6px; font-size:.9375rem; line-height:1.45; color:var(--doux); }
.cf-equipier-nb{ margin:0; font-size:.8125rem; font-weight:600; color:var(--vert); }

/* ===================================================================== 11. Article : en-tête neuf (bande Vert grillage + lame à pointe) */
.cf-art-entete{ position:relative; z-index:2; background:var(--vert); color:#fff; padding:6px 0 0; }
.cf-art-haut{ max-width:var(--sb-conteneur); margin-inline:auto; padding-inline:var(--sb-gouttiere); }
.cf-art-entete .sbt-fil-ariane{ padding-block:12px 10px; color:rgba(255,255,255,.88); }
.cf-art-entete .sbt-fil-ariane a{ color:#fff; text-decoration:underline; text-decoration-color:rgba(255,255,255,.45); }
.cf-art-entete .sbt-fil-ariane a:hover{ color:#fff; text-decoration-color:var(--rose); }
.cf-art-grille{ display:grid; grid-template-columns:minmax(0,var(--sb-lecture)) var(--sb-rail); column-gap:56px; justify-content:center; max-width:var(--sb-conteneur); margin-inline:auto; padding:0 var(--sb-gouttiere) 40px; align-items:start; }
.cf-art-texte{ min-width:0; }
.cf-art-pastille{ display:inline-block; margin-bottom:14px; padding:6px 12px 5px; background:var(--lait); color:var(--fer); font:600 .75rem/1.2 var(--texte); text-transform:uppercase; letter-spacing:.09em; text-decoration:none; }
.cf-art-pastille:hover{ background:var(--rose); }
.cf-art-titre{ margin:0; color:#fff; font-size:clamp(1.9rem, 3.1vw, 2.75rem); line-height:1.1; letter-spacing:-.012em; text-wrap:balance; }
.cf-art-cordeau{ position:relative; display:block; height:3px; margin:20px 0 18px; background:var(--rose); }
.cf-art-cordeau::before{ content:""; position:absolute; left:-6px; top:-9px; width:12px; height:21px; background:var(--fer); border-radius:3px; }
.cf-art-chapo{ margin:0 0 18px; font-size:clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height:1.5; font-style:normal; color:rgba(255,255,255,.95); max-width:60ch; }
.cf-art-meta{ display:flex; align-items:center; gap:12px; }
.cf-art-meta img, .cf-art-meta svg{ width:44px; height:44px; border-radius:50%; object-fit:cover; flex:none; box-shadow:0 0 0 2px var(--rose); }
.cf-art-meta-texte{ display:flex; flex-direction:column; gap:1px; font-size:.875rem; color:rgba(255,255,255,.92); }
.cf-art-auteur{ color:#fff; font-weight:600; font-size:1rem; text-decoration:none; }
.cf-art-auteur:hover{ text-decoration:underline; }
.cf-art-photo{ display:flex; align-items:stretch; gap:12px; align-self:stretch; min-height:380px; max-height:520px; margin-bottom:-64px; }
.cf-art-poteau{ position:relative; flex:none; width:22px; background:var(--fer); clip-path:polygon(0 12px, 50% 0, 100% 12px, 100% 100%, 0 100%); align-self:stretch; }
.cf-art-poteau-cote{ position:absolute; left:50%; bottom:16px; writing-mode:vertical-rl; transform:translateX(-50%) rotate(180deg); font:600 .8125rem/1 var(--texte); letter-spacing:.04em; color:var(--lait); white-space:nowrap; font-variant-numeric:tabular-nums; }
.cf-art-cadre{ flex:1; min-width:0; display:flex; filter:drop-shadow(0 12px 20px rgba(35,39,43,.28)); }
.cf-art-cadre-ext{ flex:1; display:flex; padding:3px; background:var(--rose); clip-path:polygon(0 58px, 50% 0, 100% 58px, 100% 100%, 0 100%); }
.cf-art-cadre-int{ flex:1; position:relative; overflow:hidden; background:var(--lait); clip-path:polygon(0 56px, 50% 0, 100% 56px, 100% 100%, 0 100%); }
.cf-art-cadre-int img, .cf-art-cadre-int .cf-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; margin:0; border-radius:0; }

/* Corps de l'article (bloc figé) : habillage */
.sbt-article-mise-en-page{ column-gap:56px; padding-top:40px; }
.sbt-article-mise-en-page .sbt-rail{ margin-top:0; top:calc(var(--cf-entete) + 14px); }
.sbt-article-corps{ font-size:1.0625rem; line-height:1.7; }
.sbt-article-corps p{ margin-bottom:1.2em; }
.sbt-article-corps a{ color:var(--vert); text-decoration-thickness:1.5px; }
.sbt-article-corps a:hover{ color:var(--fer); text-decoration-color:var(--rose); }
.sbt-article-corps h2{ position:relative; margin-top:2.1em; padding-top:20px; font-size:clamp(1.5rem, 2vw, 1.875rem); line-height:1.15; letter-spacing:-.005em; scroll-margin-top:calc(var(--cf-entete) + 20px); }
.sbt-article-corps h2::before{ content:""; position:absolute; top:0; left:0; width:48px; height:3px; background:var(--rose); }
.sbt-article-corps h3{ font-size:1.3125rem; }
.sbt-article-corps img{ border-radius:0; }
.sbt-article-corps ul, .sbt-article-corps ol{ padding-left:1.3em; margin:0 0 1.2em; }
.sbt-article-corps li{ margin-bottom:.4em; }
.sbt-article-corps blockquote{ margin:1.8em 0; padding:18px 24px; background:var(--sb-surf); border-left:0; border-top:3px solid var(--rose); border-radius:0; font-style:normal; font-size:1.125rem; font-family:var(--titre); font-weight:600; }
.sbt-article-corps h2:has(+ p.cf-sources){ padding-top:0; margin-top:2.4em; font-size:1rem; font-family:var(--texte); font-weight:600; color:var(--doux); }
.sbt-article-corps h2:has(+ p.cf-sources)::before{ display:none; }
.sbs_tableau{ overflow-x:auto; margin:1.5em 0; -webkit-overflow-scrolling:touch; }
.sbs_tableau table{ border-collapse:collapse; width:100%; min-width:480px; font-size:.9375rem; }
.sbs_tableau th{ background:var(--fer); color:#fff; text-align:left; padding:10px 12px; font-weight:600; }
.sbs_tableau td{ padding:10px 12px; border-bottom:1px solid var(--filet); }

/* Barre latérale : sommaire + estimateur en UN bloc collant */
.sbt-rail{ gap:14px; border-left:0; padding-left:0; }
.sbt-rail-carte{ border:2px solid var(--fer); border-radius:0; background:#fff; padding:14px 16px; }
.sbt-sommaire{ border:0; border-left:0; padding:0; background:transparent; border-radius:0; }
.sbt-sommaire-titre{ font-size:1.0625rem; margin-bottom:2px; display:block; }
.sbt-sommaire ol{ gap:2px; margin-top:10px; }
.sbt-sommaire li a{ align-items:flex-start; gap:10px; padding:5px 0; font-size:.875rem; line-height:1.3; }
.sbt-sommaire li a:hover{ color:var(--vert); }
.sbt-sommaire li a:hover .sbt-sommaire-libelle{ text-decoration:underline; text-decoration-color:var(--rose); text-decoration-thickness:2px; }
.sbt-sommaire-libelle{ display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.sbt-sommaire-num{ border-radius:0; background:var(--fer); color:var(--lait); width:24px; height:20px; font-size:.75rem; font-variant-numeric:tabular-nums; margin-top:1px; }
.sbt-sommaire li.est-lu .sbt-sommaire-num{ background:var(--rose); color:var(--fer); }
.sbt-rail.est-serre .sbt-sommaire li a{ padding:2px 0; font-size:.8125rem; }
.sbt-rail.est-serre .sbt-sommaire ol{ margin-top:6px; }
.sbt-sommaire-mobile .sbt-sommaire{ border:2px solid var(--fer); padding:12px 16px; background:#fff; }

/* « À lire aussi » : section pleine largeur, lames, jamais de case vide */
.cf-alire{ background:#fff; padding:52px 0 64px; border-top:2px solid var(--fer); }
.cf-alire .cf-h2{ margin-bottom:22px; }
.cf-alire .cf-lames--liste{ justify-content:flex-start; }

/* ===================================================================== 12. Blocs figés : habillage */
.sbt-btn{ background:var(--rose); color:var(--fer); border:2px solid var(--rose); border-radius:2px; min-height:52px; padding:0 24px; font-weight:600; }
.sbt-btn:hover{ background:var(--fer); border-color:var(--fer); color:var(--lait); box-shadow:3px 3px 0 var(--rose); }
.sbt-btn--petit{ min-height:44px; padding:0 18px; font-size:.9375rem; }
.sbt-btn--fantome{ background:transparent; border:2px solid currentColor; color:inherit; }

/* Encadrés */
.sbt-encadre{ border-radius:0; margin-block:2.2em; }
.sbt-encadre--retenir{ border-top:4px solid var(--rose); padding:26px 28px; }
.sbt-encadre--retenir .sbt-encadre-titre{ color:var(--lait); font-size:.9375rem; text-transform:none; letter-spacing:0; font-family:var(--titre); font-size:1.25rem; }
.sbt-retenir-liste li{ color:#fff; }
.sbt-retenir-liste li::before{ border-radius:0; background:var(--rose) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2323272B' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
.sbt-encadre--saviez{ border:2px solid var(--fer); background:#fff; }
.sbt-encadre--saviez::before{ border-radius:0; background:var(--rose); color:var(--fer); }
.sbt-encadre--saviez .sbt-encadre-titre{ text-transform:none; letter-spacing:0; font-size:1.125rem; }
/* un encadré sombre garde un texte clair, un encadré clair un texte foncé (jamais de boîte illisible) */
.sbt-encadre--retenir p, .sbt-encadre--retenir li{ color:#fff; }
.sbt-encadre--saviez p, .sbt-encadre--saviez li{ color:var(--fer); }

/* FAQ en accordéon */
.sbt-faq{ border-radius:0; background:var(--sb-surf); border:0; border-top:4px solid var(--fer); }
.sbt-faq-liste details{ border-radius:0; border:2px solid var(--fer) !important; }
.sbt-faq-liste details[open]{ border-color:var(--fer) !important; box-shadow:4px 4px 0 var(--rose); }
.sbt-faq-liste summary:hover{ color:var(--vert); }
.sbt-faq-liste summary::after{ border-radius:0; background:var(--fer) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F7F6F1' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 15px no-repeat; }

/* Boîte auteur */
.sbt-auteur{ border-radius:0; background:#fff; border:2px solid var(--fer); box-shadow:6px 6px 0 var(--rose); margin:56px 6px 14px 0; }
.sbt-auteur-photo img, .sbt-auteur-photo svg{ border-radius:50%; box-shadow:0 0 0 4px #fff, 0 0 0 7px var(--rose); }
.sbt-auteur-role{ color:var(--vert); }
.sbt-auteur-chiffres span{ border-radius:0; background:var(--sb-surf); }
.sbt-auteur-der a:hover{ color:var(--vert); }
.sbt-auteur-actions .sbt-btn{ color:var(--fer); border-radius:2px; background:var(--rose); border:2px solid var(--rose); }
.sbt-auteur-actions .sbt-btn:hover{ color:var(--lait); background:var(--fer); border-color:var(--fer); }
.sbt-auteur-actions .sbt-btn--fantome{ background:transparent; border:2px solid var(--fer); color:var(--fer); }
.sbt-auteur-actions .sbt-btn--fantome:hover{ background:var(--fer); color:var(--lait); }

/* Cartes et duels présents dans les guides */
.cf-cartes{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:14px; align-items:start; margin:1.8em 0; }
.cf-carte-info{ padding:16px 18px 18px; background:#fff; border:1px solid var(--filet); border-top:4px solid var(--vert); }
.cf-carte-titre{ margin:0 0 6px; font:700 1.125rem/1.2 var(--titre); color:var(--fer); }
.cf-carte-info p:last-child{ margin-bottom:0; font-size:.96875rem; line-height:1.55; }
.cf-duel{ display:grid; grid-template-columns:1fr 1fr; align-items:start; margin:1.8em 0; background:#fff; border:2px solid var(--fer); }
.cf-duel-col{ padding:18px 22px 20px; }
.cf-duel-col + .cf-duel-col{ border-left:2px solid var(--fer); }
.cf-duel-nom{ display:inline-block; margin:0 0 12px; padding-bottom:6px; border-bottom:3px solid var(--rose); font:700 1.1875rem/1.2 var(--titre); }
.cf-duel-col p:last-child{ margin-bottom:0; font-size:.96875rem; }
p.cf-sources{ display:flex; flex-wrap:wrap; gap:6px 10px; margin:.4em 0 0; padding-top:12px; border-top:1px solid var(--filet); font-size:.875rem; line-height:1.4; color:var(--doux); }
p.cf-sources a{ color:var(--vert); text-decoration-style:dotted; text-decoration-thickness:1.5px; }
p.cf-sources a:hover{ color:var(--fer); text-decoration-style:solid; text-decoration-color:var(--rose); }

/* Infographies du socle (shortcodes) : habillage aux couleurs de la DA */
sbs-jauges, sbs-tarifs, sbs-frise, sbs-lieu, sbs-tarif, sbs-jauge, sbs-etape{ display:block; }
sbs-tarifs, sbs-frise, sbs-lieu{ margin:2em 0; padding:20px 22px; background:#fff; border:2px solid var(--fer); color:var(--fer); }
.sbs_tarifs_titre, .sbs_frise_titre, .sbs_jauges_titre{ display:block; margin-bottom:12px; font:700 1.25rem/1.2 var(--titre); }
sbs-tarif{ display:grid; grid-template-columns:minmax(120px, 1.15fr) 2fr auto; gap:12px; align-items:center; padding:7px 0; border-bottom:1px solid var(--filet); }
sbs-tarif:last-of-type{ border-bottom:0; }
.sbs_tarif_libelle{ font-size:.9375rem; line-height:1.3; color:var(--fer); }
.sbs_tarif_barre{ width:100%; height:16px; accent-color:var(--vert); }
.sbs_tarif_barre::-webkit-meter-bar{ height:16px; background:rgba(35,39,43,.09); border:0; border-radius:0; }
.sbs_tarif_barre::-webkit-meter-optimum-value, .sbs_tarif_barre::-webkit-meter-suboptimum-value, .sbs_tarif_barre::-webkit-meter-even-less-good-value{ background:var(--vert); border-radius:0; }
.sbs_tarif_barre::-moz-meter-bar{ background:var(--vert); }
.sbs_tarif_prix{ font:600 1rem/1 var(--texte); white-space:nowrap; font-variant-numeric:tabular-nums; }
.sbs_tarifs_notes{ display:block; margin-top:10px; font-size:.8125rem; color:var(--doux); }
.sbs_source{ display:block; margin-top:10px; font-size:.8125rem; color:var(--doux); }
sbs-etape{ display:grid; grid-template-columns:130px 1fr; column-gap:16px; padding:10px 0 10px 18px; border-left:3px solid var(--rose); position:relative; }
sbs-etape::before{ content:""; position:absolute; left:-9px; top:14px; width:15px; height:15px; background:var(--fer); }
.sbs_etape_date{ font-weight:700; color:var(--vert); font-variant-numeric:tabular-nums; }
.sbs_etape_titre{ font:700 1.0625rem/1.25 var(--titre); }
.sbs_etape_desc{ grid-column:2; font-size:.9375rem; color:var(--doux); }
.sbs_lieu_nom{ display:block; font:700 1.25rem/1.2 var(--titre); }
.sbs_lieu_adresse{ font-style:normal; }
.sbs_lieu_carte{ display:inline-flex; align-items:center; gap:6px; margin-top:8px; font-weight:600; color:var(--vert); }
/* Jauges : les tuiles se partagent TOUTE la largeur (2 → 50/50, 3 → 1/3, 4 → 2 × 2), une valeur ne se coupe jamais */
sbs-jauges{ display:flex; flex-wrap:wrap; gap:10px; margin:2em 0; padding:18px 20px 20px; background:var(--vert); color:#fff; border-top:4px solid var(--rose); }
sbs-jauges > .sbs_jauges_titre, sbs-jauges > .sbs_source{ flex:1 1 100%; color:#fff; }
sbs-jauges > .sbs_source{ color:rgba(255,255,255,.88); margin-top:2px; }
sbs-jauges > sbs-jauge{ flex:1 1 calc(33.333% - 7px); min-width:min(100%, 190px); container-type:inline-size; display:flex; flex-direction:column; gap:4px; padding:14px 16px 16px; background:rgba(255,255,255,.1); border-left:3px solid var(--rose); }
sbs-jauges:has(> sbs-jauge:nth-of-type(4)):not(:has(> sbs-jauge:nth-of-type(5))) > sbs-jauge{ flex-basis:calc(50% - 5px); }
.sbs_jauge_libelle{ font-size:.875rem; line-height:1.3; color:rgba(255,255,255,.94); }
.sbs_jauge_valeur{ display:block; max-width:100%; white-space:nowrap; font:600 clamp(1.25rem, 15cqi, 2.75rem)/1 var(--texte); font-variant-numeric:tabular-nums; letter-spacing:-.01em; color:#fff; }
.sbs_jauge_unite{ font-size:.875rem; color:rgba(255,255,255,.94); }
/* Un bloc d'infographie dans un encadré sombre garde le texte lisible */
.sbt-encadre--retenir sbs-tarifs, .sbt-encadre--retenir sbs-frise, .sbt-encadre--retenir sbs-lieu, .sbt-encadre--retenir sbs-tarifs *, .sbt-encadre--retenir sbs-frise *{ color:var(--fer); }

/* ===================================================================== 13. Pied de page (bloc figé, clair) */
.sbt-footer{ position:relative; margin-top:0; padding-block:60px 24px; background:var(--lait); color:var(--fer); border-top:2px solid var(--fer); }
.sbt-footer::before{ content:""; position:absolute; left:0; right:0; top:7px; height:3px; background:var(--rose); }
.sbt-footer .sbt-conteneur{ max-width:1280px; }
.sbt-footer a{ color:var(--fer); text-decoration:none; }
.sbt-footer a:hover{ color:var(--vert); text-decoration:underline; text-decoration-color:var(--rose); text-decoration-thickness:2px; }
.sbt-footer a.sbt-btn, .sbt-footer a.sbt-btn:hover{ color:var(--fer); text-decoration:none; }
.sbt-footer a.sbt-btn:hover{ color:var(--lait); }
.sbt-footer-cta{ padding:24px 28px; margin-bottom:38px; background:#fff; border:2px solid var(--fer); }
.sbt-footer-cta .sbt-t3{ margin:0 0 4px; font:700 1.375rem/1.15 var(--titre); color:var(--fer); }
.sbt-footer-cta p{ color:var(--doux); }
.sbt-footer-grille{ grid-template-columns:1.45fr 1fr 1fr .8fr; gap:0; padding-bottom:34px; border-bottom:2px solid var(--fer); align-items:stretch; }
.sbt-footer-colonne{ padding:0 24px; border-left:2px solid var(--filet); }
.sbt-footer-colonne:first-child{ padding-left:0; border-left:0; }
.sbt-footer-colonne .sbt-t4{ margin:0 0 14px; font:700 1.125rem/1.2 var(--titre); text-transform:none; letter-spacing:0; color:var(--fer); }
.sbt-footer-colonne ul{ gap:9px; }
.sbt-footer-colonne ul a{ font-size:.96875rem; }
.sbt-footer-logo{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.sbt-footer-logo .cf-logo-nom{ font:700 1.625rem/1 var(--titre); color:var(--fer); }
.sbt-footer-logo .cf-logo-symbole{ width:26px; height:36px; }
.sbt-footer-desc{ max-width:34ch; margin:0; font-size:.96875rem; line-height:1.5; color:var(--fer); }
.cf-pied-mention{ display:block; margin:12px 0 16px; font-weight:600; color:var(--vert); }
.cf-pied-bouton{ display:inline-flex; }
.sbt-footer-bas{ padding-top:20px; font-size:.875rem; color:var(--doux); }

/* Bandeau cookies (corr-1) : barre fine DANS LE FLUX, tout en haut de la page (déplacée avant l'en-tête par app.js) :
   une ligne, ≤ 44 px à 1440, elle pousse la page au lieu de la recouvrir. */
.sbt-cookies{ position:relative; inset:auto; z-index:61; width:auto; max-height:none; overflow:visible; justify-content:center; gap:18px; padding:5px max(var(--cf-marge), calc((100% - 1280px) / 2)); background:var(--fer); color:#fff; border-radius:0; border-bottom:3px solid var(--rose); box-shadow:none; }
.sbt-cookies p{ flex:0 1 auto; font-size:.8125rem; line-height:1.3; }
.sbt-cookies .sbt-btn{ min-height:30px; padding:0 14px; font-size:.8125rem; }
.sbt-cookies .sbt-btn--fantome{ border:2px solid rgba(255,255,255,.7); color:#fff; }
.sbt-cookies .sbt-btn--fantome:hover{ background:#fff; color:var(--fer); border-color:#fff; }
.sbt-cookies .sbt-btn:not(.sbt-btn--fantome):hover{ background:#fff; border-color:#fff; color:var(--fer); box-shadow:none; }

/* ===================================================================== 14. En-têtes de page, rubrique, auteur */
.cf-page-entete{ position:relative; background:var(--lait); border-bottom:2px solid var(--fer); padding:30px 0 34px; }
.cf-page-surtitre{ display:inline-block; margin:0 0 10px; padding:5px 11px 4px; background:var(--fer); color:var(--lait); font:600 .75rem/1.2 var(--texte); text-transform:uppercase; letter-spacing:.09em; }
.cf-page-titre{ margin:0; font-size:clamp(2.1rem, 4vw, 3.25rem); line-height:1.05; letter-spacing:-.015em; max-width:22ch; }
.cf-page-chapo{ margin:14px 0 0; max-width:62ch; font-size:1.125rem; line-height:1.55; color:var(--doux); }
.cf-page-cordeau{ position:relative; display:block; width:min(360px, 60%); height:3px; margin-top:20px; background:var(--rose); }
.cf-page-cordeau::before{ content:""; position:absolute; left:-6px; top:-9px; width:12px; height:21px; background:var(--fer); border-radius:3px; }

.cf-rub-tete{ background:var(--lait); border-bottom:2px solid var(--fer); padding:10px 0 34px; }
.cf-rub-tete .sbt-fil-ariane{ padding-block:12px 14px; }
.cf-rub-grille{ display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:56px; align-items:center; }
.cf-rub-titre{ margin:0 0 14px; font-size:clamp(2.2rem, 4.2vw, 3.5rem); line-height:1.03; letter-spacing:-.015em; }
.cf-rub-chapo{ margin:0; max-width:56ch; font-size:1.125rem; line-height:1.55; color:var(--doux); }
.cf-rub-poteaux{ position:relative; }
.cf-rub-poteaux svg{ display:block; width:100%; height:auto; overflow:visible; }
.cf-rub-cote{ position:absolute; left:0; top:-2px; margin:0; padding:7px 12px 6px; background:var(--fer); color:var(--lait); font:600 .9375rem/1.1 var(--texte); font-variant-numeric:tabular-nums; }
.cf-rub-cote b{ font:600 1.5rem/1 var(--texte); margin-right:4px; }
.cf-rub-liste{ padding:44px 0 72px; background:var(--lait); }
.cf-rub-liste .cf-h2{ margin-bottom:22px; }
.cf-une{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); margin-bottom:44px; background:#fff; border:2px solid var(--fer); box-shadow:8px 8px 0 var(--rose); }
.cf-une-lien{ display:contents; color:inherit; text-decoration:none; }
.cf-une-photo{ position:relative; display:block; height:clamp(260px, 30vw, 380px); overflow:hidden; background:var(--vert); border-right:3px solid var(--rose); }
.cf-une-photo img, .cf-une-photo .cf-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.cf-une-corps{ display:flex; flex-direction:column; justify-content:center; gap:12px; padding:28px 34px; min-width:0; }
.cf-une-etiquette{ font:600 .75rem/1.2 var(--texte); text-transform:uppercase; letter-spacing:.09em; color:var(--vert); }
.cf-une-titre{ margin:0; font-size:clamp(1.5rem, 2.4vw, 2.125rem); line-height:1.12; }
.cf-une-resume{ margin:0; color:var(--doux); line-height:1.55; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.cf-une-pied{ font-size:.875rem; color:var(--doux); }
.cf-une-corps .cf-btn{ align-self:flex-start; margin-top:4px; }
.cf-vide{ padding:34px 30px; background:#fff; border:2px solid var(--fer); max-width:640px; }
.cf-vide-titre{ margin:0 0 8px; font:700 1.375rem/1.2 var(--titre); }
.cf-plus-zone{ display:flex; justify-content:center; margin-top:34px; }
.cf-cache{ display:none !important; }

.cf-auteur-entete{ background:var(--lait); border-bottom:2px solid var(--fer); padding:34px 0 40px; }
.cf-auteur-grille{ display:grid; grid-template-columns:168px minmax(0,1fr); gap:34px; align-items:center; }
.cf-auteur-portrait img, .cf-auteur-portrait svg{ width:168px; height:168px; border-radius:50%; object-fit:cover; display:block; box-shadow:0 0 0 5px var(--lait), 0 0 0 8px var(--rose); }
.cf-auteur-nb{ margin:12px 0 0; font-weight:600; color:var(--vert); }
.cf-pilules{ list-style:none; margin:14px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.cf-pilules a{ display:inline-flex; align-items:center; min-height:40px; padding:0 14px; background:#fff; border:2px solid var(--fer); font-size:.9375rem; font-weight:600; text-decoration:none; }
.cf-pilules a:hover{ background:var(--fer); color:var(--lait); }

/* Page de texte (mentions, confidentialité…) : conteneur de lecture */
.cf-page-corps{ padding:44px 0 80px; }
.cf-page-carte{ max-width:820px; margin-inline:auto; padding:44px 52px 48px; background:#fff; border:2px solid var(--fer); box-shadow:8px 8px 0 var(--rose); }
.cf-lecture{ font-size:1.0625rem; line-height:1.7; }
.cf-lecture > :first-child{ margin-top:0; }
.cf-lecture h2{ position:relative; margin:1.9em 0 .55em; padding-top:18px; font-size:1.6rem; }
.cf-lecture h2::before{ content:""; position:absolute; top:0; left:0; width:44px; height:3px; background:var(--rose); }
.cf-lecture h3{ margin:1.5em 0 .4em; font-size:1.25rem; }
.cf-lecture a{ color:var(--vert); }
.cf-lecture ul, .cf-lecture ol{ padding-left:1.3em; }
.cf-lecture li{ margin-bottom:.4em; }

/* ===================================================================== 15. Contact */
.cf-contact{ padding:0 0 56px; }
.cf-contact-bandeau{ position:relative; height:104px; margin-bottom:26px; overflow:hidden; background:var(--vert); border-bottom:3px solid var(--rose); }
.cf-contact-bandeau img, .cf-contact-bandeau .cf-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.cf-contact-grille{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:48px; align-items:start; }
.cf-contact-form{ display:flex; flex-direction:column; gap:12px; }
.cf-contact-champs{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cf-contact-form label:not(.cf-rep-consent){ display:block; margin-bottom:4px; font-size:.875rem; font-weight:600; }
.cf-contact-form textarea{ width:100%; min-height:108px; padding:10px 12px; resize:vertical; }
.cf-contact-champs input{ width:100%; }
.cf-contact-pied{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.cf-contact-pied .cf-rep-msg{ flex:1 1 220px; }
.cf-contact-cote{ display:grid; gap:12px; }
.cf-regle-texte{ margin:0; padding:14px 16px 14px 18px; background:#fff; border:2px solid var(--fer); font-size:.96875rem; line-height:1.5; }
.cf-regle-texte strong{ display:block; margin-bottom:2px; font:700 1.0625rem/1.2 var(--titre); }
.cf-regle-texte--oui{ border-left:8px solid var(--vert); }
.cf-regle-texte--non{ border-left:8px solid var(--rose); }
.cf-contact-outil{ padding:56px 0 64px; background:#fff; border-top:2px solid var(--fer); }
.cf-contact-outil-grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,520px); gap:56px; align-items:start; }
.cf-contact-outil .cf-trav-contact{ border:2px solid var(--fer); background:var(--lait); }
.cf-form-carte--contact{ height:auto; }
.cf-page-entete--contact{ padding:22px 0 24px; border-bottom:0; }
.cf-page-entete--contact .cf-page-cordeau{ display:none; }
.cf-page-entete--contact .cf-page-surtitre{ margin-bottom:6px; }
.cf-page-entete--contact .cf-page-titre{ font-size:clamp(1.9rem, 3.2vw, 2.6rem); max-width:none; }
@media (max-width:640px){
	.cf-page-entete--contact{ padding:14px 0 14px; }
	.cf-page-entete--contact .cf-page-surtitre{ display:none; }
	.cf-page-entete--contact .cf-page-titre{ font-size:1.9rem; }
	.cf-contact-form{ gap:8px; }
	.cf-contact-form textarea{ min-height:84px; }
	.cf-contact-form label:not(.cf-rep-consent){ margin-bottom:2px; }
}

/* ===================================================================== 16. À propos */
.cf-ap-haut{ position:relative; background:var(--vert); color:#fff; padding:44px 0 0; overflow:hidden; }
.cf-ap-haut-grille{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,420px); gap:64px; align-items:end; }
.cf-ap-haut .cf-page-surtitre{ background:var(--lait); color:var(--fer); }
.cf-ap-haut .cf-page-titre{ color:#fff; max-width:18ch; }
.cf-ap-haut .cf-page-chapo{ color:rgba(255,255,255,.94); }
.cf-ap-photo{ position:relative; align-self:end; height:380px; filter:drop-shadow(0 10px 18px rgba(0,0,0,.25)); }
.cf-ap-photo-ext{ position:absolute; inset:0; padding:3px; background:var(--rose); clip-path:polygon(0 60px, 50% 0, 100% 60px, 100% 100%, 0 100%); }
.cf-ap-photo-int{ position:relative; width:100%; height:100%; overflow:hidden; background:var(--lait); clip-path:polygon(0 58px, 50% 0, 100% 58px, 100% 100%, 0 100%); }
.cf-ap-photo-int img, .cf-ap-photo-int .cf-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.cf-ap-haut-sol{ height:3px; background:var(--fer); }
.cf-ap-fait{ padding:60px 0 64px; background:var(--lait); }
.cf-ap-deux{ display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:start; background:#fff; border:2px solid var(--fer); }
.cf-ap-col{ padding:26px 30px 30px; }
.cf-ap-col + .cf-ap-col{ border-left:2px solid var(--fer); }
.cf-ap-col h3{ display:inline-block; margin:0 0 16px; padding-bottom:7px; border-bottom:3px solid var(--rose); font-size:1.4rem; }
.cf-ap-liste{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.cf-ap-liste li{ position:relative; padding-left:24px; line-height:1.5; }
.cf-ap-liste li::before{ content:""; position:absolute; left:0; top:.32em; width:10px; height:16px; background:var(--vert); clip-path:polygon(0 4px, 50% 0, 100% 4px, 100% 100%, 0 100%); }
.cf-ap-col--non .cf-ap-liste li::before{ background:var(--rose); }
.cf-ap-redac{ padding:60px 0 68px; background:#fff; border-top:2px solid var(--fer); }
.cf-ap-redac .cf-equipe{ grid-template-columns:repeat(auto-fit, minmax(330px, 1fr)); }
.cf-ap-redac .cf-equipier{ background:var(--lait); }
.cf-ap-liens{ display:flex; flex-wrap:wrap; gap:12px; margin:34px 0 0; }
.cf-ap-haut .cf-page-cordeau::before{ background:var(--lait); }

/* ===================================================================== 17. Recherche, 404 */
.cf-recherche{ display:flex; gap:10px; max-width:640px; margin-bottom:34px; }
.cf-recherche input{ flex:1; min-height:56px; }
.cf-recherche .cf-btn{ min-height:56px; }
.cf-404{ padding:56px 0 80px; }
.cf-404-grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0; background:#fff; border:2px solid var(--fer); align-items:start; }
.cf-404-col{ padding:30px 34px; }
.cf-404-col + .cf-404-col{ border-left:2px solid var(--fer); }
.cf-404-col .cf-recherche{ margin-bottom:0; }
.cf-404-titre{ margin:0 0 14px; font:700 1.375rem/1.2 var(--titre); }
.cf-404-liens{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.cf-404-liens a{ font-weight:600; }

/* ===================================================================== 18. Responsive */
@media (max-width:1279px){
	.cf-lames--rail{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; padding:6px 2px 22px; margin-inline:-2px; -webkit-overflow-scrolling:touch; }
	.cf-lames--rail .cf-lame{ flex:0 0 min(236px, 68vw); scroll-snap-align:start; }
	.cf-palissade-liste{ grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px; }
	.cf-palissade-liste::before{ display:none; }
	.cf-pal{ height:340px; }
	.cf-regle-ligne{ grid-template-columns:210px minmax(0,1fr) 118px; }
}
@media (max-width:1100px){
	.sbt-article-mise-en-page{ column-gap:var(--sb-gouttiere); }
	.sbt-article-mise-en-page .sbt-rail{ margin-top:0; }
	.cf-form-carte--rail{ max-width:520px; }
	.sbt-footer-grille{ grid-template-columns:1fr 1fr; row-gap:34px; }
	.sbt-footer-colonne:nth-child(odd){ padding-left:0; border-left:0; }
	.cf-rub-grille{ grid-template-columns:1fr; gap:26px; }
	.cf-rub-poteaux{ max-width:380px; }
}
@media (max-width:999px){
	/* Premier écran compact : titre, cordeau, 2 travées photo côte à côte, puis la travée-formulaire */
	.cf-hero.cf-section{ padding-top:14px; }
	.cf-hero-titre{ font-size:clamp(1.9rem, 8.4vw, 2.75rem); margin-bottom:6px; }
	.cf-chapo-long{ display:none; }
	.cf-chapo-court{ display:inline; }
	.cf-hero-chapo{ margin-bottom:12px; font-size:.9375rem; line-height:1.45; }
	/* corr-1 : une vraie clôture lisible — poteau · travée bois · poteau · travée grillage · poteau, cordeau tendu en escalier */
	.cf-cloture{ height:auto; display:flex; flex-wrap:wrap; align-items:flex-end; padding:0;  }
	.cf-poteau, .cf-trav{ position:relative; left:auto; bottom:auto; width:auto; min-width:0; }
	.cf-poteau--2, .cf-poteau--4, .cf-poteau--5, .cf-trav--2, .cf-trav--4, .cf-sol, .cf-cordeau-svg{ display:none; }
	.cf-poteau{ flex:0 0 14px; clip-path:polygon(0 12px, 50% 0, 100% 12px, 100% 100%, 0 100%); }
	.cf-poteau-cote{ display:none; }
	.cf-poteau--0{ order:1; height:106px; }
	.cf-trav--1{ order:2; flex:1 1 0; height:84px; }
	.cf-poteau--1{ order:3; height:130px; }
	.cf-trav--3{ order:4; flex:1.3 1 0; height:112px; }
	.cf-poteau--3{ order:5; height:130px; }
	.cf-trav--photo{ border-bottom:3px solid var(--fer); }
	.cf-trav-nom{ flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:0 6px; padding:5px 8px 6px; }
	.cf-trav-nom strong{ font-size:.9375rem; }
	.cf-trav-nom small{ font-size:.6875rem; }
	/* Le cordeau : bas sur la travée bois, remonte le long du poteau du milieu, haut sur la travée grillage.
	   Largeurs : 3 poteaux de 14 px, travées 1 : 1,3 → bord du poteau du milieu à 14 px + (100 % − 42 px) / 2,3. */
	.cf-cloture::before, .cf-cloture::after{ content:""; position:absolute; z-index:4; pointer-events:none; }
	.cf-cloture::before{ left:-8px; top:18px; height:31px; width:calc(30px + (100% - 42px) / 2.3); border-right:3px solid var(--rose); border-bottom:3px solid var(--rose); }
	.cf-cloture::after{ left:calc(19px + (100% - 42px) / 2.3); right:-8px; top:18px; height:3px; background:var(--rose); }
	.cf-pince{ display:block; width:12px; height:18px; }
	.cf-pince--g{ left:-16px; top:39px; bottom:auto; }
	.cf-pince--d{ left:auto; right:-16px; top:11px; bottom:auto; }
	.cf-trav--form{ order:9; flex:0 0 100%; height:auto; margin-top:12px; min-width:0; }
	.cf-trav--form::before{ content:""; position:absolute; left:-4px; right:-4px; top:-5px; height:3px; background:var(--rose); }
	.cf-form-carte{ padding:14px 14px 16px; height:auto; }
	.cf-section{ padding:48px 0 52px; }
	.cf-reperes-reg{ grid-template-columns:1fr; gap:34px; }
	.cf-rep-reg, .cf-rep-reg:first-child, .cf-rep-reg:last-child{ padding:0; border-left:0; }
	.cf-rep-reg + .cf-rep-reg{ padding-top:30px; border-top:3px solid rgba(247,246,241,.42); }
	.cf-rep-reg + .cf-rep-reg::before{ left:0; top:-17px; }
	.cf-redaction-grille{ grid-template-columns:1fr; gap:30px; }
	.cf-art-grille{ grid-template-columns:minmax(0,1fr); padding-bottom:30px; }
	.cf-art-photo{ min-height:0; max-height:none; height:340px; margin:26px 0 -50px; align-self:auto; }
	.sbt-article-mise-en-page{ padding-top:76px; }
	.cf-contact-grille, .cf-contact-outil-grille, .cf-ap-haut-grille{ grid-template-columns:1fr; gap:28px; }
	.cf-ap-photo{ height:300px; max-width:420px; }
	.cf-une{ grid-template-columns:1fr; }
	.cf-une-photo{ height:240px; border-right:0; border-bottom:3px solid var(--rose); }
	.cf-ap-deux, .cf-404-grille, .cf-duel{ grid-template-columns:1fr; }
	.cf-ap-col + .cf-ap-col, .cf-404-col + .cf-404-col, .cf-duel-col + .cf-duel-col{ border-left:0; border-top:2px solid var(--fer); }
}
@media (max-width:760px){
	.cf-palissade-liste{ grid-template-columns:repeat(2, minmax(0,1fr)); }
	.cf-pal{ height:300px; }
	.cf-pal-item:first-child{ grid-column:1 / -1; }
	.cf-pal-item:first-child .cf-pal{ height:260px; }
	.cf-regle-ligne{ grid-template-columns:minmax(0,1fr) auto; padding-top:8px; min-height:0; }
	.cf-regle-ligne .cf-regle-piste{ grid-column:1 / -1; grid-row:2; }
	.cf-regle-ligne--grad .cf-regle-val{ display:none; }
	.cf-regle-ligne--grad .cf-regle-nom{ display:none; }
	.cf-regle-nom{ padding:0 0 2px; font-size:.9375rem; }
	.cf-regle-piste{ height:46px; }
	.cf-barre{ top:12px; }
	.sbt-footer-grille{ grid-template-columns:1fr; row-gap:28px; }
	.sbt-footer-colonne, .sbt-footer-colonne:first-child{ padding:0; border-left:0; }
	.sbt-footer-colonne + .sbt-footer-colonne{ padding-top:22px; border-top:2px solid var(--filet); }
	.cf-page-carte{ padding:30px 22px 34px; box-shadow:5px 5px 0 var(--rose); }
	.cf-recherche{ flex-direction:column; }
	.cf-auteur-grille{ grid-template-columns:1fr; gap:20px; }
	.cf-equipier{ grid-template-columns:76px minmax(0,1fr); gap:14px; padding:14px; }
	.cf-equipier-photo, .cf-equipier-photo img, .cf-equipier-photo svg{ width:76px; height:76px; }
	sbs-tarif{ grid-template-columns:1fr auto; }
	.sbs_tarif_barre{ grid-column:1 / -1; order:3; }
	sbs-etape{ grid-template-columns:1fr; }
	.sbs_etape_desc{ grid-column:1; }
	sbs-jauges > sbs-jauge, sbs-jauges:has(> sbs-jauge:nth-of-type(4)):not(:has(> sbs-jauge:nth-of-type(5))) > sbs-jauge{ flex-basis:100%; }
	.sbt-auteur{ box-shadow:5px 5px 0 var(--rose); }
	.cf-contact-champs{ grid-template-columns:1fr; gap:10px; }
	.cf-contact-bandeau{ height:92px; margin-bottom:18px; }
}
@media (max-width:640px){
	.cf-logo-nom{ font-size:1.4375rem; }
	.cf-h2{ font-size:1.7rem; }
	.cf-rep-champs{ grid-template-columns:1fr 1fr; }
	.cf-rep-champs .cf-champ-cp{ grid-column:1 / -1; }
	.cf-form-carte:not(.cf-form-carte--rail) .cf-rep-prix{ font-size:2rem; }
	.cf-tuile--motif{ min-height:70px; }
	.sbt-cookies{ justify-content:space-between; gap:10px; padding:5px var(--cf-marge); }
	.sbt-cookies p{ font-size:.75rem; }
	.sbt-cookies .sbt-btn{ min-height:34px; padding:0 12px; }
	.cf-lames--liste .cf-lame{ flex:1 1 100%; max-width:360px; }
	.cf-alire .cf-lames--liste{ justify-content:center; }
	.cf-rep-reg-chiffres b{ font-size:2.75rem; }
	.cf-ap-haut{ padding-top:34px; }
}

/* ===================================================================== 19. Corrections n°1 (18/10) */
/* Travée-formulaire de l'accueil : question en haut, réponses au milieu, bouton en bas — aucun vide > 120 px,
   et la réponse (étape 4) tient dans la travée de 436 px. */
@media (min-width:1000px){
	.cf-form-carte--hero .cf-form-tete{ margin-bottom:6px; }
	.cf-form-carte--hero .cf-form-etape > .cf-form-question + *{ margin-top:auto; }
	.cf-form-carte--hero .cf-form-etape > .cf-tuiles{ margin-bottom:auto; }
	.cf-form-carte--hero .cf-form-etape > .cf-form-pied{ margin-top:0; }
	.cf-form-carte--hero .cf-tuiles--n4 .cf-tuile{ min-height:64px; font-size:1.0625rem; }
	.cf-form-carte--hero .cf-tuiles--n5 .cf-tuile--motif{ min-height:104px; }
	.cf-form-carte--hero .cf-tuiles--n5 .cf-tuile-motif{ height:54px; }
	.cf-form-carte--hero .cf-tuiles--n5 .cf-motif--poteau{ width:30px; height:52px; }
	.cf-form-carte--hero .cf-form-etape[data-cf-etape="4"]{ gap:7px; }
	.cf-form-carte--hero .cf-rep-prix{ font-size:2.25rem; }
	.cf-form-carte--hero .cf-rep-form{ gap:7px; }
}

/* Barre latérale d'article : l'estimateur en tête, en version compacte (longueur + Suivant sur une ligne) */
@media (min-width:1101px){
	.cf-form-carte--rail{ padding:12px 14px 14px; }
	.cf-form-carte--rail .cf-form-tete{ margin-bottom:6px; }
	.cf-form-carte--rail .cf-form-etape[data-cf-etape="1"].est-active{ display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"q q" "long pied" "tuiles tuiles"; gap:8px; align-items:stretch; }
	.cf-form-carte--rail [data-cf-etape="1"] .cf-form-question{ grid-area:q; }
	.cf-form-carte--rail [data-cf-etape="1"] .cf-longueur{ grid-area:long; min-height:46px; padding:0 12px; }
	.cf-form-carte--rail [data-cf-etape="1"] .cf-longueur input{ font-size:1.25rem; }
	.cf-form-carte--rail [data-cf-etape="1"] .cf-longueur-unite{ font-size:1.125rem; }
	.cf-form-carte--rail [data-cf-etape="1"] .cf-tuiles{ grid-area:tuiles; }
	.cf-form-carte--rail [data-cf-etape="1"] .cf-tuile{ min-height:38px; padding:4px; font-size:.875rem; }
	.cf-form-carte--rail [data-cf-etape="1"] .cf-form-pied{ grid-area:pied; margin:0; }
	.cf-form-carte--rail [data-cf-etape="1"] .cf-form-pied > span{ display:none; }
	.cf-form-carte--rail [data-cf-etape="1"] .cf-form-pied .cf-btn{ min-height:46px; padding:0 16px; }
}

/* Contact : jamais plus large que l'écran ; à 390, nom et e-mail côte à côte, bandeau photo compact */
@media (max-width:999px){
	.cf-contact-grille, .cf-contact-outil-grille{ grid-template-columns:minmax(0,1fr); }
	.cf-contact-grille > *, .cf-contact-outil-grille > *{ min-width:0; }
}
@media (max-width:760px){
	.cf-contact-champs{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
	.cf-contact-bandeau{ height:72px; margin-bottom:14px; }
	.cf-contact-form textarea{ min-height:72px; }

	/* Palissade des rubriques : un rail de lames à pointe qui défile à l'horizontale, aimanté lame par lame */
	.cf-palissade-liste{ display:flex; gap:8px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; margin-inline:calc(-1 * var(--cf-marge)); padding:4px var(--cf-marge) 16px; scroll-padding-inline:var(--cf-marge); scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
	.cf-pal-item, .cf-pal-item:first-child{ flex:0 0 min(40vw, 170px); grid-column:auto; scroll-snap-align:start; }
	.cf-pal, .cf-pal-item:first-child .cf-pal{ height:280px; }

	/* Avant de poser : trois cartes compactes côte à côte, à faire glisser */
	.cf-avant .cf-section-tete{ margin-bottom:10px; }
	.cf-reperes-reg{ display:flex; gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; margin-inline:calc(-1 * var(--cf-marge)); padding:20px var(--cf-marge) 14px; scroll-padding-inline:var(--cf-marge); scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
	.cf-rep-reg, .cf-rep-reg:first-child, .cf-rep-reg:last-child, .cf-rep-reg + .cf-rep-reg{ flex:0 0 min(82vw, 330px); scroll-snap-align:start; padding:18px 16px 16px; border:2px solid rgba(247,246,241,.42); background:rgba(255,255,255,.06); }
	.cf-rep-reg::before, .cf-rep-reg + .cf-rep-reg::before{ content:""; position:absolute; left:14px; top:-15px; width:13px; height:22px; background:var(--lait); clip-path:polygon(0 7px, 50% 0, 100% 7px, 100% 100%, 0 100%); }
	.cf-rep-reg-titre{ font-size:1.125rem; margin-bottom:8px; }
	.cf-rep-reg-chiffres{ margin-bottom:10px; gap:6px 20px; }
	.cf-rep-reg-chiffres b{ font-size:2.25rem; }
	.cf-rep-reg-texte{ font-size:.9375rem; line-height:1.5; margin-bottom:10px; }
}

/* Estimateur à 390 : 4 longueurs en 2 × 2, champ plus bas */
@media (max-width:640px){
	.cf-form-carte:not(.cf-form-carte--rail) .cf-tuiles--n4{ grid-template-columns:repeat(2, minmax(0,1fr)); }
	.cf-form-carte:not(.cf-form-carte--rail) .cf-tuiles--n4 .cf-tuile{ min-height:44px; }
	.cf-form-carte--hero{ padding-top:12px; }
	.cf-longueur{ min-height:52px; }
	.cf-longueur input{ font-size:1.625rem; }
	.cf-form-etape{ gap:10px; }
}

/* Mouvement : le cordeau se trace une fois à l'arrivée ; tout reste visible si l'on réduit les animations */
@media (prefers-reduced-motion:reduce){
	*, *::before, *::after{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* ===================================================================== 20. Corrections n°2 (19/10) — juge visuel n°1 + non-ressemblance */

/* B1 : deuxième ton du titre d'accueil = la cote de géomètre tendue sous « chiffrée au mètre » (aucun mot coloré) */
.cf-hero-titre{ margin-bottom:6px; }
.cf-hero-chapo{ margin-bottom:10px; }
.cf-hero-titre .cf-cote-titre{ position:relative; display:block; width:fit-content; padding-bottom:16px; }
.cf-hero-titre .cf-cote{ position:absolute; display:block; left:0; right:0; bottom:3px; height:3px; background:var(--rose); }
.cf-cote-taquet{ position:absolute; top:-8px; width:6px; height:19px; background:var(--fer); }
.cf-cote-taquet:first-child{ left:-3px; } .cf-cote-taquet:last-child{ right:-3px; }
.cf-cote-fleche{ position:absolute; top:-5px; width:0; height:0; border-top:6.5px solid transparent; border-bottom:6.5px solid transparent; }
.cf-cote-fleche--g{ left:4px; border-right:12px solid var(--rose); }
.cf-cote-fleche--d{ right:4px; border-left:12px solid var(--rose); }
.cf-cote-etiq{ position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); padding:3px 8px 2px; background:var(--fer); color:var(--lait); font:600 .8125rem/1 var(--texte); letter-spacing:.02em; white-space:nowrap; font-variant-numeric:tabular-nums; }
@media (max-width:999px){
	.cf-hero-titre{ margin-bottom:2px; }
	.cf-hero-titre .cf-cote-titre{ padding-bottom:13px; }
	.cf-hero-titre .cf-cote{ bottom:2px; }
	.cf-cote-etiq{ font-size:.75rem; padding:2px 6px 1px; }
	.cf-hero-chapo{ margin-bottom:9px; }
}

/* B2 + B3 : sol net et droit, liseré d'herbe sous la lisse basse, ombre portée de la clôture sur le sol */
.cf-trav-nom{ padding-bottom:17px; }
.cf-sol::before{ content:""; position:absolute; left:1.5%; right:1.5%; bottom:3px; height:10px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='10' viewBox='0 0 24 10'%3E%3Cpath d='M0 10L3 3L5 10L8 0L11 10L14 4L16 10L19 1L22 10L24 5V10Z' fill='%232D5440'/%3E%3C/svg%3E") repeat-x left bottom / 24px 10px; pointer-events:none; }
.cf-sol::after{ content:""; position:absolute; left:1.5%; right:1.5%; top:3px; height:16px; background:linear-gradient(to bottom, rgba(35,39,43,.26), rgba(35,39,43,0)); pointer-events:none; }
.cf-trav--photo{ box-shadow:inset -10px 0 14px -10px rgba(0,0,0,.45); }
.cf-trav-photo img{ object-position:50% 60%; }

/* Derniers guides : les lames suivent le cordeau en escalier (la plus récente la plus haute) */
.cf-lames--escalier{ --pas:18px; align-items:stretch; }
.cf-lames--escalier .cf-lame{ position:relative; }
.cf-lames--escalier .cf-lame:nth-child(2){ margin-top:calc(var(--pas) * 1); }
.cf-lames--escalier .cf-lame:nth-child(3){ margin-top:calc(var(--pas) * 2); }
.cf-lames--escalier .cf-lame:nth-child(4){ margin-top:calc(var(--pas) * 3); }
.cf-lames--escalier .cf-lame:nth-child(5){ margin-top:calc(var(--pas) * 4); }
.cf-lames--escalier .cf-lame:nth-child(6){ margin-top:calc(var(--pas) * 5); }
.cf-lames--escalier .cf-lame::before{ content:""; position:absolute; z-index:2; left:-7px; right:-7px; top:35px; height:3px; background:var(--rose); pointer-events:none; }
.cf-lames--escalier .cf-lame:not(:last-child)::after{ content:""; position:absolute; z-index:2; right:-8.5px; top:35px; width:3px; height:calc(var(--pas) + 3px); background:var(--rose); pointer-events:none; }
.cf-lames--escalier .cf-lame-photo{ aspect-ratio:1 / .78; }
@media (max-width:1279px){ .cf-lames--escalier{ --pas:12px; } }

/* Avant de poser : la coupe de terrain cotée (une seule infographie, textes et liens dessous) */
.cf-avant.cf-section{ padding:54px 0 56px; }
.cf-avant .cf-section-tete{ margin-bottom:18px; }
.cf-coupe{ margin:0; }
.cf-coupe-svg{ display:block; width:100%; height:auto; overflow:visible; }
.cf-coupe-svg--mobile{ display:none; }
.cf-coupe text{ fill:var(--lait); font-family:var(--texte); }
.cf-coupe-grad{ font-size:13px; font-weight:600; }
.cf-coupe-val{ font-size:24px; font-weight:600; font-variant-numeric:tabular-nums; }
.cf-coupe-leg{ font-size:15px; }
.cf-coupe-cote{ font-size:14px; font-weight:600; }
.cf-coupe-textes{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px 34px; margin-top:20px; padding-top:16px; border-top:1px solid rgba(247,246,241,.35); }
.cf-coupe-texte p{ margin:0 0 8px; font-size:.96875rem; line-height:1.5; color:rgba(255,255,255,.94); }
.cf-coupe-texte strong{ color:#fff; font-weight:600; }
@media (max-width:760px){
	.cf-coupe-svg--large{ display:none; }
	.cf-coupe-svg--mobile{ display:block; max-width:420px; }
	.cf-coupe-svg--mobile .cf-coupe-val{ font-size:17px; }
	.cf-coupe-svg--mobile .cf-coupe-leg{ font-size:12.5px; }
	.cf-coupe-svg--mobile .cf-coupe-cote{ font-size:12.5px; }
	.cf-coupe-svg--mobile .cf-coupe-grad{ font-size:11px; }
	.cf-coupe-textes{ grid-template-columns:1fr; gap:16px; }
}

/* La rédaction : chaque auteur est une lame à pointe plantée sur le cordeau, le nom sur la traverse */
.cf-equipe--lames{ position:relative; display:flex; flex-wrap:wrap; gap:22px; align-items:flex-start; padding-top:4px; }
.cf-equipe--lames::before{ content:""; position:absolute; z-index:3; left:-14px; right:auto; width:calc(2 * 240px + 22px + 28px); max-width:calc(100% + 28px); top:70px; height:3px; background:var(--rose); border-radius:2px; pointer-events:none; }
.cf-auteur-lame{ flex:0 1 240px; min-width:0; }
.cf-auteur-lame-lien{ display:flex; flex-direction:column; color:#fff; text-decoration:none; background:var(--fer); clip-path:polygon(0 30px, 50% 0, 100% 30px, 100% 100%, 0 100%); }
.cf-auteur-lame{ filter:drop-shadow(0 8px 12px rgba(35,39,43,.16)); }
.cf-auteur-lame-photo{ display:block; height:290px; overflow:hidden; background:var(--vert); }
.cf-auteur-lame-photo img, .cf-auteur-lame-photo svg{ width:100%; height:100%; object-fit:cover; object-position:50% 16%; display:block; border-radius:0; }
.cf-auteur-lame-traverse{ display:flex; flex-direction:column; gap:2px; padding:10px 14px 12px; border-top:3px solid var(--rose); }
.cf-auteur-lame-traverse strong{ font:700 1.1875rem/1.15 var(--titre); color:#fff; }
.cf-auteur-lame-traverse small{ font-size:.8125rem; color:rgba(255,255,255,.84); }
.cf-auteur-lame-lien:hover .cf-auteur-lame-traverse strong{ text-decoration:underline; text-decoration-color:var(--rose); text-decoration-thickness:2px; }
.cf-auteur-lame-bio{ margin:10px 2px 0; font-size:.9375rem; line-height:1.45; color:var(--doux); }
@media (max-width:640px){
	.cf-equipe--lames{ gap:12px; flex-wrap:nowrap; }
	.cf-equipe--lames::before{ top:56px; width:calc(100% + 28px); }
	.cf-auteur-lame{ flex:1 1 0; }
	.cf-auteur-lame-photo{ height:210px; }
	.cf-auteur-lame-traverse{ padding:8px 10px 10px; }
	.cf-auteur-lame-traverse strong{ font-size:1rem; }
	.cf-auteur-lame-bio{ font-size:.875rem; }
}
/* Plus aucun portrait rond : page auteur, boîte auteur, signature d'article */
.cf-auteur-portrait img, .cf-auteur-portrait svg{ width:168px; height:210px; border-radius:0; box-shadow:none; object-fit:cover; object-position:50% 16%; clip-path:polygon(0 26px, 50% 0, 100% 26px, 100% 100%, 0 100%); border-bottom:4px solid var(--rose); }
.sbt-auteur-photo img, .sbt-auteur-photo svg{ width:96px; height:120px; border-radius:0; box-shadow:none; object-fit:cover; object-position:50% 16%; clip-path:polygon(0 18px, 50% 0, 100% 18px, 100% 100%, 0 100%); border-bottom:3px solid var(--rose); }
.cf-art-meta img, .cf-art-meta svg{ width:40px; height:50px; border-radius:0; box-shadow:none; object-position:50% 16%; clip-path:polygon(0 9px, 50% 0, 100% 9px, 100% 100%, 0 100%); }

/* Rubrique : en-tête = une travée photo pleine largeur barrée du cordeau, cote sur le poteau, étiquette de poseur */
.cf-rub-tete{ padding:4px 0 34px; border-bottom:0; }
.cf-rub-tete .sbt-fil-ariane{ padding-block:10px 12px; }
.cf-rub-travee{ position:relative; display:grid; grid-template-columns:18px minmax(0,1fr) 18px; grid-template-rows:330px; padding-top:22px; }
.cf-rub-poteau{ position:relative; z-index:3; margin-top:-22px; background:var(--fer); clip-path:polygon(0 12px, 50% 0, 100% 12px, 100% 100%, 0 100%); }
.cf-rub-poteau-cote{ position:absolute; left:50%; bottom:14px; writing-mode:vertical-rl; transform:translateX(-50%) rotate(180deg); font:600 .8125rem/1 var(--texte); letter-spacing:.04em; color:var(--lait); white-space:nowrap; font-variant-numeric:tabular-nums; }
.cf-rub-photo{ position:relative; overflow:hidden; background:var(--vert); }
.cf-rub-photo img, .cf-rub-photo .cf-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 55%; display:block; }
.cf-rub-travee::after{ content:""; position:absolute; z-index:4; left:-12px; right:-12px; bottom:0; height:3px; background:var(--fer); }
.cf-rub-travee::before{ content:""; position:absolute; z-index:1; left:0; right:0; bottom:-16px; height:16px; background:linear-gradient(to bottom, rgba(35,39,43,.24), rgba(35,39,43,0)); }
.cf-rub-cordeau{ position:absolute; z-index:4; left:-12px; right:-12px; top:58px; height:3px; background:var(--rose); }
.cf-rub-cordeau i{ position:absolute; top:-9px; width:12px; height:21px; background:var(--fer); border-radius:3px; }
.cf-rub-cordeau i:first-child{ left:-6px; } .cf-rub-cordeau i:last-child{ right:-6px; }
.cf-rub-etiq{ position:absolute; z-index:5; right:64px; top:76px; margin:0; padding:20px 16px 12px; min-width:96px; text-align:center; background:var(--lait); color:var(--fer); border:2px solid var(--fer); font:600 .9375rem/1.1 var(--texte); transform:rotate(-4deg); transform-origin:50% -18px; box-shadow:4px 5px 0 rgba(35,39,43,.22); }
.cf-rub-etiq::before{ content:""; position:absolute; left:50%; top:6px; width:9px; height:9px; margin-left:-4.5px; border:2px solid var(--fer); border-radius:50%; background:#fff; }
.cf-rub-etiq::after{ content:""; position:absolute; left:50%; top:-17px; width:2px; height:25px; margin-left:-1px; background:var(--fer); }
.cf-rub-etiq b{ display:block; font:600 2.25rem/1 var(--texte); font-variant-numeric:tabular-nums; margin-bottom:2px; }
.cf-rub-plaque{ position:absolute; z-index:4; left:46px; bottom:24px; max-width:min(660px, 62%); padding:18px 26px 18px; background:var(--lait) radial-gradient(circle at 9px 9px, var(--fer) 2.5px, transparent 3px) no-repeat; border:2px solid var(--fer); box-shadow:6px 6px 0 var(--rose); }
.cf-rub-plaque::after{ content:""; position:absolute; right:7px; top:7px; width:5px; height:5px; border-radius:50%; background:var(--fer); }
.cf-rub-titre{ margin:0 0 6px; font-size:clamp(2rem, 3.6vw, 3.125rem); line-height:1.03; }
.cf-rub-chapo{ margin:0; max-width:56ch; font-size:1.0625rem; line-height:1.5; color:var(--doux); display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.cf-rub-liste{ padding:46px 0 64px; }
.cf-lames--trois{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px 18px; justify-content:start; }
.cf-lames--liste.cf-lames--trois .cf-lame{ flex:none; max-width:none; }
.cf-lames--trois .cf-lame-photo{ aspect-ratio:16 / 10; }
.cf-lames--trois .cf-lame-extrait{ -webkit-line-clamp:2; font-size:.875rem; }
.cf-regle--filtre .est-rubrique{ background:#fff; }
.cf-regle--filtre .est-rubrique .cf-regle-nom{ font-weight:700; }
.cf-regle--filtre .est-repere .cf-regle-nom, .cf-regle--filtre .est-repere .cf-regle-val{ color:var(--doux); font-weight:400; }
.cf-regle--filtre .est-repere .cf-barre{ background:rgba(35,39,43,.2); }
.cf-regle--filtre .est-repere .cf-barre::before, .cf-regle--filtre .est-repere .cf-barre::after{ background:rgba(255,79,139,.5); }
@media (max-width:999px){
	.cf-lames--trois{ grid-template-columns:repeat(2, minmax(0,1fr)); }
	.cf-rub-plaque{ max-width:72%; }
}
@media (max-width:760px){
	.cf-rub-travee{ grid-template-columns:14px minmax(0,1fr) 14px; grid-template-rows:220px auto; padding-top:16px; }
	.cf-rub-poteau{ margin-top:-16px; }
	.cf-rub-poteau-cote{ font-size:.75rem; bottom:10px; }
	.cf-rub-travee::after{ bottom:auto; top:233px; }
	.cf-rub-travee::before{ display:none; }
	.cf-rub-cordeau{ top:44px; }
	.cf-rub-etiq{ right:30px; top:60px; padding:16px 12px 9px; min-width:76px; font-size:.8125rem; }
	.cf-rub-etiq b{ font-size:1.75rem; }
	.cf-rub-plaque{ position:relative; left:auto; bottom:auto; grid-column:1 / -1; max-width:none; margin-top:16px; padding:14px 16px 14px; box-shadow:4px 4px 0 var(--rose); }
	.cf-rub-titre{ font-size:2rem; }
	.cf-rub-chapo{ font-size:.96875rem; }
}
@media (max-width:640px){
	.cf-lames--trois{ grid-template-columns:minmax(0,1fr); }
}

/* M5 : [sbs_tarifs] = fourchettes début → fin sur UNE échelle commune, comme la règle de l'accueil */
.cf-tf-piste{ position:relative; display:block; height:24px; background:linear-gradient(to right, rgba(35,39,43,.16) 1px, transparent 1px) 0 0 / 50% 100%; border-right:1px solid rgba(35,39,43,.16); }
.cf-tf-barre{ position:absolute; top:6px; height:12px; left:var(--g); width:var(--d); background:var(--vert); }
.cf-tf-barre::before, .cf-tf-barre::after{ content:""; position:absolute; top:-6px; bottom:-6px; width:3px; background:var(--rose); }
.cf-tf-barre::before{ left:-1.5px; } .cf-tf-barre::after{ right:-1.5px; }
.cf-tf-barre--point{ width:3px; background:var(--rose); }
sbs-tarif.cf-tf-echelle{ padding:0 0 4px; border-bottom:2px solid var(--fer); }
.cf-tf-grad{ height:16px; background:none; border-right:0; }
.cf-tf-grad i{ position:absolute; top:0; transform:translateX(-50%); font:600 .75rem/1 var(--texte); font-style:normal; color:var(--doux); font-variant-numeric:tabular-nums; }
.cf-tf-grad i:first-child{ transform:none; } .cf-tf-grad i:last-child{ transform:translateX(-100%); }
@media (max-width:760px){
	.cf-tf-piste{ grid-column:1 / -1; order:3; }
	sbs-tarif.cf-tf-echelle .sbs_tarif_libelle, sbs-tarif.cf-tf-echelle .sbs_tarif_prix{ display:none; }
}

/* M6 : encadrés en grille = cases de même hauteur, une case seule passe en pleine largeur */
.cf-cartes{ grid-template-columns:repeat(2, minmax(0,1fr)); align-items:stretch; }
.cf-cartes > :last-child:nth-child(odd){ grid-column:1 / -1; }
@media (max-width:640px){ .cf-cartes{ grid-template-columns:minmax(0,1fr); } }

/* M9 : le bloc de liens du maillage (mu-plugin) = ligne de cartes compactes, sans puces ni soulignés */
.sbt-article-corps .sb-maillage{ margin:2.4em 0 0; padding-top:18px; border-top:2px solid var(--fer); }
.sbt-article-corps .sb-maillage h2{ margin:0 0 12px; padding-top:0; font-size:1.25rem; }
.sbt-article-corps .sb-maillage h2::before{ display:none; }
.sbt-article-corps .sb-maillage ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)); gap:10px; }
.sbt-article-corps .sb-maillage li{ margin:0; }
.sbt-article-corps .sb-maillage a{ display:flex; align-items:flex-start; height:100%; padding:12px 14px 13px; background:#fff; border:2px solid var(--fer); border-top:4px solid var(--rose); color:var(--fer); text-decoration:none; font:700 1rem/1.25 var(--titre); transition:box-shadow .18s, transform .18s; }
.sbt-article-corps .sb-maillage a:hover{ color:var(--fer); transform:translateY(-2px); box-shadow:4px 4px 0 var(--vert); }
.sbt-article-corps .sb-maillage a[href*="/category/"]{ flex-direction:column; gap:2px; background:var(--fer); color:var(--lait); border-top-color:var(--fer); font:600 .9375rem/1.3 var(--texte); }
.sbt-article-corps .sb-maillage a[href*="/category/"]::before{ content:"Toute la rubrique"; display:block; font-size:.8125rem; font-weight:400; color:rgba(247,246,241,.86); }

/* M10 : « À lire aussi » = 4 colonnes sur toute la largeur */
.cf-alire .cf-lames--liste{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:18px 16px; }
.cf-alire .cf-lames--liste .cf-lame{ max-width:none; }
@media (max-width:999px){ .cf-alire .cf-lames--liste{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:560px){ .cf-alire .cf-lames--liste{ grid-template-columns:minmax(0,1fr); } }

/* M13 : à 390, la lame photo d'en-tête d'article sans filtre (le filtre + clip-path vidait le cadre à la capture pleine page) */
@media (max-width:999px){
	.cf-art-cadre{ filter:none; }
	.cf-art-cadre-ext{ background:var(--rose); }
	.cf-art-photo{ box-shadow:none; }
}

/* M14 : bouton désactivé lisible (contour rose, texte gris foncé), plus d'aplat délavé */
.cf-btn[disabled], .cf-btn[disabled]:hover{ opacity:1; background:#fff; border-color:var(--rose); color:#4A4F55; box-shadow:none; transform:none; cursor:not-allowed; }

/* M8 : contact — formulaire et textes à gauche, photo contact2 à droite (≥ 280 px), plus de bandeau flou */
.cf-contact{ padding:6px 0 56px; }
.cf-contact-grille{ grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:44px; align-items:stretch; }
.cf-contact-gauche{ display:flex; flex-direction:column; gap:18px; min-width:0; }
.cf-contact-gauche .cf-contact-cote{ grid-template-columns:1fr 1fr; }
.cf-contact-photo{ position:relative; display:flex; gap:10px; min-height:300px; }
.cf-contact-poteau{ flex:none; width:18px; background:var(--fer); clip-path:polygon(0 12px, 50% 0, 100% 12px, 100% 100%, 0 100%); }
.cf-contact-cadre{ position:relative; flex:1; min-width:0; overflow:hidden; background:var(--vert); border-bottom:3px solid var(--fer); clip-path:polygon(0 40px, 50% 0, 100% 40px, 100% 100%, 0 100%); }
.cf-contact-cadre{ z-index:1; }
@media (min-width:1000px){ .cf-contact-photo::after{ content:""; position:absolute; z-index:0; left:36px; right:-8px; top:48px; bottom:-8px; background:var(--rose); } }
.cf-contact-cadre img, .cf-contact-cadre .cf-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 50%; display:block; }
.cf-contact-outil-grille{ align-items:center; }
@media (max-width:999px){
	.cf-contact-grille{ grid-template-columns:minmax(0,1fr); gap:24px; }
	.cf-contact-photo{ min-height:0; height:290px; }
}
@media (max-width:640px){
	.cf-contact-gauche .cf-contact-cote{ grid-template-columns:1fr; }
	.cf-contact-photo{ height:280px; }
}

/* Point 6 : la longueur se choisit sur un mètre ruban déroulé (graduations cliquables 10 · 25 · 50 · 100 m) */
.cf-form-etape[data-cf-etape="1"] .cf-tuiles--n4{ position:relative; gap:0; background:#fff repeating-linear-gradient(to right, rgba(35,39,43,.5) 0 1px, transparent 1px 12px) left bottom / 100% 7px no-repeat; border:2px solid var(--fer); border-left:14px solid var(--fer); }
.cf-form-etape[data-cf-etape="1"] .cf-tuiles--n4 .cf-tuile{ border:0; border-left:1px solid rgba(35,39,43,.2); background:transparent; justify-content:flex-start; padding-top:9px; box-shadow:none; transform:none; }
.cf-form-etape[data-cf-etape="1"] .cf-tuiles--n4 .cf-tuile:first-child{ border-left:0; }
.cf-form-etape[data-cf-etape="1"] .cf-tuiles--n4 .cf-tuile::after{ content:""; position:absolute; left:50%; bottom:0; width:2px; height:17px; margin-left:-1px; background:var(--fer); }
.cf-form-etape[data-cf-etape="1"] .cf-tuiles--n4 .cf-tuile:hover{ background:rgba(255,79,139,.12); }
.cf-form-etape[data-cf-etape="1"] .cf-tuiles--n4 .cf-tuile[aria-pressed="true"]{ background:var(--rose); color:var(--fer); box-shadow:none; }
.cf-form-carte:not(.cf-form-carte--rail) .cf-form-etape[data-cf-etape="1"] .cf-tuiles--n4{ grid-template-columns:repeat(4, minmax(0,1fr)); }
@media (max-width:640px){
	.cf-form-carte:not(.cf-form-carte--rail) .cf-form-etape[data-cf-etape="1"] .cf-tuiles--n4 .cf-tuile{ min-height:50px; }
}

/* Corr-2, passe 2 : colonnes fixes pour que l'échelle des [sbs_tarifs] tombe juste sur chaque ligne ; travée alu cadrée sur la clôture */
sbs-tarif{ grid-template-columns:minmax(120px, 1.15fr) 2fr 7.5rem; }
.sbs_tarif_prix{ text-align:right; }
@media (max-width:760px){ sbs-tarif{ grid-template-columns:minmax(0,1fr) auto; } }
.cf-trav--4 .cf-trav-photo img{ object-position:50% 96%; }
/* Travée alu : la photo est plus haute que large, on la cadre sur la clôture (bas de l'image) et non sur le ciel */
@media (min-width:1000px){
	.cf-trav--4 .cf-trav-photo img{ transform:scale(1.85); transform-origin:50% 88%; }
	.cf-trav--4:hover .cf-trav-photo img{ transform:scale(1.92); }
}

/* Cote de géomètre sous le titre : le cadre de la cote contient l'étiquette (sortie n°8 : « 1 m » débordait de 6 px). */
.cf-hero-titre .cf-cote{ height:19px; bottom:-5px; background:linear-gradient(var(--rose), var(--rose)) center / 100% 3px no-repeat; }
.cf-hero-titre .cf-cote .cf-cote-taquet{ top:0; height:19px; }
.cf-hero-titre .cf-cote .cf-cote-fleche{ top:3px; }
@media (max-width: 640px){
	.cf-hero-titre .cf-cote{ height:17px; bottom:-5px; }
	.cf-hero-titre .cf-cote .cf-cote-taquet{ height:17px; }
	.cf-hero-titre .cf-cote .cf-cote-fleche{ top:2px; }
}

/* ===================================================================== 21. Corrections n°3 (19/10) — juge visuel n°2 */

/* N1 : « Un média indépendant » équilibré — texte centré face aux lames, chiffres posés en cotes, 3 engagements */
.cf-redaction-grille{ align-items:center; gap:48px; }
.cf-redaction-phrase{ margin-bottom:22px; }
.cf-red-cotes{ position:relative; display:flex; margin:0 0 22px; padding:0 0 0; max-width:520px; border-bottom:3px solid var(--rose); }
.cf-red-cotes::before, .cf-red-cotes::after{ content:""; position:absolute; bottom:-9px; width:6px; height:15px; background:var(--fer); }
.cf-red-cotes::before{ left:-3px; } .cf-red-cotes::after{ right:-3px; }
.cf-red-cotes span{ position:relative; flex:1; padding:0 0 10px; font:500 .9375rem/1.2 var(--texte); color:var(--doux); text-align:center; }
.cf-red-cotes span + span::before{ content:""; position:absolute; left:0; bottom:-9px; width:2px; height:15px; background:var(--fer); }
.cf-red-cotes b{ display:block; font:600 2rem/1 var(--texte); color:var(--fer); font-variant-numeric:tabular-nums; margin-bottom:4px; }
.cf-red-engage{ list-style:none; margin:0 0 18px; padding:0; display:grid; gap:8px; }
.cf-red-engage li{ position:relative; padding-left:30px; font-size:1rem; line-height:1.45; }
.cf-red-engage li::before{ content:""; position:absolute; left:0; top:2px; width:20px; height:20px; background:var(--vert) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
.cf-red-lien{ margin:0; }
.cf-redaction .cf-equipe--lames{ justify-content:flex-end; }
.cf-redaction .cf-auteur-lame-photo{ height:300px; }
@media (max-width:999px){ .cf-redaction .cf-equipe--lames{ justify-content:flex-start; } }

/* N3 : à-propos, la rédaction en lames à pointe plantées sur le cordeau, bio entière dessous */
.cf-ap-redac .cf-equipe--lames{ display:flex; grid-template-columns:none; gap:28px; }
.cf-equipe--bios .cf-auteur-lame{ flex:0 1 300px; }
.cf-equipe--bios.cf-equipe--lames::before{ width:calc(2 * 300px + 28px + 28px); }
.cf-equipe--bios .cf-auteur-lame-photo{ height:340px; }
.cf-equipe--bios .cf-auteur-lame-bio{ font-size:.96875rem; color:var(--fer); }
@media (max-width:640px){
	.cf-equipe--bios .cf-auteur-lame-photo{ height:220px; }
	.cf-equipe--bios .cf-auteur-lame-bio{ font-size:.875rem; }
}

/* m4 : la grille de rubrique se ferme toujours — 2 cartes = 2 colonnes larges, carte seule = pleine largeur */
.cf-lames--trois{ grid-template-columns:repeat(6, minmax(0,1fr)); }
.cf-lames--trois > .cf-lame{ grid-column:span 2; }
.cf-lames--trois > .cf-lame:nth-child(3n+1):nth-last-child(2), .cf-lames--trois > .cf-lame:nth-child(3n+2):last-child{ grid-column:span 3; }
.cf-lames--trois > .cf-lame:nth-child(3n+1):last-child{ grid-column:1 / -1; }
.cf-lames--trois > .cf-lame:nth-child(3n+1):nth-last-child(2) .cf-lame-photo, .cf-lames--trois > .cf-lame:nth-child(3n+2):last-child .cf-lame-photo{ aspect-ratio:16 / 7; }
.cf-lames--trois > .cf-lame:nth-child(3n+1):last-child .cf-lame-photo{ aspect-ratio:16 / 5; }
@media (max-width:999px){
	.cf-lames--trois{ grid-template-columns:repeat(2, minmax(0,1fr)); }
	.cf-lames--trois > .cf-lame, .cf-lames--trois > .cf-lame:nth-child(3n+1):nth-last-child(2), .cf-lames--trois > .cf-lame:nth-child(3n+2):last-child{ grid-column:auto; }
	.cf-lames--trois > .cf-lame:nth-child(odd):last-child{ grid-column:1 / -1; }
	.cf-lames--trois > .cf-lame .cf-lame-photo{ aspect-ratio:16 / 10; }
}
@media (max-width:640px){
	.cf-lames--trois{ grid-template-columns:minmax(0,1fr); }
	.cf-lames--trois > .cf-lame:nth-child(odd):last-child{ grid-column:auto; }
}

/* m15 : page auteur, « Ses guides » alignés sur le titre (grille à gauche, plus de rangée centrée) */
.cf-lames--auteur{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); justify-content:start; }
.cf-lames--liste.cf-lames--auteur .cf-lame{ flex:none; max-width:none; }
@media (max-width:999px){ .cf-lames--auteur{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:560px){ .cf-lames--auteur{ grid-template-columns:minmax(0,1fr); } }

/* m6 : tuiles du maillage avec photo */
.sbt-article-corps .sb-maillage a{ flex-direction:column; gap:10px; padding:0 0 13px; border-top-width:2px; overflow:hidden; }
.sbt-article-corps .sb-maillage a[href*="/category/"]{ padding:12px 14px 13px; justify-content:center; }
.cf-mail-photo{ display:block; height:110px; overflow:hidden; border-bottom:3px solid var(--rose); background:var(--vert); }
.cf-mail-photo img{ width:100%; height:100%; object-fit:cover; display:block; margin:0; }
.cf-mail-titre{ display:block; padding:0 14px; }

/* m16 : lame photo d'en-tête toujours peinte (pas de couche filtrée) */
.cf-art-cadre-int img{ opacity:1; }

/* m13 : bandeau Composite cadré sur le mur, pas sur le ciel */
.cf-rub-tete--composite-pvc-beton .cf-rub-photo img{ object-position:50% 100%; }

/* m1 : cordons séparateurs tendus droits ; m12 : étiquette suspendue droite à son œillet */
.cf-cordon--a, .cf-cordon--b{ transform:none; }
.cf-rub-etiq{ transform:none; }

/* m2 : le cordeau du premier écran est tendu d'office (plus d'animation qu'une capture peut saisir en cours) */
.cf-js .cf-cordeau-svg{ animation:none; }

/* m11 : mètre ruban de la colonne latérale — chiffres au-dessus de graduations courtes */
.cf-form-carte--rail .cf-form-etape[data-cf-etape="1"] .cf-tuiles--n4 .cf-tuile{ justify-content:flex-start; padding-top:4px; padding-bottom:12px; }
.cf-form-carte--rail .cf-form-etape[data-cf-etape="1"] .cf-tuiles--n4 .cf-tuile::after{ height:8px; }
.cf-form-carte--rail .cf-form-etape[data-cf-etape="1"] .cf-tuiles--n4{ background-size:100% 5px; }

/* Corr-3, passe 2 — cote du titre : l'étiquette « 1 m » est DANS le cadre de la cote (flux flex centré, cadre = étiquette + 2 px) */
.cf-hero-titre .cf-cote{ display:flex; align-items:center; justify-content:center; height:auto; padding:1px 0; bottom:-6px; background:linear-gradient(var(--rose), var(--rose)) center / 100% 3px no-repeat; }
.cf-hero-titre .cf-cote .cf-cote-etiq{ position:static; transform:none; display:block; margin:0; line-height:1; }
.cf-hero-titre .cf-cote .cf-cote-taquet{ top:0; bottom:0; height:auto; }
.cf-hero-titre .cf-cote .cf-cote-fleche{ top:50%; margin-top:-6.5px; }
@media (max-width:999px){ .cf-hero-titre .cf-cote{ bottom:-5px; } }

/* Accueil : le cordeau des lames-auteurs part des lames (colonne alignée à droite) */
.cf-redaction .cf-equipe--lames::before{ left:auto; right:-14px; }
@media (max-width:999px){ .cf-redaction .cf-equipe--lames::before{ left:-14px; right:auto; } }

/* À propos : texte et boutons à gauche, lames à droite (plus de moitié droite vide) */
@media (min-width:1000px){
	.cf-ap-redac > .cf-c{ display:grid; grid-template-columns:minmax(0,1fr) 656px; column-gap:56px; } /* colonne des lames FIXE : en « auto », la bio entière sur une ligne écrasait la colonne de texte (c3b) */
	.cf-ap-redac .cf-section-tete{ grid-column:1; grid-row:1; align-self:end; margin-bottom:18px; }
	.cf-ap-redac .cf-ap-liens{ grid-column:1; grid-row:2; align-self:start; }
	.cf-ap-redac .cf-equipe--lames{ grid-column:2; grid-row:1 / span 2; }
}

/* Sortie n°11 : la cote reste DANS le titre (le contrôle premier_ecran mesurait « 1 m » 5 px sous le bas du h1). */
.cf-hero-titre .cf-cote-titre{ padding-bottom:24px; }
.cf-hero-titre .cf-cote{ bottom:0; }
@media (max-width:999px){ .cf-hero-titre .cf-cote-titre{ padding-bottom:20px; } .cf-hero-titre .cf-cote{ bottom:0; } }

/* Juge n°4 : vignettes du bloc « Dans la même rubrique » pleine largeur de la case, en lame à pointe ; 4 cases sur une ligne. */
.sbt-article-corps .sb-maillage ul{ grid-template-columns:repeat(4, minmax(0, 1fr)); align-items:stretch; }
.sbt-article-corps .sb-maillage a{ align-items:stretch; }
.sbt-article-corps .sb-maillage a[href*="/category/"]{ align-items:flex-start; }
.cf-mail-photo{ width:100%; height:118px; clip-path:polygon(0 14px, 50% 0, 100% 14px, 100% 100%, 0 100%); }
.cf-mail-photo img{ max-width:none; width:100%; }
.cf-mail-titre{ font-size:.9375rem; line-height:1.25; }
@media (max-width:760px){
	.sbt-article-corps .sb-maillage ul{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
	.cf-mail-photo{ height:104px; }
}
