/*
Theme Name: Pompe Inondation — Parcelles
Description: Thème code pur de pompe-inondation.com (refonte du 03/10/2026). DA « le calme après l'eau » : parcelles d'hortillonnage, panneau de commune, pas de bottes.
Version: 1.0.0
Text Domain: pi-parcelles
*/

/* ---------- Polices auto-hébergées (OFL) ---------- */
@font-face{font-family:'Hahmlet';src:url('../fonts/hahmlet-latin.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hahmlet';src:url('../fonts/hahmlet-latin-ext.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fustat';src:url('../fonts/fustat-latin.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fustat';src:url('../fonts/fustat-latin-ext.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Jetons ---------- */
:root{
	--pp-rose:#A8206A; --pp-rose-fonce:#86144F; --pp-petale:#F7E6EF; --pp-rose-clair:#F28CC0;
	--pp-tourbe:#1B2420; --pp-galet:#56605B; --pp-saule:#E4ECDF; --pp-saule-fonce:#B9C9B3; --pp-blanc:#FFFFFF;
	--pp-sec:#2D7A4F; --pp-danger:#B3261E;
	--pp-titre:'Hahmlet', Georgia, 'Times New Roman', serif;
	--pp-texte:'Fustat', 'Segoe UI', system-ui, -apple-system, sans-serif;
	--pp-r-xl:32px; --pp-r-l:24px; --pp-r-m:16px; --pp-r-s:10px;
	--pp-ombre:0 2px 6px rgba(27,36,32,.06), 0 12px 32px rgba(27,36,32,.10);
	--pp-ombre-portee:0 24px 60px -12px rgba(27,36,32,.28);
	--pp-largeur:1640px; --pp-marge:clamp(16px, 4.2vw, 72px);
	--pp-entete:78px;
	/* Jetons des blocs figés (habillage seulement) */
	--sb-accent:var(--pp-rose); --sb-accent-clair:var(--pp-petale); --sb-encre:var(--pp-tourbe); --sb-doux:var(--pp-galet);
	--sb-filet:#DCE5D6; --sb-surf:#F4F8F2; --sb-fond-carte:#FFFFFF; --sb-fonce:var(--pp-tourbe); --sb-sur-fonce:#FFFFFF;
	--sb-rayon:16px; --sb-rayon-grand:24px; --sb-ombre:var(--pp-ombre); --sb-ombre-forte:var(--pp-ombre-portee);
	--sb-titre:var(--pp-titre); --sb-texte:var(--pp-texte); --sb-conteneur:var(--pp-largeur); --sb-lecture:720px; --sb-rail:320px; --sb-gouttiere:40px;
}
@media (max-width:1500px){ :root{ --pp-entete:68px; } }
@media (max-width:700px){ :root{ --pp-entete:60px; } }

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--pp-entete) + 16px)}
body{margin:0;background:#FFFFFF;color:var(--pp-tourbe);font-family:var(--pp-texte);font-size:18px;line-height:1.6;font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;overflow-x:clip}
@media (min-width:1700px){ body{font-size:19px} }
@media (max-width:700px){ body{font-size:17px} }
[hidden]{display:none !important}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--pp-titre);font-weight:600;line-height:1.12;letter-spacing:-.015em;margin:0 0 .5em;text-wrap:balance}
h1{font-weight:800}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--pp-rose);outline-offset:3px;border-radius:6px}
.pp-defs{position:absolute;width:0;height:0;overflow:hidden}
.pp-evitement{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--pp-tourbe);color:#fff;padding:10px 16px;border-radius:999px}
.pp-evitement:focus{left:16px}
.pp-dedans{width:100%;max-width:calc(var(--pp-largeur) + 2 * var(--pp-marge));margin-inline:auto;padding-inline:var(--pp-marge)}
.pp-dedans--etroit{max-width:calc(880px + 2 * var(--pp-marge))}
.pp-section{padding-block:clamp(64px, 8vw, 128px)}
.pp-picto-petit{width:20px;height:20px;flex:none}
.pp-ton2{color:var(--pp-rose)}
.pp-source{font-size:13px;color:var(--pp-galet);margin:18px 0 0}
.pp-source a{color:inherit}
.pp-credit{display:block;font-size:12px;color:var(--pp-galet);margin-top:8px;text-align:right}
.pp-credit a{text-decoration:none}
.pp-credit a:hover{text-decoration:underline}

/* ---------- Boutons ---------- */
.pp-bouton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 28px;border:0;border-radius:999px;background:var(--pp-rose);color:#fff;font:700 17px/1.2 var(--pp-texte);text-decoration:none;cursor:pointer;transition:background .2s ease, transform .2s ease, box-shadow .2s ease;box-shadow:0 8px 20px -8px rgba(168,32,106,.55)}
.pp-bouton:hover{background:var(--pp-rose-fonce);transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(134,20,79,.6)}
.pp-bouton:active{transform:translateY(0)}
.pp-bouton--plein{width:100%}
.pp-bouton--entete{min-height:46px;padding:11px 22px;font-size:16px}
.pp-bouton--blanc{background:#fff;color:var(--pp-rose);box-shadow:0 10px 24px -10px rgba(0,0,0,.35)}
.pp-bouton--blanc:hover{background:var(--pp-petale);color:var(--pp-rose-fonce)}
.pp-lien-fort{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--pp-rose);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
.pp-lien-fort:hover{color:var(--pp-rose-fonce)}

/* ---------- En-tête ---------- */
.pp-entete{position:sticky;top:0;z-index:60;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 var(--pp-saule)}
.admin-bar .pp-entete{top:32px}
.pp-entete-dedans{display:flex;align-items:center;gap:32px;height:var(--pp-entete);max-width:calc(var(--pp-largeur) + 2 * var(--pp-marge));margin-inline:auto;padding-inline:var(--pp-marge)}
.pp-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.pp-logo-symbole{width:38px;height:38px}
.pp-logo-nom{font:800 23px/1 var(--pp-titre);letter-spacing:-.02em;color:var(--pp-tourbe)}
.pp-logo-ext{font:500 17px/1 var(--pp-texte);color:var(--pp-galet);letter-spacing:0;margin-left:1px}
.pp-nav{margin-left:auto}
.pp-nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.pp-nav > ul > li{position:relative}
.pp-nav > ul > li > a{display:block;padding:10px 14px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;color:var(--pp-tourbe);transition:background .2s, color .2s}
.pp-nav > ul > li > a:hover,.pp-nav > ul > li > a[aria-current]{background:var(--pp-petale);color:var(--pp-rose-fonce)}
.pp-nav-panneaux{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%, 8px);width:min(720px, 80vw);display:flex;flex-wrap:wrap;gap:8px;padding:20px;background:#fff;border-radius:var(--pp-r-l);box-shadow:var(--pp-ombre-portee);opacity:0;visibility:hidden;transition:opacity .2s, transform .2s, visibility .2s}
.pp-nav-communes:hover .pp-nav-panneaux,.pp-nav-communes:focus-within .pp-nav-panneaux{opacity:1;visibility:visible;transform:translate(-50%, 0)}
.pp-entete-actions{display:flex;align-items:center;gap:12px;margin-left:8px}
.pp-entete--simple .pp-entete-actions{margin-left:auto}
.pp-entete-rassure{display:flex;align-items:center;gap:8px;margin:0;font-weight:600;color:var(--pp-galet)}
.pp-burger{display:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--pp-saule-fonce);background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.pp-burger span{display:block;width:18px;height:2px;background:var(--pp-tourbe);border-radius:2px;transition:transform .2s}
.pp-burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.pp-burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
@media (max-width:1100px){
	.pp-burger{display:flex}
	.pp-nav{position:fixed;inset:var(--pp-entete) 0 auto 0;margin:0;background:#fff;border-bottom:1px solid var(--pp-saule);box-shadow:var(--pp-ombre-portee);padding:12px var(--pp-marge) 24px;display:none;max-height:calc(100vh - var(--pp-entete));overflow:auto}
	.pp-nav.est-ouvert{display:block}
	.pp-nav ul{flex-direction:column;gap:2px}
	.pp-nav > ul > li > a{padding:14px 12px;font-size:18px;border-radius:12px}
	.pp-nav-panneaux{position:static;transform:none;opacity:1;visibility:visible;width:auto;box-shadow:none;padding:6px 12px 12px}
	.pp-entete-actions{margin-left:auto}
}
@media (max-width:700px){
	.pp-entete-dedans{gap:12px}
	.pp-logo-nom{font-size:18px}
	.pp-logo-ext{font-size:14px}
	.pp-logo-symbole{width:32px;height:32px}
	.pp-bouton--entete{min-height:42px;padding:9px 16px;font-size:15px}
	.pp-burger{width:42px;height:42px}
}
@media (max-width:480px){
	.pp-logo-ext,.pp-masque-mobile{display:none}
	.pp-entete-dedans{gap:10px}
	.pp-logo{gap:8px}
}

/* ---------- Panneau de commune ---------- */
.pp-panneau{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:3px solid var(--pp-rose);border-radius:var(--pp-r-s);padding:8px 18px;box-shadow:var(--pp-ombre-portee);font:800 22px/1.05 var(--pp-texte);letter-spacing:.03em;text-transform:uppercase;color:var(--pp-tourbe);text-align:center;outline:2px solid #fff;outline-offset:0}
.pp-mini-panneau{display:inline-flex;align-items:center;background:#fff;border:2px solid var(--pp-rose);border-radius:8px;padding:7px 12px;font:800 13px/1.1 var(--pp-texte);letter-spacing:.04em;text-transform:uppercase;color:var(--pp-tourbe);text-decoration:none;transition:background .18s, color .18s, transform .18s}
.pp-mini-panneau:hover,.pp-mini-panneau.est-active{background:var(--pp-rose);color:#fff;transform:translateY(-2px)}
.pp-panneaux-liste{display:flex;flex-wrap:wrap;gap:10px}
.pp-panneaux-liste--serre{gap:8px}

/* ---------- Parcelles (photos découpées) ---------- */
.pp-parcelle{position:relative;filter:drop-shadow(0 18px 28px rgba(27,36,32,.16)) drop-shadow(0 2px 4px rgba(27,36,32,.08))}
.pp-parcelle-coupe{width:100%;height:100%;overflow:hidden;background:var(--pp-saule)}
.pp-parcelle--a .pp-parcelle-coupe{clip-path:url(#pp-parcelle-a)}
.pp-parcelle--b .pp-parcelle-coupe{clip-path:url(#pp-parcelle-b)}
.pp-parcelle--c .pp-parcelle-coupe{clip-path:url(#pp-parcelle-c)}
.pp-parcelle--d .pp-parcelle-coupe{clip-path:url(#pp-parcelle-d)}
.pp-parcelle--e .pp-parcelle-coupe{clip-path:url(#pp-parcelle-e)}
.pp-parcelle img{width:100%;height:100%;object-fit:cover}

/* ---------- Étiquette ---------- */
.pp-etiquette{display:inline-flex;align-items:center;gap:8px;margin:0 0 22px;padding:7px 14px 7px 10px;border-radius:999px;background:var(--pp-petale);color:var(--pp-rose-fonce);font-weight:700;font-size:15px}
.pp-pastille{display:inline-flex;padding:6px 14px;border-radius:999px;background:#fff;color:var(--pp-rose-fonce);font-weight:700;font-size:14px;text-decoration:none;box-shadow:0 1px 0 var(--pp-saule-fonce)}

/* =====================================================================
   HÉROS DE L'ACCUEIL
   ===================================================================== */
.pp-hero{position:relative;background:radial-gradient(ellipse 60% 70% at 78% 48%, var(--pp-saule) 0%, rgba(228,236,223,.55) 45%, rgba(255,255,255,0) 75%), #fff;overflow:hidden}
.pp-hero-dedans{display:grid;grid-template-columns:minmax(0, 640px) minmax(0, 1fr);gap:20px;align-items:center;max-width:calc(var(--pp-largeur) + 2 * var(--pp-marge));margin-inline:auto;padding:clamp(28px, 4vh, 56px) var(--pp-marge) clamp(28px, 5vh, 64px);min-height:calc(100vh - var(--pp-entete));min-height:calc(100svh - var(--pp-entete));max-height:1000px}
.pp-hero-titre{font-size:clamp(38px, 4.6vw, 88px);line-height:1.02;letter-spacing:-.025em;margin:0 0 24px;max-width:13ch}
.pp-hero-titre .pp-ton2{display:block}
.pp-hero-chapo{font-size:clamp(17px, 1.1vw, 21px);color:var(--pp-galet);max-width:46ch;margin:0 0 22px}
.pp-hero-rassure{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:0 0 30px;padding:0;font-weight:700;font-size:16px}
.pp-hero-rassure li{display:flex;align-items:center;gap:8px}
.pp-hero-rassure svg{color:var(--pp-rose)}
.pp-hero-chiffres{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));max-width:520px;margin:0;border-radius:var(--pp-r-l);background:#fff;box-shadow:var(--pp-ombre);overflow:hidden}
.pp-hero-chiffres > div{display:flex;flex-direction:column;padding:16px 18px;border-left:1px solid var(--pp-saule)}
.pp-hero-chiffres > div:first-child{border-left:0}
.pp-hero-chiffres dd{order:-1;margin:0;font:800 clamp(30px, 2.4vw, 44px)/1 var(--pp-texte);font-variant-numeric:normal;letter-spacing:-.02em;color:var(--pp-tourbe)}
.pp-hero-chiffres dt{font-size:13px;line-height:1.3;color:var(--pp-galet);margin-top:6px}

.pp-hero-scene{position:relative;height:min(760px, calc(100vh - var(--pp-entete) - 80px));height:min(760px, calc(100svh - var(--pp-entete) - 80px));min-height:560px}
.pp-mosaique{position:absolute;inset:0 0 0 80px}
.pp-mosaique > .pp-parcelle{position:absolute}
.pp-mosaique-a{left:0;top:0;width:calc(44% - 7px);height:calc(55% - 7px)}
.pp-mosaique-b{left:calc(44% + 7px);right:0;top:0;height:calc(55% - 7px)}
.pp-mosaique-c{left:0;top:calc(55% + 7px);width:calc(40% - 7px);bottom:0}
.pp-mosaique-d{left:calc(40% + 7px);right:0;top:calc(55% + 7px);bottom:0}
.pp-panneau-defilant{position:absolute;top:-6px;right:-14px;z-index:3;display:inline-grid;background:#fff;border:3px solid var(--pp-rose);border-radius:var(--pp-r-s);padding:10px 20px;box-shadow:var(--pp-ombre-portee);min-width:200px}
.pp-panneau-defilant .pp-panneau-nom{grid-area:1/1;font:800 clamp(16px, 1.25vw, 24px)/1.05 var(--pp-texte);letter-spacing:.03em;text-transform:uppercase;text-align:center;color:var(--pp-tourbe);opacity:0;transform:translateY(10px);transition:opacity .45s ease, transform .45s ease}
.pp-panneau-defilant .pp-panneau-nom.est-visible{opacity:1;transform:none}
.pp-panneau-defilant .pp-panneau-nom.est-sortant{opacity:0;transform:translateY(-10px)}
.pp-hero-carte{position:absolute;left:0;top:50%;transform:translateY(-50%);width:clamp(400px, 25vw, 480px);z-index:4}

/* ---------- Formulaire en étapes ---------- */
.pp-form{position:relative;background:#fff;border-radius:var(--pp-r-l);padding:24px 26px 20px;box-shadow:var(--pp-ombre-portee);border:1px solid rgba(185,201,179,.55)}
.pp-form-leurre{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pp-pas{display:flex;align-items:flex-end;justify-content:space-between;list-style:none;margin:0 0 16px;padding:0 4px 14px;border-bottom:1px dashed var(--pp-saule-fonce)}
.pp-pas-item{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;color:var(--pp-galet);font-size:12.5px;font-weight:700}
.pp-pas-item:nth-child(even){transform:translateY(-6px)}
.pp-empreinte{width:22px;height:22px;transform:rotate(-14deg)}
.pp-empreinte--droite{transform:rotate(14deg) scaleX(-1)}
.pp-pas-item .pp-empreinte path{fill:transparent;stroke:var(--pp-saule-fonce);stroke-width:1.3;stroke-dasharray:2 2}
.pp-pas-item.est-fait{color:var(--pp-tourbe)}
.pp-pas-item.est-fait .pp-empreinte path{fill:var(--pp-tourbe);stroke:none}
.pp-pas-item.est-en-cours{color:var(--pp-rose)}
.pp-pas-item.est-en-cours .pp-empreinte path{fill:var(--pp-rose);stroke:none}
.pp-pas-item.est-en-cours .pp-empreinte{animation:pp-imprime .26s ease-out}
@keyframes pp-imprime{0%{opacity:0;scale:1.35}70%{opacity:1;scale:.92}100%{scale:1}}
.pp-etape{border:0;margin:0;padding:0;min-width:0}
.pp-etape-titre{font:600 clamp(21px, 1.35vw, 25px)/1.15 var(--pp-titre);color:var(--pp-tourbe);margin:0 0 14px;padding:0}
.pp-js .pp-etape{display:none}
.pp-js .pp-etape.est-active{display:block;animation:pp-entre .26s ease-out}
.pp-js .pp-etape.est-active.vers-arriere{animation-name:pp-entre-arriere}
@keyframes pp-entre{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes pp-entre-arriere{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
.pp-choix{display:grid;gap:10px}
.pp-choix--2,.pp-choix--4{grid-template-columns:repeat(2, minmax(0, 1fr))}
.pp-choix--3{grid-template-columns:repeat(3, minmax(0, 1fr))}
.pp-tuile{position:relative;display:block;cursor:pointer}
.pp-tuile input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pp-tuile-corps{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;height:100%;min-height:88px;padding:14px 14px;border:2px solid var(--pp-saule);border-radius:var(--pp-r-m);background:#fff;transition:border-color .18s, background .18s, transform .18s, box-shadow .18s}
.pp-tuile-picto{grid-row:1/3;width:34px;height:34px;color:var(--pp-rose)}
.pp-tuile-corps strong{font-size:16.5px;line-height:1.2;align-self:end}
.pp-tuile-corps small{font-size:13.5px;line-height:1.25;color:var(--pp-galet);align-self:start;margin-top:2px}
.pp-tuile:hover .pp-tuile-corps{border-color:var(--pp-saule-fonce);transform:translateY(-2px);box-shadow:var(--pp-ombre)}
.pp-tuile input:focus-visible + .pp-tuile-corps{outline:3px solid var(--pp-rose);outline-offset:2px}
.pp-tuile input:checked + .pp-tuile-corps{border-color:var(--pp-rose);background:var(--pp-petale)}
.pp-tuile--botte .pp-tuile-corps{grid-template-columns:auto 1fr}
.pp-botte{grid-row:1/3;width:40px;height:40px;color:var(--pp-tourbe)}
.pp-botte-eau{fill:var(--pp-rose);opacity:.9}
.pp-tuile--compacte .pp-tuile-corps{grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:center;text-align:center;row-gap:6px;min-height:84px;padding:12px 8px}
.pp-tuile--compacte .pp-tuile-picto{grid-row:auto;width:30px;height:30px}
.pp-tuile--compacte strong{align-self:auto;font-size:15px}
.pp-lien-inconnu{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:14.5px;font-weight:600;color:var(--pp-galet);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.pp-lien-inconnu input{accent-color:var(--pp-rose)}
.pp-alerte-courant,.pp-danger{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#FBECEB;color:#5E1611;font-size:14.5px;line-height:1.45}
.pp-picto-alerte{width:22px;height:22px;flex:none;color:var(--pp-danger)}
.pp-champs{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.pp-champ{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:700}
.pp-champ--large{grid-column:1/-1}
.pp-champ input{height:50px;padding:0 14px;border:2px solid var(--pp-saule);border-radius:12px;font:500 17px var(--pp-texte);color:var(--pp-tourbe);background:#fff;transition:border-color .18s, box-shadow .18s;width:100%}
.pp-champ input:focus{outline:0;border-color:var(--pp-rose);box-shadow:0 0 0 4px rgba(168,32,106,.12)}
.pp-champ input.est-invalide{border-color:var(--pp-danger)}
.pp-champ input.est-valide{border-color:var(--pp-sec)}
.pp-quand{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 10px}
.pp-quand-titre{font-size:14px;font-weight:700;margin-right:4px}
.pp-quand-choix input{position:absolute;opacity:0}
.pp-quand-choix{position:relative;cursor:pointer}
.pp-quand-choix span{display:inline-flex;padding:8px 14px;border-radius:999px;border:2px solid var(--pp-saule);font-size:14px;font-weight:700;transition:all .18s}
.pp-quand-choix input:checked + span{border-color:var(--pp-rose);background:var(--pp-petale);color:var(--pp-rose-fonce)}
.pp-quand-choix input:focus-visible + span{outline:3px solid var(--pp-rose);outline-offset:2px}
.pp-consentement{display:flex;gap:10px;align-items:flex-start;margin:4px 0 12px;font-size:13px;line-height:1.4;color:var(--pp-galet);cursor:pointer}
.pp-consentement input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:var(--pp-rose)}
.pp-form-erreur{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#FBECEB;color:#5E1611;font-size:14px;font-weight:600}
.pp-form-pied{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.pp-retour{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:6px 0;font:700 14.5px var(--pp-texte);color:var(--pp-galet);cursor:pointer}
.pp-retour:hover{color:var(--pp-rose)}
.pp-picto-retour{width:18px;height:18px}
.pp-form-promesse{margin:0;font-size:13px;line-height:1.35;color:var(--pp-galet);text-align:right;flex:1}
.pp-etape--fin{text-align:left;padding:8px 0 4px}
.pp-fin-titre{display:flex;align-items:center;gap:12px;font:800 30px/1.1 var(--pp-titre);margin:0 0 12px;color:var(--pp-tourbe)}
.pp-fin-picto{width:42px;height:42px;padding:7px;border-radius:50%;background:var(--pp-sec);color:#fff}
.pp-fin-texte{color:var(--pp-galet);margin:0}
.pp-form.est-envoye .pp-pas,.pp-form.est-envoye .pp-form-pied{display:none}
.pp-form.est-en-cours button[type=submit]{opacity:.65;pointer-events:none}
/* Sans JavaScript : toutes les étapes visibles, le bouton envoie. */
.pp-form:not(.pp-js) .pp-etape{margin-bottom:18px}
.pp-form:not(.pp-js) .pp-etape--fin{display:none}

/* ---------- Héros : bureau moyen ---------- */
@media (max-width:1500px){
	.pp-hero-dedans{grid-template-columns:minmax(0, 520px) minmax(0, 1fr);max-height:900px}
	.pp-hero-titre{font-size:clamp(38px, 4.7vw, 68px)}
	.pp-hero-scene{height:min(640px, calc(100vh - var(--pp-entete) - 64px));height:min(640px, calc(100svh - var(--pp-entete) - 64px));min-height:520px}
	.pp-mosaique{left:70px}
	.pp-hero-carte{width:440px}
	.pp-form{padding:20px 22px 16px}
	.pp-tuile-corps{min-height:78px;padding:12px}
	.pp-hero-chapo{margin-bottom:16px}
	.pp-hero-rassure{margin-bottom:22px}
}
@media (max-width:1240px){
	.pp-hero-dedans{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr)}
	.pp-hero-carte{width:400px}
	.pp-mosaique{left:120px}
}
/* ---------- Héros : tablette et mobile (une colonne) ---------- */
@media (max-width:1000px){
	.pp-hero{background:linear-gradient(180deg, #fff 0%, #fff 30%, var(--pp-saule) 30%, #fff 100%)}
	.pp-hero-dedans{display:flex;flex-direction:column;align-items:stretch;min-height:0;max-height:none;padding-top:22px;gap:0}
	.pp-hero-texte{display:contents}
	.pp-etiquette{order:1;align-self:flex-start;margin-bottom:12px;font-size:14px}
	.pp-hero-titre{order:2;font-size:clamp(34px, 8.6vw, 54px);max-width:16ch;margin-bottom:18px}
	.pp-hero-scene{order:3;height:auto;min-height:0}
	.pp-hero-chapo{order:4;margin-top:28px}
	.pp-hero-rassure{order:5}
	.pp-hero-chiffres{order:6;max-width:none}
	.pp-mosaique{position:relative;inset:auto;left:auto;height:clamp(140px, 30vw, 220px);display:grid;grid-template-columns:1.15fr 1fr .9fr;gap:12px}
	.pp-mosaique > .pp-parcelle{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;height:100%}
	.pp-mosaique-d{display:none}
	.pp-panneau-defilant{top:auto;bottom:-14px;right:10px;min-width:0;padding:7px 14px}
	.pp-panneau-defilant .pp-panneau-nom{font-size:14px}
	.pp-hero-carte{position:relative;left:auto;top:auto;transform:none;width:auto;margin-top:-28px;z-index:4}
	.pp-form{padding:18px 16px 14px}
}
@media (max-width:700px){
	.pp-hero-titre{font-size:clamp(30px, 8.6vw, 38px);line-height:1.04;margin-bottom:14px}
	.pp-etiquette{margin-bottom:10px;padding:5px 12px 5px 8px;font-size:13px}
	.pp-mosaique{height:132px;gap:10px;margin-inline:calc(-1 * var(--pp-marge) + 8px)}
	.pp-pas{margin-bottom:12px;padding-bottom:10px}
	.pp-pas-item{font-size:11.5px}
	.pp-empreinte{width:18px;height:18px}
	.pp-etape-titre{font-size:20px;margin-bottom:10px}
	.pp-choix{gap:8px}
	.pp-tuile-corps{min-height:68px;padding:9px 10px;column-gap:8px}
	.pp-tuile-picto,.pp-botte{width:26px;height:26px}
	.pp-tuile-corps strong{font-size:14.5px}
	.pp-tuile-corps small{font-size:12px;line-height:1.2}
	.pp-choix--3{grid-template-columns:repeat(2, minmax(0, 1fr))}
	.pp-tuile--compacte .pp-tuile-corps{min-height:64px;justify-items:center}
	.pp-champs{grid-template-columns:1fr}
	.pp-form-promesse{font-size:12px}
	.pp-hero-chiffres > div{padding:12px}
	.pp-hero-chiffres dt{font-size:12px}
}

/* =====================================================================
   SECTIONS DE L'ACCUEIL
   ===================================================================== */
.pp-section-tete{max-width:720px;margin-bottom:clamp(32px, 4vw, 56px)}
.pp-section-tete h2{font-size:clamp(30px, 2.6vw, 48px);font-weight:800;margin-bottom:14px}
.pp-section-tete p{font-size:clamp(17px, 1.05vw, 20px);color:var(--pp-galet);margin:0}
.pp-section-tete--clair p{color:rgba(255,255,255,.78)}

/* 3 gestes : texte en haut, photo en bas */
.pp-gestes-grille{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:clamp(16px, 2vw, 32px)}
.pp-geste{display:flex;flex-direction:column;background:#fff;border-radius:var(--pp-r-xl);box-shadow:var(--pp-ombre);border:1px solid var(--pp-saule);padding:28px 28px 0;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease}
.pp-geste:hover{transform:translateY(-4px);box-shadow:0 4px 10px rgba(27,36,32,.06), 0 24px 48px rgba(27,36,32,.12)}
.pp-geste h3{font-size:clamp(21px, 1.4vw, 26px);margin-bottom:10px}
.pp-geste p{color:var(--pp-galet);font-size:17px}
.pp-geste-texte{flex:1}
.pp-geste-photo{aspect-ratio:4/3;margin:8px -8px -8px;filter:none}
.pp-danger{max-width:880px;margin-top:28px;font-size:16px}

/* Bande Tourbe */
.pp-bande{background:var(--pp-tourbe);color:#fff;position:relative;overflow:hidden}
.pp-bande h2,.pp-bande h3{color:#fff}
.pp-mot-clair{color:var(--pp-rose-clair)}
.pp-causes{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:clamp(20px, 2.4vw, 40px)}
.pp-cause-photo{aspect-ratio:16/11;margin-bottom:22px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35))}
.pp-cause h3{font-size:clamp(22px, 1.5vw, 28px);margin-bottom:10px}
.pp-cause p{color:rgba(255,255,255,.8);font-size:17px;margin:0}
.pp-chiffres-bande{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:0;margin:clamp(48px, 5vw, 80px) 0 0;border-top:1px solid rgba(255,255,255,.14)}
.pp-chiffres-bande > div{display:flex;flex-direction:column;padding:28px 28px 0;border-left:1px solid rgba(255,255,255,.14)}
.pp-chiffres-bande > div:first-child{border-left:0;padding-left:0}
.pp-chiffres-bande dd{order:-1;margin:0 0 10px;font:800 clamp(44px, 3.8vw, 72px)/1 var(--pp-texte);font-variant-numeric:normal;letter-spacing:-.02em;color:#fff}
.pp-chiffres-bande dt{font-size:15px;line-height:1.45;color:rgba(255,255,255,.75);max-width:34ch}
.pp-source--clair{color:rgba(255,255,255,.6);margin-top:28px}
.pp-bande--courte{padding-block:clamp(40px, 5vw, 72px)}
.pp-bande--courte .pp-chiffres-bande{margin:0;border-top:0}
.pp-bande--courte .pp-chiffres-bande > div{padding-top:0}

/* Outil */
.pp-outil-section{background:var(--pp-petale)}
.pp-outil{background:#fff;border-radius:var(--pp-r-xl);box-shadow:var(--pp-ombre-portee);padding:clamp(24px, 3.4vw, 56px);display:grid;grid-template-columns:minmax(0, .8fr) minmax(0, 1.6fr);gap:clamp(24px, 3vw, 56px);align-items:start}
.pp-outil-tete h2{font-size:clamp(30px, 2.6vw, 48px);font-weight:800}
.pp-outil-tete p{color:var(--pp-galet)}
.pp-outil-corps{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:clamp(20px, 2.4vw, 40px)}
.pp-outil-surface{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:8px 12px;font-weight:700;margin-bottom:22px}
.pp-outil-surface output{font:800 28px/1 var(--pp-texte);font-variant-numeric:normal;color:var(--pp-rose)}
.pp-outil-surface input{grid-column:1/-1;width:100%;accent-color:var(--pp-rose);height:28px}
.pp-outil-hauteurs{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:8px}
.pp-outil-botte{position:relative;cursor:pointer}
.pp-outil-botte input{position:absolute;opacity:0}
.pp-outil-botte > span{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border:2px solid var(--pp-saule);border-radius:var(--pp-r-m);text-align:center;transition:all .18s}
.pp-outil-botte .pp-botte{width:44px;height:44px}
.pp-outil-botte strong{font-size:14px;line-height:1.1}
.pp-outil-botte small{font-size:12.5px;color:var(--pp-galet)}
.pp-outil-botte input:checked + span{border-color:var(--pp-rose);background:var(--pp-petale)}
.pp-outil-botte input:focus-visible + span{outline:3px solid var(--pp-rose);outline-offset:2px}
.pp-outil-resultat{background:var(--pp-saule);border-radius:var(--pp-r-l);padding:24px}
.pp-outil-volume{font:800 clamp(44px, 3.4vw, 64px)/1 var(--pp-texte);font-variant-numeric:normal;margin:0 0 18px;letter-spacing:-.02em}
.pp-outil-volume small{display:block;font:600 16px/1.3 var(--pp-texte);color:var(--pp-galet);letter-spacing:0;margin-top:8px}
.pp-outil-debits{display:grid;gap:8px;margin-bottom:14px}
.pp-outil-debit{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px;padding:12px 16px;font-weight:700}
.pp-outil-debit-duree{font:800 20px var(--pp-texte);font-variant-numeric:normal;color:var(--pp-rose-fonce)}
.pp-outil-note{font-size:13.5px;color:var(--pp-galet);line-height:1.45}

/* Ce qui va se passer */
.pp-deroule-grille{display:grid;grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr);gap:clamp(32px, 5vw, 96px);align-items:start}
.pp-deroule-tete{position:sticky;top:calc(var(--pp-entete) + 40px)}
.pp-deroule-tete .pp-bouton{margin-top:26px}
.pp-temps{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:22px}
.pp-temps::before{content:"";position:absolute;left:66px;top:40px;bottom:40px;width:2px;background:repeating-linear-gradient(180deg, var(--pp-saule-fonce) 0 8px, transparent 8px 16px)}
.pp-temps-item{position:relative;display:grid;grid-template-columns:132px 1fr;gap:28px;align-items:center;background:#fff;border-radius:var(--pp-r-l);padding:14px 24px 14px 14px;box-shadow:var(--pp-ombre);border:1px solid var(--pp-saule)}
.pp-temps-photo{width:132px;height:104px}
.pp-temps-item h3{font-size:clamp(20px, 1.3vw, 24px);margin-bottom:6px}
.pp-temps-item p{margin:0;color:var(--pp-galet);font-size:16.5px}
.pp-temps--ligne{grid-template-columns:repeat(4, minmax(0, 1fr));gap:16px}
.pp-temps--ligne::before{display:none}
.pp-temps--ligne .pp-temps-item{grid-template-columns:1fr;gap:10px;padding:22px}
.pp-temps-num{display:flex;width:48px;height:48px;border-radius:50%;background:var(--pp-petale);align-items:center;justify-content:center}
.pp-temps-num .pp-empreinte{width:22px;height:22px}
.pp-temps-num .pp-empreinte path{fill:var(--pp-rose)}
.pp-deroule--court{padding-top:clamp(48px, 5vw, 80px)}
.pp-deroule--court h2{font-size:clamp(28px, 2.2vw, 40px);font-weight:800}

/* Zone : carte des communes */
.pp-zone{background:var(--pp-saule)}
.pp-zone-grille{display:grid;grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr);gap:clamp(28px, 4vw, 72px);align-items:center}
.pp-zone-liste h2{font-size:clamp(30px, 2.6vw, 48px);font-weight:800}
.pp-zone-liste > p{color:var(--pp-galet);margin-bottom:24px}
.pp-zone-liste .pp-panneaux-liste{margin-bottom:28px}
.pp-zone-carte,.pp-hub-carte{background:#fff;border-radius:var(--pp-r-xl);box-shadow:var(--pp-ombre);padding:clamp(16px, 2vw, 32px)}
.pp-carte-svg{width:100%;height:auto;overflow:visible}
.pp-carte-dept{fill:#F4F8F2;stroke:var(--pp-saule-fonce);stroke-width:1.4;stroke-linejoin:round}
.pp-carte-riviere{fill:none;stroke:#9FB89A;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.pp-carte-commune path{fill:var(--pp-petale);stroke:var(--pp-rose);stroke-width:1.3;transition:fill .18s}
.pp-carte-commune:hover path,.pp-carte-commune:focus path,.pp-carte-commune.est-active path{fill:var(--pp-rose)}
.pp-carte-repere circle{fill:var(--pp-rose);stroke:#fff;stroke-width:2;pointer-events:none}
.pp-carte-repere.est-active circle{fill:var(--pp-tourbe)}
.pp-carte-source{font-size:12px;color:var(--pp-galet);margin:10px 0 0}
.pp-carte-svg--mini .pp-carte-repere circle{r:4}

/* FAQ de l'accueil */
.pp-faq-accueil h2{font-size:clamp(30px, 2.6vw, 48px);font-weight:800;text-align:center}

/* Bandeau d'appel (une fois par page) */
.pp-appel{padding:clamp(56px, 6vw, 104px) var(--pp-marge) clamp(56px, 6vw, 96px)}
.pp-appel-dedans{position:relative;max-width:var(--pp-largeur);margin-inline:auto;background:var(--pp-rose);border-radius:var(--pp-r-xl);color:#fff;display:grid;grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);gap:clamp(24px, 4vw, 72px);align-items:center;padding:clamp(28px, 4vw, 64px)}
.pp-appel-photo{margin-top:calc(-1 * clamp(60px, 7vw, 120px));border-radius:var(--pp-r-l);overflow:hidden;box-shadow:var(--pp-ombre-portee);transform:rotate(-1.5deg);aspect-ratio:4/3}
.pp-appel-photo img{width:100%;height:100%;object-fit:cover}
.pp-appel-texte h2{color:#fff;font-size:clamp(32px, 3vw, 56px);font-weight:800}
.pp-appel-texte p{font-size:clamp(17px, 1.1vw, 20px);color:rgba(255,255,255,.9);max-width:48ch;margin-bottom:26px}

/* Barre basse mobile */
.pp-barre-basse{position:fixed;left:12px;right:12px;bottom:12px;z-index:70;display:none;align-items:center;justify-content:center;gap:10px;min-height:54px;border-radius:999px;background:var(--pp-rose);color:#fff;font-weight:800;text-decoration:none;box-shadow:0 12px 30px -8px rgba(134,20,79,.6)}
.pp-barre-basse .pp-empreinte path{fill:#fff}
@media (max-width:1000px){ .pp-barre-basse.est-visible{display:flex} }

/* ---------- Réactif des sections ---------- */
@media (max-width:1100px){
	.pp-outil{grid-template-columns:1fr}
	.pp-deroule-grille{grid-template-columns:1fr}
	.pp-deroule-tete{position:static}
	.pp-temps--ligne{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width:900px){
	.pp-gestes-grille,.pp-causes{grid-template-columns:1fr}
	.pp-geste{padding:24px 22px 0}
	.pp-chiffres-bande{grid-template-columns:1fr}
	.pp-chiffres-bande > div{border-left:0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.14)}
	.pp-chiffres-bande > div:first-child{border-top:0}
	.pp-zone-grille{grid-template-columns:1fr}
	.pp-outil-corps{grid-template-columns:1fr}
	.pp-appel-dedans{grid-template-columns:1fr}
	.pp-appel-photo{margin-top:calc(-1 * clamp(48px, 12vw, 80px));max-width:420px}
}
@media (max-width:700px){
	.pp-temps-item{grid-template-columns:96px 1fr;gap:14px;padding:12px 14px 12px 12px}
	.pp-temps-photo{width:96px;height:80px}
	.pp-temps::before{left:48px}
	.pp-temps--ligne{grid-template-columns:1fr}
	.pp-outil-hauteurs{grid-template-columns:repeat(2, minmax(0, 1fr))}
	.pp-geste-photo{aspect-ratio:16/10}
}

/* =====================================================================
   PAGE VILLE
   ===================================================================== */
.pp-fil{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--pp-galet);margin-bottom:22px}
.pp-fil a{color:inherit;text-decoration:none}
.pp-fil a:hover{color:var(--pp-rose)}
.pp-ville-tete{background:radial-gradient(ellipse 55% 75% at 75% 50%, var(--pp-saule) 0%, rgba(228,236,223,.4) 50%, rgba(255,255,255,0) 78%), #fff;padding:clamp(24px, 3.5vw, 56px) 0 clamp(48px, 5vw, 80px)}
.pp-ville-tete-grille{display:grid;grid-template-columns:minmax(0, .82fr) minmax(0, 1.18fr);gap:clamp(24px, 3vw, 56px);align-items:center}
.pp-panneau--geant{font-size:clamp(30px, 3.4vw, 64px);padding:12px 26px;border-width:4px;margin:0 0 26px;position:relative;z-index:3;max-width:100%;overflow-wrap:anywhere}
.pp-panneau--long{font-size:clamp(24px, 2.2vw, 42px)}
.pp-ville-titre{font-size:clamp(30px, 2.8vw, 52px);margin-bottom:18px;max-width:20ch}
.pp-ville-chapo{font-size:clamp(17px, 1.1vw, 20px);color:var(--pp-galet);max-width:48ch}
.pp-ville-infos{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--pp-tourbe)}
.pp-ville-infos svg{color:var(--pp-rose)}
.pp-ville-tete-scene{position:relative;display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);align-items:center;min-height:min(640px, calc(100vh - var(--pp-entete) - 120px))}
.pp-ville-photo{grid-area:1/1/2/3;margin-left:20%;height:100%;min-height:560px}
.pp-ville-tete-scene > .pp-credit{position:absolute;right:8px;bottom:-26px}
.pp-ville-carte-form{grid-area:1/1/2/2;position:relative;z-index:3;width:clamp(380px, 24vw, 460px)}
.pp-ville-reperes{padding:clamp(48px, 5vw, 80px) 0;background:var(--pp-saule)}
.pp-ville-reperes-titre{font-size:clamp(26px, 2vw, 38px);font-weight:800;margin-bottom:26px}
.pp-reperes{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:clamp(14px, 1.6vw, 24px)}
.pp-repere{background:#fff;border-radius:var(--pp-r-l);padding:24px;box-shadow:var(--pp-ombre)}
.pp-repere-picto{display:flex;width:52px;height:52px;border-radius:16px;background:var(--pp-petale);color:var(--pp-rose);align-items:center;justify-content:center;margin-bottom:14px}
.pp-repere-picto .pp-picto{width:28px;height:28px}
.pp-repere-titre{font:700 13px var(--pp-texte);color:var(--pp-rose-fonce);margin-bottom:6px}
.pp-repere p:last-child{margin:0;font-size:17px;line-height:1.5}
.pp-ville-corps-grille{display:grid;grid-template-columns:minmax(0, 760px) minmax(0, 360px);justify-content:space-between;gap:clamp(32px, 4vw, 72px);padding-block:clamp(48px, 5vw, 88px) 0}
.pp-ville-cote{position:sticky;top:calc(var(--pp-entete) + 24px);align-self:start;display:grid;gap:18px}
.pp-cote-carte,.pp-cote-voisines{background:#fff;border:1px solid var(--pp-saule);border-radius:var(--pp-r-l);padding:20px;box-shadow:var(--pp-ombre)}
.pp-cote-titre{font:700 15px var(--pp-texte);margin-bottom:12px}
@media (max-width:1240px){
	.pp-ville-tete-grille{grid-template-columns:1fr}
	.pp-ville-tete-scene{min-height:520px}
}
@media (max-width:1000px){
	.pp-ville-corps-grille{grid-template-columns:1fr}
	.pp-ville-cote{position:static}
}
@media (max-width:760px){
	.pp-ville-tete-scene{display:block;min-height:0}
	.pp-ville-photo{margin:0 calc(-1 * var(--pp-marge) + 8px);height:220px;min-height:0}
	.pp-ville-carte-form{width:auto;margin-top:-36px}
	.pp-ville-tete-scene > .pp-credit{position:static;margin-top:10px}
	.pp-reperes{grid-template-columns:1fr}
	.pp-panneau--geant{margin-bottom:18px}
}

/* ---------- Contenu rédigé (pages ville, hub, qui sommes-nous, pages simples) ---------- */
.pp-contenu{font-size:clamp(17px, 1.05vw, 19px);line-height:1.68;max-width:68ch}
.pp-contenu > *:first-child{margin-top:0}
.pp-contenu h2{font-size:clamp(25px, 1.9vw, 34px);margin:1.7em 0 .55em}
.pp-contenu h3{font:700 clamp(19px, 1.2vw, 22px)/1.3 var(--pp-texte);letter-spacing:0;margin:1.4em 0 .4em}
.pp-contenu a{color:var(--pp-rose);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.pp-contenu a:hover{color:var(--pp-rose-fonce)}
.pp-contenu strong{font-weight:700}
.pp-contenu blockquote{margin:1.6em 0;padding:18px 22px;border-radius:var(--pp-r-m);background:var(--pp-petale);font-family:var(--pp-titre);font-size:1.1em}
.pp-contenu .alerte{display:flex;gap:12px;margin:1.6em 0;padding:16px 18px;border-radius:var(--pp-r-m);background:#FBECEB;color:#5E1611;font-size:.95em;line-height:1.5}
.pp-contenu .alerte::before{content:"";flex:none;width:24px;height:24px;margin-top:1px;background:var(--pp-danger);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='3' stroke-linejoin='round'%3E%3Cpath d='M26 4 10 27h12l-2 17 16-23H24z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='3' stroke-linejoin='round'%3E%3Cpath d='M26 4 10 27h12l-2 17 16-23H24z'/%3E%3C/svg%3E") center/contain no-repeat}
.pp-contenu .alerte p{margin:0}
.pp-contenu .etapes{display:grid;gap:12px;margin:1.6em 0;counter-reset:pp-etape}
.pp-contenu .etape{position:relative;padding:18px 20px 18px 66px;border-radius:var(--pp-r-m);background:#fff;border:1px solid var(--pp-saule);box-shadow:var(--pp-ombre);counter-increment:pp-etape}
.pp-contenu .etape::before{content:counter(pp-etape);position:absolute;left:18px;top:18px;width:32px;height:32px;border-radius:50%;background:var(--pp-rose);color:#fff;font:800 16px/32px var(--pp-texte);text-align:center}
.pp-contenu .etape h3{margin:0 0 4px}
.pp-contenu .etape p{margin:0;color:var(--pp-galet)}
.pp-contenu .sources{margin-top:2.4em;padding-top:18px;border-top:1px solid var(--pp-saule);font-size:14px;line-height:1.55;color:var(--pp-galet)}
.pp-contenu .sources a{color:var(--pp-galet)}
.pp-contenu figure{margin:1.6em 0}
.pp-contenu figcaption{font-size:13px;color:var(--pp-galet);margin-top:8px}

/* Infographies du socle */
.sbs_jauges,.sbs_tarifs,.sbs_frise{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:12px;margin:1.8em 0;padding:22px;border-radius:var(--pp-r-l);background:var(--pp-saule)}
.sbs_jauges_titre,.sbs_tarifs_titre,.sbs_frise_titre{grid-column:1/-1;font:700 17px/1.3 var(--pp-texte);margin-bottom:2px}
.sbs_jauge{display:flex;flex-direction:column;background:#fff;border-radius:14px;padding:14px 16px}
.sbs_jauge_libelle{font-size:13.5px;line-height:1.35;color:var(--pp-galet);order:2;margin-top:6px}
.sbs_jauge_valeur{font:800 clamp(28px, 2vw, 36px)/1 var(--pp-texte);font-variant-numeric:normal;letter-spacing:0;white-space:nowrap;color:var(--pp-tourbe);order:1}
.sbs_jauge_unite{font-size:13px;font-weight:700;color:var(--pp-rose-fonce);order:1;margin-top:2px}
.sbs_source{grid-column:1/-1;display:block;font-size:12.5px;color:var(--pp-galet)}
.sbs_tarif{display:flex;align-items:center;gap:12px;grid-column:1/-1}
.sbs_tarif_libelle{width:200px;flex:none;font-size:14px}
.sbs_tarif_barre{flex:1;height:10px;accent-color:var(--pp-rose)}
.sbs_etape{display:block;background:#fff;border-radius:14px;padding:14px}
.sbs_etape_date{font-weight:800;color:var(--pp-rose-fonce)}
.sbs_etape_titre{display:block;font-weight:700}
.sbs_etape_desc{display:block;color:var(--pp-galet);font-size:14px}
[data-shortcode]{display:contents}

/* =====================================================================
   HUB, DEMANDE, QUI SOMMES-NOUS, PAGES SIMPLES, 404, ARTICLES, RUBRIQUES
   ===================================================================== */
.pp-hub-tete{background:var(--pp-saule);padding:clamp(32px, 4vw, 64px) 0 clamp(48px, 5vw, 88px)}
.pp-hub-tete-grille{display:grid;grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);gap:clamp(28px, 4vw, 72px);align-items:center}
.pp-hub-tete h1{font-size:clamp(34px, 3.4vw, 64px)}
.pp-hub-intro{margin-bottom:26px}
.pp-hub-intro h2{font-size:clamp(22px, 1.5vw, 28px)}
.pp-hub-communes h2{font-size:clamp(28px, 2.4vw, 44px);font-weight:800;margin-bottom:32px}
.pp-hub-grille{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:clamp(16px, 2vw, 28px)}
.pp-hub-carte-commune{position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border-radius:var(--pp-r-l);border:1px solid var(--pp-saule);box-shadow:var(--pp-ombre);padding:12px 12px 18px;transition:transform .22s, box-shadow .22s}
.pp-hub-carte-commune:hover{transform:translateY(-4px);box-shadow:0 4px 10px rgba(27,36,32,.06), 0 24px 48px rgba(27,36,32,.12)}
.pp-hub-photo{aspect-ratio:4/3;filter:none}
.pp-panneau--carte{align-self:flex-start;margin:-22px 0 12px 12px;font-size:15px;padding:6px 12px;border-width:2px;position:relative;z-index:2;box-shadow:var(--pp-ombre)}
.pp-hub-carte-commune p{margin:0 6px;font-size:15px;line-height:1.45;color:var(--pp-galet)}
@media (max-width:1240px){ .pp-hub-grille{grid-template-columns:repeat(3, minmax(0, 1fr))} }
@media (max-width:900px){ .pp-hub-tete-grille{grid-template-columns:1fr} .pp-hub-grille{grid-template-columns:repeat(2, minmax(0, 1fr))} }
@media (max-width:560px){ .pp-hub-grille{grid-template-columns:1fr} }

.pp-devis-page{background:var(--pp-petale);padding:clamp(32px, 4vw, 72px) 0 clamp(56px, 6vw, 104px)}
.pp-devis-grille{display:grid;grid-template-columns:minmax(0, 640px) minmax(0, 480px);justify-content:space-between;gap:clamp(28px, 4vw, 72px);align-items:start}
.pp-devis-form h1{font-size:clamp(34px, 3vw, 56px)}
.pp-devis-chapo{font-size:clamp(17px, 1.1vw, 20px);color:var(--pp-galet);max-width:46ch;margin-bottom:26px}
.pp-form--grand{padding:30px 32px 24px}
.pp-devis-cote{background:#fff;border-radius:var(--pp-r-xl);padding:28px;box-shadow:var(--pp-ombre)}
.pp-devis-cote-titre{font:800 20px var(--pp-titre);margin-bottom:16px}
.pp-temps--compact{gap:12px;margin-bottom:26px}
.pp-temps--compact::before{left:44px}
.pp-temps--compact .pp-temps-item{grid-template-columns:88px 1fr;gap:16px;padding:10px 14px 10px 10px;box-shadow:none}
.pp-temps--compact .pp-temps-photo{width:88px;height:70px}
.pp-temps--compact h2{font:700 16.5px/1.25 var(--pp-texte);letter-spacing:0;margin:0 0 3px}
.pp-temps--compact p{font-size:14.5px}
.pp-devis-communes-liste{font-size:14.5px;line-height:1.6;color:var(--pp-galet)}
.pp-devis-texte{font-size:15.5px;margin-top:18px}
@media (max-width:1000px){ .pp-devis-grille{grid-template-columns:1fr} }
@media (max-width:700px){ .pp-form--grand{padding:18px 16px 14px} }

.pp-qsn-tete{padding:clamp(28px, 4vw, 64px) 0 clamp(56px, 6vw, 104px);background:radial-gradient(ellipse 50% 70% at 78% 50%, var(--pp-saule), rgba(255,255,255,0) 72%), #fff}
.pp-qsn-tete-grille{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:clamp(28px, 4vw, 80px);align-items:center}
.pp-qsn-titre{font-size:clamp(34px, 3.6vw, 70px);line-height:1.04;max-width:16ch}
.pp-qsn-titre .pp-ton2{display:block}
.pp-qsn-chapo{font-size:clamp(17px, 1.15vw, 21px);color:var(--pp-galet);max-width:46ch}
.pp-qsn-scene{position:relative}
.pp-qsn-photo{aspect-ratio:5/4}
.pp-panneau--qsn{position:absolute;left:-28px;bottom:48px;z-index:3}
.pp-qsn-corps-grille{display:grid;grid-template-columns:minmax(0, 760px) minmax(0, 380px);justify-content:space-between;gap:clamp(32px, 4vw, 72px);padding-block:clamp(48px, 5vw, 96px) 0}
.pp-qsn-cote{position:sticky;top:calc(var(--pp-entete) + 24px);align-self:start;display:grid;gap:18px}
.pp-qsn-cote-photo{aspect-ratio:4/3}
.pp-qsn-carte{background:#fff;border:1px solid var(--pp-saule);border-radius:var(--pp-r-l);padding:16px;box-shadow:var(--pp-ombre)}
@media (max-width:1000px){ .pp-qsn-tete-grille,.pp-qsn-corps-grille{grid-template-columns:1fr} .pp-qsn-cote{position:static} .pp-panneau--qsn{left:12px;bottom:-18px} }

.pp-page-tete{background:var(--pp-saule);padding:clamp(32px, 4vw, 64px) 0 clamp(36px, 4vw, 56px);margin-bottom:clamp(36px, 4vw, 64px)}
.pp-page-tete h1{font-size:clamp(34px, 3vw, 56px);margin-bottom:8px}
.pp-page-maj{color:var(--pp-galet);font-size:15px;margin:0}
.pp-page-contenu{margin-bottom:clamp(24px, 3vw, 48px)}

.pp-404{padding:clamp(48px, 6vw, 120px) 0}
.pp-404-grille{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:48px;align-items:center}
.pp-404 h1{font-size:clamp(36px, 4vw, 72px)}
.pp-404 p .pp-lien-fort{margin-left:18px}
@media (max-width:900px){ .pp-404-grille{grid-template-columns:1fr} }

.pp-cartes{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:clamp(16px, 2vw, 32px)}
.pp-carte{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;background:#fff;border-radius:var(--pp-r-l);border:1px solid var(--pp-saule);box-shadow:var(--pp-ombre);padding:12px 12px 22px;transition:transform .22s, box-shadow .22s}
.pp-carte:hover{transform:translateY(-4px)}
.pp-carte-photo{aspect-ratio:16/10;filter:none}
.pp-carte h2{font-size:22px;margin:4px 8px 0}
.pp-carte p{margin:0 8px;color:var(--pp-galet);font-size:15.5px}
.pp-carte .pp-pastille{align-self:flex-start;margin:-28px 0 0 14px;position:relative;z-index:2;background:#fff}
.pp-plus{text-align:center;margin-top:36px}
.pp-plus a{font-weight:700;color:var(--pp-rose)}
@media (max-width:900px){ .pp-cartes{grid-template-columns:1fr} }

.pp-rub-tete{position:relative;padding-bottom:40px}
.pp-rub-pano{height:clamp(260px, 30vw, 480px);overflow:hidden}
.pp-rub-pano img{width:100%;height:100%;object-fit:cover}
.pp-rub-plaque{position:relative;margin-top:calc(-1 * clamp(90px, 9vw, 160px));max-width:760px;background:#fff;border-radius:var(--pp-r-xl);box-shadow:var(--pp-ombre-portee);padding:clamp(22px, 3vw, 44px)}
.pp-rub-plaque h1{font-size:clamp(34px, 3.4vw, 64px)}
.pp-rub-compteur{color:var(--pp-galet);font-weight:700;margin:0}

.pp-art-tete{background:linear-gradient(180deg, var(--pp-saule) 0, var(--pp-saule) 72%, #fff 72%);padding:clamp(24px, 3vw, 48px) 0 0}
.pp-art-tete-grille{display:grid;grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);gap:clamp(24px, 4vw, 72px);align-items:end}
.pp-art-tete-texte{padding-bottom:clamp(40px, 5vw, 96px)}
.pp-art-titre{font-size:clamp(32px, 3.1vw, 60px);margin:16px 0}
.pp-art-chapo{font-size:clamp(17px, 1.15vw, 20px);color:var(--pp-galet);max-width:52ch}
.pp-art-meta{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--pp-galet)}
.pp-art-meta img{border-radius:50%}
.pp-art-meta a{font-weight:700;color:var(--pp-tourbe);text-decoration:none}
.pp-art-tete-photo{position:relative}
.pp-art-photo{aspect-ratio:4/3}
.pp-cachet{position:absolute;top:-22px;right:-14px;width:108px;height:108px;border-radius:50%;background:var(--pp-rose);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:var(--pp-ombre-portee);transform:rotate(-8deg);font-size:13px;line-height:1.2}
.pp-cachet strong{font-size:15px}
@media (max-width:900px){ .pp-art-tete{background:var(--pp-saule);padding-bottom:28px} .pp-art-tete-grille{grid-template-columns:1fr} .pp-art-tete-texte{padding-bottom:0} .pp-cachet{width:88px;height:88px;right:6px} }

/* Apparitions au défilement (seulement si le JS a pris la main) */
.pp-js-ok [data-pp-apparait]{opacity:0;transform:translateY(16px);transition:opacity .32s ease, transform .32s ease}
.pp-js-ok [data-pp-apparait].est-vu{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
	.pp-js-ok [data-pp-apparait]{transform:none}
}

/* ---------- Correctifs après captures du 03/10 ---------- */
/* Une photo portrait ne doit jamais agrandir une parcelle à ratio fixe : la découpe remplit la boîte. */
.pp-parcelle{min-height:0}
.pp-parcelle > .pp-parcelle-coupe{position:absolute;inset:0}
.pp-ville-photo > .pp-parcelle-coupe,.pp-mosaique > .pp-parcelle > .pp-parcelle-coupe{position:absolute;inset:0}
.pp-hero-titre{max-width:none}
@media (min-width:1501px){ .pp-hero-titre{font-size:clamp(64px, 4.3vw, 84px)} }
.pp-bouton--entete{gap:0}
@media (max-width:480px){
	.pp-entete-actions{gap:8px;margin-left:auto}
	.pp-logo-nom{font-size:17px}
	.pp-bouton--entete{padding:8px 14px;min-height:40px}
	.pp-burger{width:40px;height:40px}
}
@media (max-width:1000px){
	.pp-panneau-defilant{top:-12px;bottom:auto;right:8px}
}
.pp-signature{display:flex;align-items:center;gap:12px;margin:2.2em 0 0;padding:16px 18px;border-radius:var(--pp-r-m);background:var(--sb-surf);font-size:14.5px;line-height:1.45;color:var(--pp-galet);max-width:68ch}
.pp-signature-symbole{width:30px;height:30px;flex:none}
.pp-signature a{color:var(--pp-rose);font-weight:700}
.pp-faq-accueil .pp-signature{margin-inline:auto}
@media (max-width:1000px){ .pp-panneau-defilant{top:8px;right:8px} }
@media (max-width:700px){
	.pp-devis-page{padding-top:18px}
	.pp-devis-form h1{font-size:30px;margin-bottom:8px}
	.pp-devis-chapo{font-size:16px;margin-bottom:16px}
}

/* =====================================================================
   PASSE 2 — corrections du juge visuel (03/10/2026, soir)
   ===================================================================== */

/* 1. Une seule apparition de la photo de pompe dans le regard (hero-pompe-cave) sur tout
   le site ; les photos de remplacement (pompe-chaine, cave-inondee-sous-sol) gardent la
   même taille de parcelle — rien à régler ici, c'est un changement de fichier source. */

/* 2. Accueil : chaque section tient dans un écran. */

/* 3 gestes : photo plus basse (16/9 au lieu de 4/3) + pastille « Geste n » posée sur la
   photo, comme sur le hub. */
.pp-geste-photo-pose{position:relative;margin:8px -8px -8px}
.pp-geste-photo-pose .pp-geste-photo{margin:0;aspect-ratio:16/9;filter:none}
.pp-panneau--mini,.pp-panneau--mini-clair{position:absolute;left:14px;bottom:14px;z-index:2;font-size:13px;line-height:1;padding:6px 11px;border-width:2px;box-shadow:var(--pp-ombre)}

/* Bandeau « Danger immédiat » pleine largeur, détaché de la grille des 3 gestes. */
.pp-danger-bandeau{width:100%;background:#FBECEB;padding-block:24px;margin-top:8px}
.pp-danger-bandeau .pp-danger{max-width:880px;margin:0 auto;background:transparent;padding:0}
.pp-gestes .pp-source{margin-top:18px}

/* Pourquoi l'eau entre : photos moins hautes, bande de chiffres plus compacte. */
.pp-cause-photo-pose{position:relative;margin-bottom:22px}
.pp-cause-photo-pose .pp-cause-photo{margin-bottom:0;aspect-ratio:16/9}
.pp-chiffres-bande{margin-top:clamp(28px, 3vw, 48px)}
.pp-chiffres-bande > div{padding-top:20px}
.pp-chiffres-bande dd{font-size:clamp(34px, 2.8vw, 54px)}

/* Calculateur : la surface et les bottes rejoignent l'intro, à gauche — plus de grand
   vide sous le texte. Le résultat occupe seul la seconde colonne. */
.pp-outil{grid-template-columns:minmax(0, 1fr) minmax(0, 1.25fr)}
.pp-outil-tete .pp-outil-reglages{margin-top:24px;margin-bottom:0}

/* Ce qui va se passer : plus de colonne collante qui crée un vide — titre au-dessus,
   frise en 4 étapes horizontales (comme sur les pages ville). */
.pp-deroule-tete{position:static;top:auto;max-width:none;margin-bottom:clamp(28px, 3vw, 44px)}
.pp-temps--ligne .pp-temps-photo{margin-inline:auto;margin-bottom:4px}
.pp-temps--ligne .pp-temps-item h3{text-align:center}
.pp-temps--ligne .pp-temps-item p{text-align:center}

/* Carte des communes (zone) : le tracé ne doit plus déborder au-dessus du pied de page. */
.pp-zone-carte .pp-carte-svg{overflow:hidden}

@media (max-width:900px){
	.pp-outil{grid-template-columns:1fr}
}

/* 3. Pages ville : corps en accordéon (cf. pp_ville_accordeon(), inc/pieces.php),
   formulaire complet collé au défilement dans la colonne de droite. */
.pp-accordeon{background:#fff;border:1px solid var(--pp-saule);border-radius:var(--pp-r-l);box-shadow:var(--pp-ombre);margin-bottom:14px;overflow:hidden}
.pp-accordeon:last-of-type{margin-bottom:0}
.pp-accordeon > summary{cursor:pointer;list-style:none;font:600 clamp(20px, 1.4vw, 25px)/1.3 var(--pp-titre);color:var(--pp-tourbe);padding:18px 52px 18px 22px;position:relative}
.pp-accordeon > summary::-webkit-details-marker{display:none}
.pp-accordeon > summary::after{content:"";position:absolute;right:22px;top:50%;width:14px;height:14px;margin-top:-7px;border-right:2.5px solid var(--pp-rose);border-bottom:2.5px solid var(--pp-rose);transform:rotate(45deg);transition:transform .2s}
.pp-accordeon[open] > summary::after{transform:rotate(-135deg)}
.pp-accordeon-corps{padding:0 22px 22px}
.pp-accordeon-corps > *:first-child{margin-top:0}
.pp-ville-contenu > .pp-contenu > p:first-child{margin-bottom:1.4em}
.pp-cote-form .pp-form{box-shadow:var(--pp-ombre)}
.pp-cote-form .pp-form--cote .pp-choix--3{grid-template-columns:repeat(2, minmax(0, 1fr))}
.pp-cote-form .pp-cote-titre{margin-bottom:10px}

/* Pictos inactifs des étapes du formulaire : lisibles (gris foncé), pas des fantômes. */
.pp-pas-item .pp-empreinte path{fill:var(--pp-galet);stroke:none;opacity:.5}

/* Jauges de la page ville : flex, jamais de case vide quel que soit le nombre de tuiles. */
.sbs_jauges{display:flex;flex-wrap:wrap}
.sbs_jauges > .sbs_jauges_titre,.sbs_jauges > .sbs_source{flex:1 1 100%}
.sbs_jauges > .sbs_jauge{flex:1 1 150px}

/* 4. Qui sommes-nous : les classes .etapes/.etape et .alerte existent déjà dans
   .pp-contenu (voir plus haut) — le nouveau balisage de page-19 s'appuie sur elles. */

/* 5. Demande de devis : colonne resserrée (plus de grand vide rose entre les deux). */
.pp-devis-grille{justify-content:center}
@media (min-width:1700px){ .pp-devis-grille{gap:88px} }

/* 6. 404 : une photo, lien d'accueil espacé, communes rangées sous un titre. */
.pp-404-grille{grid-template-columns:minmax(0, 1fr) minmax(0, .8fr)}
.pp-404-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:6px}
.pp-404-photo{aspect-ratio:4/3}
.pp-404-communes{margin-top:clamp(40px, 5vw, 72px)}
.pp-404-communes .pp-cote-titre{font:700 15px var(--pp-texte);color:var(--pp-galet);margin-bottom:14px}
@media (max-width:900px){ .pp-404-grille{grid-template-columns:1fr} }

/* 7. Hub, 390px : la carte arrive avant le texte. */
@media (max-width:900px){
	.pp-hub-tete-texte{order:2}
	.pp-hub-carte{order:1}
}

/* 8. Pied de page : nom = domaine (filtre option_blogname, functions.php) ; communes sur
   3 sous-colonnes ; le « ! » fantôme réduit pour ne plus être coupé ; paragraphe + bouton
   « Demande gratuite » sous le nom, posés par app.js (structure du bloc figé intouchée). */
.sbt-footer-desc .pp-bouton--footer{min-height:44px;padding:10px 18px;font-size:13.5px;box-shadow:none;margin-top:4px}

/* Titre sans retour avant « : » (filtre the_title, functions.php) — au cas où un titre
   très long force quand même un retour, l'espace insécable reste collée au mot d'avant. */
h1,h2,h3{word-spacing:normal}

/* En-tête « Gratuit, sans engagement » (page Demande) : tient sur une ligne en 390. */
@media (max-width:480px){
	.pp-entete-rassure{font-size:12px;gap:0;white-space:nowrap}
	.pp-entete-rassure svg{display:none}
}

/* ---------- 03/10 passe 2 bis : pages ville en 390, le formulaire avant la photo (premier écran) ---------- */
@media (max-width:760px){
	.pp-ville-tete{padding-top:14px}
	.pp-ville-tete .pp-fil{display:none}
	.pp-ville-tete .pp-panneau--geant{font-size:17px;padding:6px 16px;margin-bottom:12px}
	.pp-ville-titre{font-size:clamp(27px, 7.4vw, 32px);margin-bottom:10px}
	.pp-ville-chapo{font-size:15.5px;line-height:1.5;margin-bottom:0}
	.pp-ville-infos{display:none}
	.pp-ville-tete-grille{gap:16px}
	.pp-ville-tete-scene{display:flex;flex-direction:column;align-items:stretch}
	.pp-ville-carte-form{order:-1;margin-top:0}
	.pp-ville-tete-scene > .pp-parcelle,.pp-ville-photo{margin-top:18px;height:180px}
}
/* plaque du hero rentrée dans le cadre de la mosaïque (juge 03/10 P2-8) */
@media (min-width:1001px){ .pp-panneau-defilant{top:14px;right:14px} }
/* pages ville : photos dans « Ce qui va se passer », blanc réduit avant le bandeau d'appel (sb-sortie rendu_page 03/10) */
.pp-temps--ligne .pp-temps-photo{width:100%;height:150px}
.pp-ville .pp-deroule--court{padding-bottom:0}
.pp-ville .pp-deroule--court + .pp-appel,.pp-ville .pp-appel{padding-top:clamp(72px, 6vw, 112px)}
@media (max-width:700px){ .pp-temps--ligne .pp-temps-photo{height:170px} }
/*
 * 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; }
}

/*
 * 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É — 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É — 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: 1fr; } }
.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; } }

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

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

.sbt-footer{ background: var(--sb-fonce, #141733); color: var(--sb-sur-fonce, #ffffff); padding-block: clamp(40px,6vw,64px) 24px; }
.sbt-footer a{ color: #c4c7e4; text-decoration: none; }
.sbt-footer a:hover{ color: #fff; }

.sbt-footer-cta{
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
	padding-bottom: 32px; margin-bottom: 32px; border-bottom: 1px solid rgba(255,255,255,.12);
}
.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; }

/*
 * Habillage des blocs figés (pied, FAQ, sommaire, rail, article, auteur) aux couleurs du site.
 * On ne touche qu'aux couleurs, polices, rayons et marges : jamais à leur structure.
 */

/* Pied de page */
.sbt-footer{background:var(--pp-tourbe);position:relative;overflow:hidden}
.sbt-footer::after{content:"";position:absolute;right:-60px;bottom:-80px;width:340px;height:340px;opacity:.08;background:url("../svg/favicon.svg") center/contain no-repeat;pointer-events:none}
.sbt-footer .sbt-conteneur{max-width:calc(var(--pp-largeur) + 2 * var(--pp-marge));margin-inline:auto;padding-inline:var(--pp-marge);position:relative;z-index:1}
.sbt-footer a{color:rgba(255,255,255,.78)}
.sbt-footer a:hover{color:var(--pp-rose-clair)}
.sbt-footer-grille{grid-template-columns:1.3fr 1.6fr 1fr;gap:clamp(24px, 3vw, 56px)}
.sbt-footer-logo{font:800 24px/1.1 var(--pp-titre);letter-spacing:-.02em}
.sbt-footer-desc,.sbt-footer-cta p{color:rgba(255,255,255,.7)}
.sbt-footer-colonne .sbt-t4{font-family:var(--pp-texte);font-weight:700;color:var(--pp-rose-clair);letter-spacing:.08em}
.sbt-footer-colonne ul a{font-size:15px}
.pp-footer-communes ul{display:grid !important;grid-template-columns:repeat(3, minmax(0, 1fr));column-gap:20px}
.sbt-footer-bas{color:rgba(255,255,255,.55)}
@media (max-width:980px){ .sbt-footer-grille{grid-template-columns:1fr 1fr} .pp-footer-communes{grid-column:1/-1} }
@media (max-width:560px){ .sbt-footer-grille{grid-template-columns:1fr} .pp-footer-communes ul{grid-template-columns:repeat(2, minmax(0, 1fr))} }
@media (max-width:1000px){ .sbt-footer{padding-bottom:96px} } /* place pour la barre basse */

/* Passe 2 (03/10) : le « ! » fantôme (favicon en filigrane) ne doit plus être coupé par
   l'overflow du pied, raccourci au lieu d'être repoussé hors cadre. */
.sbt-footer::after{width:260px;height:260px;right:-30px;bottom:-30px}

/* FAQ figée : centrée, personnalisée (fond Pétale, bord rose à l'ouverture) */
.sbt-faq{background:var(--pp-petale);border:0;border-radius:var(--pp-r-xl);padding:clamp(18px, 2.4vw, 36px);max-width:880px;margin-inline:auto}
.sbt-faq-liste details{background:#fff;border-radius:var(--pp-r-m) !important;border:2px solid transparent !important}
.sbt-faq-liste details[open]{border-color:var(--pp-rose) !important}
.sbt-faq-liste summary{font-family:var(--pp-titre);font-weight:600;font-size:clamp(18px, 1.15vw, 21px);color:var(--pp-tourbe)}
.sbt-faq-liste summary::after{border-color:var(--pp-rose) !important}
.sbt-faq-reponse{font-size:17px;color:var(--pp-galet)}
.pp-contenu .sbt-faq{margin:1.4em 0}

/* Sommaire, rail, article, auteur : jetons --sb-* déjà réglés dans style.css */
.sbt-rail-carte{border-radius:var(--pp-r-l)}
.pp-rail-appel{background:var(--pp-petale);border:0}
.pp-rail-titre{font:800 20px/1.2 var(--pp-titre);margin-bottom:8px}
.pp-rail-appel .pp-bouton{width:100%;margin-top:6px}
.sbt-article-corps{font-family:var(--pp-texte)}
.sbt-article-corps h2{font-family:var(--pp-titre)}
.sbt-article-corps a{color:var(--pp-rose)}
