/* Polices auto-hébergées (Google Fonts, sous-ensemble latin) — fichiers VARIABLES, déclarés en plage. */
@font-face{font-family:'Anek Latin';font-style:normal;font-weight:100 800;font-stretch:75% 125%;font-display:swap;src:url(../fonts/AnekLatin-var.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:'Labrada';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/Labrada-var.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:'Labrada';font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/Labrada-var-italic.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}

/*
Theme Name: Campeur du dimanche (cdd-v2)
Description: Thème code pur du Campeur du dimanche — DA « plaque d'emplacement » (aube, bleu panneau, soleil bas ; Anek Latin + Labrada). Refonte du 11/10/2026.
Version: 2.0.0
Text Domain: cdd
*/

/* ───────────────────────── Jetons (DA §3-§5) ───────────────────────── */
:root{
	--aube:#FAF5F1; --toile:#FFFFFF; --bitume:#1C2321; --bleu:#1F57A3; --bleu-fonce:#184785; --soleil:#F4B740; --soleil-fonce:#E5A52A;
	--lichen:#56635C; --bleu-pale:#E7EEF8; --filet:#E4DDD6; --filet-fort:#C9C2BA;
	--ok:#2E7D4F; --tolere:#8A5A00; --non:#B3261E;
	--f-titre:'Anek Latin', 'Arial Narrow', Arial, sans-serif;
	--f-texte:'Labrada', Georgia, 'Times New Roman', serif;
	--r-carte-devis:24px; --r-carte:18px; --r-plaque:10px; --r-pilule:999px;
	--o-posee:0 10px 24px -12px rgba(28,35,33,.28);
	--o-flottante:0 30px 60px -20px rgba(28,35,33,.40), 0 2px 6px rgba(28,35,33,.10);
	--conteneur:1240px; --gout:24px; --entete:72px;
	/* Jetons communs du réseau, lus par les blocs figés */
	--sb-conteneur:1240px; --sb-lecture:680px; --sb-rail:340px; --sb-gouttiere:56px;
	--sb-accent:var(--bleu); --sb-accent-clair:var(--bleu-pale); --sb-encre:var(--bitume); --sb-doux:var(--lichen);
	--sb-filet:var(--filet); --sb-fond-carte:var(--toile); --sb-surf:var(--bleu-pale); --sb-fonce:var(--bitume); --sb-sur-fonce:var(--aube);
	--sb-rayon:var(--r-carte); --sb-rayon-grand:var(--r-carte); --sb-ombre:var(--o-posee); --sb-ombre-forte:var(--o-flottante);
	--sb-titre:var(--f-titre); --sb-texte:var(--f-texte);
}
@media (min-width:1700px){ :root{ --conteneur:1520px; --sb-conteneur:1520px; } }
@media (max-width:760px){ :root{ --gout:16px; --entete:64px; --sb-gouttiere:16px; } }

/* ───────────────────────── Base ───────────────────────── */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-padding-top:calc(var(--entete) + 16px); }
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth; } }
body{ margin:0; background:var(--aube); color:var(--bitume); font-family:var(--f-texte); font-size:18px; line-height:1.65; font-weight:400; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; overflow-x:clip; }
@media (min-width:1700px){ body{ font-size:19px; } }
@media (max-width:760px){ body{ font-size:17px; line-height:1.6; } }
img,svg,video{ max-width:100%; height:auto; display:block; }
a{ color:var(--bleu); text-underline-offset:.18em; text-decoration-thickness:1px; }
a:hover{ text-decoration-thickness:2px; }
h1,h2,h3,h4{ font-family:var(--f-titre); font-stretch:87.5%; color:var(--bitume); margin:0; letter-spacing:-.02em; font-weight:700; }
h2{ font-size:40px; line-height:1.05; }
h3{ font-size:24px; line-height:1.2; letter-spacing:-.01em; }
@media (min-width:1700px){ h2{ font-size:44px; } h3{ font-size:26px; } }
@media (max-width:760px){ h2{ font-size:28px; } h3{ font-size:21px; } }
p{ margin:0; }
button,input,select,textarea{ font:inherit; color:inherit; }
:focus-visible{ outline:3px solid var(--bleu); outline-offset:3px; border-radius:4px; }
.cdd-cache{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.cdd-evitement{ position:absolute; left:16px; top:-60px; z-index:100; background:var(--bitume); color:var(--aube); padding:10px 16px; border-radius:var(--r-pilule); }
.cdd-evitement:focus{ top:12px; }
.cdd-conteneur{ width:100%; max-width:calc(var(--conteneur) + 2 * var(--gout)); margin-inline:auto; padding-inline:var(--gout); }
.cdd-principal{ display:block; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
 * BLOC FIGÉ — PIED DE PAGE (thématique) — CSS
 * Origine : curieux-du-web.com, theme/style.css, règles `.cdw-footer*` / `.cdw-cookies*` /
 * `.cdw-popup-sortie*` / `.cdw-btn*` (renommées `.sbt-footer*` / `.sbt-cookies*` /
 * `.sbt-popup-sortie*` / `.sbt-btn*` ici).
 */

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

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

.sbt-footer-cta{
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
	padding: 24px 28px; margin-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.12);
}
@media (max-width: 600px){ .sbt-footer-cta{ padding: 20px; } } /* 04/10/2026 (invalidcast.com) : texte collé au bord dès qu'un thème donne un fond de carte au bandeau */
.sbt-footer-cta .sbt-t3{ color: #fff; margin: 0 0 4px; font-size: 1.25rem; }
.sbt-footer-cta p{ color: #a9acd0; margin: 0; max-width: 46ch; }

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

.sbt-footer-bas{ padding-top: 20px; font-size: .8125rem; color: #8b8fb5; }

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

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

/* ═════════════════════════ Campeur du dimanche — composants (cdd-v2) ═════════════════════════ */

/* ── Boutons ── */
.cdd-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 24px; border-radius:var(--r-pilule); border:2px solid transparent; font-family:var(--f-titre); font-weight:700; font-size:17px; line-height:1.1; text-decoration:none; cursor:pointer; transition:background-color .15s ease, border-color .15s ease, transform .15s ease; white-space:nowrap; }
.cdd-btn--soleil{ background:var(--soleil); color:var(--bitume); }
.cdd-btn--soleil:hover{ background:var(--soleil-fonce); text-decoration:none; }
.cdd-btn--bleu{ background:var(--bleu); color:#fff; }
.cdd-btn--bleu:hover{ background:var(--bleu-fonce); }
.cdd-btn--contour{ background:transparent; color:var(--bleu); border-color:var(--bleu); }
.cdd-btn--contour:hover{ background:var(--bleu-pale); }
.cdd-btn--large{ min-height:56px; font-size:18px; padding:0 28px; }
.cdd-btn:active{ transform:translateY(1px); }
.cdd-lien{ font-family:var(--f-titre); font-weight:600; font-size:17px; color:var(--bleu); }
.cdd-lien-clair{ font-family:var(--f-titre); font-weight:600; font-size:17px; color:#fff; }

/* ── En-tête du site ── */
.cdd-entete-site{ position:sticky; top:0; z-index:50; height:var(--entete); background:rgba(255,255,255,.94); backdrop-filter:saturate(1.4) blur(10px); -webkit-backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid rgba(28,35,33,.08); }
.cdd-entete-site-in{ height:100%; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.cdd-logo{ display:inline-flex; align-items:center; gap:12px; text-decoration:none; color:var(--bitume); flex-shrink:0; }
.cdd-logo-mot{ font-family:var(--f-titre); font-weight:700; font-stretch:112.5%; font-size:20px; letter-spacing:-.01em; line-height:1; }
.cdd-symbole{ flex-shrink:0; }
.cdd-nav{ display:flex; align-items:center; gap:8px; }
.cdd-nav-liste{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:2px; }
.cdd-nav-liste a{ display:flex; align-items:center; min-height:44px; padding:0 14px; border-radius:var(--r-pilule); font-family:var(--f-titre); font-weight:600; font-size:17px; color:var(--bitume); text-decoration:none; white-space:nowrap; }
.cdd-nav-liste a:hover{ background:var(--bleu-pale); color:var(--bleu); }
.cdd-nav-liste .current-menu-item > a, .cdd-nav-liste a[aria-current]{ color:var(--bleu); box-shadow:inset 0 -2px 0 var(--bleu); border-radius:0; }
.cdd-btn--entete{ min-height:44px; margin-left:12px; padding:0 22px; }
.cdd-nav-bouton{ display:none; align-items:center; gap:8px; min-height:44px; padding:0 14px; border:1.5px solid var(--filet-fort); border-radius:var(--r-pilule); background:var(--toile); font-family:var(--f-titre); font-weight:600; cursor:pointer; }
@media (max-width:1180px){ .cdd-nav-liste a{ padding:0 10px; font-size:16px; } .cdd-logo-mot{ font-size:18px; } }
@media (max-width:1020px){
	.cdd-nav-bouton{ display:inline-flex; }
	.cdd-nav{ position:fixed; inset:var(--entete) 0 auto 0; flex-direction:column; align-items:stretch; gap:8px; padding:16px var(--gout) 24px; background:var(--toile); border-bottom:1px solid var(--filet); box-shadow:var(--o-posee); transform:translateY(-8px); opacity:0; visibility:hidden; transition:opacity .2s ease, transform .2s ease, visibility 0s .2s; }
	.cdd-nav.est-ouvert{ transform:none; opacity:1; visibility:visible; transition:opacity .2s ease, transform .2s ease; }
	.cdd-nav-liste{ flex-direction:column; align-items:stretch; }
	.cdd-nav-liste a{ min-height:48px; font-size:18px; border-radius:12px; }
	.cdd-btn--entete{ margin:8px 0 0; }
}
@media (max-width:420px){ .cdd-logo-mot{ font-size:16px; } .cdd-logo .cdd-symbole{ width:34px; height:34px; } .cdd-nav-bouton span{ display:none; } }

/* ── LA PLAQUE D'EMPLACEMENT ── */
.cdd-plaque{ position:relative; display:inline-flex; flex-direction:column; align-items:flex-start; gap:4px; background:var(--bleu); color:#fff; border-radius:var(--r-plaque); padding:16px 22px 14px; box-shadow:var(--o-posee); max-width:100%; }
.cdd-plaque::before{ content:""; position:absolute; inset:4px; border:1.5px solid rgba(255,255,255,.92); border-radius:7px; pointer-events:none; }
.cdd-plaque-vis{ position:absolute; top:9px; left:9px; width:6px; height:6px; border-radius:50%; background:var(--aube); box-shadow:inset -1px -1px 0 rgba(28,35,33,.25); }
.cdd-plaque-vis::after{ content:""; position:absolute; left:1px; top:2.5px; width:4px; height:1px; background:rgba(28,35,33,.45); }
.cdd-plaque-vis--d{ left:auto; right:9px; }
.cdd-plaque-num{ font-family:var(--f-titre); font-weight:700; font-stretch:112.5%; font-size:13px; letter-spacing:.02em; line-height:1; opacity:.92; font-variant-numeric:tabular-nums; padding-inline:6px; }
.cdd-plaque-nom{ font-family:var(--f-titre); font-weight:700; font-stretch:112.5%; font-size:20px; line-height:1.08; letter-spacing:-.005em; color:#fff; margin:0; overflow-wrap:anywhere; }
.cdd-plaque .cdd-statut{ margin-top:6px; }
.cdd-plaque--s{ padding:12px 16px 10px; gap:2px; }
.cdd-plaque--s::before{ inset:3px; border-radius:7px; border-width:1.25px; }
.cdd-plaque--s .cdd-plaque-vis{ top:7px; left:7px; width:5px; height:5px; }
.cdd-plaque--s .cdd-plaque-vis--d{ left:auto; right:7px; }
.cdd-plaque--s .cdd-plaque-num{ font-size:11.5px; padding-inline:5px; }
.cdd-plaque--s .cdd-plaque-nom{ font-size:16px; }
.cdd-plaque--s .cdd-statut{ font-size:13px; min-height:24px; padding:0 10px; margin-top:4px; }
.cdd-plaque--m .cdd-plaque-nom{ font-size:22px; }
.cdd-plaque--xl{ padding:22px 30px 20px; gap:6px; }
.cdd-plaque--xl .cdd-plaque-num{ font-size:16px; }
.cdd-plaque--xl .cdd-plaque-nom{ font-size:44px; line-height:1; }
@media (min-width:1700px){ .cdd-plaque--xl .cdd-plaque-nom{ font-size:56px; } }
@media (max-width:760px){ .cdd-plaque--xl{ padding:16px 20px 14px; } .cdd-plaque--xl .cdd-plaque-nom{ font-size:30px; } .cdd-plaque--xl .cdd-plaque-num{ font-size:13px; } }

.cdd-statut{ display:inline-flex; align-items:center; min-height:28px; padding:0 12px; border-radius:var(--r-pilule); font-family:var(--f-titre); font-weight:600; font-size:14.5px; line-height:1; color:#fff; white-space:nowrap; }
.cdd-statut--autorise{ background:var(--ok); }
.cdd-statut--tolere{ background:var(--tolere); }
.cdd-statut--interdit{ background:var(--non); }
.cdd-statut--neutre, .cdd-statut--prix{ background:var(--aube); color:var(--bitume); }
.cdd-statut--savoir{ background:var(--bleu-pale); color:var(--bleu); }
.cdd-plaque .cdd-statut--neutre, .cdd-plaque .cdd-statut--prix{ background:#fff; color:var(--bleu); }

/* ── Pastille de rubrique ── */
.cdd-pastille-rub{ display:inline-flex; align-items:center; min-height:32px; padding:0 14px; border-radius:var(--r-pilule); background:var(--bleu); color:#fff; font-family:var(--f-titre); font-weight:600; font-size:15px; text-decoration:none; }
.cdd-pastille-rub:hover{ background:var(--bleu-fonce); }
.cdd-pastille-rub--clair{ background:#fff; color:var(--bleu); }
.cdd-pastille-rub--clair:hover{ background:var(--aube); }

/* ═════════ LA CARTE DEVIS ═════════ */
.cdd-devis{ position:relative; background:var(--toile); border-radius:var(--r-carte-devis); box-shadow:var(--o-flottante); padding:26px 28px 26px; color:var(--bitume); width:100%; }
.cdd-devis-f{ margin:0; }
.cdd-devis-tete{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.cdd-devis-titre{ font-family:var(--f-titre); font-weight:700; font-size:22px; line-height:1.1; letter-spacing:-.01em; }
.cdd-devis-titre span{ display:block; font-weight:500; font-size:15px; color:var(--lichen); letter-spacing:0; margin-top:3px; }
.cdd-devis-points{ list-style:none; margin:0; padding:0; display:flex; gap:6px; flex-shrink:0; }
.cdd-devis-points li{ width:30px; height:30px; border-radius:50%; display:grid; place-items:center; font-family:var(--f-titre); font-weight:700; font-size:14px; font-variant-numeric:tabular-nums; background:var(--aube); color:var(--lichen); border:1.5px solid var(--filet); }
.cdd-devis-points li.on{ background:var(--bleu); color:#fff; border-color:var(--bleu); }
.cdd-devis-points li.fait{ background:var(--bleu-pale); color:var(--bleu); border-color:var(--bleu-pale); }
.cdd-devis-e{ border:0; margin:0; padding:0; min-width:0; }
.cdd-devis-e[hidden]{ display:none; }
.cdd-devis-e legend{ font-family:var(--f-titre); font-weight:700; font-size:19px; line-height:1.2; padding:0; margin:0 0 12px; }
.cdd-tuiles{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.cdd-tuile{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:108px; padding:14px 8px 12px; border:1.5px solid var(--filet-fort); border-radius:14px; background:var(--toile); cursor:pointer; text-align:center; font-family:var(--f-titre); font-weight:600; font-size:15.5px; line-height:1.15; transition:border-color .15s ease, background-color .15s ease; }
.cdd-tuile .cdd-picto{ width:34px; height:34px; color:var(--bleu); }
.cdd-tuile input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.cdd-tuile:hover{ border-color:var(--bleu); background:#F7F9FD; }
.cdd-tuile:has(input:focus-visible){ outline:3px solid var(--bleu); outline-offset:2px; }
.cdd-tuile:has(input:checked), .cdd-tuile.on{ border-color:var(--bleu); background:var(--bleu-pale); box-shadow:inset 0 0 0 1px var(--bleu); }
.cdd-tuiles--texte{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.cdd-tuiles--texte .cdd-tuile{ min-height:64px; font-size:15.5px; }
.cdd-champ{ display:flex; flex-direction:column; gap:6px; margin-bottom:12px; min-width:0; }
.cdd-champ label, .cdd-label{ font-family:var(--f-titre); font-weight:600; font-size:14.5px; line-height:1.2; color:var(--bitume); }
.cdd-champs-2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; }
.cdd-devis input[type=text], .cdd-devis input[type=email], .cdd-devis input[type=date], .cdd-devis select, .cdd-devis textarea{ width:100%; min-height:48px; padding:10px 14px; border:1.5px solid var(--filet-fort); border-radius:12px; background:var(--toile); font-family:var(--f-titre); font-size:16px; font-weight:500; color:var(--bitume); -webkit-appearance:none; appearance:none; }
.cdd-devis select{ 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='%231F57A3' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:38px; }
.cdd-devis textarea{ min-height:96px; resize:vertical; font-family:var(--f-texte); }
.cdd-devis input:focus, .cdd-devis select:focus, .cdd-devis textarea:focus{ outline:none; border-color:var(--bleu); box-shadow:0 0 0 3px var(--bleu-pale); }
.cdd-devis [aria-invalid="true"]{ border-color:var(--non); }
.cdd-puces{ display:flex; flex-wrap:wrap; gap:8px; }
.cdd-puce{ position:relative; cursor:pointer; }
.cdd-puce input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.cdd-puce span{ display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px; border:1.5px solid var(--filet-fort); border-radius:var(--r-pilule); background:var(--toile); font-family:var(--f-titre); font-weight:600; font-size:15.5px; white-space:nowrap; transition:border-color .15s ease, background-color .15s ease; }
.cdd-puce span .cdd-picto{ width:20px; height:20px; color:var(--bleu); }
.cdd-puce:hover span{ border-color:var(--bleu); }
.cdd-puce input:checked + span{ background:var(--bleu); border-color:var(--bleu); color:#fff; }
.cdd-puce input:checked + span .cdd-picto{ color:#fff; }
.cdd-puce input:focus-visible + span{ outline:3px solid var(--bleu); outline-offset:2px; }
.cdd-mention-rgpd{ font-size:13px; line-height:1.45; color:var(--lichen); margin:2px 0 0; }
.cdd-mention-rgpd a{ color:var(--lichen); }
.cdd-devis-err{ display:none; margin:10px 0 0; padding:10px 14px; border-radius:12px; background:#FBECEA; color:var(--non); font-family:var(--f-titre); font-weight:600; font-size:15px; line-height:1.3; }
.cdd-devis-err.on{ display:block; }
.cdd-devis-nav{ display:flex; align-items:center; gap:12px; margin-top:16px; }
.cdd-devis-nav .cdd-btn--soleil{ flex:1; min-height:56px; font-size:18px; }
.cdd-btn-retour{ display:inline-flex; align-items:center; gap:4px; min-height:48px; padding:0 10px 0 4px; background:none; border:0; color:var(--lichen); font-family:var(--f-titre); font-weight:600; font-size:15.5px; cursor:pointer; border-radius:12px; }
.cdd-btn-retour .cdd-picto{ width:20px; height:20px; }
.cdd-btn-retour:hover{ color:var(--bitume); }
.cdd-devis-fini{ padding:12px 0 4px; }
.cdd-devis-fini .cdd-plaque{ margin-bottom:16px; }
.cdd-devis-fini-t{ font-family:var(--f-titre); font-weight:700; font-size:22px; line-height:1.15; margin-bottom:6px; }
.cdd-devis-fini p{ color:var(--lichen); }
.cdd-devis.envoi .cdd-btn--soleil[type=submit]{ opacity:.6; pointer-events:none; }

/* variantes */
.cdd-devis--compact{ max-width:460px; }
.cdd-devis--rail{ box-shadow:none; border-radius:0; padding:0; background:transparent; }
.cdd-devis--rail .cdd-devis-titre{ font-size:18px; }
.cdd-devis--rail .cdd-devis-points li{ width:24px; height:24px; font-size:12.5px; }
.cdd-devis--rail .cdd-devis-tete{ margin-bottom:10px; }
.cdd-devis--rail legend{ font-size:16px; margin-bottom:8px; }
.cdd-devis--rail .cdd-tuiles{ gap:6px; }
.cdd-devis--rail .cdd-tuile{ min-height:78px; padding:10px 4px 8px; font-size:13.5px; gap:6px; border-radius:12px; }
.cdd-devis--rail .cdd-tuile .cdd-picto{ width:26px; height:26px; }
.cdd-devis--rail .cdd-devis-nav{ margin-top:10px; }
.cdd-devis--rail .cdd-devis-nav .cdd-btn--soleil{ min-height:48px; font-size:16px; }
.cdd-devis--rail .cdd-champs-2{ grid-template-columns:1fr; }
.cdd-devis--rail .cdd-champ{ margin-bottom:8px; gap:4px; }
.cdd-devis--rail input[type=text], .cdd-devis--rail input[type=email], .cdd-devis--rail input[type=date], .cdd-devis--rail select{ min-height:42px; padding:8px 12px; font-size:15px; }
.cdd-devis--rail .cdd-puce span{ min-height:40px; padding:0 12px; font-size:14.5px; }
.cdd-devis--rail .cdd-mention-rgpd{ font-size:12.5px; }
@media (max-width:760px){
	.cdd-devis{ padding:20px 16px; border-radius:20px; }
	.cdd-tuile{ min-height:96px; font-size:14.5px; padding:12px 4px 10px; }
	.cdd-champs-2{ grid-template-columns:1fr; }
	.cdd-tuiles--texte{ grid-template-columns:1fr 1fr; }
}

/* ═════════ HÉROS ═════════ */
.cdd-hero{ position:relative; height:min(calc(100svh - var(--entete)), 704px); min-height:600px; color:var(--bitume); isolation:isolate; }
@media (min-width:1700px){ .cdd-hero{ height:min(calc(100svh - var(--entete)), 860px); } }
.cdd-hero-photo{ position:absolute; inset:0; margin:0; overflow:hidden; z-index:-1; background:var(--bleu-pale); }
.cdd-hero-photo picture, .cdd-hero-photo img{ width:100%; height:100%; }
.cdd-hero-photo img{ object-fit:cover; object-position:62% 42%; }
.cdd-hero-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(250,245,241,.95) 0%, rgba(250,245,241,.93) 34%, rgba(250,245,241,.72) 46%, rgba(250,245,241,0) 62%); pointer-events:none; }
.cdd-crete{ position:absolute; left:0; right:0; bottom:-1px; width:100%; height:90px; color:var(--toile); pointer-events:none; z-index:1; }
.cdd-hero-grille{ position:relative; height:100%; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:24px; grid-template-rows:auto 1fr; align-content:start; padding-top:48px; }
.cdd-hero-texte{ grid-column:1 / 7; grid-row:1; padding-top:24px; }
.cdd-hero-titre{ font-size:64px; line-height:.98; letter-spacing:-.02em; font-stretch:87.5%; font-weight:700; max-width:620px; }
.cdd-hero-titre span{ display:block; }
.cdd-ton1{ color:var(--bitume); }
.cdd-ton2{ color:var(--bleu); }
.cdd-hero-sous{ margin-top:22px; font-size:20px; line-height:1.5; max-width:560px; color:var(--bitume); }
.cdd-hero-cta{ display:none; }
.cdd-preuves{ grid-column:1 / 7; grid-row:2; align-self:start; list-style:none; margin:30px 0 0; padding:0; display:flex; gap:36px; }
.cdd-preuves li{ display:flex; flex-direction:column; gap:2px; }
.cdd-preuves b{ font-family:var(--f-titre); font-weight:600; font-stretch:100%; font-size:34px; line-height:1; font-variant-numeric:tabular-nums; color:var(--bitume); }
.cdd-preuves span{ font-family:var(--f-titre); font-size:15.5px; font-weight:500; color:var(--lichen); }
.cdd-hero-carte{ grid-column:8 / 13; grid-row:1 / 3; align-self:start; justify-self:end; width:100%; max-width:420px; }
.cdd-hero-plaque{ position:absolute; left:max(calc(50% - 160px), 380px); bottom:-34px; z-index:3; transform:rotate(-2deg); transform-origin:left bottom; }
@media (min-width:1700px){
	.cdd-hero-titre{ font-size:84px; max-width:760px; }
	.cdd-hero-sous{ font-size:22px; max-width:620px; }
	.cdd-hero-carte{ max-width:460px; }
	.cdd-hero-grille{ padding-top:56px; }
	.cdd-preuves b{ font-size:40px; }
}
@media (max-width:1180px) and (min-width:761px){
	.cdd-hero-titre{ font-size:52px; }
	.cdd-hero-texte, .cdd-preuves{ grid-column:1 / 8; }
	.cdd-hero-carte{ grid-column:8 / 13; }
	.cdd-hero-plaque{ left:36%; }
}
@media (max-width:760px){
	.cdd-hero{ height:auto; min-height:0; display:flex; flex-direction:column; background:var(--aube); }
	.cdd-hero-grille{ display:contents; }
	.cdd-hero-texte{ order:1; padding:24px var(--gout) 20px; }
	.cdd-hero-titre{ font-size:40px; }
	.cdd-hero-sous{ font-size:17px; margin-top:12px; }
	.cdd-hero-cta{ display:flex; width:100%; margin-top:18px; }
	.cdd-hero-photo{ order:2; position:relative; inset:auto; z-index:0; aspect-ratio:4/3; }
	.cdd-hero-photo::after{ display:none; }
	.cdd-crete{ height:30px; }
	.cdd-crete--hero{ color:var(--aube); }
	.cdd-hero-plaque{ order:3; position:relative; left:auto; bottom:auto; align-self:flex-start; margin:-56px 0 0 var(--gout); z-index:2; }
	.cdd-hero-carte{ order:4; padding:20px var(--gout) 0; max-width:none; }
	.cdd-preuves{ order:5; margin:0; padding:24px var(--gout) 36px; gap:20px; justify-content:space-between; }
	.cdd-preuves b{ font-size:28px; }
	.cdd-preuves span{ font-size:14px; line-height:1.25; }
}

/* ═════════ BANDES ═════════ */
.cdd-bande{ padding:72px 0; }
.cdd-bande--toile{ background:var(--toile); }
.cdd-bande--aube{ background:var(--aube); }
.cdd-bande--bleu{ background:var(--bleu); color:#fff; }
.cdd-bande--bleu h2, .cdd-bande--bleu p{ color:#fff; }
.cdd-bande-tete{ margin-bottom:32px; max-width:720px; }
.cdd-bande-tete p{ margin-top:12px; font-size:19px; line-height:1.5; color:var(--lichen); }
.cdd-bande--bleu .cdd-bande-tete p{ color:rgba(255,255,255,.88); }
.cdd-bande-tete--ligne{ max-width:none; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.cdd-bande-tete .cdd-lien{ display:inline-block; margin-top:14px; }
@media (max-width:760px){ .cdd-bande{ padding:48px 0; } .cdd-bande-tete{ margin-bottom:24px; } .cdd-bande-tete p{ font-size:17px; } }

/* Aplat de repli (photo du thème pas encore livrée) : jamais une case vide */
.is-aplat{ background:linear-gradient(160deg, #E7EEF8 0%, #DCE6F4 100%); }
.cdd-aplat-picto{ position:absolute; inset:0; display:grid; place-items:center; color:var(--bleu); opacity:.55; }
.cdd-aplat-picto .cdd-picto{ width:72px; height:72px; stroke-width:1.25; }

/* ── 2. Rubriques ── */
.cdd-rubs{ padding-top:48px; }
.cdd-rubs-grille{ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:repeat(2, 236px); gap:20px; }
.cdd-rub{ position:relative; display:flex; flex-direction:column; text-decoration:none; color:var(--bitume); min-width:0; }
.cdd-rub--grand{ grid-column:1 / 7; grid-row:1 / 3; }
.cdd-rub--petit:nth-child(2){ grid-column:7 / 10; grid-row:1; }
.cdd-rub--petit:nth-child(3){ grid-column:10 / 13; grid-row:1; }
.cdd-rub--petit:nth-child(4){ grid-column:7 / 10; grid-row:2; }
.cdd-rub--petit:nth-child(5){ grid-column:10 / 13; grid-row:2; }
.cdd-rub-photo{ position:relative; flex:1; min-height:0; border-radius:var(--r-carte); overflow:hidden; display:block; }
.cdd-rub-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.cdd-rub:hover .cdd-rub-photo img{ transform:scale(1.03); }
.cdd-rub .cdd-plaque{ position:absolute; left:16px; bottom:52px; transform:rotate(-1.5deg); }
.cdd-rub--grand .cdd-plaque{ left:24px; bottom:64px; }
.cdd-rub-phrase{ display:block; padding-top:10px; font-size:16px; line-height:1.35; color:var(--lichen); min-height:42px; }
.cdd-rub--grand .cdd-rub-phrase{ font-size:18px; color:var(--bitume); }
.cdd-rub:hover .cdd-plaque-nom{ text-decoration:underline; text-underline-offset:.15em; }
@media (max-width:1020px){
	.cdd-rubs-grille{ grid-template-columns:1fr 1fr; grid-template-rows:none; }
	.cdd-rub--grand, .cdd-rub--petit:nth-child(n){ grid-column:auto; grid-row:auto; }
	.cdd-rub--grand{ grid-column:1 / -1; }
	.cdd-rub-photo{ flex:none; aspect-ratio:3/2; }
	.cdd-rub--grand .cdd-rub-photo{ aspect-ratio:16/9; }
}
@media (max-width:560px){ .cdd-rubs-grille{ grid-template-columns:1fr; } .cdd-rub-photo{ aspect-ratio:16/9; } .cdd-rub .cdd-plaque{ bottom:56px; } }

/* ── 3. Outil ── */
.cdd-outil-grille{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,4fr); gap:56px; align-items:center; }
.cdd-outil-g h2{ margin-bottom:24px; }
.cdd-outil-choix{ border:0; margin:0 0 18px; padding:0; min-width:0; }
.cdd-outil-choix legend{ font-family:var(--f-titre); font-weight:600; font-size:17px; margin-bottom:10px; padding:0; color:var(--bitume); }
.cdd-outil-res{ margin-top:12px; padding:22px 24px; background:var(--toile); border-radius:var(--r-carte); box-shadow:var(--o-posee); display:grid; grid-template-columns:auto 1fr; gap:6px 24px; align-items:center; }
.cdd-outil-plaque{ grid-row:1 / 3; transform:rotate(-2deg); }
.cdd-outil-regle{ font-size:17px; line-height:1.5; }
.cdd-outil-pied{ display:flex; flex-wrap:wrap; gap:4px 16px; align-items:baseline; font-size:14.5px; color:var(--lichen); }
.cdd-outil-pied a{ font-family:var(--f-titre); font-weight:600; font-size:16px; }
.cdd-outil-photos{ position:relative; aspect-ratio:3/4; max-height:520px; width:100%; justify-self:end; }
.cdd-outil-photo{ position:absolute; inset:0; margin:0; border-radius:var(--r-carte); overflow:hidden; opacity:0; transition:opacity .35s ease; box-shadow:var(--o-posee); }
.cdd-outil-photo.on{ opacity:1; }
.cdd-outil-photo img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:1020px){ .cdd-outil-grille{ grid-template-columns:1fr; gap:24px; } .cdd-outil-photos{ display:none; } }
@media (max-width:560px){ .cdd-outil-res{ grid-template-columns:1fr; padding:18px 16px; } .cdd-outil-plaque{ grid-row:auto; justify-self:start; } .cdd-puce span{ padding:0 13px; font-size:15px; } }

/* ── 4. Villes ── */
.cdd-villes .cdd-bande-tete--ligne > div:first-child{ max-width:640px; }
.cdd-villes-actions{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.cdd-villes-rang{ display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 5 * 16px) / 6); gap:16px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding:6px 2px 18px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.5) transparent; }
.cdd-villes-rang:focus-visible{ outline-color:#fff; }
.cdd-ville{ position:relative; display:block; scroll-snap-align:start; text-decoration:none; color:#fff; }
.cdd-ville-photo{ display:block; aspect-ratio:3/4; border-radius:var(--r-carte); overflow:hidden; background:var(--bleu-fonce); }
.cdd-ville-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.cdd-ville:hover .cdd-ville-photo img{ transform:scale(1.04); }
.cdd-ville .cdd-plaque{ position:absolute; left:10px; bottom:12px; right:auto; transform:rotate(-2deg); background:var(--bleu); box-shadow:0 10px 24px -8px rgba(0,0,0,.45); }
.cdd-ville .cdd-plaque::before{ border-color:#fff; }
@media (max-width:1020px){ .cdd-villes-rang{ grid-auto-columns:calc((100% - 2 * 16px) / 3.2); } }
@media (max-width:560px){ .cdd-villes-rang{ grid-auto-columns:62%; } }

/* ── 5. Prix ── */
.cdd-prix-grille{ display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:56px; align-items:start; }
.cdd-barres{ display:flex; flex-direction:column; gap:22px; }
.cdd-barre-l{ display:grid; grid-template-columns:minmax(0,240px) minmax(0,1fr); gap:4px 24px; align-items:center; }
.cdd-barre-nom{ font-family:var(--f-titre); font-weight:700; font-size:18px; line-height:1.15; }
.cdd-barre-nom span{ display:block; font-weight:500; font-size:14.5px; color:var(--lichen); margin-top:3px; }
.cdd-barre-v{ display:flex; align-items:center; gap:16px; min-width:0; }
.cdd-barre{ display:block; height:18px; width:var(--v); max-width:calc(100% - 150px); border-radius:0 var(--r-pilule) var(--r-pilule) 0; background:var(--bleu); transform-origin:left center; }
.cdd-barre-v b{ font-family:var(--f-titre); font-weight:600; font-stretch:100%; font-size:40px; line-height:1; font-variant-numeric:tabular-nums; white-space:nowrap; letter-spacing:-.01em; }
.cdd-barre-l .cdd-source{ grid-column:2; }
.cdd-source{ font-size:14px; line-height:1.45; color:var(--lichen); }
@media (max-width:1020px){ .cdd-prix-grille{ grid-template-columns:1fr; gap:8px; } }
@media (max-width:560px){ .cdd-barre-l{ grid-template-columns:1fr; } .cdd-barre-l .cdd-source{ grid-column:1; } .cdd-barre-v b{ font-size:30px; } .cdd-barre{ max-width:calc(100% - 120px); } }

/* ── 6. Destinations ── */
.cdd-dest{ position:relative; background:var(--toile); padding-bottom:64px; }
.cdd-dest-bande{ position:relative; height:500px; overflow:hidden; display:flex; align-items:flex-end; }
.cdd-dest-bande > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cdd-dest-bande::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(28,35,33,0) 30%, rgba(28,35,33,.72) 100%); }
.cdd-dest-bande.is-aplat::after{ background:linear-gradient(180deg, rgba(28,35,33,.35), rgba(28,35,33,.85)); }
.cdd-dest-texte{ position:relative; z-index:1; padding-bottom:128px; }
.cdd-dest-texte h2{ margin-top:14px; font-size:56px; line-height:1; color:#fff; max-width:860px; }
.cdd-dest-texte h2 a{ color:#fff; text-decoration:none; }
.cdd-dest-texte h2 a:hover{ text-decoration:underline; text-decoration-thickness:3px; }
.cdd-dest-cartes{ position:relative; z-index:2; margin-top:-96px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
@media (min-width:1700px){ .cdd-dest-texte h2{ font-size:64px; } }
@media (max-width:760px){ .cdd-dest-bande{ height:420px; } .cdd-dest-texte{ padding-bottom:88px; } .cdd-dest-texte h2{ font-size:32px; } .cdd-dest-cartes{ grid-template-columns:1fr; margin-top:-56px; gap:16px; } .cdd-dest{ padding-bottom:48px; } }

/* ── Cartes d'article ── */
.cdd-carte{ display:flex; flex-direction:column; background:var(--toile); border-radius:var(--r-carte); box-shadow:var(--o-posee); text-decoration:none; color:var(--bitume); overflow:visible; min-width:0; }
.cdd-carte-photo{ position:relative; display:block; aspect-ratio:3/2; border-radius:var(--r-carte) var(--r-carte) 0 0; overflow:hidden; }
.cdd-carte-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.cdd-carte:hover .cdd-carte-photo img{ transform:scale(1.03); }
.cdd-carte-photo .cdd-plaque{ position:absolute; left:14px; bottom:14px; transform:rotate(-2deg); }
.cdd-carte-c{ display:flex; flex-direction:column; gap:6px; padding:18px 20px 20px; }
.cdd-carte > .cdd-carte-t{ padding:16px 20px 0; }
.cdd-carte > .cdd-carte-t:last-child{ padding-bottom:20px; }
.cdd-carte > .cdd-carte-e{ padding:6px 20px 20px; }
.cdd-carte-t{ display:block; font-family:var(--f-titre); font-weight:700; font-stretch:87.5%; font-size:21px; line-height:1.15; letter-spacing:-.01em; }
.cdd-carte:hover .cdd-carte-t{ color:var(--bleu); }
.cdd-carte-e{ display:block; font-size:16px; line-height:1.5; color:var(--lichen); }
.cdd-carte-date{ font-family:var(--f-titre); font-size:14px; font-weight:500; color:var(--lichen); }
.cdd-grille-cartes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.cdd-grille-cartes--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.cdd-grille-cartes--1{ grid-template-columns:minmax(0,1fr); max-width:520px; }
@media (max-width:1020px){ .cdd-grille-cartes{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .cdd-grille-cartes{ grid-template-columns:1fr; gap:18px; } }

/* ── 7. L'actu ── */
.cdd-actu-grille{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:40px; align-items:start; }
.cdd-actu-une{ display:flex; flex-direction:column; gap:10px; text-decoration:none; color:var(--bitume); }
.cdd-actu-une .cdd-carte-photo{ border-radius:var(--r-carte); aspect-ratio:16/9; }
.cdd-actu-t{ font-family:var(--f-titre); font-weight:700; font-stretch:87.5%; font-size:30px; line-height:1.08; letter-spacing:-.015em; }
.cdd-actu-une:hover .cdd-actu-t{ color:var(--bleu); }
.cdd-actu-e{ font-size:17px; color:var(--lichen); line-height:1.5; }
.cdd-actu-meta{ display:flex; align-items:center; gap:12px; font-family:var(--f-titre); font-size:14.5px; color:var(--lichen); font-weight:500; }
.cdd-actu-meta .cdd-statut{ min-height:26px; font-size:13.5px; padding:0 10px; }
.cdd-actu-liste{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.cdd-actu-liste li + li{ border-top:1px solid var(--filet); }
.cdd-actu-liste a{ display:grid; grid-template-columns:96px minmax(0,1fr); gap:18px; padding:16px 0; text-decoration:none; color:var(--bitume); align-items:center; }
.cdd-actu-liste li:first-child a{ padding-top:0; }
.cdd-actu-vign{ display:block; width:96px; height:96px; border-radius:12px; overflow:hidden; }
.cdd-actu-vign img{ width:100%; height:100%; object-fit:cover; }
.cdd-actu-c{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.cdd-actu-t2{ font-family:var(--f-titre); font-weight:700; font-size:18px; line-height:1.18; }
.cdd-actu-liste a:hover .cdd-actu-t2{ color:var(--bleu); }
@media (max-width:1020px){ .cdd-actu-grille{ grid-template-columns:1fr; gap:28px; } }
@media (max-width:560px){ .cdd-actu-t{ font-size:24px; } .cdd-actu-liste a{ grid-template-columns:80px minmax(0,1fr); gap:14px; } .cdd-actu-vign{ width:80px; height:80px; } .cdd-actu-t2{ font-size:16.5px; } }

/* ── 8. Qui écrit ── */
.cdd-qui-grille{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:24px 56px; }
.cdd-qui .cdd-bande-tete{ margin-bottom:0; }
.cdd-qui-auteurs{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.cdd-qui-auteurs li{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.cdd-qui-auteurs img{ width:88px; height:88px; border-radius:50%; object-fit:cover; margin-bottom:8px; box-shadow:0 0 0 4px var(--aube); }
.cdd-qui-auteurs a{ font-family:var(--f-titre); font-weight:700; font-size:18px; color:var(--bitume); text-decoration:none; line-height:1.15; }
.cdd-qui-auteurs a:hover{ color:var(--bleu); }
.cdd-qui-auteurs span{ font-size:15px; line-height:1.35; color:var(--lichen); }
.cdd-qui-auteurs small{ font-family:var(--f-titre); font-size:14px; color:var(--bleu); font-weight:600; }
.cdd-qui-chiffres{ grid-column:1 / -1; display:flex; gap:56px; padding-top:28px; border-top:1px solid var(--filet); }
.cdd-qui-chiffres p{ display:flex; align-items:baseline; gap:12px; }
.cdd-qui-chiffres b{ font-family:var(--f-titre); font-weight:600; font-stretch:100%; font-size:44px; line-height:1; font-variant-numeric:tabular-nums; color:var(--bleu); }
.cdd-qui-chiffres b.cdd-qui-date{ font-size:26px; }
.cdd-qui-chiffres span{ font-family:var(--f-titre); color:var(--lichen); font-size:16px; }
@media (max-width:1020px){ .cdd-qui-grille{ grid-template-columns:1fr; } .cdd-qui-auteurs{ grid-template-columns:repeat(2,minmax(0,1fr)); } .cdd-qui-chiffres{ flex-direction:column; gap:12px; } }

/* ── 9. Dernier appel ── */
.cdd-appel{ position:relative; min-height:520px; display:flex; align-items:center; padding:64px 0; overflow:hidden; background:var(--bitume); }
.cdd-appel > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cdd-appel::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(28,35,33,.78) 0%, rgba(28,35,33,.45) 50%, rgba(28,35,33,.1) 100%); z-index:0; }
.cdd-appel.is-aplat{ background:linear-gradient(120deg, #22302C 0%, #1C2321 60%); }
.cdd-appel-grille{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,460px); gap:56px; align-items:center; }
.cdd-appel-texte h2{ color:#fff; font-size:48px; line-height:1.02; max-width:560px; }
.cdd-appel-texte p{ color:rgba(255,255,255,.9); font-size:19px; margin:18px 0 28px; max-width:520px; }
.cdd-appel-texte .cdd-plaque{ transform:rotate(-2deg); }
@media (max-width:1020px){ .cdd-appel-grille{ grid-template-columns:1fr; } .cdd-appel-texte h2{ font-size:34px; } .cdd-devis--compact{ max-width:none; } }

/* ═════════ PIED DE PAGE ═════════ */
.cdd-pied{ position:relative; background:var(--bitume); color:rgba(250,245,241,.82); padding:56px 0 0; margin-top:90px; }
.cdd-crete--pied{ top:-89px; bottom:auto; height:90px; color:var(--bitume); }
.cdd-pied a{ color:var(--aube); text-decoration:none; }
.cdd-pied a:hover{ text-decoration:underline; }
.cdd-pied-haut{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:16px 40px; align-items:center; padding-bottom:36px; border-bottom:1px solid rgba(250,245,241,.14); }
.cdd-logo--pied{ color:var(--aube); }
.cdd-pied-phrase{ font-size:17px; max-width:560px; color:rgba(250,245,241,.86); }
.cdd-pied-maj{ font-family:var(--f-titre); font-size:15px; color:rgba(250,245,241,.7); }
.cdd-pied-grille{ display:grid; grid-template-columns:1fr 1.5fr 1fr 1.6fr; gap:40px; padding:36px 0 40px; }
.cdd-pied-t{ font-family:var(--f-titre); font-weight:700; font-size:17px; color:#fff; margin-bottom:14px; }
.cdd-pied-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; font-family:var(--f-titre); font-size:16px; line-height:1.3; }
.cdd-pied-col--villes ul{ display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; }
.cdd-pied-col--actu li{ display:flex; flex-direction:column; gap:2px; }
.cdd-pied-col--actu li span{ font-size:13.5px; color:rgba(250,245,241,.6); }
.cdd-pied-bas{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding:20px 0 28px; border-top:1px solid rgba(250,245,241,.14); font-family:var(--f-titre); font-size:14.5px; color:rgba(250,245,241,.66); }
@media (max-width:1020px){ .cdd-pied-haut{ grid-template-columns:1fr; } .cdd-pied-grille{ grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:560px){ .cdd-pied{ margin-top:30px; } .cdd-crete--pied{ top:-29px; height:30px; } .cdd-pied-grille{ grid-template-columns:1fr; } }

/* ═════════ ARTICLE ═════════ */
.cdd-ariane{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:18px 0 22px; font-family:var(--f-titre); font-size:15px; color:var(--lichen); }
.cdd-ariane a{ color:var(--lichen); text-decoration:none; }
.cdd-ariane a:hover{ color:var(--bleu); text-decoration:underline; }
.cdd-ariane--clair, .cdd-ariane--clair a{ color:#fff; }
.cdd-art-entete{ position:relative; background:var(--toile); }
.cdd-art-entete::before{ content:""; position:absolute; left:0; right:0; top:0; height:calc(66px + 252px); background:var(--aube); }
.cdd-art-entete > .cdd-conteneur{ position:relative; }
.cdd-art-entete-grille{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:56px; align-items:start; padding-bottom:40px; }
.cdd-art-entete-texte .cdd-pastille-rub{ margin-bottom:16px; }
.cdd-art-entete h1{ font-size:52px; line-height:1.03; letter-spacing:-.02em; }
@media (min-width:1700px){ .cdd-art-entete h1{ font-size:60px; } }
.cdd-chapo{ margin-top:18px; font-size:21px; line-height:1.5; color:var(--bitume); max-width:640px; }
.cdd-art-meta{ display:flex; align-items:center; gap:14px; margin-top:22px; }
.cdd-art-meta-photo{ width:48px; height:48px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.cdd-art-meta p{ display:flex; flex-wrap:wrap; gap:2px 18px; font-family:var(--f-titre); font-size:15.5px; color:var(--lichen); }
.cdd-art-meta a{ font-weight:700; color:var(--bitume); text-decoration:none; }
.cdd-art-meta a:hover{ color:var(--bleu); text-decoration:underline; }
.cdd-art-meta-simple{ margin-top:16px; font-family:var(--f-titre); font-size:15.5px; color:var(--lichen); }
.cdd-art-photo{ position:relative; margin:0; border-radius:var(--r-carte); box-shadow:var(--o-posee); height:min(420px, 50vh); min-height:300px; }
.cdd-art-photo img{ width:100%; height:100%; object-fit:cover; border-radius:var(--r-carte); }
.cdd-art-photo .cdd-plaque{ position:absolute; left:-22px; bottom:-26px; transform:rotate(-2deg); max-width:calc(100% - 20px); }
.cdd-art-plaque-seule{ display:flex; justify-content:flex-end; padding-top:24px; }
.cdd-art-plaque-seule .cdd-plaque{ transform:rotate(-2deg); }
.cdd-art-entete--page .cdd-art-entete-grille{ padding-bottom:48px; }
.cdd-art-entete--ville .cdd-art-entete-visuel{ position:relative; z-index:2; }
.cdd-art-ville-photo{ position:relative; margin-top:24px; border-radius:var(--r-carte); box-shadow:var(--o-posee); height:200px; }
.cdd-art-ville-photo img{ width:100%; height:100%; object-fit:cover; border-radius:var(--r-carte); }
.cdd-art-ville-photo .cdd-plaque{ position:absolute; right:18px; bottom:-22px; transform:rotate(-2deg); }
.cdd-art-entete--ville h1{ font-size:46px; }
@media (max-width:1020px){
	.cdd-art-entete-grille{ grid-template-columns:1fr; gap:28px; }
	.cdd-art-entete::before{ height:240px; }
	.cdd-art-photo{ height:auto; aspect-ratio:16/10; min-height:0; }
	.cdd-art-photo .cdd-plaque{ left:12px; }
	.cdd-art-plaque-seule{ justify-content:flex-start; padding-top:0; }
}
@media (max-width:760px){
	.cdd-art-entete h1, .cdd-art-entete--ville h1{ font-size:34px; }
	.cdd-chapo{ font-size:18px; }
	.cdd-art-entete-grille{ padding-bottom:28px; display:flex; flex-direction:column; }
	.cdd-art-meta p{ font-size:14.5px; gap:2px 12px; }
	.cdd-art-ville-photo{ height:180px; }
}

/* Mise en page corps + rail (bloc figé, valeurs de ce site) */
.sbt-article-mise-en-page{ padding:56px var(--gout) 72px; background:var(--toile); max-width:none; column-gap:var(--sb-gouttiere); }
@media (min-width:1081px){ .cdd-article .sbt-article-mise-en-page{ grid-template-columns:minmax(0, var(--sb-lecture)) var(--sb-rail); } }
@media (max-width:1080px){ .cdd-article .sbt-article-mise-en-page{ grid-template-columns:minmax(0,1fr); } }
.sbt-rail{ top:calc(var(--entete) + 20px); border-left:0; padding:22px 22px 22px; gap:18px; background:var(--toile); border-radius:var(--r-carte-devis); box-shadow:var(--o-flottante); }
.sbt-rail-carte{ border:0; padding:0; border-radius:0; background:transparent; }
.sbt-rail-carte--sommaire{ padding-bottom:16px; border-bottom:1px solid var(--filet); }
.sbt-rail .sbt-sommaire{ border:0; padding:0; background:transparent; border-radius:0; }
.sbt-rail .sbt-sommaire-titre{ font-family:var(--f-titre); font-weight:700; font-size:16px; color:var(--bitume); }
.sbt-rail .sbt-sommaire ol{ margin-top:10px; gap:2px; }
.sbt-rail .sbt-sommaire li a{ font-family:var(--f-titre); font-size:14.5px; line-height:1.25; padding:4px 0; gap:8px; color:var(--bitume); }
.sbt-rail .sbt-sommaire-libelle{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.sbt-rail .sbt-sommaire li a.on{ color:var(--bleu); font-weight:600; }
.sbt-sommaire-num{ background:var(--bleu-pale); color:var(--bleu); font-family:var(--f-titre); }
.sbt-sommaire-mobile .sbt-sommaire{ border:0; border-left:4px solid var(--bleu); background:var(--aube); border-radius:12px; }
.sbt-sommaire-mobile .sbt-sommaire-titre{ font-family:var(--f-titre); font-size:17px; min-height:44px; display:flex; align-items:center; }
@media (max-width:1080px){
	.sbt-rail{ position:static; box-shadow:var(--o-posee); padding:20px 16px; border-top:0; }
	.sbt-article-mise-en-page{ padding-top:32px; }
}

/* ── Corps de lecture ── */
.cdd-corps{ font-family:var(--f-texte); font-size:18px; line-height:1.68; color:var(--bitume); }
@media (min-width:1700px){ .cdd-corps{ font-size:19px; } }
@media (max-width:760px){ .cdd-corps{ font-size:17px; line-height:1.62; } }
.cdd-corps > * + *{ margin-top:1.1em; }
.cdd-corps p{ margin:0; }
.cdd-corps p + p{ margin-top:1.05em; }
.cdd-corps strong, .cdd-corps b{ font-weight:650; }
.cdd-corps h2{ font-size:34px; line-height:1.08; margin-top:1.8em; margin-bottom:.5em; scroll-margin-top:calc(var(--entete) + 20px); }
.cdd-corps h3{ font-size:23px; line-height:1.18; margin-top:1.5em; margin-bottom:.4em; }
.cdd-corps h2 + *, .cdd-corps h3 + *{ margin-top:0; }
@media (max-width:760px){ .cdd-corps h2{ font-size:27px; } .cdd-corps h3{ font-size:20px; } }
.cdd-corps a{ color:var(--bleu); }
.cdd-corps img{ border-radius:var(--r-carte); margin:0; }
.cdd-corps blockquote{ margin:1.6em 0; padding:18px 24px; border-left:4px solid var(--bleu); background:var(--aube); border-radius:0 12px 12px 0; font-style:italic; }

/* Listes en infographies : coches pour les puces, étapes pour les listes numérotées */
.cdd-corps ul:not([class]), .cdd-corps ol:not([class]){ list-style:none; margin:1.3em 0; padding:0; display:grid; gap:10px; }
.cdd-corps ul:not([class]) > li{ position:relative; padding:14px 18px 14px 52px; background:var(--aube); border-radius:14px; line-height:1.55; }
.cdd-corps ul:not([class]) > li::before{ content:""; position:absolute; left:16px; top:16px; width:24px; height:24px; border-radius:50%; background:var(--bleu) 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='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat; }
.cdd-corps ol:not([class]){ counter-reset:etape; }
.cdd-corps ol:not([class]) > li{ position:relative; counter-increment:etape; padding:16px 18px 16px 64px; background:var(--toile); border:1.5px solid var(--filet); border-radius:14px; line-height:1.55; }
.cdd-corps ol:not([class]) > li::before{ content:counter(etape); position:absolute; left:16px; top:13px; width:34px; height:34px; border-radius:10px; background:var(--bleu); color:#fff; display:grid; place-items:center; font-family:var(--f-titre); font-weight:700; font-size:16px; font-variant-numeric:tabular-nums; }
.cdd-corps li > ul, .cdd-corps li > ol{ margin:.6em 0 0; }
.cdd-corps li > ul > li{ background:var(--toile); }

/* Tableaux : lisibles, cartes empilées sur mobile */
.cdd-corps .sbs_tableau{ overflow-x:auto; margin:1.4em 0; }
.cdd-corps table{ width:100%; border-collapse:separate; border-spacing:0; font-family:var(--f-titre); font-size:16px; line-height:1.35; background:var(--toile); border:1.5px solid var(--filet); border-radius:14px; overflow:hidden; }
.cdd-corps th{ text-align:left; background:var(--bleu); color:#fff; font-weight:600; padding:12px 14px; }
.cdd-corps td{ padding:12px 14px; border-top:1px solid var(--filet); vertical-align:top; }
.cdd-corps tbody tr:nth-child(even) td{ background:#FBF9F7; }
@media (max-width:760px){
	.cdd-corps .sbs_tableau{ overflow:visible; }
	.cdd-corps table.cdd-table, .cdd-corps table.cdd-table tbody, .cdd-corps table.cdd-table tr, .cdd-corps table.cdd-table td{ display:block; width:100%; }
	.cdd-corps table.cdd-table{ border:0; background:transparent; border-radius:0; }
	.cdd-corps table.cdd-table thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
	.cdd-corps table.cdd-table tr{ background:var(--toile); border:1.5px solid var(--filet); border-radius:14px; margin-bottom:12px; overflow:hidden; }
	.cdd-corps table.cdd-table td{ border-top:1px solid var(--filet); padding:10px 14px; background:transparent!important; }
	.cdd-corps table.cdd-table td:first-child{ border-top:0; background:var(--bleu-pale)!important; font-weight:700; }
	.cdd-corps table.cdd-table td[data-label]::before{ content:attr(data-label); display:block; font-size:13px; font-weight:600; color:var(--lichen); margin-bottom:2px; }
}

/* Classes des contenus en base */
.cdd-corps .cdd-encadre{ position:relative; margin:1.8em 0; padding:26px 26px 22px; background:var(--bleu-pale); border-radius:var(--r-carte); }
.cdd-corps .cdd-encadre::before{ content:"À retenir"; position:absolute; top:-14px; left:22px; display:inline-flex; align-items:center; min-height:28px; padding:0 14px; border-radius:var(--r-plaque); background:var(--bleu); color:#fff; font-family:var(--f-titre); font-weight:700; font-stretch:112.5%; font-size:13.5px; box-shadow:var(--o-posee); }
.cdd-corps .cdd-encadre h3{ margin-top:0; color:var(--bleu); font-size:21px; }
.cdd-corps .cdd-encadre > * + *{ margin-top:.7em; }
.cdd-corps .cdd-encadre.cdd-danger{ background:#FBECEA; }
.cdd-corps .cdd-encadre.cdd-danger::before{ content:"Attention"; background:var(--non); }
.cdd-corps .cdd-encadre.cdd-danger h3{ color:var(--non); }
.cdd-corps .cdd-encadre ul:not([class]) > li{ background:var(--toile); }
.cdd-corps .cdd-figure{ margin:1.8em 0; }
.cdd-corps .cdd-figure img{ width:100%; height:auto; border-radius:var(--r-carte); box-shadow:var(--o-posee); }
.cdd-corps figcaption{ margin-top:10px; font-family:var(--f-titre); font-size:14.5px; line-height:1.4; color:var(--lichen); }
.cdd-corps .cdd-credit{ color:var(--lichen); opacity:.85; }
.cdd-corps .cdd-aveu{ font-size:21px; line-height:1.5; font-style:italic; padding-left:20px; border-left:4px solid var(--soleil); }
.cdd-corps .cdd-sources, .cdd-corps h2 + ul.cdd-sources{ list-style:none; margin:1.4em 0 0; padding:20px 22px; background:var(--aube); border-radius:14px; display:flex; flex-wrap:wrap; gap:8px 10px; }
.cdd-corps .cdd-sources::before{ content:"Sources"; flex-basis:100%; font-family:var(--f-titre); font-weight:700; font-size:16px; margin-bottom:4px; }
.cdd-corps .cdd-sources li{ display:inline-flex; }
.cdd-corps .cdd-sources a{ display:inline-flex; align-items:center; min-height:36px; padding:0 14px; border-radius:var(--r-pilule); background:var(--toile); border:1px solid var(--filet); font-family:var(--f-titre); font-size:15px; text-decoration:none; }
.cdd-corps .cdd-sources a:hover{ border-color:var(--bleu); }
.cdd-corps .cdd-maillage, .cdd-corps .cdd-maillage-retour{ padding:16px 20px; border-radius:14px; background:var(--aube); border-left:4px solid var(--bleu); font-family:var(--f-titre); font-size:17px; line-height:1.45; }
.cdd-corps .cdd-maillage a, .cdd-corps .cdd-maillage-retour a{ font-weight:600; }
.cdd-corps .cdd-tags{ font-family:var(--f-titre); font-size:15.5px; color:var(--lichen); }
.cdd-corps .cdd-tags span{ font-weight:700; color:var(--bitume); }
.cdd-corps .cdd-sommaire{ display:none; }
.cdd-corps .cdd-outil{ margin:1.8em 0; padding:24px; background:var(--aube); border-radius:var(--r-carte-devis); box-shadow:var(--o-posee); }
.cdd-corps .cdd-outil h2{ margin-top:0; }
.cdd-corps .cdd-outil-q{ font-family:var(--f-titre); font-weight:700; font-size:19px; margin-bottom:10px; }
.cdd-corps .cdd-outil-b{ display:inline-flex; align-items:center; min-height:44px; margin:0 8px 8px 0; padding:0 16px; border:1.5px solid var(--filet-fort); border-radius:var(--r-pilule); background:var(--toile); font-family:var(--f-titre); font-weight:600; font-size:15.5px; cursor:pointer; }
.cdd-corps .cdd-outil-b:hover, .cdd-corps .cdd-outil-b.on, .cdd-corps .cdd-outil-b[aria-pressed="true"]{ border-color:var(--bleu); background:var(--bleu-pale); }
.cdd-corps .cdd-outil-verdict{ margin-top:12px; padding:16px 18px; border-radius:14px; background:var(--toile); border-left:4px solid var(--bleu); }
.cdd-corps .cdd-outil-reset{ background:none; border:0; color:var(--bleu); font-family:var(--f-titre); font-weight:600; cursor:pointer; text-decoration:underline; min-height:44px; }
.cdd-corps .cdd-devis{ margin:2em 0; }
.cdd-corps > .cdd-devis, .cdd-corps .cdd-devis{ max-width:560px; }

/* Composants réhabillés */
.cdd-niveau{ display:inline-flex; align-items:center; gap:10px; padding:6px 14px 6px 8px; border-radius:var(--r-pilule); background:var(--bleu-pale); vertical-align:middle; }
.cdd-niveau-crans{ display:inline-flex; gap:3px; }
.cdd-niveau-crans i{ width:8px; height:16px; border-radius:3px; background:#fff; border:1px solid var(--bleu); }
.cdd-niveau-crans i.on{ background:var(--bleu); }
.cdd-niveau-mot{ font-family:var(--f-titre); font-weight:600; font-size:14.5px; color:var(--bleu); line-height:1.2; }
.cdd-tuiles-chiffres{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:1.4em 0; }
.cdd-tc{ padding:16px 18px; border-radius:14px; background:var(--aube); }
.cdd-tc b{ display:block; font-family:var(--f-titre); font-weight:600; font-size:34px; line-height:1; font-variant-numeric:tabular-nums; }
.cdd-tc span{ font-family:var(--f-titre); font-size:14.5px; color:var(--lichen); }
.cdd-tc--alerte b{ color:var(--non); text-decoration:line-through; text-decoration-thickness:3px; }
@media (max-width:560px){ .cdd-tuiles-chiffres{ grid-template-columns:1fr; } }
.cdd-comparo{ display:grid; gap:12px; margin:1.4em 0 .8em; }
.cdd-comparo-l{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.6fr) auto; gap:8px 20px; align-items:center; padding:16px 18px; border-radius:14px; background:var(--toile); border:1.5px solid var(--filet); }
.cdd-comparo-nom{ font-family:var(--f-titre); font-weight:700; font-size:18px; line-height:1.15; }
.cdd-comparo-nom span{ display:block; font-weight:500; font-size:14px; color:var(--lichen); }
.cdd-comparo-cotes{ display:flex; flex-wrap:wrap; gap:6px; font-family:var(--f-titre); font-size:14px; }
.cdd-comparo-cotes span{ padding:3px 9px; border-radius:var(--r-pilule); background:var(--aube); white-space:nowrap; }
.cdd-comparo-cotes .cdd-barre{ display:inline; height:auto; width:auto; max-width:none; background:#FBECEA; color:var(--non); text-decoration:line-through; border-radius:var(--r-pilule); }
.cdd-comparo-prix{ display:flex; align-items:center; gap:10px; }
.cdd-barre-prix{ height:12px; width:var(--v); max-width:55%; border-radius:0 999px 999px 0; background:var(--bleu); flex-shrink:0; }
.cdd-comparo-prix b{ font-family:var(--f-titre); font-weight:600; font-size:26px; line-height:1; font-variant-numeric:tabular-nums; white-space:nowrap; }
.cdd-comparo-prix small{ font-family:var(--f-titre); font-size:13.5px; color:var(--lichen); }
.cdd-comparo-lien{ font-family:var(--f-titre); font-weight:600; font-size:15px; white-space:nowrap; }
@media (max-width:900px){ .cdd-comparo-l{ grid-template-columns:1fr 1fr; } .cdd-comparo-prix{ grid-column:1 / -1; } }
@media (max-width:560px){ .cdd-comparo-l{ grid-template-columns:1fr; } }

/* Blocs figés : encadrés, FAQ, boîte auteur — habillage de ce site */
.sbt-encadre{ border-radius:var(--r-carte)!important; }
.sbt-faq{ margin-top:2em; }
.sbt-faq details, .sbt-faq-liste details{ background:var(--aube); border:0!important; border-radius:14px!important; margin-bottom:10px; }
.sbt-faq summary, .sbt-faq-liste summary{ font-family:var(--f-titre); font-weight:700; font-size:18px; min-height:48px; padding:14px 18px; cursor:pointer; }
.sbt-auteur{ margin-top:48px; padding:28px; background:var(--aube); border:0; border-radius:var(--r-carte); box-shadow:none; }
.sbt-auteur-photo__img, .sbt-auteur-photo img{ border-radius:50%; object-fit:cover; }
.sbt-auteur-sur{ font-family:var(--f-titre); font-weight:600; color:var(--lichen); text-transform:none!important; letter-spacing:0!important; }
.sbt-auteur-nom a{ font-family:var(--f-titre); font-weight:700; font-size:22px; color:var(--bitume); text-decoration:none; }
.sbt-auteur .sbt-btn{ display:inline-flex; align-items:center; min-height:44px; padding:0 18px; border-radius:var(--r-pilule); background:var(--bleu); color:#fff; font-family:var(--f-titre); font-weight:700; text-decoration:none; border:0; }

/* « À lire aussi » pleine largeur */
.cdd-a-lire{ padding:56px 0 64px; }
.cdd-a-lire-t{ font-family:var(--f-titre); font-weight:700; font-stretch:87.5%; font-size:34px; letter-spacing:-.02em; margin-bottom:24px; }

/* ═════════ RUBRIQUE ═════════ */
.cdd-rub-entete{ position:relative; height:380px; display:flex; align-items:center; overflow:hidden; background:var(--bleu-fonce); }
.cdd-rub-entete > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cdd-rub-entete::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(28,35,33,.55), rgba(28,35,33,.08) 70%); z-index:0; }
.cdd-rub-entete.is-aplat{ background:linear-gradient(135deg, #2A63B0 0%, #1F57A3 45%, #184785 100%); }
.cdd-rub-entete.is-aplat::before{ display:none; }
.cdd-rub-entete-in{ position:relative; z-index:1; padding-bottom:40px; }
.cdd-rub-plaque{ transform:rotate(-2deg); transform-origin:left center; box-shadow:0 30px 60px -20px rgba(0,0,0,.5); }
.cdd-rub-entete.is-aplat .cdd-rub-plaque{ background:var(--bleu-fonce); }
.cdd-crete--rub{ color:var(--aube); }
.cdd-rub-liste{ padding-top:28px; }
.cdd-rub-intro{ font-size:19px; color:var(--lichen); max-width:760px; margin-bottom:20px; }
.cdd-filtres{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.cdd-filtre{ min-height:44px; padding:0 18px; border-radius:var(--r-pilule); border:1.5px solid var(--filet-fort); background:var(--toile); font-family:var(--f-titre); font-weight:600; font-size:15.5px; cursor:pointer; }
.cdd-filtre:hover{ border-color:var(--bleu); }
.cdd-filtre.on{ background:var(--bleu-pale); border-color:var(--bleu); color:var(--bleu); }
.cdd-rub-haut{ display:grid; grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:24px; align-items:start; margin-bottom:24px; }
.cdd-carte--une .cdd-carte-photo{ aspect-ratio:3/2; }
.cdd-carte--une .cdd-carte-t{ font-size:32px; line-height:1.05; }
.cdd-carte--une .cdd-carte-c{ padding:22px 26px 26px; }
.cdd-rub-devis{ position:sticky; top:calc(var(--entete) + 20px); }
.cdd-rub-devis .cdd-devis{ padding:22px 22px; }
.cdd-rub-devis .cdd-tuile{ min-height:96px; font-size:14.5px; }
.cdd-rub-devis--bas{ position:static; max-width:520px; margin:32px auto 0; }
.cdd-carte.est-masquee{ display:none; }
.cdd-voir-plus{ display:flex; justify-content:center; margin-top:36px; }
.cdd-voir-plus .cdd-btn{ min-height:52px; padding:0 32px; }
.cdd-rub-couvre{ margin-top:48px; padding:20px 24px; background:var(--toile); border-radius:var(--r-carte); }
.cdd-rub-couvre summary{ font-family:var(--f-titre); font-weight:700; font-size:19px; cursor:pointer; min-height:44px; display:flex; align-items:center; }
.cdd-rub-couvre div{ margin-top:10px; color:var(--lichen); }
.cdd-vide{ padding:32px; background:var(--toile); border-radius:var(--r-carte); }
@media (max-width:1020px){ .cdd-rub-haut{ grid-template-columns:1fr; } .cdd-rub-devis{ position:static; } }
@media (max-width:760px){ .cdd-rub-entete{ height:260px; } .cdd-carte--une .cdd-carte-t{ font-size:24px; } }

/* ═════════ PAGES ═════════ */
.cdd-page-corps{ padding-top:48px; padding-bottom:72px; background:var(--toile); max-width:none; }
.cdd-page-corps > .cdd-corps{ max-width:720px; margin-inline:auto; }
.cdd-page--courte .cdd-art-entete::before{ height:100%; }
.cdd-mentions h2{ font-size:26px; }

.cdd-contact{ position:relative; min-height:calc(100svh - var(--entete)); padding:40px 0 140px; overflow:hidden; background:var(--bleu-pale); }
.cdd-contact > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cdd-contact::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(250,245,241,.96) 0%, rgba(250,245,241,.9) 40%, rgba(250,245,241,.2) 75%); z-index:0; }
.cdd-contact.is-aplat::before{ display:none; }
.cdd-contact-grille{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:56px; align-items:start; }
.cdd-contact-texte h1{ font-size:56px; line-height:1.02; margin-bottom:20px; }
.cdd-contact-texte > p{ font-size:20px; line-height:1.5; max-width:540px; margin-bottom:28px; }
.cdd-contact-texte .cdd-plaque{ transform:rotate(-2deg); }
.cdd-contact-devis{ margin-top:32px!important; font-size:17px!important; }
.cdd-contact .cdd-crete{ color:var(--toile); }
@media (max-width:1020px){ .cdd-contact-grille{ grid-template-columns:1fr; gap:32px; } .cdd-contact-texte h1{ font-size:38px; } .cdd-contact{ padding-bottom:80px; } }

.cdd-devis-page{ background:var(--aube); padding:8px 0 56px; }
.cdd-devis-page-grille{ display:grid; grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:56px; align-items:start; }
.cdd-devis-page-texte h1{ font-size:52px; line-height:1.03; }
.cdd-devis-page .cdd-devis{ margin-top:24px; max-width:460px; justify-self:end; }
.cdd-coches{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:12px; }
.cdd-coches li{ display:flex; align-items:center; gap:12px; font-family:var(--f-titre); font-size:18px; font-weight:500; }
.cdd-coches .cdd-picto{ width:26px; height:26px; padding:4px; border-radius:50%; background:var(--ok); color:#fff; stroke-width:2.6; flex-shrink:0; }
@media (max-width:1020px){ .cdd-devis-page-grille{ grid-template-columns:1fr; gap:8px; } .cdd-devis-page-texte h1{ font-size:34px; } .cdd-devis-page .cdd-devis{ justify-self:stretch; max-width:none; } }

.cdd-apropos-auteurs, .cdd-apropos-methode{ padding-top:56px; padding-bottom:16px; }
.cdd-apropos-auteurs h2, .cdd-apropos-methode h2{ margin-bottom:24px; }
.cdd-auteurs-grille{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.cdd-auteur-carte{ padding:24px; background:var(--toile); border-radius:var(--r-carte); box-shadow:var(--o-posee); }
.cdd-auteur-carte img{ width:96px; height:96px; border-radius:50%; object-fit:cover; margin-bottom:14px; }
.cdd-auteur-nom{ font-family:var(--f-titre); font-weight:700; font-size:21px; }
.cdd-auteur-spec{ font-family:var(--f-titre); color:var(--bleu); font-weight:600; font-size:15px; margin-top:2px; }
.cdd-auteur-bio{ font-size:16px; line-height:1.5; color:var(--lichen); margin-top:10px; }
.cdd-auteur-n{ font-family:var(--f-titre); font-size:14.5px; margin-top:12px; color:var(--bitume); font-weight:600; }
.cdd-methode-grille{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-bottom:56px; }
.cdd-methode-grille .cdd-plaque{ transform:rotate(-2deg); margin-bottom:16px; }
.cdd-methode-grille p{ font-size:17px; line-height:1.55; }
@media (max-width:1020px){ .cdd-auteurs-grille{ grid-template-columns:1fr 1fr; } .cdd-methode-grille{ grid-template-columns:1fr; } }
@media (max-width:560px){ .cdd-auteurs-grille{ grid-template-columns:1fr; } }

.cdd-404-grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center; }
.cdd-404 .cdd-plaque{ transform:rotate(-2deg); margin-bottom:24px; }
.cdd-404 h1{ font-size:44px; line-height:1.05; margin-bottom:14px; }
.cdd-404-photo{ position:relative; margin:0; aspect-ratio:3/2; border-radius:var(--r-carte); overflow:hidden; box-shadow:var(--o-posee); }
.cdd-404-photo img{ width:100%; height:100%; object-fit:cover; }
.cdd-404-liens{ display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
@media (max-width:760px){ .cdd-404-grille{ grid-template-columns:1fr; } .cdd-404 h1{ font-size:32px; } }
.cdd-recherche-f{ display:flex; gap:10px; margin:18px 0 28px; max-width:560px; }
.cdd-recherche-f input{ flex:1; min-width:0; min-height:48px; padding:10px 16px; border:1.5px solid var(--filet-fort); border-radius:var(--r-pilule); background:var(--toile); font-family:var(--f-titre); font-size:16px; }
.cdd-recherche h1{ font-size:44px; }
@media (max-width:760px){ .cdd-recherche h1{ font-size:30px; } }

/* ═════════ Mouvement (un seul moment orchestré + apparitions douces) ═════════ */
@media (prefers-reduced-motion:no-preference){
	.cdd-hero-plaque{ animation:cdd-plaque-pose .4s cubic-bezier(.2,.8,.2,1) both .1s; }
	.cdd-hero-plaque .cdd-plaque-vis{ animation:cdd-vis .4s ease-out both .2s; }
	.cdd-hero-titre{ animation:cdd-titre .45s ease-out both .35s; }
	.js .cdd-apparait{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
	.js .cdd-apparait.vu{ opacity:1; transform:none; }
	.cdd-barre{ transition:transform .9s cubic-bezier(.2,.8,.2,1); }
	.js .cdd-prix:not(.vu) .cdd-barre{ transform:scaleX(.05); }
}
@keyframes cdd-plaque-pose{ from{ transform:translateY(-12px) rotate(-2deg); opacity:0; } to{ transform:rotate(-2deg); opacity:1; } }
@keyframes cdd-vis{ from{ transform:rotate(-90deg); } to{ transform:rotate(0); } }
@keyframes cdd-titre{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
@media (max-width:760px){ @keyframes cdd-plaque-pose{ from{ transform:translateY(-12px) rotate(-2deg); opacity:0; } to{ transform:rotate(-2deg); opacity:1; } } }

/* ═════════ Passe 2 (mesures v1) ═════════ */
.cdd-hero-sous{ max-width:660px; font-size:19px; }
.cdd-hero-sous .cdd-court{ display:none; }
.cdd-hero-photo::after{ background:linear-gradient(90deg, rgba(250,245,241,.96) 0%, rgba(250,245,241,.94) 40%, rgba(250,245,241,.78) 50%, rgba(250,245,241,0) 64%); }
@media (min-width:1700px){ .cdd-hero-sous{ max-width:720px; font-size:21px; } }
@media (max-width:760px){ .cdd-hero-sous .cdd-long{ display:none; } .cdd-hero-sous .cdd-court{ display:inline; } }
/* sections ≤ 704 px à 1440 */
.cdd-rubs{ padding:44px 0 52px; }
.cdd-rubs .cdd-bande-tete{ max-width:none; margin-bottom:22px; display:flex; align-items:baseline; gap:12px 32px; flex-wrap:wrap; }
.cdd-rubs .cdd-bande-tete p{ margin-top:0; }
.cdd-rubs-grille{ grid-template-rows:repeat(2, 218px); }
.cdd-dest-bande{ height:440px; }
.cdd-dest-texte{ padding-bottom:116px; }
.cdd-dest .cdd-carte-photo{ aspect-ratio:16/9; }
.cdd-dest{ padding-bottom:52px; }
.cdd-actu{ padding:56px 0; }
.cdd-actu .cdd-bande-tete{ margin-bottom:24px; }
.cdd-actu-une .cdd-carte-photo{ aspect-ratio:2/1; }
.cdd-actu-t{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cdd-actu-e{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cdd-actu-liste a{ padding:13px 0; }
.cdd-actu-vign{ width:88px; height:88px; }
.cdd-actu-liste a{ grid-template-columns:88px minmax(0,1fr); }
.cdd-actu-t2{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
@media (max-width:760px){ .cdd-dest-bande{ height:400px; } .cdd-actu-une .cdd-carte-photo{ aspect-ratio:16/10; } }
/* corps d'article : moins d'air entre l'en-tête et le texte */
.sbt-article-mise-en-page{ padding-top:24px; }
.cdd-art-entete-grille{ padding-bottom:32px; }
/* Encadrés du bloc figé : clair, sans capitales */
.sbt-encadre-titre{ text-transform:none!important; letter-spacing:0!important; font-family:var(--f-titre)!important; font-size:17px!important; }
.sbt-encadre--retenir{ background:var(--bleu-pale)!important; color:var(--bitume)!important; }
.sbt-encadre--retenir .sbt-encadre-titre{ color:var(--bleu)!important; }
.sbt-encadre--retenir li, .sbt-encadre--retenir p{ color:var(--bitume)!important; }
.sbt-encadre--saviez{ background:var(--aube)!important; }
.sbt-auteur-sur, .sbt-auteur-role, .sbt-auteur-der p{ text-transform:none!important; letter-spacing:0!important; font-family:var(--f-titre); }
.sbt-auteur-role{ font-size:15px!important; }
.sbt-auteur-der p{ font-size:15px!important; font-weight:700; color:var(--bitume)!important; }
.sbt-auteur-der a{ font-family:var(--f-titre); }
/* tableaux sans thead à 390 */
.cdd-corps table{ overflow-wrap:anywhere; }
@media (max-width:760px){
	.cdd-corps table.cdd-table th{ display:block; width:100%; }
	.cdd-corps table.cdd-table tr:first-child:not(:has(td)){ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
	.cdd-corps table.cdd-table tbody th{ background:var(--bleu-pale); color:var(--bitume); }
}
/* 390 : le mu-plugin des sources impose min-width:520px au tableau → on le neutralise en cartes */
@media (max-width:760px){
	.cdd-corps table.cdd-table, .cdd-corps table.cdd-table th, .cdd-corps table.cdd-table td{ min-width:0!important; width:100%!important; }
	.cdd-corps table.cdd-table tr, .cdd-corps table.cdd-table tbody{ width:100%!important; min-width:0!important; }
}

/* Passe de corrections n°1 (porte de sortie) */
.cdd-dest{ padding-top:24px; }
.cdd-dest-bande{ height:420px; }
.cdd-dest{ padding-bottom:48px; }
img.cdd-symbole{ display:block; width:40px; height:40px; }
.cdd-logo--pied img.cdd-symbole{ width:44px; height:44px; }
@media (max-width:420px){ .cdd-logo img.cdd-symbole{ width:34px; height:34px; } }
.cdd-voir-plus button[disabled]{ opacity:.6; cursor:progress; }

/* ═══ Passe de corrections n°6 (12/10/2026) — on finit, on ne refait pas ═══ */
/* 1. Dernier appel : le voile passait SOUS la photo (même niveau, photo après) → texte blanc sur caravane crème */
.cdd-appel > img{ z-index:0; }
.cdd-appel::before{ z-index:1; background:linear-gradient(90deg, rgba(20,24,24,.86) 0%, rgba(20,24,24,.7) 40%, rgba(20,24,24,.28) 72%, rgba(20,24,24,.08) 100%); }
.cdd-appel-grille{ z-index:2; }
.cdd-appel-texte h2, .cdd-appel-texte p{ text-shadow:0 1px 16px rgba(20,24,24,.5); }
@media (max-width:1020px){ .cdd-appel::before{ background:rgba(20,24,24,.66); } }

/* 2. « Par où commencer » en mobile : hauteur de rangée figée par une règle plus bas → phrases recouvertes */
@media (max-width:1020px){
	.cdd-rubs-grille{ grid-template-rows:none; grid-auto-rows:auto; gap:28px 20px; }
	.cdd-rub{ display:grid; grid-template-columns:minmax(0,1fr); height:auto; }
	.cdd-rub-photo{ grid-area:1 / 1; }
	.cdd-rub .cdd-plaque, .cdd-rub--grand .cdd-plaque{ grid-area:1 / 1; position:relative; left:auto; bottom:auto; align-self:end; justify-self:start; margin:0 0 14px 16px; z-index:2; }
	.cdd-rub-phrase{ grid-area:2 / 1; min-height:0; height:auto; overflow:visible; }
}

/* 3. Tableaux : l'en-tête est toujours lisible (bleu, blanc gras) */
.cdd-corps table thead th, table.cdd-table thead th{ background:var(--bleu)!important; color:#fff!important; font-weight:700; font-size:14.5px; line-height:1.25; padding:14px; text-align:left; }

/* 4. Rubrique : le trou à côté de la une est comblé (devis + 3 guides plus loin), « Ce que couvre » n'est plus un volet vide */
.cdd-rub-devis{ display:flex; flex-direction:column; gap:20px; }
.cdd-rub-aussi{ background:var(--toile); border-radius:var(--r-carte); padding:18px 20px 8px; box-shadow:var(--o-posee); }
.cdd-rub-aussi-t{ font-family:var(--f-titre); font-weight:700; font-size:16px; margin-bottom:6px; }
.cdd-rub-aussi-l{ display:flex; align-items:center; gap:14px; padding:10px 0; text-decoration:none; color:var(--bitume); border-top:1px solid var(--filet); }
.cdd-rub-aussi-ph{ flex:none; width:72px; height:72px; border-radius:12px; overflow:hidden; background:var(--bleu-pale); display:block; }
.cdd-rub-aussi-ph img{ width:100%; height:100%; object-fit:cover; display:block; }
.cdd-rub-aussi-n{ font-family:var(--f-titre); font-size:15px; line-height:1.3; font-weight:600; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.cdd-rub-aussi-l:hover .cdd-rub-aussi-n{ color:var(--bleu); text-decoration:underline; }
.cdd-rub-couvre h2{ font-size:22px; margin:0 0 8px; }

/* 5. Bandeau crème des en-têtes : il descend sous la photo ; texte centré face à la photo ; corps aligné sur le titre */
@media (min-width:1021px){
	.cdd-art-entete::before{ height:100%; }
	.cdd-art-entete-grille{ align-items:center; padding-bottom:64px; }
	.cdd-art-entete--page .cdd-art-entete-grille{ padding-bottom:64px; }
	.cdd-article .sbt-article-mise-en-page{ max-width:none; margin-inline:0; padding-inline:max(var(--gout), calc((100% - var(--conteneur)) / 2)); padding-top:40px; grid-template-columns:minmax(0,7fr) minmax(0,5fr); column-gap:56px; justify-content:normal; }
	.cdd-article .sbt-article-principal{ max-width:760px; }
	.cdd-article .sbt-rail{ max-width:400px; width:100%; justify-self:start; }
}
@media (min-width:1021px) and (max-width:1080px){ .cdd-article .sbt-article-mise-en-page{ grid-template-columns:minmax(0,1fr); } .cdd-article .sbt-rail{ max-width:none; } }
.cdd-ville-cta{ margin-top:22px; display:flex; width:100%; }
@media (min-width:1021px){ .cdd-ville-cta{ display:none; } }

/* 6. Accueil, premier écran : le van se voit (voile limité à ~45 % de la largeur, photo décalée à droite) */
@media (min-width:1021px){
	.cdd-hero-photo{ background:#FAF5F1; }
	.cdd-hero-photo img{ object-position:62% 66%; transform:translateX(9%); -webkit-mask-image:linear-gradient(90deg, transparent 0%, transparent 9%, #000 24%); mask-image:linear-gradient(90deg, transparent 0%, transparent 9%, #000 24%); }
	.cdd-hero-photo::after{ background:linear-gradient(90deg, rgba(250,245,241,.97) 0%, rgba(250,245,241,.95) 30%, rgba(250,245,241,.74) 39%, rgba(250,245,241,.22) 46%, rgba(250,245,241,0) 52%); }
	.cdd-hero-sous{ text-shadow:0 0 14px rgba(250,245,241,.95), 0 0 4px rgba(250,245,241,.9); }
}
/* bandeau crème des en-têtes : jusque sous la photo à toutes les largeurs */
.cdd-art-entete::before{ height:100%; }
@media (max-width:1020px){ .cdd-art-entete-grille{ padding-bottom:44px; } }

/* Pages ville : volets dépliants (H2 dans le résumé, premier ouvert) — passe 7, 12/10 */
.cdd-corps .cdd-volet{ margin:0 0 14px; background:var(--toile); border:1.5px solid var(--filet); border-radius:var(--r-carte); box-shadow:var(--o-posee); transition:border-color .2s ease, box-shadow .2s ease; }
.cdd-corps .cdd-volet[open]{ border-color:var(--bleu); }
.cdd-corps .cdd-volet-t{ list-style:none; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:64px; padding:16px 22px; cursor:pointer; border-radius:var(--r-carte); scroll-margin-top:calc(var(--entete) + 20px); }
.cdd-corps .cdd-volet-t::-webkit-details-marker{ display:none; }
.cdd-corps .cdd-volet-t:focus-visible{ outline:3px solid var(--bleu); outline-offset:3px; }
.cdd-corps .cdd-volet-t h2{ margin:0; font-size:26px; line-height:1.15; }
.cdd-corps .cdd-volet-t:hover h2{ color:var(--bleu); }
.cdd-corps .cdd-volet-signe{ flex:none; width:40px; height:40px; border-radius:50%; background:var(--soleil) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c2321' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 18px no-repeat; transition:transform .25s ease; }
.cdd-corps .cdd-volet[open] .cdd-volet-signe{ transform:rotate(135deg); }
.cdd-corps .cdd-volet-c{ padding:0 22px 22px; }
.cdd-corps .cdd-volet-c > :first-child{ margin-top:0; }
.cdd-corps .cdd-volet + .cdd-devis{ margin-top:28px; }
@media (max-width:760px){ .cdd-corps .cdd-volet-t{ padding:14px 16px; min-height:56px; } .cdd-corps .cdd-volet-t h2{ font-size:21px; } .cdd-corps .cdd-volet-c{ padding:0 16px 18px; } .cdd-corps .cdd-volet-signe{ width:34px; height:34px; } }
@media (prefers-reduced-motion:reduce){ .cdd-corps .cdd-volet-signe{ transition:none; } }
/* Colonne d'article : la carte devis passe au-dessus du sommaire, entière dès le premier écran en 1440×780 (juge n°2) */
@media (min-width:1021px){
	.cdd-article .sbt-rail{ display:flex; flex-direction:column; }
	.cdd-article .sbt-rail > .cdd-devis--rail{ order:-1; }
	.cdd-article .sbt-rail .sbt-rail-carte--sommaire{ padding-bottom:0; border-bottom:0; padding-top:16px; border-top:1px solid var(--filet); }
}
