/* Polices auto-hébergées : woff2 STATIQUES (Noto Sans Display / Rosario) + Nunito variable (titres, 15/10 : plus chaude, plus rassurante) — sous-ensemble latin + latin-ext. */
@font-face{font-family:"Nunito";font-style:normal;font-weight:400 800;font-display:swap;src:url("../fonts/nunito-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito";font-style:normal;font-weight:400 800;font-display:swap;src:url("../fonts/nunito-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Noto Sans Display";font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/noto-sans-display-300.woff2") format("woff2")}
@font-face{font-family:"Noto Sans Display";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/noto-sans-display-400.woff2") format("woff2")}
@font-face{font-family:"Noto Sans Display";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/noto-sans-display-500.woff2") format("woff2")}
@font-face{font-family:"Noto Sans Display";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/noto-sans-display-600.woff2") format("woff2")}
@font-face{font-family:"Rosario";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/rosario-400.woff2") format("woff2")}
@font-face{font-family:"Rosario";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/rosario-400i.woff2") format("woff2")}
@font-face{font-family:"Rosario";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/rosario-600.woff2") format("woff2")}
@font-face{font-family:"Rosario";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/rosario-700.woff2") format("woff2")}

/*
Theme Name: dcp-v3
Theme URI: https://debouchage-canalisation-paris.net/
Description: Thème code pur « Ça repart » : le flot débouché et la plaque de rue émaillée. Mode clair uniquement.
Version: 3.0.0
Author: Débouchage Canalisation Paris
Text Domain: dcp-v3
*/

/* ---------- Jetons --dc-* (DA §4, contrastes mesurés AA) ---------- */
:root{
	--dc-blanc:#FFFFFF; --dc-brume:#F1F5F8; --dc-ardoise:#142231; --dc-zinc:#46627A;
	--dc-eau:#0A6A85; --dc-eau-fonce:#08566C; --dc-ecume:#6FE0E6; --dc-glace:#DDF3F6;
	--dc-nuit:#0F1C2B; --dc-signal:#C43C2C; --dc-doux:#4D5E6E; --dc-filet:#E1E8EE;
	--dc-flot:linear-gradient(100deg,#6FE0E6 0%,#2C7BE0 48%,#2A3F9E 78%,#0F1C2B 100%);
	--dc-fond-nuit:linear-gradient(180deg,#0F1C2B 0%,#10304F 100%);
	--dc-ombre-carte:0 2px 5px -1px rgba(20,34,49,.10),0 1px 3px -1px rgba(0,0,0,.06);
	--dc-ombre-survol:0 30px 60px -12px rgba(20,34,49,.22),0 18px 36px -18px rgba(0,0,0,.24);
	--dc-ombre-form:0 50px 100px -20px rgba(20,34,49,.28),0 30px 60px -30px rgba(0,0,0,.32);
	--dc-ombre-photo:0 30px 60px -18px rgba(16,48,79,.35);
	--dc-r-bouton:10px; --dc-r-carte:20px; --dc-r-form:24px; --dc-r-plaque:6px; --dc-r-pilule:999px;
	--dc-titre:"Nunito","Noto Sans Display","Helvetica Neue",Arial,sans-serif;
	--dc-texte:"Rosario",Georgia,"Times New Roman",serif;
	--dc-cont:1240px; --dc-g:16px;
	--dc-cw:min(var(--dc-cont),calc(100vw - 2 * var(--dc-g)));
	--dc-menu-h:72px;
	/* Habillage des blocs figés : --sb-* prennent les valeurs --dc-* */
	--sb-fond:var(--dc-blanc); --sb-fond-alt:var(--dc-brume); --sb-fond-carte:var(--dc-blanc); --sb-surf:var(--dc-brume);
	--sb-encre:var(--dc-ardoise); --sb-doux:var(--dc-doux); --sb-filet:var(--dc-filet);
	--sb-accent:var(--dc-eau); --sb-accent-clair:var(--dc-glace); --sb-accent-pale:var(--dc-glace);
	--sb-sombre:var(--dc-nuit); --sb-fonce:var(--dc-nuit); --sb-sur-fonce:#FFFFFF;
	--sb-rayon:20px; --sb-rayon-grand:20px;
	--sb-ombre:var(--dc-ombre-carte); --sb-ombre-forte:var(--dc-ombre-survol);
	--sb-titre:var(--dc-titre); --sb-texte:var(--dc-texte);
	--sb-conteneur:1240px; --sb-lecture:824px; --sb-rail:360px; --sb-gouttiere:56px;
}
@media (min-width:640px){ :root{ --dc-g:32px; } }
@media (min-width:1700px){ :root{ --dc-cont:1280px; } }
@media (max-width:640px){ :root{ --dc-menu-h:60px; } }

/* ---------- Base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-padding-top:calc(var(--dc-menu-h) + 16px); }
body{
	margin:0; background:var(--dc-blanc); color:var(--dc-ardoise);
	font-family:var(--dc-texte); font-size:17px; line-height:1.65; font-weight:400;
	font-variant-numeric:lining-nums; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
@media (min-width:641px){ body{ font-size:18px; } }
img,svg,video{ max-width:100%; }
img{ height:auto; display:block; }
a{ color:var(--dc-eau); text-underline-offset:3px; }
a:hover{ color:var(--dc-eau-fonce); }
h1,h2,h3,h4{ font-family:var(--dc-titre); color:var(--dc-ardoise); margin:0; font-weight:700; letter-spacing:-.01em; }
h3,h4{ font-weight:500; letter-spacing:-.01em; }
p{ margin:0 0 1em; }
ul,ol{ padding-left:1.2em; }
:focus-visible{ outline:3px solid var(--dc-eau); outline-offset:3px; border-radius:4px; }
.dc-evitement{ position:absolute; left:-9999px; top:8px; z-index:200; background:var(--dc-ardoise); color:#fff; padding:10px 16px; border-radius:var(--dc-r-bouton); }
.dc-evitement:focus{ left:8px; }
.screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
::selection{ background:var(--dc-glace); color:var(--dc-ardoise); }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } *,*::before,*::after{ animation:none !important; transition:none !important; } }

/*
 * 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-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; }

/* ==========================================================================
   dcp-v3 — habillage « Ça repart » (DA 10/10/2026). Préfixe dc-. Mode clair uniquement.
   Ordre : base · menu · plaques/logo · flot · boutons · hero · formulaire · sections · article · pied de page.
   ========================================================================== */

/* ---------- Conteneur, filets de guidage ---------- */
.dc-c{ width:var(--dc-cw); margin-inline:auto; }
.dc-page{ position:relative; display:block; }
/* 15/10 : le trait vertical de guidage (.dc-page::before) est supprimé — Mathias : « un trait à gauche qui sert à rien ». */
.dc-page > *{ position:relative; z-index:1; }
.dc-page > .dc-hero,.dc-page > .dc-sec--arr,.dc-page > .dc-sec--diag,.dc-page > .dc-sec--mag,.dc-page > .dc-sec--profils,.dc-page > .dc-sec--liste,.dc-page > .dc-sec--corps,.dc-page > .dc-sec--lecture,.dc-page > .dc-sec--couvre,.dc-page > .dc-sec--equipe,.dc-page > .dc-service{ background:transparent; }

/* ---------- Menu ---------- */
.dc-menu{ position:sticky; top:0; z-index:100; background:var(--dc-blanc); border-bottom:1px solid var(--dc-filet); }
.dc-menu__in{ display:flex; align-items:center; gap:28px; height:var(--dc-menu-h); width:min(1400px,calc(100vw - 2 * var(--dc-g))); margin-inline:auto; }
.dc-menu__logo{ display:flex; text-decoration:none; flex:0 0 auto; }
.dc-menu__nav{ flex:1 1 auto; min-width:0; }
.dc-menu__nav ul{ display:flex; gap:22px; list-style:none; margin:0; padding:0; justify-content:center; }
.dc-menu__nav a{ font:500 14.5px/1 var(--dc-titre); color:var(--dc-ardoise); text-decoration:none; padding:10px 0; white-space:nowrap; position:relative; letter-spacing:-.005em; }
.dc-menu__nav a:hover{ color:var(--dc-eau); }
.dc-menu__nav a::after{ content:""; position:absolute; left:0; right:0; bottom:2px; height:2px; background:var(--dc-eau); transform:scaleX(0); transform-origin:left; transition:transform .22s ease; }
.dc-menu__nav a:hover::after{ transform:scaleX(1); }
.dc-menu__actions{ display:flex; gap:10px; flex:0 0 auto; }
.dc-menu__actions .dc-btn{ min-height:44px; padding-inline:18px; font-size:15px; }
.dc-menu__rond{ display:none; width:44px; height:44px; border-radius:50%; background:var(--dc-eau); color:#fff; align-items:center; justify-content:center; flex:0 0 auto; }
.dc-menu__burger{ display:none; width:44px; height:44px; border:1px solid var(--dc-filet); border-radius:var(--dc-r-bouton); background:var(--dc-blanc); padding:0; cursor:pointer; flex:0 0 auto; flex-direction:column; align-items:center; justify-content:center; gap:5px; }
.dc-menu__burger span{ display:block; width:20px; height:2px; background:var(--dc-ardoise); border-radius:2px; transition:transform .22s ease,opacity .22s ease; }
.dc-menu__burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.dc-menu__burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.dc-menu__burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.dc-mobile{ border-top:1px solid var(--dc-filet); background:var(--dc-blanc); padding:8px var(--dc-g) 20px; }
.dc-mobile[hidden]{ display:none; }
.dc-mobile ul{ list-style:none; margin:0; padding:0; }
.dc-mobile li a{ display:block; padding:14px 0; font:500 18px/1.2 var(--dc-titre); color:var(--dc-ardoise); text-decoration:none; border-bottom:1px solid var(--dc-filet); }
.dc-mobile__actions{ display:grid; gap:10px; margin-top:16px; }
@media (max-width:1240px){ .dc-menu__in{ gap:18px; } .dc-menu__nav ul{ gap:16px; } .dc-menu__nav a{ font-size:14px; } .dc-menu__actions .dc-btn--contour{ display:none; } }
@media (max-width:1060px){ .dc-menu__nav,.dc-menu__actions{ display:none; } .dc-menu__burger{ display:flex; margin-left:auto; } .dc-menu__rond{ display:inline-flex; } }

/* ---------- Plaques de rue émaillées (procédé 2) ---------- */
.dc-plaque{ position:relative; display:inline-flex; align-items:center; justify-content:center; background:var(--dc-ardoise); color:#fff; border-radius:var(--dc-r-plaque); box-shadow:0 0 0 2px var(--dc-ecume); font-family:var(--dc-titre); font-weight:600; text-decoration:none; line-height:1; letter-spacing:.01em; margin:2px; white-space:nowrap; }
.dc-plaque::before{ content:""; position:absolute; inset:3px; border:1px solid rgba(255,255,255,.92); border-radius:3px; pointer-events:none; }
.dc-plaque > span{ position:relative; text-transform:uppercase; }
a.dc-plaque{ transition:transform .22s ease,box-shadow .22s ease; }
a.dc-plaque:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 0 0 2px var(--dc-ecume),0 10px 18px -8px rgba(20,34,49,.5); }
.dc-plaque--m{ height:28px; padding:0 12px; font-size:13px; }
.dc-plaque--a{ height:44px; min-width:56px; padding:0 14px; font-size:18px; }
.dc-plaque--a > span,.dc-plaque--m > span{ text-transform:none; }
.dc-plaque--l{ height:22px; padding:0 8px; font-size:12px; border-radius:4px; box-shadow:0 0 0 1.5px var(--dc-ecume); margin:0 2px 0 8px; }
.dc-plaque--l::before{ inset:2px; border-radius:2px; }
.dc-plaque--g{ width:240px; height:120px; padding:0 22px; justify-content:flex-start; gap:18px; border-radius:8px; }
.dc-plaque--g::before{ inset:5px; border-radius:5px; }
.dc-plaque__num{ position:relative; font:700 72px/1 var(--dc-titre); letter-spacing:-.015em; text-transform:none !important; }
.dc-plaque__mots{ position:relative; display:flex; flex-direction:column; gap:6px; font-weight:600; letter-spacing:.06em; }
.dc-plaque__mots span:first-child{ font-size:15px; text-transform:uppercase; }
.dc-plaque__mots span:last-child{ font-size:13px; text-transform:uppercase; opacity:.85; }

/* ---------- Logo ---------- */
.dc-logo{ display:inline-flex; align-items:center; gap:10px; color:var(--dc-ardoise); }
.dc-logo__nom{ font:600 19px/1 var(--dc-titre); letter-spacing:-.01em; color:var(--dc-ardoise); white-space:nowrap; }
.dc-symbole{ flex:0 0 auto; }
@media (max-width:640px){ .dc-logo__nom{ font-size:16px; } .dc-symbole{ width:34px; height:25px; } .dc-plaque--l{ margin-left:6px; } .dc-logo{ gap:8px; } }

/* ---------- Le flot débouché (procédé 1) ---------- */
.dc-flot-calque{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.dc-flot{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.dc-flot path{ vector-effect:non-scaling-stroke; }
.dc-js .dc-flot[data-anim]:not(.is-pret){ visibility:hidden; }
.dc-flot--derive .dc-flot__g{ animation:dc-derive 14s ease-in-out infinite alternate; }
@keyframes dc-derive{ from{ transform:translateY(-3px); } to{ transform:translateY(3px); } }
.dc-flot-en-pause .dc-flot__g{ animation-play-state:paused; }
.dc-pn{ position:absolute; z-index:2; transform:translate(-50%,-50%); display:inline-flex; align-items:center; gap:7px; height:34px; padding:0 14px 0 11px; border-radius:var(--dc-r-pilule); background:var(--dc-blanc); color:var(--dc-ardoise); font:500 13.5px/1 var(--dc-titre); box-shadow:var(--dc-ombre-carte),0 8px 18px -8px rgba(20,34,49,.35); white-space:nowrap; }
.dc-pn__i{ color:var(--dc-eau); }
.dc-pn__i--avant,.dc-pn__t--avant{ display:none; }
.dc-pn.is-tendu .dc-pn__i--avant,.dc-pn.is-tendu .dc-pn__t--avant{ display:inline-block; }
.dc-pn.is-tendu .dc-pn__i--apres,.dc-pn.is-tendu .dc-pn__t--apres{ display:none; }
.dc-pn.is-tendu .dc-pn__i{ color:var(--dc-signal); }
.dc-pn--compteur{ padding:0 16px; gap:6px; }
.dc-pn--compteur strong{ font-weight:500; font-size:15px; }

/* ---------- Titres en deux tons (procédé 3) ---------- */
.dc-t2__a{ color:var(--dc-ardoise); }
.dc-t2__b{ color:var(--dc-zinc); }
.dc-t2--nuit .dc-t2__a,.dc-sec--nuit .dc-t2__a{ color:#fff; }
.dc-t2--nuit .dc-t2__b,.dc-sec--nuit .dc-t2__b{ color:var(--dc-ecume); }

/* ---------- Boutons ---------- */
.dc-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:0 22px; border-radius:var(--dc-r-bouton); font:500 16px/1.1 var(--dc-titre); letter-spacing:-.005em; text-decoration:none; cursor:pointer; border:1.5px solid transparent; transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease; white-space:nowrap; }
.dc-btn--plein{ background:var(--dc-eau); color:#fff; }
.dc-btn--plein:hover{ background:var(--dc-eau-fonce); color:#fff; transform:translateY(-1px); box-shadow:0 10px 20px -10px rgba(10,106,133,.7); }
.dc-btn--contour{ background:var(--dc-blanc); color:var(--dc-eau); border-color:var(--dc-eau); }
.dc-btn--contour:hover{ background:var(--dc-glace); color:var(--dc-eau-fonce); }
.dc-btn--blanc{ background:#fff; color:var(--dc-ardoise); }
.dc-btn--blanc:hover{ background:var(--dc-glace); color:var(--dc-ardoise); transform:translateY(-1px); }
.dc-btn--form{ min-height:52px; }
.dc-btn--sm{ min-height:40px; padding-inline:16px; font-size:15px; }
.dc-btn--lg{ min-height:52px; padding-inline:30px; }
.dc-btn--retour{ background:transparent; color:var(--dc-zinc); padding-inline:12px; min-height:44px; font-weight:400; text-decoration:underline; text-underline-offset:4px; }
.dc-btn--retour:hover{ color:var(--dc-ardoise); }
.dc-lien{ font:500 15.5px/1.3 var(--dc-titre); color:var(--dc-eau); text-decoration:none; border-bottom:1.5px solid currentColor; padding-bottom:2px; }
.dc-lien:hover{ color:var(--dc-eau-fonce); }
.dc-meta{ font:600 14px/1.4 var(--dc-texte); color:var(--dc-doux); }
.dc-puce{ display:inline-block; background:var(--dc-glace); color:var(--dc-ardoise); font:600 13.5px/1 var(--dc-texte); padding:7px 12px; border-radius:var(--dc-r-pilule); }
.dc-credit{ font:400 12px/1.4 var(--dc-texte); color:var(--dc-doux); text-decoration:none; }
.dc-credit:hover{ color:var(--dc-ardoise); text-decoration:underline; }
.dc-picto{ flex:0 0 auto; }

/* ---------- Fil d'Ariane ---------- */
.dc-fil ol{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px 8px; font:400 14px/1.4 var(--dc-texte); color:var(--dc-doux); }
.dc-fil li + li::before{ content:"/"; margin-right:8px; color:var(--dc-filet); }
.dc-fil a{ color:var(--dc-doux); text-decoration:none; }
.dc-fil a:hover{ color:var(--dc-ardoise); text-decoration:underline; }

/* ==========================================================================
   PREMIER ÉCRAN (accueil, arrondissement, service)
   ========================================================================== */
.dc-hero{ --photo-w:clamp(560px,47.2vw,680px); --form-w:400px; --hero-txt:clamp(440px,38.9vw,560px); --photo-h:560px; position:relative; overflow:clip; padding-block:84px 44px; }
@media (min-width:1700px){ .dc-hero{ --photo-w:860px; --form-w:420px; --photo-h:640px; padding-block:92px 52px; } }
.dc-hero__in{ position:relative; z-index:2; display:grid; grid-template-columns:var(--hero-txt) minmax(0,1fr); align-items:start; }
.dc-hero__texte{ min-height:var(--photo-h); display:flex; flex-direction:column; justify-content:flex-start; padding:6px 28px 0 0; }
.dc-hero__h1{ font-weight:700; font-size:clamp(50px,5vw,72px); line-height:1.02; letter-spacing:-.012em; margin:0 0 22px; }
@media (min-width:1700px){ .dc-hero__h1{ font-size:88px; } }
.dc-hero__h1 .dc-t2__a{ display:inline; }
.dc-hero__h1 .dc-t2__b{ display:block; }
.dc-hero__h1 strong{ font-weight:inherit; }
.dc-hero--page .dc-hero__h1{ font-size:clamp(40px,3.6vw,52px); line-height:1.08; }
@media (min-width:1700px){ .dc-hero--page .dc-hero__h1{ font-size:60px; } }
.dc-hero--page .dc-fil{ margin-bottom:20px; }
.dc-chapo{ font:400 21px/1.5 var(--dc-texte); color:var(--dc-zinc); margin:0 0 24px; max-width:34em; }
.dc-chapo--s{ font-size:19px; }
.dc-rassur{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px 18px; font:500 14px/1.3 var(--dc-titre); color:var(--dc-ardoise); }
.dc-hero:not(.dc-hero--page) .dc-rassur{ flex-wrap:nowrap; gap:16px; white-space:nowrap; }
@media (max-width:1100px){ .dc-hero:not(.dc-hero--page) .dc-rassur{ flex-wrap:wrap; white-space:normal; } }
.dc-rassur li{ display:flex; align-items:center; gap:8px; }
.dc-rassur .dc-picto{ color:var(--dc-eau); width:17px; height:17px; }
.dc-compteur{ font:400 15px/1.4 var(--dc-texte); color:var(--dc-doux); margin:0 0 18px; display:flex; flex-wrap:wrap; gap:4px 8px; align-items:baseline; }
.dc-compteur__n{ font:500 15px/1 var(--dc-titre); color:var(--dc-zinc); font-variant-numeric:tabular-nums lining-nums; }
.dc-compteur__i{ width:20px; height:20px; border-radius:50%; border:1px solid var(--dc-zinc); background:#fff; color:var(--dc-zinc); font:600 12px/1 var(--dc-titre); cursor:help; padding:0; }
.dc-hero__visuel{ position:relative; height:var(--photo-h); margin-right:calc((var(--dc-cw) - 100vw) / 2); }
.dc-hero__photo{ position:absolute; z-index:1; right:0; top:0; width:var(--photo-w); height:100%; margin:0; border-radius:var(--dc-r-carte) 0 0 var(--dc-r-carte); overflow:hidden; box-shadow:var(--dc-ombre-photo); background:var(--dc-brume); }
.dc-hero__photo .dc-img,.dc-hero__photo .dc-repli,.dc-hero__photo img{ width:100%; height:100%; object-fit:cover; }
.dc-hero__credit{ position:absolute; z-index:2; right:16px; top:calc(100% + 8px); margin:0; }
.dc-hero__plaque{ position:absolute; z-index:2; left:calc(100% - var(--photo-w) + 36px); bottom:-22px; box-shadow:0 0 0 2px var(--dc-ecume),var(--dc-ombre-carte); }
.dc-hero .dc-plaque--g{ position:absolute; z-index:2; left:calc(100% - var(--photo-w) - 40px); top:-28px; box-shadow:0 0 0 2px var(--dc-ecume),0 24px 40px -18px rgba(20,34,49,.55); }
.dc-hero .dc-form--hero{ position:absolute; z-index:3; width:var(--form-w); left:calc(100% - var(--photo-w) - 96px); top:50%; transform:translateY(-50%); }
.dc-hero--page .dc-form--hero{ top:auto; bottom:-26px; transform:none; }

/* hero compact (pages arrondissement / service) */
.dc-hero--page{ --photo-h:500px; padding-block:44px 44px; }
@media (min-width:1700px){ .dc-hero--page{ --photo-h:540px; } }
.dc-hero--page .dc-hero__texte{ justify-content:flex-start; padding-top:8px; }
.dc-form--arrfixe .dc-groupe--arr{ display:none; }
.dc-hero--page .dc-plaque--g{ top:-30px; left:calc(100% - var(--photo-w) + 24px); z-index:4; }
.dc-hero--page .dc-hero__photo{ height:100%; }
.dc-hero__sous{ font:700 26px/1.3 var(--dc-titre); letter-spacing:-.01em; color:var(--dc-zinc); margin:0 0 22px; max-width:19em; }

@media (max-width:1100px){
	.dc-hero{ --photo-h:auto; padding-block:28px 40px; }
	.dc-hero__in{ display:flex; flex-direction:column; gap:0; }
	.dc-hero__texte{ display:contents; }
	.dc-hero__h1{ order:0; font-size:clamp(34px,9.4vw,52px); line-height:1.04; margin:0 0 18px; font-weight:400; }
	.dc-hero__visuel{ order:1; height:auto; margin-right:0; width:100%; padding-bottom:0; }
	.dc-chapo{ order:2; margin:20px 0 14px; font-size:19px; }
	.dc-rassur{ order:3; }
	.dc-compteur,.dc-fil{ order:-1; }
	.dc-hero__photo{ position:relative; width:100%; height:clamp(150px,34vw,300px); border-radius:var(--dc-r-carte); }
	.dc-hero .dc-form--hero{ position:relative; left:auto; top:auto; transform:none; width:calc(100% - 24px); margin:-56px auto 0; }
	.dc-hero--page .dc-form--hero{ bottom:auto; }
	.dc-hero__plaque{ left:16px; bottom:auto; top:calc(clamp(150px,34vw,300px) - 22px - 56px); display:none; }
	.dc-hero .dc-plaque--g{ left:12px; top:-14px; transform:scale(.62); transform-origin:top left; }
	.dc-hero__credit{ position:static; display:block; text-align:right; margin-top:8px; }
	.dc-hero__sous{ order:0; font-size:20px; margin:0 0 14px; }
	.dc-hero--page .dc-hero__h1{ font-weight:400; font-size:clamp(30px,8vw,44px); }
}
@media (max-width:640px){ .dc-hero{ padding-block:18px 32px; } .dc-chapo{ font-size:18px; } .dc-hero__h1{ margin-bottom:14px; } .dc-hero__photo{ height:170px; } .dc-hero .dc-form--hero{ margin-top:-52px; } }

/* ==========================================================================
   FORMULAIRE EN 3 ÉTAPES — toutes les étapes ont la même hauteur (grille empilée)
   ========================================================================== */
.dc-form{ background:var(--dc-blanc); border-radius:var(--dc-r-form); box-shadow:var(--dc-ombre-form); padding:18px 22px 18px; font-family:var(--dc-titre); color:var(--dc-ardoise); position:relative; }
.dc-form__tete{ margin-bottom:10px; }
.dc-form__titre{ font:500 18px/1.2 var(--dc-titre); letter-spacing:-.01em; margin:0 0 6px; }
.dc-form__prog{ display:flex; align-items:center; gap:12px; }
.dc-form__etape{ font:400 13.5px/1 var(--dc-texte); color:var(--dc-doux); }
.dc-fil3{ flex:0 0 auto; overflow:visible; }
.dc-fil3 path{ fill:none; stroke:url(#dc-fil3-g); stroke-width:1.2; stroke-linecap:round; }
.dc-fil3 .dc-fil3__seg path{ stroke:var(--dc-zinc); opacity:.55; }
.dc-fil3__seg{ transform-origin:center; transform-box:fill-box; transform:scaleY(.12); transition:transform .5s cubic-bezier(.22,1,.36,1); }
.dc-fil3__seg.is-ouvert{ transform:scaleY(1); }
.dc-fil3__seg.is-ouvert path{ stroke:var(--dc-eau); opacity:.9; }
.dc-fil3__n circle{ fill:var(--dc-blanc); stroke:var(--dc-ardoise); stroke-width:2; transition:fill .3s ease,stroke .3s ease,r .4s cubic-bezier(.22,1,.36,1); }
.dc-fil3__n.is-actif circle{ stroke:var(--dc-eau); fill:var(--dc-glace); }
.dc-fil3__n.is-fait circle{ fill:var(--dc-eau); stroke:var(--dc-eau); r:8; }
.dc-fil3__ok{ fill:none !important; stroke:#fff !important; stroke-width:2 !important; opacity:0; transition:opacity .3s ease .1s; }
.dc-fil3__n.is-fait .dc-fil3__ok{ opacity:1; }
.dc-form__corps{ display:grid; }
.dc-etape{ grid-area:1 / 1; border:0; margin:0; padding:0; min-width:0; display:flex; flex-direction:column; visibility:hidden; }
.dc-etape.is-actif{ visibility:visible; }
.dc-etape__titre{ font:500 17px/1.3 var(--dc-titre); padding:0; margin:0 0 10px; width:100%; float:none; display:block; }
.dc-etape > .dc-err + .dc-actions,.dc-etape > .dc-tuiles + .dc-err{ margin-top:0; }
.dc-tuiles{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
.dc-tuile,.dc-pil__i{ position:relative; }
.dc-tuile{ display:flex; align-items:center; gap:10px; height:62px; padding:0 12px; border:1.5px solid var(--dc-filet); border-radius:12px; font:500 14.5px/1.15 var(--dc-titre); color:var(--dc-ardoise); background:var(--dc-blanc); cursor:pointer; transition:border-color .2s ease,background-color .2s ease,transform .2s ease; }
.dc-tuile .dc-picto{ color:var(--dc-eau); }
.dc-tuile:hover{ border-color:var(--dc-eau); transform:translateY(-1px); }
.dc-tuile input,.dc-pil__i input{ position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.dc-tuile:has(input:checked){ background:var(--dc-glace); border-color:var(--dc-eau); }
.dc-tuile:has(input:focus-visible),.dc-pil__i:has(input:focus-visible) span{ outline:3px solid var(--dc-eau); outline-offset:2px; }
.dc-groupe{ margin-bottom:9px; }
.dc-lbl{ display:block; font:500 13px/1.2 var(--dc-titre); color:var(--dc-zinc); margin-bottom:5px; letter-spacing:0; }
.dc-pil{ display:grid; gap:8px; }
.dc-pil--3{ grid-template-columns:repeat(3,1fr); }
.dc-pil--4{ grid-template-columns:1fr 1fr; }
.dc-pil--2{ grid-template-columns:repeat(2,auto); justify-content:start; }
.dc-pil--5{ grid-template-columns:repeat(5,auto); justify-content:start; }
.dc-pil__i span{ display:flex; align-items:center; justify-content:center; min-height:44px; padding:0 6px; border:1.5px solid var(--dc-filet); border-radius:var(--dc-r-pilule); font:500 14px/1.15 var(--dc-titre); color:var(--dc-ardoise); text-align:center; background:var(--dc-blanc); cursor:pointer; transition:border-color .2s ease,background-color .2s ease; }
.dc-pil__i:hover span{ border-color:var(--dc-eau); }
.dc-pil__i input:checked + span{ background:var(--dc-glace); border-color:var(--dc-eau); }
.dc-select{ position:relative; }
.dc-select select,.dc-champ input[type=text],.dc-champ input[type=tel],.dc-champ input[type=email],.dc-champ textarea{ width:100%; height:46px; border:1.5px solid var(--dc-filet); border-radius:12px; background:var(--dc-blanc); color:var(--dc-ardoise); padding:0 14px; font:400 16px/1.2 var(--dc-texte); }
.dc-champ textarea{ height:auto; padding:10px 14px; resize:vertical; }
.dc-select select{ appearance:none; -webkit-appearance:none; padding-right:42px; font:500 15px/1.2 var(--dc-titre); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2346627A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; }
.dc-select select:hover,.dc-champ input:hover,.dc-champ textarea:hover{ border-color:var(--dc-eau); }
.dc-champ{ margin-bottom:9px; }
.dc-duo{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.dc-consent{ display:flex; gap:10px; align-items:flex-start; font:400 13px/1.35 var(--dc-texte); color:var(--dc-doux); margin:4px 0 8px; cursor:pointer; }
.dc-consent input{ width:20px; height:20px; margin:0; flex:0 0 auto; accent-color:var(--dc-eau); }
.dc-consent a{ color:var(--dc-eau); }
.dc-err{ margin:0 0 6px; color:var(--dc-signal); font:500 13px/1.3 var(--dc-titre); }
.dc-err[hidden]{ display:none; }
.dc-aide{ margin:0 0 10px; font:400 13.5px/1.4 var(--dc-texte); color:var(--dc-doux); }
.is-invalide{ border-color:var(--dc-signal) !important; }
.dc-actions{ display:flex; gap:10px; align-items:center; justify-content:flex-end; margin-top:auto; padding-top:6px; }
.dc-actions .dc-btn--plein{ flex:1 1 auto; }
.dc-form.is-envoi .dc-btn[data-envoyer]{ opacity:.7; pointer-events:none; }
.dc-form__ok{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; padding:34px 6px 28px; }
.dc-form__ok[hidden]{ display:none; }
.dc-form__ok-t{ font:500 19px/1.3 var(--dc-titre); margin:0; max-width:18em; }
.dc-form__ok-s{ font:400 14.5px/1.4 var(--dc-texte); color:var(--dc-doux); margin:0; }
.dc-form.is-envoye .dc-form__tete,.dc-form.is-envoye .dc-form__corps{ display:none; }
.dc-form.is-envoye .dc-symbole g{ transform-origin:center; transform-box:fill-box; animation:dc-ouvre 1.2s cubic-bezier(.22,1,.36,1) both; }
@keyframes dc-ouvre{ from{ transform:scaleY(.15); } to{ transform:scaleY(1); } }
/* sans JavaScript : toutes les étapes se lisent l'une sous l'autre */
html:not(.dc-js) .dc-etape{ grid-area:auto; visibility:visible; margin-bottom:12px; }
html:not(.dc-js) .dc-form__corps{ display:block; }
html:not(.dc-js) [data-suivant],html:not(.dc-js) [data-retour]{ display:none; }
/* version compacte : rail d'article et colonne de page arrondissement */
.dc-rail-form{ padding:0 !important; border:0 !important; background:transparent !important; }
.dc-form--rail{ padding:16px 18px 14px; }
.dc-form--rail .dc-form__titre{ font-size:16.5px; }
.dc-form--rail .dc-tuile{ height:44px; font-size:13.5px; padding:0 10px; gap:8px; }
.dc-form--rail .dc-tuile .dc-picto{ width:18px; height:18px; }
.dc-form--rail .dc-etape__titre{ font-size:15.5px; margin-bottom:8px; }
.dc-form--rail .dc-btn--form{ min-height:46px; }
.dc-form--rail .dc-groupe{ margin-bottom:6px; }
.dc-form--rail .dc-select select{ height:44px; }
.dc-form--rail .dc-pil__i span{ font-size:13px; padding:0 8px; }
.dc-form--page{ padding:28px 28px 24px; }
.dc-form--page .dc-form__titre{ font-size:21px; }
.dc-form--page .dc-tuile{ height:68px; }
@media (max-width:1100px){
	.dc-form__corps{ display:block; }
	.dc-etape{ visibility:visible; }
	.dc-etape:not(.is-actif){ display:none; }
	.dc-aide{ display:none; }
	.dc-form{ padding:16px 16px 14px; }
	.dc-tuile{ height:48px; padding:0 10px; gap:8px; font-size:14px; }
	.dc-tuile .dc-picto{ width:20px; height:20px; }
	.dc-form--page{ padding:20px 16px; }
}
@media (max-width:420px){ .dc-duo{ grid-template-columns:1fr; gap:0; } .dc-pil--3 span{ font-size:13px; padding:0 4px; } }

/* ==========================================================================
   SECTIONS GÉNÉRIQUES
   ========================================================================== */
.dc-sec{ position:relative; padding-block:72px; }
.dc-sec--brume{ background:var(--dc-brume); }
.dc-sec--nuit{ background:var(--dc-fond-nuit); color:#fff; overflow:clip; }
.dc-sec__tete{ display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:32px; }
.dc-sec__h2{ font-size:44px; line-height:1.1; letter-spacing:-.01em; max-width:860px; }
.dc-sec__h2 .dc-t2__b{ display:block; }
.dc-sec__h2--m{ font-size:34px; }
.dc-sec--profils .dc-sec__h2 .dc-t2__b,.dc-sec--mag .dc-sec__h2{ max-width:none; }
.dc-sec--profils .dc-sec__h2 .dc-t2__b{ display:inline; }
.dc-sec--mag .dc-sec__h2{ font-size:40px; }
@media (min-width:1700px){ .dc-sec__h2{ font-size:52px; } .dc-sec__h2--m{ font-size:40px; } }
@media (max-width:900px){ .dc-sec{ padding-block:48px; } .dc-sec__h2{ font-size:28px; } .dc-sec__h2--m{ font-size:26px; } .dc-sec__tete{ flex-direction:column; align-items:flex-start; gap:14px; margin-bottom:22px; } }

/* 2 · arrondissements */
.dc-sec--arr{ padding-block:26px; border-block:1px solid var(--dc-filet); background:var(--dc-blanc) !important; z-index:1; }
.dc-arr{ display:flex; align-items:center; gap:32px; }
.dc-arr__t{ font:500 15px/1.2 var(--dc-titre); color:var(--dc-zinc); margin:0; flex:0 0 auto; width:140px; }
.dc-arr__liste{ list-style:none; margin:0; padding:2px; display:grid; grid-template-columns:repeat(10,1fr); gap:8px; flex:1; }
.dc-arr__liste li{ display:flex; }
.dc-arr__liste .dc-plaque{ width:100%; }
@media (max-width:900px){ .dc-arr{ flex-direction:column; align-items:flex-start; gap:12px; } .dc-arr__t{ width:auto; } .dc-arr__liste{ display:flex; overflow-x:auto; width:100%; padding:4px 4px 10px; scroll-snap-type:x proximity; } .dc-arr__liste li{ flex:0 0 auto; scroll-snap-align:start; } }

/* 3 · barème illustré (bento) */
.dc-bento{ display:grid; grid-template-columns:repeat(12,1fr); grid-template-rows:1fr 1fr; gap:20px; height:400px; }
.dc-bento__c{ position:relative; display:flex; flex-direction:column; background:var(--dc-blanc); border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-carte); overflow:hidden; text-decoration:none; color:var(--dc-ardoise); transition:box-shadow .22s ease,transform .22s ease; min-height:0; }
.dc-bento__c:hover{ box-shadow:var(--dc-ombre-survol); color:var(--dc-ardoise); transform:translateY(-2px); }
.dc-bento__c--colonne{ grid-column:1 / span 6; grid-row:1 / span 2; }
.dc-bento__c--wc{ grid-column:7 / span 3; }
.dc-bento__c--evier{ grid-column:10 / span 3; }
.dc-bento__c--douche{ grid-column:7 / span 3; }
.dc-bento__c--bac{ grid-column:10 / span 3; }
.dc-bento__photo{ position:relative; flex:1 1 auto; min-height:70px; overflow:hidden; background:var(--dc-glace); display:block; }
.dc-bento__photo .dc-img,.dc-bento__photo .dc-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .22s ease; }
.dc-bento__c:hover .dc-img{ transform:scale(1.03); }
.dc-bento__txt{ display:flex; flex-direction:column; gap:2px; padding:12px 18px 14px; }
.dc-bento__titre{ font:500 22px/1.2 var(--dc-titre); letter-spacing:-.01em; }
.dc-bento__prix{ font:700 34px/1.15 var(--dc-titre); letter-spacing:-.01em; font-variant-numeric:tabular-nums lining-nums; color:var(--dc-ardoise); }
.dc-bento__prix small{ font:500 .4em var(--dc-titre); letter-spacing:0; color:var(--dc-zinc); }
.dc-bento__meta{ font:600 13px/1.4 var(--dc-texte); color:var(--dc-doux); }
.dc-bento__c--colonne .dc-bento__prix{ font-size:44px; }
.dc-bento__c:not(.dc-bento__c--colonne) .dc-bento__titre{ font-size:19px; }
.dc-bento__c:not(.dc-bento__c--colonne) .dc-bento__prix{ font-size:30px; }
.dc-bento__c:not(.dc-bento__c--colonne) .dc-bento__txt{ padding:10px 16px 12px; }
.dc-repli{ display:block; position:relative; overflow:hidden; background:linear-gradient(135deg,var(--dc-glace),var(--dc-brume)); min-height:60px; }
.dc-repli .dc-flot{ opacity:.8; }
@media (max-width:900px){
	.dc-bento{ display:flex; flex-direction:column; height:auto; gap:14px; }
	.dc-bento__c{ flex-direction:row; min-height:104px; }
	.dc-bento__photo{ flex:0 0 120px; min-height:104px; }
	.dc-bento__c--colonne .dc-bento__prix,.dc-bento__c:not(.dc-bento__c--colonne) .dc-bento__prix{ font-size:28px; }
	.dc-bento__txt{ padding:12px 14px; justify-content:center; }
	.dc-bento__c:not(.dc-bento__c--colonne) .dc-bento__txt,.dc-bento__txt{ padding:12px 14px; }
}

/* 4 · bande nuit des chiffres */
.dc-sec--chiffres{ padding-block:80px 128px; }
.dc-sec--chiffres .dc-chiffres{ position:relative; z-index:2; }
.dc-chiffres__liste{ list-style:none; margin:44px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.dc-chiffres__liste li{ display:flex; flex-direction:column; gap:8px; }
.dc-chiffre{ font:700 72px/1 var(--dc-titre); letter-spacing:-.015em; font-variant-numeric:tabular-nums lining-nums; background:linear-gradient(90deg,#FFFFFF,#6FE0E6); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; padding-bottom:4px; }
.dc-chiffre small{ font:500 .4em var(--dc-titre); letter-spacing:0; margin-left:6px; }
.dc-chiffre__t{ font:500 16px/1.35 var(--dc-titre); color:#fff; }
.dc-chiffre__s{ font:400 13px/1.45 var(--dc-texte); color:var(--dc-glace); }
@media (min-width:1700px){ .dc-chiffre{ font-size:84px; } }
@media (max-width:900px){ .dc-chiffres__liste{ grid-template-columns:1fr 1fr; gap:26px 18px; margin-top:28px; } .dc-chiffre{ font-size:48px; } .dc-sec--chiffres{ padding-block:48px; } }
@media (max-width:420px){ .dc-chiffre{ font-size:42px; } }

/* 5 · diagnostic */

/* 6 · bande des égouts */
.dc-sec--egouts{ padding-block:80px; }
.dc-egouts{ position:relative; height:480px; border-radius:var(--dc-r-carte); overflow:hidden; box-shadow:var(--dc-ombre-photo); background:var(--dc-nuit); }
.dc-egouts__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dc-egouts__voile{ position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,28,43,.9) 0%,rgba(15,28,43,.62) 45%,rgba(15,28,43,.05) 100%); }
.dc-egouts__txt{ position:relative; z-index:2; height:100%; max-width:720px; padding:56px; display:flex; flex-direction:column; justify-content:center; gap:16px; color:#fff; }
.dc-egouts__h2{ font-size:42px; line-height:1.1; }
.dc-egouts__h2 .dc-t2__b{ display:block; }
.dc-egouts__txt p{ margin:0; font:400 18px/1.55 var(--dc-texte); color:#E4EEF3; max-width:30em; }
.dc-egouts__btns{ display:flex; flex-wrap:wrap; gap:10px; margin-top:6px !important; }
.dc-egouts__credit{ position:absolute; z-index:3; right:18px; bottom:12px; }
.dc-egouts__credit .dc-credit{ color:#D5E3EA; }
@media (max-width:900px){ .dc-sec--egouts{ padding-block:40px; } .dc-egouts{ height:auto; min-height:460px; } .dc-egouts__txt{ padding:28px 20px 44px; } .dc-egouts__h2{ font-size:30px; } .dc-egouts__voile{ background:linear-gradient(180deg,rgba(15,28,43,.55) 0%,rgba(15,28,43,.92) 100%); } }

/* 7 · magazine en lamelles */
.dc-sec--mag{ padding-block:72px; }
.dc-fleches{ display:flex; gap:10px; flex:0 0 auto; }
.dc-fleche{ width:40px; height:40px; border-radius:50%; border:1.5px solid var(--dc-filet); background:var(--dc-blanc); color:var(--dc-ardoise); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .2s ease,background-color .2s ease; padding:0; }
.dc-fleche:hover{ border-color:var(--dc-eau); background:var(--dc-glace); }
.dc-lam{ display:flex; gap:12px; height:360px; }
.dc-lam__i{ position:relative; flex:0 0 88px; border-radius:var(--dc-r-carte); overflow:hidden; background:var(--dc-nuit); transition:flex-basis .32s cubic-bezier(.22,1,.36,1),flex-grow .32s cubic-bezier(.22,1,.36,1); box-shadow:var(--dc-ombre-carte); }
.dc-lam__i.is-ouvert{ flex:1 1 0; }
.dc-lam__lien{ position:absolute; inset:0; display:block; color:#fff; text-decoration:none; }
.dc-lam__lien .dc-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .32s ease; }
.dc-lam__i:hover .dc-img{ transform:scale(1.03); }
.dc-lam__voile{ position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,28,43,.78),transparent 60%); }
.dc-lam__i:not(.is-ouvert) .dc-lam__voile{ background:rgba(15,28,43,.35); }
.dc-lam__txt{ position:absolute; left:28px; right:28px; bottom:24px; display:flex; flex-direction:column; gap:8px; opacity:0; transform:translateY(8px); transition:opacity .25s ease .12s,transform .25s ease .12s; }
.dc-lam__i.is-ouvert .dc-lam__txt{ opacity:1; transform:none; }
.dc-lam__rub{ font:500 13px/1 var(--dc-titre); color:var(--dc-ecume); }
.dc-lam__titre{ font:700 30px/1.15 var(--dc-titre); letter-spacing:-.015em; max-width:22em; }
.dc-mag__pied{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:20px; flex-wrap:wrap; }
.dc-pastilles-rub{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.dc-pilule{ display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 16px; border:1.5px solid var(--dc-eau); border-radius:var(--dc-r-pilule); color:var(--dc-eau); font:500 14.5px/1 var(--dc-titre); text-decoration:none; background:var(--dc-blanc); transition:background-color .2s ease; }
.dc-pilule:hover{ background:var(--dc-glace); color:var(--dc-eau-fonce); }
.dc-pilule span{ font:500 12.5px/1 var(--dc-titre); background:var(--dc-glace); color:var(--dc-ardoise); border-radius:var(--dc-r-pilule); padding:4px 8px; font-variant-numeric:tabular-nums; }
@media (max-width:900px){
	.dc-sec--mag{ padding-block:48px; }
	.dc-fleches{ display:none; }
	.dc-lam{ height:300px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; margin-inline:calc(-1 * var(--dc-g)); padding-inline:var(--dc-g); }
	.dc-lam__i,.dc-lam__i.is-ouvert{ flex:0 0 300px; scroll-snap-align:start; }
	.dc-lam__i .dc-lam__txt{ opacity:1; transform:none; left:18px; right:18px; bottom:18px; }
	.dc-lam__i:not(.is-ouvert) .dc-lam__voile{ background:linear-gradient(0deg,rgba(15,28,43,.78),transparent 60%); }
	.dc-lam__titre{ font-size:21px; }
}

/* 8 · actualités */
.dc-sec--actu{ padding-block:72px; }
.dc-actu{ display:grid; grid-template-columns:1.1fr 1fr; gap:32px; align-items:stretch; }
.dc-actu__une a,.dc-actu__liste a{ display:flex; text-decoration:none; color:var(--dc-ardoise); }
.dc-actu__une a{ flex-direction:column; background:var(--dc-blanc); border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-carte); overflow:hidden; height:100%; transition:box-shadow .22s ease,transform .22s ease; }
.dc-actu__une a:hover{ box-shadow:var(--dc-ombre-survol); transform:translateY(-2px); }
.dc-actu__photo{ position:relative; display:block; flex:1 1 auto; min-height:220px; max-height:300px; overflow:hidden; }
.dc-actu__photo img,.dc-actu__photo .dc-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dc-actu__txt{ display:flex; flex-direction:column; gap:4px; padding:16px 22px 20px; }
.dc-actu__titre{ font:500 21px/1.28 var(--dc-titre); letter-spacing:-.01em; }
.dc-actu__liste{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.dc-actu__liste li a{ gap:16px; align-items:center; background:var(--dc-blanc); border-radius:16px; padding:12px; box-shadow:var(--dc-ombre-carte); transition:box-shadow .22s ease; }
.dc-actu__liste li a:hover{ box-shadow:var(--dc-ombre-survol); }
.dc-actu__liste li a > span:last-child{ display:flex; flex-direction:column; gap:3px; }
.dc-actu__vignette{ flex:0 0 96px; width:96px; height:96px; border-radius:12px; overflow:hidden; display:block; position:relative; }
.dc-actu__vignette img,.dc-actu__vignette .dc-img,.dc-actu__vignette .dc-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dc-actu__liste .dc-actu__titre{ font-size:17.5px; }
.dc-actu__bientot{ font:400 15px/1.4 var(--dc-texte); color:var(--dc-doux); padding:8px 4px; }
@media (max-width:900px){ .dc-sec--actu{ padding-block:48px; } .dc-actu{ grid-template-columns:1fr; } .dc-actu__vignette{ flex-basis:80px; width:80px; height:80px; } }

/* 9 · vous êtes… */
.dc-sec--profils{ padding-block:60px; }
.dc-profils{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.dc-profil{ display:flex; flex-direction:column; background:var(--dc-blanc); border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-carte); overflow:hidden; transition:box-shadow .22s ease; border:1px solid var(--dc-filet); }
.dc-profil:hover{ box-shadow:var(--dc-ombre-survol); }
.dc-profil__photo{ position:relative; display:block; height:150px; overflow:hidden; flex:0 0 auto; }
.dc-profil__photo .dc-img,.dc-profil__photo .dc-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .22s ease; }
.dc-profil:hover .dc-img{ transform:scale(1.03); }
.dc-profil__corps{ display:flex; flex-direction:column; gap:8px; padding:18px 22px 20px; flex:1; }
.dc-profil h3{ font-size:22px; }
.dc-profil p{ margin:0; font:400 15.5px/1.5 var(--dc-texte); }
.dc-profil p strong{ font:500 14px var(--dc-titre); color:var(--dc-zinc); margin-right:2px; }
.dc-profil__pied{ margin-top:auto !important; padding-top:8px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.dc-profil__pied .dc-btn{ min-height:42px; padding-inline:16px; font-size:15px; }
@media (max-width:900px){ .dc-sec--profils{ padding-block:48px; } .dc-profils{ grid-template-columns:1fr; } }

/* ==========================================================================
   ARTICLE — en-tête unique (DA §10), corps et rail
   ========================================================================== */
.dc-article{ position:relative; }
.dc-art-tete{ position:relative; overflow:clip; padding:26px 0 52px; }
.dc-art-tete__in{ position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:56px; align-items:start; }
.dc-art-tete__col{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; min-width:0; }
.dc-art-titre{ display:block; }
.dc-art-h1{ font:700 50px/1.08 var(--dc-titre); letter-spacing:-.01em; color:var(--dc-ardoise); }
.dc-art-promesse{ font:700 28px/1.3 var(--dc-titre); letter-spacing:-.015em; color:var(--dc-zinc); margin:12px 0 0; max-width:24em; }
.dc-meta-ligne{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-top:4px; }
.dc-meta-auteur{ display:inline-flex; align-items:center; gap:12px; }
.dc-avatar{ width:44px; height:44px; border-radius:50%; object-fit:cover; background:var(--dc-glace); box-shadow:0 0 0 3px #fff,var(--dc-ombre-carte); }
.dc-avatar--l{ width:80px; height:80px; }
.dc-avatar--xl{ width:160px; height:160px; box-shadow:0 0 0 6px #fff,var(--dc-ombre-photo); }
.dc-meta-auteur__t{ display:flex; flex-direction:column; font:400 13.5px/1.35 var(--dc-texte); color:var(--dc-doux); }
.dc-meta-auteur__t a{ font:500 16px/1.3 var(--dc-titre); color:var(--dc-ardoise); text-decoration:none; }
.dc-meta-auteur__t a:hover{ color:var(--dc-eau); text-decoration:underline; }
.dc-puces,.dc-meta-ligne .dc-puces{ display:inline-flex; flex-wrap:wrap; gap:8px; }
.dc-art-tete__photo{ position:relative; margin-top:36px; height:400px; }
.dc-art-tete__cadre{ position:relative; z-index:1; height:100%; border-radius:var(--dc-r-carte); overflow:hidden; box-shadow:var(--dc-ombre-photo); background:var(--dc-brume); }
.dc-art-tete__cadre img,.dc-art-tete__cadre .dc-repli{ width:100%; height:100%; object-fit:cover; }
.dc-flot-calque--photo{ left:-100px; right:calc((var(--dc-cw) - 100vw) / 2); top:-30px; bottom:-30px; z-index:0; }
@media (min-width:1700px){ .dc-art-h1{ font-size:56px; } .dc-art-tete__photo{ height:440px; } }
@media (max-width:1100px){
	.dc-art-tete__in{ grid-template-columns:minmax(0,1fr); gap:24px; }
	.dc-art-h1{ font-size:32px; line-height:1.12; font-weight:400; }
	.dc-art-promesse{ font-size:21px; }
	.dc-art-tete__photo{ margin-top:0; height:240px; }
	.dc-flot-calque--photo{ left:-16px; right:-16px; }
	.dc-art-tete{ padding:18px 0 34px; }
}

/* corps d'article : colonne de lecture, gouttière 56 px, rail collant (sommaire + formulaire = UN bloc) */
.sbt-article-mise-en-page{ display:grid; grid-template-columns:minmax(0,1fr) 360px; column-gap:56px; row-gap:32px; width:var(--dc-cw); max-width:none; margin-inline:auto; padding:8px 0 72px; align-items:start; justify-content:stretch; }
.sbt-article-principal{ min-width:0; }
.sbt-rail{ position:sticky; top:calc(var(--dc-menu-h) + 16px); align-self:start; display:flex; flex-direction:column; gap:16px; border-left:0; padding-left:0; min-width:0; }
.sbt-rail-carte{ background:var(--dc-blanc); border:1px solid var(--dc-filet); border-radius:var(--dc-r-carte); padding:16px 18px; box-shadow:var(--dc-ombre-carte); }
.sbt-rail-carte--sommaire{ padding:14px 16px; }
.sbt-rail .sbt-sommaire{ border:0; border-left:0; padding:0; background:transparent; border-radius:0; }
.sbt-sommaire-titre{ font:500 16px/1.2 var(--dc-titre); letter-spacing:-.01em; color:var(--dc-ardoise); }
.sbt-sommaire ol{ margin:10px 0 0; gap:2px; }
.sbt-sommaire li a{ position:relative; padding:5px 8px 5px 12px; border-radius:8px; font:400 14px/1.3 var(--dc-texte); color:var(--dc-ardoise); gap:8px; transition:background-color .2s ease; }
.sbt-sommaire li a::before{ content:""; position:absolute; left:0; top:6px; bottom:6px; width:3px; border-radius:3px; background:var(--dc-flot); opacity:0; transition:opacity .2s ease; }
.sbt-sommaire li a:hover{ background:var(--dc-brume); text-decoration:none; color:var(--dc-ardoise); }
.sbt-sommaire li a.is-actif,.sbt-sommaire li a[aria-current="true"]{ background:var(--dc-glace); }
.sbt-sommaire li a.is-actif::before,.sbt-sommaire li a[aria-current="true"]::before{ opacity:1; }
.sbt-sommaire-libelle{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sbt-sommaire-num{ background:transparent; width:auto; height:auto; font:500 12px var(--dc-titre); color:var(--dc-zinc); border-radius:0; font-variant-numeric:tabular-nums; }
.sbt-rail .sbt-sommaire li.dc-cache{ display:none; }
.sbt-sommaire-mobile .sbt-sommaire{ border-radius:var(--dc-r-carte); border:1px solid var(--dc-filet); border-left-width:1px; background:var(--dc-blanc); box-shadow:var(--dc-ombre-carte); }
@media (max-width:1080px){
	.sbt-article-mise-en-page{ grid-template-columns:minmax(0,1fr); padding-bottom:48px; }
	.sbt-rail{ position:static; }
	.sbt-rail-carte--sommaire{ display:none; }
}

/* texte courant */
.sbt-article-corps{ font-size:18px; line-height:1.65; color:var(--dc-ardoise); font-family:var(--dc-texte); }
.sbt-article-corps > p,.sbt-article-corps > ul,.sbt-article-corps > ol{ max-width:68ch; }
.sbt-article-corps h2{ font:700 32px/1.18 var(--dc-titre); letter-spacing:-.01em; margin:2em 0 .6em; scroll-margin-top:96px; }
.sbt-article-corps h3{ font:500 22px/1.3 var(--dc-titre); margin:1.7em 0 .5em; }
.sbt-article-corps h2 .dc-t2__b{ color:var(--dc-zinc); }
.sbt-article-corps a{ color:var(--dc-eau); }
.sbt-article-corps strong{ font-weight:700; }
.sbt-article-corps img{ border-radius:var(--dc-r-carte); margin-block:1.6em; max-width:100%; height:auto; }
.sbt-article-corps figure,.sbt-article-corps .wp-block-image,.sbt-article-corps iframe,.sbt-article-corps video{ max-width:100%; }
.sbt-article-corps figure{ margin:1.6em 0; }
.sbt-article-corps figcaption{ font:400 13.5px/1.4 var(--dc-texte); color:var(--dc-doux); margin-top:8px; }
.sbt-article-corps blockquote{ margin:1.8em 0; padding:18px 24px; border-left:3px solid var(--dc-eau); background:var(--dc-brume); border-radius:0 var(--dc-r-carte) var(--dc-r-carte) 0; font-style:italic; }
@media (max-width:900px){ .sbt-article-corps{ font-size:17px; } .sbt-article-corps h2{ font-size:28px; } }
.dc-intro{ font-size:19px; margin-bottom:1.4em; }

/* listes -> cartes à coches / étapes numérotées ; tableaux -> cartes comparatives (jamais de puces nues) */
.sbt-article-corps ul:not(.sbt-retenir-liste):not([class]){ list-style:none; padding:0; margin:1.4em 0; display:grid; gap:10px; }
.sbt-article-corps ul:not(.sbt-retenir-liste):not([class]) > li{ position:relative; padding:12px 16px 12px 52px; background:var(--dc-brume); border-radius:14px; margin:0; }
.sbt-article-corps ul:not(.sbt-retenir-liste):not([class]) > li::before{ content:""; position:absolute; left:16px; top:14px; width:22px; height:22px; border-radius:50%; background:var(--dc-eau) 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; }
.sbt-article-corps ol:not(.sbt-retenir-liste):not([class]){ list-style:none; padding:0; margin:1.4em 0; display:grid; gap:12px; counter-reset:dcn; }
.sbt-article-corps ol:not(.sbt-retenir-liste):not([class]) > li{ counter-increment:dcn; position:relative; padding:14px 18px 14px 64px; background:var(--dc-blanc); border:1px solid var(--dc-filet); border-radius:14px; box-shadow:var(--dc-ombre-carte); margin:0; }
.sbt-article-corps ol:not(.sbt-retenir-liste):not([class]) > li::before{ content:counter(dcn); position:absolute; left:16px; top:12px; width:34px; height:34px; border-radius:50%; background:var(--dc-glace); color:var(--dc-eau-fonce); font:500 16px/34px var(--dc-titre); text-align:center; font-variant-numeric:tabular-nums; }
.sbt-article-corps ul ul,.sbt-article-corps ol ol{ margin:.6em 0 0; }
.sbs_tableau{ overflow-x:visible; margin:1.6em 0; }
.sbt-article-corps table{ width:100%; border-collapse:separate; border-spacing:0; font:400 16px/1.45 var(--dc-texte); background:var(--dc-blanc); border:1px solid var(--dc-filet); border-radius:var(--dc-r-carte); overflow:hidden; box-shadow:var(--dc-ombre-carte); }
.sbt-article-corps th{ background:var(--dc-glace); color:var(--dc-ardoise); font:500 14px/1.3 var(--dc-titre); text-align:left; padding:12px 14px; }
.sbt-article-corps td{ padding:12px 14px; border-top:1px solid var(--dc-filet); vertical-align:top; }
.sbt-article-corps tbody tr:nth-child(even) td{ background:var(--dc-brume); }
@media (max-width:700px){
	.sbt-article-corps table,.sbt-article-corps tbody,.sbt-article-corps tr,.sbt-article-corps td,.sbt-article-corps th{ display:block; width:100%; }
	.sbt-article-corps table{ background:transparent; border:0; box-shadow:none; border-radius:0; }
	.sbt-article-corps thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
	.sbt-article-corps tr{ margin:0 0 12px; background:var(--dc-blanc); border:1px solid var(--dc-filet); border-radius:16px; box-shadow:var(--dc-ombre-carte); overflow:hidden; }
	.sbt-article-corps td{ border-top:1px solid var(--dc-filet); background:transparent !important; padding:10px 14px; }
	.sbt-article-corps td:first-child{ border-top:0; background:var(--dc-glace) !important; font-weight:700; }
	.sbt-article-corps td[data-label]::before{ content:attr(data-label); display:block; font:500 12.5px/1.3 var(--dc-titre); color:var(--dc-zinc); margin-bottom:2px; }
	.sbt-article-corps td:first-child[data-label]::before{ display:none; }
}

/* blocs figés habillés : encadrés, FAQ, sources */
.sbt-encadre{ border-radius:var(--dc-r-carte); }
.sbt-encadre-titre{ font:500 15px/1.3 var(--dc-titre); letter-spacing:0; text-transform:none; }
.sbt-encadre--retenir{ position:relative; background:var(--dc-glace); color:var(--dc-ardoise); padding:26px 28px 26px 34px; overflow:hidden; }
.sbt-encadre--retenir::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--dc-flot); background-size:100% 220%; }
.sbt-encadre--retenir .sbt-encadre-titre{ color:var(--dc-eau-fonce); font-size:17px; }
.sbt-retenir-liste li{ font-size:17px; }
.sbt-encadre--saviez{ background:var(--dc-brume); }
.sbt-encadre--saviez::before{ border-radius:10px; font-family:var(--dc-titre); font-weight:500; }
.sbt-encadre--saviez .sbt-encadre-titre{ display:inline-flex; align-self:start; width:max-content; background:var(--dc-ardoise); color:#fff; padding:5px 12px; border-radius:var(--dc-r-plaque); box-shadow:0 0 0 1.5px var(--dc-ecume); font-size:13px; font-weight:600; }
.sbt-faq{ background:transparent; border:0; padding:0; margin:48px 0; }
.sbt-faq-liste details{ box-shadow:var(--dc-ombre-carte); }
.sbt-faq-liste summary{ font:500 17px/1.4 var(--dc-titre); }
.sbt-faq-reponse{ font:400 17px/1.65 var(--dc-texte); color:var(--dc-ardoise); }
.sbt-auteur{ background:var(--dc-brume); border-color:var(--dc-filet); border-radius:var(--dc-r-carte); }
.sbt-auteur-sur,.sbt-auteur-der p{ text-transform:none; letter-spacing:0; font:500 13px var(--dc-titre); }
.sbt-auteur-role{ text-transform:none; letter-spacing:0; font:500 14px var(--dc-titre); color:var(--dc-zinc); }
.sbt-auteur-nom{ font:700 28px/1.2 var(--dc-titre); }
.sbt-auteur-actions .sbt-btn{ border-radius:var(--dc-r-bouton); }
.sbt-btn{ border-radius:var(--dc-r-bouton); font-family:var(--dc-titre); font-weight:500; }

/* À lire aussi / pages liées */
.dc-alire{ padding-block:64px; }
.dc-grille{ display:grid; gap:24px; }
.dc-grille--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:900px){ .dc-grille--3{ grid-template-columns:minmax(0,1fr); gap:16px; } .dc-alire{ padding-block:44px; } }
.dc-carte{ background:var(--dc-blanc); border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-carte); overflow:hidden; transition:box-shadow .22s ease,transform .22s ease; display:flex; }
.dc-carte:hover{ box-shadow:var(--dc-ombre-survol); transform:translateY(-2px); }
.dc-carte__lien{ display:flex; flex-direction:column; width:100%; color:var(--dc-ardoise); text-decoration:none; }
.dc-carte__photo{ position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:var(--dc-brume); }
.dc-carte__photo img,.dc-carte__photo .dc-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .22s ease; }
.dc-carte:hover .dc-carte__photo img{ transform:scale(1.03); }
.dc-carte__corps{ display:flex; flex-direction:column; gap:8px; padding:16px 20px 20px; flex:1; }
.dc-carte__meta{ display:flex; flex-wrap:wrap; gap:4px 12px; font:600 13.5px/1.3 var(--dc-texte); color:var(--dc-doux); font-variant-numeric:tabular-nums; }
.dc-carte__titre{ font:500 19px/1.3 var(--dc-titre); letter-spacing:-.01em; }
.dc-liens-cartes{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.dc-liens-cartes a{ display:flex; align-items:center; min-height:84px; padding:16px 20px; background:var(--dc-blanc); border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-carte); font:500 17px/1.3 var(--dc-titre); color:var(--dc-ardoise); text-decoration:none; transition:box-shadow .22s ease; }
.dc-liens-cartes a:hover{ box-shadow:var(--dc-ombre-survol); color:var(--dc-eau); }
@media (max-width:900px){ .dc-liens-cartes{ grid-template-columns:minmax(0,1fr); } }

/* infographies du socle (sbs-*) habillées */
sbs-lieu,sbs-tarifs,sbs-frise,sbs-jauges{ display:block; margin:1.8em 0; padding:22px 24px; background:var(--dc-blanc); border:1px solid var(--dc-filet); border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-carte); }
.sbs_tarifs_titre,.sbs_frise_titre,.sbs_jauges_titre,.sbs_lieu_nom{ display:block; font:500 18px/1.3 var(--dc-titre); margin-bottom:14px; }
sbs-tarif{ display:grid; grid-template-columns:minmax(0,38%) 1fr; gap:6px 16px; align-items:center; padding:8px 0; border-top:1px solid var(--dc-filet); }
sbs-tarif:first-of-type{ border-top:0; }
.sbs_tarif_libelle{ font:500 15px/1.35 var(--dc-titre); }
meter.sbs_tarif_barre{ width:100%; height:34px; appearance:none; -webkit-appearance:none; background:none; border:0; font:700 20px/34px var(--dc-titre); }
meter.sbs_tarif_barre::-webkit-meter-bar{ background:var(--dc-brume); border:0; border-radius:var(--dc-r-pilule); height:34px; }
meter.sbs_tarif_barre::-webkit-meter-optimum-value,meter.sbs_tarif_barre::-webkit-meter-suboptimum-value,meter.sbs_tarif_barre::-webkit-meter-even-less-good-value{ background:linear-gradient(90deg,#6FE0E6,#2C7BE0); border-radius:var(--dc-r-pilule); }
meter.sbs_tarif_barre::-moz-meter-bar{ background:linear-gradient(90deg,#6FE0E6,#2C7BE0); border-radius:var(--dc-r-pilule); }
.sbs_tarifs_notes,.sbs_source,.sbs_lieu_acces,.sbs_etape_desc{ display:block; font:400 14px/1.45 var(--dc-texte); color:var(--dc-doux); margin-top:8px; }
sbs-frise{ position:relative; }
sbs-etape{ display:grid; grid-template-columns:130px 1fr; gap:2px 18px; padding:10px 0 10px 22px; border-left:3px solid var(--dc-eau); margin-left:6px; position:relative; }
sbs-etape::before{ content:""; position:absolute; left:-9px; top:16px; width:15px; height:15px; border-radius:50%; background:#fff; border:3px solid var(--dc-eau); }
.sbs_etape_date{ font:500 14px/1.4 var(--dc-titre); color:var(--dc-zinc); font-variant-numeric:tabular-nums; grid-row:1 / span 2; }
.sbs_etape_titre{ font:500 17px/1.35 var(--dc-titre); }
sbs-jauges{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:20px; }
sbs-jauges > .sbs_jauges_titre,sbs-jauges > .sbs_source{ grid-column:1 / -1; margin:0; }
sbs-jauge{ display:flex; flex-direction:column; gap:2px; }
.sbs_jauge_valeur{ font:700 56px/1.05 var(--dc-titre); letter-spacing:-.012em; font-variant-numeric:tabular-nums lining-nums; background:linear-gradient(90deg,var(--dc-ardoise),var(--dc-eau)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.sbs_jauge_unite{ font:500 16px var(--dc-titre); color:var(--dc-zinc); }
.sbs_jauge_libelle{ font:400 15px/1.4 var(--dc-texte); color:var(--dc-doux); order:3; }
@media (max-width:640px){ sbs-tarif{ grid-template-columns:1fr; } sbs-etape{ grid-template-columns:1fr; } .sbs_etape_date{ grid-row:auto; } .sbs_jauge_valeur{ font-size:44px; } }

/* ==========================================================================
   RUBRIQUE, AUTEUR, PAGES (en-têtes brume)
   ========================================================================== */
.dc-rub-tete,.dc-page-tete,.dc-auteur-tete{ position:relative; overflow:clip; background:var(--dc-brume); }
.dc-rub-tete{ min-height:340px; padding-block:34px 72px; }
.dc-rub-tete__in{ position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) 560px; gap:48px; align-items:center; }
.dc-rub-tete__txt{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.dc-rub-h1{ font:700 60px/1.04 var(--dc-titre); letter-spacing:-.012em; }
.dc-rub-h1 .dc-t2__b{ display:block; }
.dc-rub-tete .dc-chapo{ margin:0; max-width:30em; }
.dc-rub-tete__photo{ height:300px; border-radius:var(--dc-r-carte); overflow:hidden; box-shadow:var(--dc-ombre-photo); background:var(--dc-glace); }
.dc-rub-tete__photo img{ width:100%; height:100%; object-fit:cover; }
@media (min-width:1700px){ .dc-rub-h1{ font-size:68px; } }
@media (max-width:1100px){ .dc-rub-tete__in{ grid-template-columns:minmax(0,1fr); gap:22px; } .dc-rub-h1{ font-size:36px; font-weight:400; } .dc-rub-tete__photo{ height:200px; } .dc-rub-tete{ padding-block:22px 30px; } }
.dc-sec--liste{ padding-block:56px 72px; }
.dc-une{ margin-bottom:28px; }
.dc-une__lien{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); background:var(--dc-blanc); border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-carte); overflow:hidden; text-decoration:none; color:var(--dc-ardoise); transition:box-shadow .22s ease; min-height:clamp(420px,calc(100vh - 220px),560px); }
.dc-une__lien:hover{ box-shadow:var(--dc-ombre-survol); }
.dc-une__photo{ position:relative; display:flex; flex:1; overflow:hidden; background:var(--dc-brume); }
.dc-une__photo img,.dc-une__photo .dc-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dc-une__txt{ display:flex; flex-direction:column; justify-content:center; gap:16px; padding:36px; }
.dc-une__titre{ font:700 34px/1.15 var(--dc-titre); letter-spacing:-.01em; }
.dc-une__chapo{ font:400 18px/1.55 var(--dc-texte); color:var(--dc-zinc); }
.dc-une__txt .dc-btn{ align-self:flex-start; margin-top:6px; }
@media (max-width:900px){ .dc-une__lien{ grid-template-columns:minmax(0,1fr); min-height:0; } .dc-une__photo{ aspect-ratio:16/10; flex:none; } .dc-une__titre{ font-size:26px; } .dc-une__txt{ padding:22px 20px; } .dc-sec--liste{ padding-block:36px 48px; } }
.dc-plus{ text-align:center; margin:36px 0 0; }
.dc-plus .dc-btn.is-charge{ opacity:.6; pointer-events:none; }
.dc-vide{ font-size:18px; color:var(--dc-doux); }
.dc-sec--couvre{ padding-block:0 72px; }
.dc-acc{ background:var(--dc-blanc); border:1px solid var(--dc-filet); border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-carte); margin:0 0 12px; position:relative; transition:box-shadow .22s ease,border-color .22s ease; }
.dc-acc[open]{ border-color:rgba(10,106,133,.35); }
.dc-acc[open]::before{ content:""; position:absolute; left:0; top:14px; bottom:14px; width:3px; border-radius:3px; background:var(--dc-flot); background-size:100% 260%; }
.dc-acc__sum{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; }
.dc-acc__sum::-webkit-details-marker{ display:none; }
.dc-acc__sum h2{ font:500 20px/1.3 var(--dc-titre); letter-spacing:-.01em; margin:0 !important; scroll-margin-top:96px; }
.dc-acc__sum:hover h2{ color:var(--dc-eau); }
.dc-acc__chev{ flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:var(--dc-glace) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A6A85' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/16px no-repeat; transition:transform .3s ease; }
.dc-acc[open] .dc-acc__chev{ transform:rotate(180deg); }
.dc-acc__corps{ padding:0 22px 20px 26px; }
.dc-acc__corps > :first-child{ margin-top:0; }
.dc-acc__corps > :last-child{ margin-bottom:0; }
.dc-acc__corps h3{ font:500 19px/1.3 var(--dc-titre); margin:1.2em 0 .4em; }
.dc-acc__corps p,.dc-acc__corps li{ font-size:17px; }

/* auteur */
.dc-auteur-tete{ padding-block:40px 44px; }
.dc-auteur-tete__in{ position:relative; z-index:2; display:flex; gap:40px; align-items:center; }
.dc-auteur-tete__photo{ flex:0 0 auto; }
.dc-auteur-h1{ font:700 52px/1.05 var(--dc-titre); letter-spacing:-.012em; margin:10px 0 4px; }
.dc-auteur-role{ font:500 18px/1.3 var(--dc-titre); color:var(--dc-zinc); margin:0 0 12px; }
.dc-doms{ display:flex; flex-wrap:wrap; gap:6px 10px; margin:6px 0 0; }
@media (max-width:900px){ .dc-auteur-tete__in{ flex-direction:column; align-items:flex-start; gap:18px; } .dc-auteur-h1{ font-size:34px; } .dc-avatar--xl{ width:110px; height:110px; } }

/* pages simples, contact, à propos */
.dc-page-tete{ padding-block:34px 40px; }
.dc-page-tete > .dc-c{ position:relative; z-index:2; display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.dc-page-h1{ font:700 60px/1.05 var(--dc-titre); letter-spacing:-.012em; max-width:18em; }
.dc-page-h1 .dc-t2__b{ display:block; }
@media (min-width:1700px){ .dc-page-h1{ font-size:68px; } }
@media (max-width:900px){ .dc-page-h1{ font-size:34px; font-weight:400; } .dc-page-tete{ padding-block:22px 28px; } }
.dc-page-tete--photo{ background:transparent; padding-block:24px 0; }
.dc-bandeau{ position:relative; height:420px; border-radius:var(--dc-r-carte); overflow:hidden; box-shadow:var(--dc-ombre-photo); margin-top:18px; background:var(--dc-nuit); }
.dc-bandeau__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dc-bandeau__voile{ position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,28,43,.86) 0%,rgba(15,28,43,.5) 55%,rgba(15,28,43,.05) 100%); }
.dc-bandeau__h1{ position:absolute; z-index:2; left:48px; bottom:44px; max-width:640px; font:700 46px/1.1 var(--dc-titre); letter-spacing:-.01em; }
.dc-bandeau__h1 .dc-t2__a{ color:#fff; } .dc-bandeau__h1 .dc-t2__b{ color:var(--dc-ecume); display:block; }
.dc-bandeau__credit{ position:absolute; z-index:3; right:16px; bottom:10px; } .dc-bandeau__credit .dc-credit{ color:#D5E3EA; }
@media (max-width:900px){ .dc-bandeau{ height:340px; } .dc-bandeau__h1{ left:20px; right:20px; bottom:34px; font-size:28px; } }
.dc-sec--lecture{ padding-block:48px 64px; }
.dc-lecture{ display:grid; grid-template-columns:minmax(0,720px); justify-content:center; gap:32px; }
.dc-lecture--som{ grid-template-columns:260px minmax(0,720px); align-items:start; gap:56px; }
.dc-lecture__som{ position:sticky; top:calc(var(--dc-menu-h) + 16px); }
.dc-lecture__som .sbt-rail-carte--sommaire{ display:block; }
@media (max-width:900px){ .dc-lecture--som{ grid-template-columns:minmax(0,1fr); gap:20px; } .dc-lecture__som{ position:static; } }
.dc-sec--methode{ padding-block:72px; }
.dc-methode{ list-style:none; margin:36px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative; z-index:2; }
.dc-methode li{ display:flex; flex-direction:column; gap:10px; padding:24px 22px; background:rgba(255,255,255,.06); border:1px solid rgba(111,224,230,.28); border-radius:var(--dc-r-carte); }
.dc-methode strong{ font:500 20px/1.3 var(--dc-titre); color:#fff; }
.dc-methode span{ font:400 16px/1.55 var(--dc-texte); color:#DCE8EE; }
@media (max-width:900px){ .dc-methode{ grid-template-columns:1fr; } .dc-sec--methode{ padding-block:44px; } }
.dc-equipe{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.dc-equipe a{ display:flex; gap:18px; align-items:flex-start; padding:20px; background:var(--dc-blanc); border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-carte); text-decoration:none; color:var(--dc-ardoise); height:100%; transition:box-shadow .22s ease; }
.dc-equipe a:hover{ box-shadow:var(--dc-ombre-survol); }
.dc-equipe a > span{ display:flex; flex-direction:column; gap:4px; }
.dc-equipe strong{ font:500 19px/1.3 var(--dc-titre); }
.dc-equipe__bio{ font:400 15px/1.5 var(--dc-texte); color:var(--dc-doux); }
@media (max-width:900px){ .dc-equipe{ grid-template-columns:1fr; } }
.dc-contact{ padding-block:56px 80px; overflow:clip; }
.dc-contact__in{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:56px; align-items:start; }
.dc-contact__form{ position:relative; }
.dc-contact__noeud{ position:absolute; z-index:3; left:28px; top:-22px; width:64px; height:44px; background:#fff; border-radius:var(--dc-r-pilule); box-shadow:var(--dc-ombre-carte); display:flex; align-items:center; justify-content:center; }
.dc-contact__noeud .dc-symbole{ width:44px; height:32px; }
.dc-contact__photo{ position:relative; height:340px; border-radius:var(--dc-r-carte); overflow:visible; }
.dc-contact__photo .dc-flot-calque{ inset:-40px -80px -40px -16px; }
.dc-contact__img{ position:relative; z-index:1; width:100%; height:100%; object-fit:cover; border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-photo); }
.dc-credit-ligne{ margin:8px 0 22px; text-align:right; }
.dc-apres{ background:var(--dc-blanc); border:1px solid var(--dc-filet); border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-carte); padding:24px 26px; }
.dc-apres__t{ font:500 20px/1.3 var(--dc-titre); margin:0 0 14px; }
.dc-apres__liste{ list-style:none; margin:0; padding:0; counter-reset:ap; position:relative; display:grid; gap:16px; }
.dc-apres__liste::before{ content:""; position:absolute; left:13px; top:14px; bottom:14px; width:2px; background:linear-gradient(180deg,#6FE0E6,#2C7BE0 55%,#2A3F9E); border-radius:2px; }
.dc-apres__liste li{ counter-increment:ap; position:relative; padding-left:44px; font:400 16.5px/1.5 var(--dc-texte); }
.dc-apres__liste li::before{ content:counter(ap); position:absolute; left:0; top:0; width:28px; height:28px; border-radius:50%; background:#fff; border:2px solid var(--dc-eau); color:var(--dc-eau-fonce); font:500 14px/24px var(--dc-titre); text-align:center; }
.dc-apres__liste strong{ display:block; font:500 16.5px var(--dc-titre); }
@media (max-width:1000px){ .dc-contact__in{ grid-template-columns:minmax(0,1fr); gap:40px; } .dc-contact__photo{ height:240px; } .dc-contact{ padding-block:40px 56px; } }
.dc-404{ align-items:flex-start; }
.dc-404__btns{ display:flex; flex-wrap:wrap; gap:12px; margin:8px 0 0; }
.dc-404__plaque{ margin-bottom:8px; }

/* page arrondissement : corps, rail, carte */
.dc-sec--corps{ padding-block:56px 64px; }
.dc-arr-corps{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:56px; align-items:start; }
.dc-arr-corps__rail{ position:sticky; top:calc(var(--dc-menu-h) + 16px); }
.dc-arr-corps__txt .dc-intro{ margin-bottom:24px; max-width:68ch; }
@media (max-width:1080px){ .dc-arr-corps{ grid-template-columns:minmax(0,1fr); gap:32px; } .dc-arr-corps__rail{ position:static; } .dc-sec--corps{ padding-block:36px 44px; } }
.dc-sec--carte{ padding-block:64px; }
.dc-carte-bloc{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:56px; align-items:center; }
.dc-carte-bloc__carte{ background:var(--dc-blanc); border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-carte); padding:20px; }
svg.dc-carte{ display:block; width:100%; height:auto; }
svg.dc-carte path{ fill:var(--dc-brume); stroke:#fff; stroke-width:1.5; transition:fill .2s ease; }
svg.dc-carte a:hover path{ fill:#BFE6EC; }
svg.dc-carte path.is-voisin{ fill:var(--dc-glace); }
svg.dc-carte path.is-actif{ fill:var(--dc-eau); }
.dc-carte-bloc__txt{ display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.dc-voisins{ list-style:none; margin:0; padding:2px; display:flex; flex-wrap:wrap; gap:10px; }
@media (max-width:900px){ .dc-carte-bloc{ grid-template-columns:minmax(0,1fr); gap:24px; } .dc-sec--carte{ padding-block:40px; } }

/* ==========================================================================
   PIED DE PAGE (bloc figé habillé) + bandeau cookies
   ========================================================================== */
.dc-footer{ background:var(--dc-brume); color:var(--dc-ardoise); padding:0; position:relative; z-index:2; margin-top:0; }
.dc-footer a{ color:var(--dc-ardoise); }
.dc-footer a:hover{ color:var(--dc-eau); }
.dc-footer__flot{ position:relative; height:36px; overflow:hidden; background:var(--dc-blanc); }
.dc-footer__flot .dc-flot{ position:absolute; inset:0; }
.dc-footer__haut{ padding:56px 0 52px; }
.dc-footer__grille{ display:grid; grid-template-columns:1.5fr 1fr 1.6fr 1fr; gap:40px; align-items:start; }
.dc-footer__marque{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.dc-footer .sbt-footer-desc{ color:var(--dc-doux); font:400 16px/1.55 var(--dc-texte); max-width:26em; margin:0; }
.dc-footer .sbt-footer-colonne ul{ gap:10px; }
.dc-footer .sbt-footer-colonne ul a{ font:400 16px/1.3 var(--dc-texte); }
.dc-footer__t{ font:500 17px/1.2 var(--dc-titre) !important; text-transform:none !important; letter-spacing:-.005em !important; color:var(--dc-ardoise) !important; margin:0 0 16px !important; }
.dc-footer__plaques{ display:grid !important; grid-template-columns:repeat(4,max-content); gap:10px 12px !important; }
.dc-footer__plaques li{ display:flex; }
.dc-footer .dc-plaque a,.dc-footer a.dc-plaque{ color:#fff; }
.dc-footer .dc-btn--plein,.dc-footer .dc-btn--plein:hover{ color:#fff; }
.dc-footer__bas{ background:var(--dc-nuit); color:#fff; padding:0 !important; min-height:56px; display:flex; align-items:center; font:400 14px/1.4 var(--dc-texte) !important; }
.dc-footer__bas span{ color:#fff; }
@media (max-width:1000px){ .dc-footer__grille{ grid-template-columns:1fr 1fr; gap:36px 28px; } }
@media (max-width:560px){ .dc-footer__grille{ grid-template-columns:1fr; } .dc-footer__plaques{ grid-template-columns:repeat(5,max-content); } .dc-footer__bas{ padding:14px 0 !important; } }
.sbt-cookies{ left:12px; right:12px; bottom:12px; border-radius:14px; z-index:90; }
@media (min-width:900px){ .sbt-cookies{ left:auto; right:20px; bottom:20px; width:min(560px,calc(100vw - 40px)); } }

/* flot du premier écran : bureau (calque de la section) / mobile (posé sur la photo) */
.dc-flot-m{ display:none; }
.dc-flot--bas{ opacity:.95; }
@media (max-width:1100px){
	.dc-flot-calque--bureau{ display:none; }
	.dc-flot-m{ display:block; position:absolute; z-index:0; left:-16px; right:-16px; top:-30px; height:300px; pointer-events:none; }
	.dc-hero__photo,.dc-hero .dc-form--hero{ z-index:1; }
	.dc-hero .dc-form--hero{ z-index:3; }
	.dc-hero__visuel{ isolation:isolate; }
}
@media (max-width:480px){
	.dc-menu__in{ gap:10px; }
	.dc-logo{ gap:8px; }
	.dc-logo__nom{ white-space:normal; line-height:1.05; font-size:15px; max-width:98px; }
	.dc-symbole{ width:36px; height:26px; }
}
.dc-flot--bas{ -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 52%,transparent 92%); mask-image:linear-gradient(90deg,#000 0%,#000 52%,transparent 92%); }
.dc-form--rail .dc-aide{ display:none; }
@media (max-width:1100px){ .dc-hero--page .dc-hero__photo,.dc-hero .dc-hero__photo{ height:clamp(150px,34vw,300px); } }
@media (max-width:640px){ .dc-hero--page .dc-hero__photo,.dc-hero .dc-hero__photo{ height:170px; } }

/* ==========================================================================
   PASSE v4 (10/10) — surimpressions jamais rognées, bandeau cookies compact
   ========================================================================== */
/* plaque d'arrondissement : elle contient tout son texte (largeur au contenu) */
.dc-plaque--g{ width:auto; min-width:240px; padding:0 26px 0 22px; }
/* page arrondissement / service (bureau) : plaque posée sur la photo, À DROITE du formulaire, jamais dessus */
@media (min-width:1101px){
	.dc-hero--page .dc-plaque--g{ left:calc(100% - var(--photo-w) + var(--form-w) - 96px + 28px); top:-30px; }
}
/* plaque « Hydrocurage » : posée DANS la photo, coin bas droit, lisible et entière */
.dc-hero__plaque{ left:auto; right:28px; bottom:28px; }
/* mobile : la pastille « Bouché / Ça repart » passe au-dessus de la photo (plus de coin rogné) */
@media (max-width:1100px){
	.dc-flot-m{ z-index:auto; }
	.dc-flot-m > svg{ position:relative; z-index:0; }
	.dc-flot-m .dc-pn{ z-index:2; left:14px !important; top:62px !important; transform:translateY(-50%); } /* dans la photo, coin haut gauche, entière */
	.dc-hero--page .dc-flot-m .dc-pn{ display:none; } /* la plaque d'arrondissement occupe ce coin */
	.dc-hero .dc-plaque--g{ top:-18px; }
}
/* bandeau cookies : une ligne en bas à gauche sur bureau (le formulaire du héros est au centre-droit) ;
   en haut sur mobile, ≤ 64 px, par-dessus le menu (le bouton du formulaire reste libre). */
.sbt-cookies{ z-index:110; gap:14px; }
.sbt-cookies p{ font-size:13px; line-height:1.3; }
@media (min-width:900px){
	.sbt-cookies{ left:20px; right:auto; bottom:20px; top:auto; width:auto; max-width:calc(100vw - 40px); padding:8px 8px 8px 18px; border-radius:12px; }
	.sbt-cookies p{ flex:0 1 auto; white-space:nowrap; }
}
@media (max-width:899px){
	.sbt-cookies{ left:0; right:0; top:0; bottom:auto; border-radius:0; padding:8px 12px; max-height:64px; box-shadow:0 6px 18px -8px rgba(15,28,43,.5); }
	.sbt-cookies p{ font-size:12px; }
	.sbt-cookies .sbt-btn{ padding:6px 12px; min-height:34px; }
}
/* page arrondissement / service (bureau) : la photo monte jusqu'au nœud du flot → la pastille se pose à GAUCHE du nœud, jamais sous la photo */
@media (min-width:1101px){ .dc-hero--page .dc-flot-calque--bureau .dc-pn{ transform:translate(calc(-100% - 34px),-50%); } }

/* ==========================================================================
   PASSE v5 (10/10) — en-tête mobile compact des pages arrondissement / service :
   titre + formulaire ENTIER (bouton compris) dans 390×700. La phrase d'accroche passe sous le formulaire,
   la photo devient un bandeau, le fil d'Ariane tient sur une ligne. Accueil, 1440 et 1920 inchangés.
   ========================================================================== */
@media (max-width:640px){
	.dc-hero.dc-hero--page{ padding-block:12px 28px; }
	.dc-hero--page .dc-fil{ margin-bottom:10px; }
	.dc-hero--page .dc-fil ol{ flex-wrap:nowrap; white-space:nowrap; font-size:13px; }
	.dc-hero--page .dc-fil li{ min-width:0; }
	.dc-hero--page .dc-fil li:last-child{ overflow:hidden; text-overflow:ellipsis; }
	.dc-hero.dc-hero--page .dc-hero__h1{ font-size:clamp(26px,7.4vw,30px); line-height:1.1; letter-spacing:-.015em; margin:0 0 12px; }
	.dc-hero--page .dc-hero__sous{ order:2; font-size:18px; line-height:1.35; margin:18px 0 10px; }
	.dc-hero.dc-hero--page .dc-hero__photo{ height:116px; }
	.dc-hero.dc-hero--page .dc-form--hero{ margin-top:-38px; }
	.dc-hero--page .dc-plaque--g{ top:-14px; transform:scale(.56); }
	.dc-hero--page .dc-rassur{ order:3; font-size:13.5px; }
}

/* repères tirés du texte (article sans visuel) */
.dc-reperes{ margin:2.2em 0; padding:22px 24px 24px; border-radius:var(--dc-r-carte); background:var(--dc-brume); position:relative; overflow:hidden; }
.dc-reperes::before{ content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--dc-flot); }
.dc-reperes__t{ font:500 18px/1.2 var(--dc-titre); color:var(--dc-ardoise); margin:0 0 14px; }
.dc-reperes__liste{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px; }
.dc-repere{ display:flex; flex-direction:column; gap:8px; background:var(--dc-blanc); border-radius:14px; padding:16px 18px; box-shadow:var(--dc-ombre-carte); }
.dc-repere__c{ font:700 34px/1.05 var(--dc-titre); letter-spacing:-.01em; color:var(--dc-eau); font-variant-numeric:lining-nums tabular-nums; }
.dc-repere__x{ font:400 15px/1.45 var(--dc-texte); color:var(--dc-zinc); }
.dc-citation{ margin:2.2em 0; padding:6px 0 6px 26px; position:relative; }
.dc-citation::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; border-radius:4px; background:var(--dc-flot); }
.dc-citation blockquote{ margin:0; }
.dc-citation p{ font:700 26px/1.3 var(--dc-titre); letter-spacing:-.01em; color:var(--dc-ardoise); margin:0; }
@media (max-width:640px){ .dc-reperes{ padding:18px 16px; } .dc-repere__c{ font-size:30px; } .dc-citation p{ font-size:21px; } }

/* ==========================================================================
   PASSE v6 (10/10) — contact : formulaire ENTIER (bouton compris) au-dessus du pli à 1440×780 et 1920×950 ;
   pages arrondissement / service à 390 : le flot ne traverse plus le titre ; bandeau cookies placé hors des formulaires.
   ========================================================================== */
@media (min-width:1001px){
	.dc-page-tete--contact{ padding-block:24px 28px; }
	.dc-page-tete--contact > .dc-c{ gap:10px; }
	.dc-page-tete--contact .dc-page-h1{ font-size:46px; }
	.dc-contact{ padding-block:40px 72px; }
	.dc-contact .dc-form--page{ padding:24px 28px 20px; }
	.dc-contact .dc-form--page .dc-tuile{ height:56px; }
}
@media (min-width:1700px){ .dc-page-tete--contact .dc-page-h1{ font-size:52px; } }
@media (max-width:640px){ .dc-hero--page .dc-flot-m{ top:0; } }
/* le script choisit le coin qui ne recouvre aucun formulaire visible */
@media (min-width:900px){ .sbt-cookies.is-droite{ left:auto; right:20px; } }
@media (max-width:899px){ .sbt-cookies.is-bas{ top:auto; bottom:0; } }
/* 10/10 — contact à 390 : bouton du formulaire au-dessus du pli (703 → < 690 px) */
@media (max-width:600px){ .dc-page-tete--contact{ padding-block:16px 18px; } .dc-contact{ padding-block:28px 48px; } }

/* ==========================================================================
   PASSE v7 (10/10) — porte de sortie : crédit dans son cadre, tableaux à la colonne, rythme, liste sans pagination
   ========================================================================== */
/* crédit photo du héros : DANS la photo (coin haut droit), sur une pastille lisible — plus jamais hors de son cadre */
@media (min-width:1101px){
	.dc-hero__credit{ top:auto; bottom:12px; max-width:calc(100% - 28px); background:rgba(255,255,255,.88); border-radius:var(--dc-r-pilule); padding:3px 10px; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
	.dc-hero:not(.dc-hero--page) .dc-hero__credit{ left:14px; right:auto; } /* accueil : bas gauche, sous le formulaire ; la plaque « Hydrocurage » tient le bas droit */
	.dc-hero--page .dc-hero__credit{ right:14px; left:auto; } /* pages : bas droit (la plaque d'arrondissement tient le haut) */
}
/* tableaux : jamais plus larges que la colonne (le mu-plugin des sources impose min-width:520px) */
.sbt-article-corps .sbs_tableau,.sbt-article-corps [class*="__tbl"]{ max-width:100%; }
@media (max-width:700px){
	.sbt-article-corps table,.sbt-article-corps [class*="__tbl"] table{ min-width:0 !important; width:100% !important; }
	.sbt-article-corps .sbs_tableau,.sbt-article-corps [class*="__tbl"]{ overflow:visible !important; }
	.sbt-article-corps td{ word-break:normal; overflow-wrap:anywhere; }
}
/* rythme vertical : le corps des pages service / ville part avec une marge haute franche (RE-0240) */
.dc-service{ margin-top:clamp(32px,4vw,56px); }
/* « Afficher plus » sans pagination : cartes au-delà des 9 premières révélées par le bouton */
html.dc-js .dc-carte--suite:not(.is-vu){ display:none; }
/* barre latérale : carte barème (affichée par le script seulement si elle tient dans le bloc collant) */
.dc-rail-bareme[hidden]{ display:none !important; }
.dc-rail-bareme{ padding:16px 18px; }
.dc-rail-bareme__t{ font:500 15.5px/1.3 var(--dc-titre); color:var(--dc-ardoise); margin:0 0 8px; }
.dc-rail-bareme__lignes{ display:flex; flex-direction:column; margin:0 0 10px; }
.dc-rail-bareme__l{ display:flex; justify-content:space-between; gap:10px; margin:0; padding:6px 0; border-top:1px solid var(--dc-filet); font:400 14px/1.3 var(--dc-texte); color:var(--dc-zinc); }
.dc-rail-bareme__l:first-child{ border-top:0; }
.dc-rail-bareme__l strong{ font:500 14px/1.3 var(--dc-titre); color:var(--dc-ardoise); white-space:nowrap; font-variant-numeric:tabular-nums lining-nums; }
.dc-rail-bareme .dc-lien{ font-size:14px; }
/* contact : la 3e étape (coordonnées + message) tient aussi au-dessus du pli à 1440×780 */
@media (min-width:1001px){ .dc-contact .dc-champ textarea{ height:56px; min-height:56px; } }
/* un texte sans espace (adresse web citée en clair) ne pousse jamais la page en largeur */
.sbt-article-corps,.sbt-article-corps p,.sbt-article-corps li{ overflow-wrap:break-word; }
/* carte barème compacte : tient dans le bloc collant à 1920×950 au-dessus du formulaire */
.dc-rail-bareme{ padding:12px 16px 12px; }
.dc-rail-bareme__t{ font-size:14.5px; margin:0 0 4px; }
.dc-rail-bareme__l{ padding:4px 0; font-size:13.5px; }
.dc-rail-bareme__l strong{ font-size:13.5px; }
.dc-rail-bareme__lignes{ margin:0 0 6px; }
.dc-rail-bareme .dc-lien{ font-size:13.5px; }

/* ==========================================================================
   PASSE JUGE n°1 (10/10) — corrections 1, 4, 5, 6, 7, 8, 9, 10
   ========================================================================== */
:root{ --dc-ligne:#1F6FD1; } /* bleu des lignes d'eau, assombri pour l'AA : 4,94:1 sur blanc, 4,5:1 sur brume */
/* 10 · second ton des titres en vraie couleur, graisse un cran plus franche */
.dc-t2__b,.sbt-article-corps h2 .dc-t2__b{ color:var(--dc-ligne); }
.dc-hero__h1,.dc-art-h1,.dc-rub-h1,.dc-page-h1,.dc-auteur-h1,.sbt-article-corps h2,.dc-une__titre,.dc-bandeau__h1{ font-weight:700; }
.dc-t2--nuit .dc-t2__b,.dc-sec--nuit .dc-t2__b,.dc-bandeau__h1 .dc-t2__b{ color:var(--dc-ecume); }
/* 10 · « Points à retenir » en carte nuit (rupture de fond) */
.sbt-encadre--retenir{ background:var(--dc-fond-nuit); color:#fff; border:0; box-shadow:var(--dc-ombre-photo); }
.sbt-encadre--retenir .sbt-encadre-titre{ color:var(--dc-ecume); }
.sbt-encadre--retenir li,.sbt-retenir-liste li{ color:#E8F1F6; }
.sbt-encadre--retenir a{ color:var(--dc-ecume); }
/* 10 · cartes formulaire : l'espace en trop va aux tuiles, le bouton reste au pied de la carte (≤ 24 px dessous) */
@media (min-width:641px){
	.dc-etape > .dc-tuiles{ flex:1 1 auto; grid-auto-rows:1fr; align-content:stretch; }
	.dc-etape > .dc-tuiles .dc-tuile{ height:auto; min-height:44px; }
	.dc-form--page .dc-etape > .dc-tuiles .dc-tuile{ min-height:56px; }
	.dc-form--hero .dc-etape > .dc-tuiles .dc-tuile{ min-height:52px; }
	.dc-etape > .dc-actions{ margin-top:auto; }
	.dc-form{ padding-bottom:20px; }
}
/* 1 · À propos : le bandeau photo prend toute la largeur (il se réduisait à 0 px dans une colonne flex) */
.dc-page-tete--photo .dc-bandeau{ align-self:stretch; width:100%; }
@media (max-width:900px){ .dc-page-tete--photo .dc-bandeau{ height:300px; } }
/* 4 · en-tête d'article : la photo prend la hauteur du bloc titre (bas des métas = bas de la photo) */
@media (min-width:901px){
	.dc-art-tete__in{ align-items:stretch; }
	.dc-art-tete__photo{ height:auto; min-height:300px; margin-top:36px; }
	.dc-art-tete__cadre{ position:absolute; inset:0; height:auto; }
}
/* 6 · bandeau cookies mobile : en bas, compact, logo et menu libres */
@media (max-width:899px){
	.sbt-cookies{ top:auto !important; bottom:0 !important; left:0; right:0; border-radius:14px 14px 0 0; max-height:90px; box-shadow:0 -8px 22px -10px rgba(15,28,43,.45); }
}
/* 6 · …et le bouton « Continuer » du premier écran reste au-dessus du bandeau (390×700) */
@media (max-width:640px){
	.dc-hero:not(.dc-hero--page) .dc-hero__photo{ height:136px; }
	.dc-page-tete--contact{ padding-block:12px 16px; }
	.dc-page-tete--contact .dc-page-h1{ font-size:27px; line-height:1.12; }
	.dc-page-tete--contact > .dc-c{ gap:8px; }
	.dc-contact{ padding-block:26px 48px; }
	.dc-contact .dc-form--page{ padding:16px 14px 14px; }
	.dc-contact .dc-form--page .dc-tuile{ height:46px; }
}
/* 7 · étiquette en pastille posée sur la photo des cartes */
.dc-etiq{ position:absolute; z-index:2; left:12px; top:12px; max-width:calc(100% - 24px); display:inline-flex; align-items:center; height:30px; padding:0 12px; border-radius:var(--dc-r-pilule); background:rgba(255,255,255,.94); color:var(--dc-ardoise); font:500 14px/1 var(--dc-titre); box-shadow:0 4px 12px -6px rgba(15,28,43,.45); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dc-etiq--s{ height:22px; padding:0 8px; font-size:11.5px; left:6px; top:6px; max-width:calc(100% - 12px); }
.dc-bento__photo .dc-etiq.dc-bento__titre{ font:500 15px/1 var(--dc-titre); height:32px; }
.dc-bento__c--colonne .dc-bento__photo .dc-etiq.dc-bento__titre{ font-size:18px; height:38px; padding:0 16px; left:16px; top:16px; }
.dc-profil__photo,.dc-actu__photo{ position:relative; }
/* 7 · photos des petites cartes de prix ≥ 140 px (bureau) et ≥ 120 px (mobile) */
.dc-bento{ height:420px; }
.dc-bento__c:not(.dc-bento__c--colonne) .dc-bento__txt{ padding:8px 16px 10px; }
.dc-actu__vignette{ flex-basis:120px; width:120px; height:120px; }
@media (max-width:900px){
	.dc-bento{ height:auto; }
	.dc-bento__c{ min-height:124px; }
	.dc-bento__photo{ flex:0 0 140px; min-height:124px; }
	.dc-actu__vignette{ flex-basis:120px; width:120px; height:120px; }
}
/* 8 · diagnostic : un OBJET — grande carte teintée glace (la bande des chiffres juste au-dessus est déjà nuit),
       piste d'exemple affichée, les deux colonnes centrées l'une sur l'autre */
.dc-page > .dc-sec--diag{ background:transparent; }
/* 9 · cartes « Pour aller plus loin » des pages service : photo + titre */
.dc-liens-cartes a{ flex-direction:column; align-items:stretch; padding:0; overflow:hidden; min-height:0; }
.dc-liens-cartes__photo{ position:relative; display:block; height:150px; background:var(--dc-glace); }
.dc-liens-cartes__photo img,.dc-liens-cartes__photo .dc-img,.dc-liens-cartes__photo .dc-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dc-liens-cartes__t{ display:block; padding:14px 18px 18px; font:500 17px/1.3 var(--dc-titre); }
.dc-reperes--un{ padding:16px; }
.dc-reperes--un .dc-reperes__liste{ grid-template-columns:1fr; }
.dc-reperes--un .dc-repere{ flex-direction:row; align-items:center; gap:22px; }
.dc-reperes--un .dc-repere__c{ flex:0 0 auto; min-width:120px; font-size:40px; }
@media (max-width:640px){ .dc-reperes--un .dc-repere{ flex-direction:column; align-items:flex-start; gap:6px; } }
.dc-btn--clair{ background:var(--dc-ecume); color:var(--dc-nuit); border-color:var(--dc-ecume); }
.dc-btn--clair:hover{ background:#fff; color:var(--dc-nuit); }
.dc-sec.dc-sec--diag{ padding-block:44px; }

/* PASSE JUGE n°1 bis — « Points à retenir » dans l'en-tête, photo sur toute la hauteur ; actualités et diagnostic resserrés */
.dc-art-tete__retenir .sbt-encadre--retenir{ margin:0; }
@media (min-width:901px){
	.dc-art-tete--retenir .dc-art-tete__in{ grid-template-rows:auto 1fr; row-gap:28px; }
	.dc-art-tete--retenir .dc-art-tete__col{ grid-column:1; grid-row:1; }
	.dc-art-tete--retenir .dc-art-tete__retenir{ grid-column:1; grid-row:2; min-width:0; }
	.dc-art-tete--retenir .dc-art-tete__photo{ grid-column:2; grid-row:1 / span 2; }
	.dc-art-tete--retenir .sbt-encadre--retenir{ padding:22px 26px 22px 30px; }
	.dc-art-tete--retenir .sbt-retenir-liste li{ font-size:16px; }
}
@media (max-width:900px){
	.dc-art-tete__in{ display:flex; flex-direction:column; }
	.dc-art-tete__col{ order:1; } .dc-art-tete__photo{ order:2; } .dc-art-tete__retenir{ order:3; }
}
.dc-actu__liste{ gap:10px; }
.dc-actu__liste li a{ padding:8px; }

/* JUGE n°2 — titres équilibrés (jamais un « ? » ni un mot seul en fin de ligne) ; étiquettes de cartes lisibles en entier */
h1,h2,h3,.dc-art-h1,.dc-hero__h1,.dc-page-h1,.dc-rub-h1,.dc-auteur-h1,.dc-une__titre,.dc-carte__titre,.dc-actu__titre,.dc-lam__titre,.dc-art-promesse,.dc-hero__sous{ text-wrap:balance; }
.dc-etiq{ white-space:normal; height:auto; min-height:30px; padding-block:6px; line-height:1.15; text-wrap:balance; overflow:visible; text-overflow:clip; }
.dc-etiq--s{ min-height:22px; padding-block:4px; }
@media (max-width:900px){
	.dc-bento__photo .dc-etiq.dc-bento__titre{ font-size:13px; height:auto; min-height:26px; padding:5px 9px; left:8px; top:8px; max-width:calc(100% - 16px); }
	.dc-bento__c--colonne .dc-bento__photo .dc-etiq.dc-bento__titre{ font-size:13px; height:auto; min-height:26px; padding:5px 9px; left:8px; top:8px; }
}

/* JUGE n°5 — page Tarifs : barème illustré en grand (objets prix) */
.dc-tarifs__grille{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; }
.dc-tarif{ grid-column:span 2; display:flex; flex-direction:column; background:var(--dc-blanc); border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-carte); overflow:hidden; }
.dc-tarif--colonne,.dc-tarif--wc{ grid-column:span 3; }
.dc-tarif__photo{ position:relative; display:block; height:190px; background:var(--dc-glace); }
.dc-tarif--colonne .dc-tarif__photo,.dc-tarif--wc .dc-tarif__photo{ height:230px; }
.dc-tarif__photo img,.dc-tarif__photo .dc-img,.dc-tarif__photo .dc-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dc-tarif__corps{ padding:18px 22px 20px; display:flex; flex-direction:column; gap:8px; }
.dc-tarif__prix{ margin:0; font:400 40px/1.05 var(--dc-titre); letter-spacing:-.01em; color:var(--dc-ardoise); font-variant-numeric:tabular-nums lining-nums; }
.dc-tarif__prix small{ font:500 15px var(--dc-titre); color:var(--dc-zinc); letter-spacing:0; }
.dc-tarif__barre{ position:relative; height:10px; border-radius:var(--dc-r-pilule); background:var(--dc-glace); margin-top:4px; }
.dc-tarif__barre span{ position:absolute; top:0; bottom:0; border-radius:var(--dc-r-pilule); background:var(--dc-flot); }
.dc-tarif__echelle{ display:flex; justify-content:space-between; margin:0; font:500 12.5px/1 var(--dc-titre); color:var(--dc-doux); }
.dc-tarif__note{ margin:4px 0 0; font:400 15px/1.45 var(--dc-texte); color:var(--dc-zinc); }
.dc-tarifs__pied{ margin:18px 0 0; }
@media (max-width:900px){ .dc-tarifs__grille{ grid-template-columns:minmax(0,1fr); gap:16px; } .dc-tarif,.dc-tarif--colonne,.dc-tarif--wc{ grid-column:auto; } .dc-tarif__photo,.dc-tarif--colonne .dc-tarif__photo,.dc-tarif--wc .dc-tarif__photo{ height:170px; } .dc-tarif__prix{ font-size:34px; } }

/* JUGE n°7 — mini-barème inséré dans une section de prix sans montant */
.dc-minibareme{ margin:1.8em 0; padding:20px 22px 18px; border-radius:var(--dc-r-carte); background:var(--dc-brume); position:relative; overflow:hidden; }
.dc-minibareme::before{ content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--dc-flot); }
.dc-minibareme__t{ margin:0 0 14px; font:500 18px/1.25 var(--dc-titre); color:var(--dc-ardoise); display:flex; flex-wrap:wrap; gap:4px 12px; align-items:baseline; }
.dc-minibareme__t span{ font:500 13.5px/1.3 var(--dc-titre); color:var(--dc-doux); }
.dc-minibareme__grille{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin-bottom:12px; }
.dc-minibareme__c{ display:flex; align-items:center; gap:10px; background:var(--dc-blanc); border-radius:14px; padding:8px; box-shadow:var(--dc-ombre-carte); min-width:0; }
.dc-minibareme__photo{ position:relative; flex:0 0 56px; width:56px; height:56px; border-radius:10px; overflow:hidden; display:block; }
.dc-minibareme__photo img,.dc-minibareme__photo .dc-img,.dc-minibareme__photo .dc-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; margin:0 !important; border-radius:0 !important; }
.dc-minibareme__txt{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.dc-minibareme__titre{ font:500 13.5px/1.2 var(--dc-titre); color:var(--dc-zinc); }
.dc-minibareme__prix{ font:400 19px/1.15 var(--dc-titre); color:var(--dc-ardoise); font-variant-numeric:tabular-nums lining-nums; white-space:nowrap; }
.dc-minibareme__prix small{ font:500 11.5px var(--dc-titre); color:var(--dc-doux); }
.dc-minibareme .dc-lien{ font-size:15px; }
.dc-minibareme--compact{ padding:16px 18px 14px; }
.dc-minibareme--compact .dc-minibareme__t{ font-size:15.5px; margin-bottom:10px; }
.dc-minibareme__puces{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px; }
.dc-minibareme__puce{ background:var(--dc-blanc); border-radius:var(--dc-r-pilule); padding:6px 12px; font:400 14px/1.2 var(--dc-titre); color:var(--dc-zinc); box-shadow:var(--dc-ombre-carte); }
.dc-minibareme__puce strong{ color:var(--dc-ardoise); font-weight:500; white-space:nowrap; }
.sbt-article-corps .dc-minibareme img{ margin:0; }

/* juge n°8 — tableaux en cartes sur mobile : l'en-tête de ligne (th) ouvre la carte comme une 1re cellule, chaque
   autre cellule porte le nom de SA colonne ; une ligne d'en-tête placée dans le corps est masquée (ses noms sont repris). */
@media (max-width:700px){
	.sbt-article-corps tbody th,.sbt-article-corps tr > th:first-child{ border-top:0; background:var(--dc-glace) !important; color:var(--dc-ardoise); font:700 16px/1.4 var(--dc-texte); padding:10px 14px; }
	.sbt-article-corps th[data-label]::before{ content:attr(data-label); display:block; font:500 12.5px/1.3 var(--dc-titre); color:var(--dc-zinc); margin-bottom:2px; }
	.sbt-article-corps tr > :first-child[data-label]::before{ display:none; }
	.sbt-article-corps tr.dc-tab-tete{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); margin:0; border:0; }
}
@media (max-width:700px){
	/* tableau en cartes : pas de cadre vide autour des cartes (enveloppe de bloc qui encadre déjà le tableau) */
	.sbt-article-corps div:has(> .sbs_tableau){ border:0 !important; background:transparent !important; box-shadow:none !important; padding:0 !important; }
	.sbt-article-corps .sbs_tableau:first-child{ margin-top:0; }
}

/* juge n°9 — accroche d'en-tête longue (page sans extrait : 1re phrase complète du contenu) : police réduite, pas de trou */
@media (min-width:1101px){
	.dc-hero__sous--long{ font-size:21px; line-height:1.38; max-width:24em; }
	.dc-hero__sous--tres-long{ font-size:18px; line-height:1.45; max-width:28em; }
}
@media (min-width:1101px){
	/* juge n°9 — le formulaire fixe la hauteur du premier écran : le texte se centre dans la hauteur au lieu de laisser un trou en bas */
	.dc-hero--page .dc-hero__texte{ justify-content:center; padding-top:0; }
}
.dc-source-chapo{ display:block; font-size:14px; line-height:1.45; color:var(--dc-zinc); }


/* ==========================================================================
   PASSE 15/10/2026 — retours de Mathias : plus de chaleur (titres Nunito), diagnostic refait, magazine en grille,
   plus de trait vertical. ui-ux-pro-max invoqué pour : diagnostic, magazine, chaleur typographique.
   ========================================================================== */
h3,h4{ font-weight:700; }
.dc-btn,.dc-lien,.dc-pilule,.dc-plaque,.dc-etiq{ font-weight:700; }
.dc-menu__nav a{ font-weight:600; }
.dc-t2__b{ font-weight:600; }
.sbt-article-corps h2 .dc-t2__b{ font-weight:600; }
:root{ --dc-r-carte:22px; }

/* ---- Diagnostic « Où ça bouche ? » ---- */
.dc-sec.dc-sec--diag{ padding-block:76px 84px; background:linear-gradient(180deg,var(--dc-blanc) 0%,var(--dc-brume) 100%); }
.dc-diag-tete{ text-align:center; max-width:780px; margin:0 auto 40px; display:flex; flex-direction:column; align-items:center; gap:14px; }
.dc-diag-kicker{ display:inline-flex; align-items:center; gap:8px; background:var(--dc-glace); color:var(--dc-eau-fonce); border-radius:var(--dc-r-pilule); padding:7px 15px; font:700 13.5px/1 var(--dc-titre); }
.dc-diag-kicker .dc-picto{ width:17px; height:17px; }
.dc-diag-tete__h .dc-t2__b{ display:block; }
.dc-diag-tete__s{ margin:0; color:var(--dc-doux); max-width:600px; font-size:18px; }
.dc-diag{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:28px; align-items:stretch; }
.dc-diag__q{ background:var(--dc-blanc); border:1px solid var(--dc-filet); border-radius:var(--dc-r-form); box-shadow:var(--dc-ombre-carte),0 30px 60px -34px rgba(20,34,49,.28); padding:34px 36px; display:flex; flex-direction:column; justify-content:center; gap:28px; }
.dc-qd{ display:flex; gap:18px; }
.dc-qd__n{ flex:0 0 38px; height:38px; border-radius:50%; background:var(--dc-eau); color:#fff; font:800 18px/38px var(--dc-titre); text-align:center; box-shadow:0 0 0 5px var(--dc-glace); }
.dc-qd__c{ flex:1; min-width:0; }
.dc-qd__t{ display:block; font:700 19px/1.3 var(--dc-titre); color:var(--dc-ardoise); margin:6px 0 14px; }
.dc-qd__tuiles{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.dc-qd__tuile{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; min-height:96px; padding:12px 6px; text-align:center; background:var(--dc-blanc); border:2px solid var(--dc-filet); border-radius:18px; font:700 13.5px/1.2 var(--dc-titre); color:var(--dc-ardoise); cursor:pointer; transition:border-color .2s,background-color .2s,transform .2s,box-shadow .2s; }
.dc-qd__tuile .dc-picto{ width:30px; height:30px; color:var(--dc-eau); }
.dc-qd__tuile input,.dc-qd__choix input{ position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.dc-qd__tuile:hover,.dc-qd__choix:hover{ border-color:var(--dc-eau); transform:translateY(-2px); }
.dc-qd__tuile:has(input:checked),.dc-qd__choix:has(input:checked){ border-color:var(--dc-eau); background:var(--dc-glace); box-shadow:0 0 0 4px rgba(10,106,133,.12); }
.dc-qd__tuile:has(input:focus-visible),.dc-qd__choix:has(input:focus-visible){ outline:3px solid var(--dc-eau); outline-offset:3px; }
.dc-qd__duo{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:440px; }
.dc-qd__choix{ position:relative; display:flex; align-items:center; justify-content:center; min-height:54px; background:var(--dc-blanc); border:2px solid var(--dc-filet); border-radius:16px; font:700 17px/1 var(--dc-titre); color:var(--dc-ardoise); cursor:pointer; transition:border-color .2s,background-color .2s,transform .2s,box-shadow .2s; }
.dc-diag__res{ position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; background:var(--dc-fond-nuit); color:#fff; border-radius:var(--dc-r-form); padding:36px 36px 34px; box-shadow:var(--dc-ombre-photo); min-height:0; }
.dc-diag__res::before{ content:""; position:absolute; left:0; right:0; top:0; height:5px; background:var(--dc-flot); }
.dc-diag__plaque{ display:inline-flex; align-items:center; gap:12px; margin:0 0 20px; font:800 13px/1 var(--dc-titre); letter-spacing:.09em; text-transform:uppercase; color:var(--dc-ecume); }
.dc-diag__point{ width:10px; height:10px; border-radius:50%; background:var(--dc-ecume); box-shadow:0 0 0 5px rgba(111,224,230,.22); }
.dc-diag__vide,.dc-diag__ex{ margin:0 0 18px; color:#C6D4E0; font:600 14px/1.45 var(--dc-texte); }
.dc-diag__ex[hidden],.dc-diag__vide[hidden],.dc-diag__r[hidden]{ display:none; }
.dc-diag__r dl{ margin:0 0 18px; display:grid; gap:16px; }
.dc-diag__r dl div{ display:block; }
.dc-diag__r dt{ font:800 12px/1.2 var(--dc-titre); letter-spacing:.08em; text-transform:uppercase; color:var(--dc-ecume); margin-bottom:4px; }
.dc-diag__r dd{ margin:0; font:400 17px/1.45 var(--dc-texte); color:#fff; }
.dc-diag__prix dd strong{ display:block; font:800 32px/1.1 var(--dc-titre); letter-spacing:-.01em; color:#fff; margin-bottom:2px; }
.dc-diag__res .dc-meta{ color:#B7C7D6; }
.dc-diag__lieux{ display:flex; flex-wrap:wrap; gap:8px 20px; margin:0 0 20px; }
.dc-diag__res .dc-lien{ color:var(--dc-ecume); border-bottom-color:rgba(111,224,230,.55); }
.dc-diag__res .dc-lien:hover{ color:#fff; }
.dc-diag__r .dc-btn{ min-height:50px; align-self:flex-start; }
@media (max-width:980px){
	.dc-diag{ grid-template-columns:minmax(0,1fr); gap:20px; }
	.dc-diag__q{ padding:24px 18px; }
	.dc-diag__res{ padding:28px 22px; }
	.dc-qd__tuiles{ grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); }
	.dc-sec.dc-sec--diag{ padding-block:48px 56px; }
}
@media (max-width:480px){ .dc-qd{ gap:12px; } .dc-qd__n{ flex-basis:32px; height:32px; font-size:15px; line-height:32px; } .dc-qd__t{ font-size:17px; } }

/* ---- Magazine : grille centrée, plus de carrousel ---- */
.dc-sec__tete--centre{ justify-content:center; text-align:center; }
.dc-sec__tete--centre .dc-sec__h2{ margin-inline:auto; max-width:900px; }
.dc-sec--mag .dc-sec__h2{ font-size:38px; }
.dc-magrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; justify-content:center; }
.dc-magrid__c{ display:flex; flex-direction:column; background:var(--dc-blanc); border:1px solid var(--dc-filet); border-radius:var(--dc-r-carte); overflow:hidden; text-decoration:none; color:var(--dc-ardoise); box-shadow:var(--dc-ombre-carte); transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease; }
.dc-magrid__c:hover,.dc-magrid__c:focus-visible{ transform:translateY(-6px); box-shadow:var(--dc-ombre-survol); color:var(--dc-ardoise); }
.dc-magrid__photo{ position:relative; display:block; aspect-ratio:3/2; overflow:hidden; background:var(--dc-glace); }
.dc-magrid__photo .dc-img,.dc-magrid__photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.22,1,.36,1); }
.dc-magrid__c:hover .dc-img,.dc-magrid__c:hover img{ transform:scale(1.06); }
.dc-magrid__txt{ display:flex; flex-direction:column; gap:8px; padding:20px 22px 22px; flex:1; }
.dc-magrid__titre{ font:700 20px/1.28 var(--dc-titre); letter-spacing:-.005em; text-wrap:balance; }
.dc-magrid__lire{ margin-top:auto; padding-top:8px; display:inline-flex; align-items:center; gap:8px; font:700 15px/1 var(--dc-titre); color:var(--dc-eau); }
.dc-magrid__c:hover .dc-magrid__lire svg{ transform:translateX(4px); }
.dc-magrid__lire svg{ transition:transform .25s ease; }
.dc-mag__pied--centre{ flex-direction:column; justify-content:center; gap:18px; margin-top:32px; }
.dc-mag__pied--centre .dc-pastilles-rub{ justify-content:center; }
@media (max-width:1000px){ .dc-magrid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .dc-magrid{ grid-template-columns:minmax(0,1fr); gap:18px; } .dc-sec--mag .dc-sec__h2{ font-size:28px; } }

/* ---- Page Contact immersive : tout dans l'écran (15/10) ---- */
body.page-template-page-contact{ overflow-x:hidden; }
.dc-page:has(.dc-imm){ display:block; }
.dc-imm{ --imm-pied:44px; display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); height:calc(100vh - var(--dc-menu-h) - var(--imm-pied) - 2px); height:calc(100svh - var(--dc-menu-h) - var(--imm-pied) - 2px); min-height:560px; }
.dc-imm__gauche{ position:relative; overflow:hidden; color:#fff; display:flex; align-items:center; background:var(--dc-nuit); }
.dc-imm__gauche .dc-imm__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dc-imm__voile{ position:absolute; inset:0; background:linear-gradient(160deg,rgba(15,28,43,.92) 0%,rgba(15,28,43,.78) 55%,rgba(16,48,79,.7) 100%); }
.dc-imm__txt{ position:relative; z-index:2; padding:40px clamp(28px,4.5vw,76px); width:100%; max-width:640px; margin-left:auto; }
.dc-imm .dc-fil ol,.dc-imm .dc-fil a{ color:#C6D4E0; } .dc-imm .dc-fil li + li::before{ color:#6E8196; }
.dc-imm .dc-fil{ margin-bottom:22px; }
.dc-imm__h1{ font:800 clamp(34px,3.4vw,52px)/1.08 var(--dc-titre); letter-spacing:-.012em; margin:0 0 30px; color:#fff; }
.dc-imm__h1 .dc-t2__a{ color:#fff; } .dc-imm__h1 .dc-t2__b{ color:var(--dc-ecume); display:block; }
.dc-imm__etapes{ list-style:none; margin:0; padding:0; counter-reset:ie; display:grid; gap:20px; position:relative; }
.dc-imm__etapes::before{ content:""; position:absolute; left:15px; top:18px; bottom:18px; width:2px; background:linear-gradient(180deg,#6FE0E6,#2C7BE0 60%,#2A3F9E); border-radius:2px; }
.dc-imm__etapes li{ counter-increment:ie; position:relative; padding-left:54px; }
.dc-imm__etapes li::before{ content:counter(ie); position:absolute; left:0; top:0; width:32px; height:32px; border-radius:50%; background:var(--dc-nuit); border:2px solid var(--dc-ecume); color:var(--dc-ecume); font:800 15px/28px var(--dc-titre); text-align:center; }
.dc-imm__etapes strong{ display:block; font:700 18px/1.3 var(--dc-titre); color:#fff; }
.dc-imm__etapes span{ display:block; font:400 16.5px/1.45 var(--dc-texte); color:#D5E0EA; }
.dc-imm__credit{ position:absolute; z-index:2; left:clamp(28px,4.5vw,76px); bottom:12px; font:400 12px/1.3 var(--dc-texte); color:#B7C7D6; }
.dc-imm__credit a{ color:inherit; }
.dc-imm__droite{ background:var(--dc-brume); display:flex; align-items:center; justify-content:center; padding:20px clamp(20px,4vw,72px); overflow:hidden; }
.dc-imm__carte{ width:100%; max-width:600px; }
.dc-imm .dc-form--page{ padding:26px 30px 22px; box-shadow:var(--dc-ombre-form); border:1px solid var(--dc-filet); }
.dc-imm .dc-form--page .dc-form__titre{ font:800 22px/1.2 var(--dc-titre); }
.dc-imm .dc-form--page .dc-tuile{ height:62px; }
.dc-imm .dc-champ{ margin-bottom:8px; }
.dc-imm .dc-champ textarea{ height:58px; min-height:58px; resize:none; }
.dc-imm__pied{ height:44px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding-inline:clamp(16px,3vw,40px); background:var(--dc-nuit); color:#C6D4E0; font:400 14px/1 var(--dc-texte); }
.dc-imm__pied nav{ display:flex; gap:22px; } .dc-imm__pied a{ color:#fff; text-decoration:none; } .dc-imm__pied a:hover{ text-decoration:underline; }
@media (max-width:1000px){
	.dc-imm{ grid-template-columns:minmax(0,1fr); height:auto; min-height:0; }
	.dc-imm__gauche{ min-height:0; } .dc-imm__txt{ padding:28px 20px 30px; max-width:none; }
	.dc-imm__etapes{ display:none; }
	.dc-imm__credit{ display:none; }
	.dc-imm__h1{ font-size:30px; margin-bottom:0; }
	.dc-imm__droite{ padding:20px 14px 32px; }
	.dc-imm .dc-form--page{ padding:18px 16px; }
}
@media (min-width:1001px) and (max-height:700px){ .dc-imm__etapes span{ display:none; } .dc-imm .dc-form--page .dc-tuile{ height:52px; } .dc-imm__h1{ margin-bottom:18px; } }

/* ---- À propos refaite de A à Z (15/10) ---- */
.dc-ap-hero{ position:relative; overflow:hidden; color:#fff; background:var(--dc-nuit); padding-block:34px 64px; }
.dc-ap-hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dc-ap-hero__voile{ position:absolute; inset:0; background:linear-gradient(95deg,rgba(15,28,43,.94) 0%,rgba(15,28,43,.82) 48%,rgba(15,28,43,.35) 100%); }
.dc-ap-hero__in{ position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.dc-ap-hero .dc-fil ol,.dc-ap-hero .dc-fil a{ color:#C6D4E0; } .dc-ap-hero .dc-fil li + li::before{ color:#6E8196; }
.dc-ap-hero .dc-fil{ margin-bottom:34px; }
.dc-ap-hero__h1{ font:800 clamp(34px,3.8vw,56px)/1.08 var(--dc-titre); letter-spacing:-.012em; max-width:15em; margin:0 0 22px; color:#fff; }
.dc-ap-hero__h1 .dc-t2__a{ color:#fff; } .dc-ap-hero__h1 .dc-t2__b{ display:block; color:var(--dc-ecume); }
.dc-ap-hero__lede{ max-width:40em; font:400 19px/1.6 var(--dc-texte); color:#E2EAF1; }
.dc-ap-hero__lede p{ margin:0 0 .6em; } .dc-ap-hero__lede strong{ color:#fff; }
.dc-ap-hero__btns{ display:flex; flex-wrap:wrap; gap:12px; margin:22px 0 0; }
.dc-ap-hero__credit{ position:absolute; right:16px; bottom:14px; font:400 12px/1.3 var(--dc-texte); color:#B7C7D6; }
.dc-ap-hero__credit a{ color:inherit; }
.dc-ap-bande{ padding-block:64px; background:var(--dc-blanc); }
.dc-ap-bande--brume{ background:var(--dc-brume); }
.dc-ap-bande__in{ display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:clamp(32px,5vw,80px); align-items:start; }
.dc-ap-bande__tete{ position:sticky; top:calc(var(--dc-menu-h) + 24px); }
.dc-ap-bande__n{ display:block; font:800 54px/1 var(--dc-titre); color:var(--dc-eau); -webkit-text-stroke:0; margin-bottom:8px; background:linear-gradient(90deg,var(--dc-eau),#2A3F9E); -webkit-background-clip:text; background-clip:text; color:transparent; width:max-content; }
.dc-ap-bande__h2{ font:800 32px/1.18 var(--dc-titre); letter-spacing:-.01em; color:var(--dc-ardoise); }
.dc-ap-bande__corps{ max-width:44em; margin:0; padding:0; }
.dc-ap-bande__corps > :first-child{ margin-top:0; }
.dc-ap-bande__corps img{ width:100%; height:auto; max-height:340px; object-fit:cover; border-radius:var(--dc-r-carte); box-shadow:var(--dc-ombre-photo); margin:0 0 1.4em; }
.dc-ap-bande__corps ul{ list-style:none; padding:0; display:grid; gap:12px; }
.dc-ap-bande__corps ul li{ background:var(--dc-blanc); border:1px solid var(--dc-filet); border-left:4px solid var(--dc-eau); border-radius:14px; padding:14px 18px; box-shadow:var(--dc-ombre-carte); }
.dc-ap-eng{ background:var(--dc-blanc); padding-block:72px; }
.dc-ap-eng__liste{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.dc-ap-eng__liste li{ display:flex; flex-direction:column; gap:10px; background:var(--dc-glace); border-radius:var(--dc-r-carte); padding:26px 22px 24px; }
.dc-ap-eng__ico{ width:48px; height:48px; border-radius:50%; background:#fff; color:var(--dc-eau); display:flex; align-items:center; justify-content:center; box-shadow:var(--dc-ombre-carte); }
.dc-ap-eng__ico .dc-picto{ width:24px; height:24px; }
.dc-ap-eng__liste strong{ font:700 18px/1.3 var(--dc-titre); color:var(--dc-ardoise); }
.dc-ap-eng__liste li > span:last-child{ font:400 16px/1.55 var(--dc-texte); color:var(--dc-ardoise); }
.dc-ap-fin{ background:var(--dc-fond-nuit); color:#fff; padding-block:52px; position:relative; }
.dc-ap-fin::before{ content:""; position:absolute; left:0; right:0; top:0; height:4px; background:var(--dc-flot); }
.dc-ap-fin__in{ display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.dc-ap-fin__t{ margin:0; font:800 30px/1.2 var(--dc-titre); max-width:24em; }
.dc-ap-fin__t span{ display:block; margin-top:6px; font:600 19px/1.4 var(--dc-titre); color:var(--dc-ecume); }
.dc-sec--equipe .dc-sec__tete--centre{ margin-bottom:28px; }
@media (max-width:1000px){ .dc-ap-eng__liste{ grid-template-columns:repeat(2,minmax(0,1fr)); } .dc-ap-bande__in{ grid-template-columns:minmax(0,1fr); gap:20px; } .dc-ap-bande__tete{ position:static; } .dc-ap-bande{ padding-block:44px; } }
@media (max-width:620px){ .dc-ap-eng__liste{ grid-template-columns:minmax(0,1fr); } .dc-ap-hero{ padding-block:22px 48px; } .dc-ap-hero__lede{ font-size:17px; } .dc-ap-hero__credit{ display:none; } .dc-ap-fin__t{ font-size:24px; } }

/* ---- Article / page de service : colonne de texte pleine largeur, barre latérale rapprochée (15/10) ---- */
.sbt-article-mise-en-page{ grid-template-columns:minmax(0,760px) 360px; column-gap:44px; justify-content:center; }
.sbt-article-corps > p,.sbt-article-corps > ul,.sbt-article-corps > ol{ max-width:none; }
.sbt-article-corps > img,.sbt-article-corps > figure,.sbt-article-corps > .wp-block-image,.sbt-article-corps > .sbs_tableau,.sbt-article-corps > table{ width:100%; max-width:100%; }
.sbt-article-corps > figure img,.sbt-article-corps > .wp-block-image img{ width:100%; margin:0; }
.sbt-article-corps h2{ margin-top:1.7em; }
.sbt-article-corps > .dc-intro + h2,.sbt-article-corps > p:first-child + h2,.sbt-article-corps > p:first-of-type + h2{ margin-top:.55em; }
@media (max-width:1180px){ .sbt-article-mise-en-page{ grid-template-columns:minmax(0,1fr) 320px; column-gap:32px; } }
@media (max-width:1080px){ .sbt-article-mise-en-page{ grid-template-columns:minmax(0,1fr); } }

/* ---- Contraste : pastilles de réassurance lisibles sur le flot bleu du premier écran ---- */
.dc-hero--page .dc-rassur li{ background:rgba(255,255,255,.96); color:var(--dc-ardoise); padding:8px 14px; border-radius:var(--dc-r-pilule); box-shadow:var(--dc-ombre-carte); }
.dc-hero--page .dc-rassur .dc-picto{ color:var(--dc-eau-fonce); }

/* ---- Page barème : à quoi elle sert, puis les cartes (15/10) ---- */
.dc-tarifs__intro{ max-width:820px; margin:0 auto 36px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:18px; }
.dc-tarifs__lead{ margin:0; font:400 19px/1.6 var(--dc-texte); color:var(--dc-ardoise); }
.dc-tarifs__points{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.dc-tarifs__points li{ display:inline-flex; align-items:center; gap:8px; background:var(--dc-blanc); border-radius:var(--dc-r-pilule); padding:8px 16px; font:700 14px/1.2 var(--dc-titre); color:var(--dc-ardoise); box-shadow:var(--dc-ombre-carte); }
.dc-tarifs__points .dc-picto{ width:18px; height:18px; color:var(--dc-eau); }
.dc-tarif__prix{ font-weight:800; }
.dc-tarif{ border:1px solid var(--dc-filet); transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease; }
.dc-tarif:hover{ transform:translateY(-4px); box-shadow:var(--dc-ombre-survol); }

/* ---- « Le barème du site » en fin de page : cartes lisibles, prix jamais coupés (15/10) ---- */
.dc-minibareme{ margin:2.2em 0; padding:26px 26px 22px; background:var(--dc-glace); border:1px solid rgba(10,106,133,.14); }
.dc-minibareme__t{ font:800 20px/1.25 var(--dc-titre); margin-bottom:16px; }
.dc-minibareme__t span{ font:600 14px/1.3 var(--dc-titre); color:var(--dc-eau-fonce); }
.dc-minibareme__grille{ grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:12px; margin-bottom:16px; }
.dc-minibareme__c{ padding:10px 12px; gap:12px; border-radius:16px; }
.dc-minibareme__photo{ flex-basis:60px; width:60px; height:60px; border-radius:12px; }
.dc-minibareme__titre{ font:700 14px/1.2 var(--dc-titre); color:var(--dc-eau-fonce); }
.dc-minibareme__prix{ font:800 19px/1.15 var(--dc-titre); white-space:normal; }
.dc-minibareme__prix small{ font:600 12px var(--dc-titre); }
.dc-minibareme .dc-lien{ display:inline-block; }
.dc-minibareme__puce{ font:600 14px/1.2 var(--dc-titre); }

/* ---- Rubriques : plus de grand cadre à droite (pris pour un formulaire) — la photo devient le fond de la bande (15/10) ---- */
.dc-rub-tete--fond{ background:var(--dc-nuit); color:#fff; min-height:300px; padding-block:40px 84px; }
.dc-rub-tete__fond{ position:absolute; inset:0; z-index:0; }
.dc-rub-tete__fond img,.dc-rub-tete__fond .dc-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dc-rub-tete__voile{ position:absolute; inset:0; background:linear-gradient(95deg,rgba(15,28,43,.93) 0%,rgba(15,28,43,.8) 50%,rgba(15,28,43,.38) 100%); }
.dc-rub-tete--fond .dc-rub-tete__in{ grid-template-columns:minmax(0,1fr); }
.dc-rub-tete--fond .dc-rub-tete__txt{ max-width:760px; }
.dc-rub-tete--fond .dc-fil ol,.dc-rub-tete--fond .dc-fil a{ color:#C6D4E0; }
.dc-rub-tete--fond .dc-fil li + li::before{ color:#6E8196; }
.dc-rub-tete--fond .dc-rub-h1 .dc-t2__a{ color:#fff; }
.dc-rub-tete--fond .dc-rub-h1 .dc-t2__b{ color:var(--dc-ecume); }
.dc-rub-tete--fond .dc-chapo{ color:#E2EAF1; }
.dc-rub-tete--fond .dc-flot-calque{ z-index:1; opacity:.9; }
@media (max-width:1100px){ .dc-rub-tete--fond{ padding-block:26px 56px; } }

/* ---- Sous-titres et citations : graisse moyenne (Nunito 700 était trop lourd pour du texte d'accroche) ---- */
.dc-hero__sous,.dc-art-promesse,.dc-citation p{ font-weight:500; }
.dc-diag__ex{ font:600 13.5px/1.45 var(--dc-titre); }
.dc-plaque__num{ font-weight:800; }

@media (min-width:1700px){ .dc-imm__carte{ max-width:680px; } .dc-imm .dc-form--page{ padding:32px 36px 28px; } .dc-imm .dc-form--page .dc-tuile{ height:70px; } .dc-imm .dc-champ input[type=text],.dc-imm .dc-champ input[type=tel],.dc-imm .dc-champ input[type=email]{ height:52px; } }
@media (max-width:640px){ .dc-imm__pied{ height:auto; min-height:44px; padding-block:10px; flex-wrap:wrap; row-gap:6px; } .dc-imm__pied nav{ gap:16px; flex-wrap:wrap; } }

/* ---- Page « Voir le barème » (15/10, retour expert-design) : bandeau court sans formulaire, 5 cartes dans le premier écran ---- */
.dc-tbande{ position:relative; background:var(--dc-brume); padding-block:22px 24px; overflow:clip; }
.dc-tbande::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:var(--dc-flot); }
.dc-tbande .dc-fil{ margin-bottom:10px; }
.dc-tbande__h1{ font:800 clamp(28px,2.7vw,40px)/1.15 var(--dc-titre); letter-spacing:-.012em; max-width:28em; margin:0 0 8px; color:var(--dc-ardoise); }
.dc-tbande__s{ margin:0 0 12px; max-width:52em; font:500 18px/1.45 var(--dc-texte); color:var(--dc-zinc); }
.dc-tbande__pastilles{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.dc-tbande__pastilles li{ display:inline-flex; align-items:center; gap:8px; background:var(--dc-blanc); border-radius:var(--dc-r-pilule); padding:7px 14px; font:700 14px/1.2 var(--dc-titre); color:var(--dc-ardoise); box-shadow:var(--dc-ombre-carte); }
.dc-tbande__pastilles .dc-picto{ width:17px; height:17px; color:var(--dc-eau-fonce); }
.dc-tcomp{ background:var(--dc-blanc); padding-block:26px 8px; }
.dc-tcomp__grille{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.dc-tcomp__c{ display:flex; flex-direction:column; background:var(--dc-blanc); border:1px solid var(--dc-filet); border-radius:var(--dc-r-carte); overflow:hidden; box-shadow:var(--dc-ombre-carte); transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease; }
.dc-tcomp__c:hover{ transform:translateY(-4px); box-shadow:var(--dc-ombre-survol); }
.dc-tcomp__photo{ position:relative; display:block; height:120px; background:var(--dc-glace); overflow:hidden; }
.dc-tcomp__photo img,.dc-tcomp__photo .dc-img,.dc-tcomp__photo .dc-repli{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dc-tcomp__corps{ padding:12px 16px 16px; display:flex; flex-direction:column; gap:6px; }
.dc-tcomp__t{ margin:0; font:700 14px/1.25 var(--dc-titre); color:var(--dc-eau-fonce); }
.dc-tcomp__prix{ margin:0; font:800 28px/1.1 var(--dc-titre); letter-spacing:-.01em; color:var(--dc-ardoise); font-variant-numeric:tabular-nums lining-nums; white-space:nowrap; }
.dc-tcomp__prix small{ font:700 13px var(--dc-titre); color:var(--dc-zinc); letter-spacing:0; }
.dc-tcomp .dc-tarif__barre{ margin-top:2px; }
.dc-tcomp__pied{ display:flex; align-items:center; justify-content:space-between; gap:16px 24px; flex-wrap:wrap; margin-top:18px; padding:14px 18px; background:var(--dc-glace); border-radius:var(--dc-r-carte); }
.dc-tcomp__date{ margin:0; display:inline-flex; align-items:center; gap:10px; font:600 15.5px/1.4 var(--dc-titre); color:var(--dc-ardoise); }
.dc-tcomp__date .dc-picto{ width:20px; height:20px; color:var(--dc-eau); flex:0 0 auto; }
@media (max-width:1100px){ .dc-tcomp__grille{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:640px){ .dc-tcomp__grille{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .dc-tcomp__prix{ font-size:22px; white-space:normal; } .dc-tcomp__photo{ height:96px; } .dc-tbande__s{ font-size:16.5px; } }

/* Contact : photo de jour plus lumineuse, voile allégé mais texte blanc lisible (ombre portée) */
.dc-imm__voile{ background:linear-gradient(100deg,rgba(15,28,43,.84) 0%,rgba(15,28,43,.7) 55%,rgba(16,48,79,.42) 100%); }
.dc-imm__img{ object-position:60% 50%; }
.dc-imm__h1,.dc-imm__etapes strong,.dc-imm__etapes span{ text-shadow:0 1px 14px rgba(8,16,26,.55); }
@media (max-width:640px){ .dc-imm__pied{ flex-direction:column; align-items:flex-start; padding:16px 18px 20px; row-gap:10px; font-size:13.5px; } .dc-imm__pied nav{ gap:10px 20px; } }
