/*!
 * SNC COUVERTURE — feuille de style principale
 *
 * Direction « Clair » : fond blanc, bleu ardoise pour le texte, orange tuile
 * pour l'action, vert pour la réassurance. Mobile d'abord : chaque bloc est
 * écrit pour le petit écran, les media queries n'ajoutent que l'aisance.
 *
 * Les couleurs sont pilotées par les variables ci-dessous ; theme.json expose
 * les mêmes valeurs à l'éditeur de blocs.
 */

:root{
  --ink:#0F2233; --ink-2:#55677A; --ink-3:#6B7C8C; --mute:#8B9BA8;
  --bg:#FFFFFF; --bg-alt:#F4F7F8; --line:#E2E8EC; --line-2:#EEF2F5;
  --cta:#D2551F; --cta-dark:#B4451A; --cta-soft:#FDEDE4; --cta-bright:#FF7B3D;
  --ok:#1F7A5C; --ok-soft:#E8F4EF; --star:#F0A22E;
  --pad:16px; --r-card:20px; --r-btn:16px;
}
@media (min-width:900px){ :root{ --pad:60px; } }

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:'Plus Jakarta Sans','Helvetica Neue',Arial,sans-serif;
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
  padding-bottom:82px}
@media (min-width:900px){ body{padding-bottom:0} }
h1,h2,h3{margin:0;letter-spacing:-.024em;line-height:1.1}
p{margin:0}
a{color:var(--cta-dark);text-decoration:none}
a:hover{color:var(--cta)}
:focus-visible{outline:3px solid var(--cta);outline-offset:3px;border-radius:6px}
img,svg{max-width:100%}
.wrap{padding-left:var(--pad);padding-right:var(--pad)}
.sec{padding-top:44px;padding-bottom:44px}
@media (min-width:900px){ .sec{padding-top:92px;padding-bottom:92px} }
.alt{background:var(--bg-alt)}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cta)}
.eyebrow.green{color:var(--ok)}
h2.sec-t{font-size:28px;font-weight:800;margin-top:10px}
@media (min-width:900px){ h2.sec-t{font-size:44px} }
.lead{font-size:17px;color:var(--ink-2)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-card)}
.ph{display:inline-flex;align-items:center;border:1px dashed var(--cta);background:var(--cta-soft);
  color:var(--cta-dark);border-radius:5px;padding:1px 8px;font-size:.9em;font-weight:700;white-space:nowrap}
.ph-lite{display:inline-flex;align-items:center;border:1px dashed rgba(255,255,255,.6);
  background:rgba(255,255,255,.14);border-radius:5px;padding:0 8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:var(--r-btn);font-weight:700;font-size:16.5px;min-height:58px;padding:0 26px;
  border:0;cursor:pointer;text-align:center}
@media (min-width:900px){ .btn{border-radius:999px} }
.btn-primary{background:var(--cta);color:#fff}
.btn-outline{background:#fff;border:2px solid var(--ink);color:var(--ink)}
.btn-dark{background:var(--ink);color:#fff}
.btn-white{background:#fff;color:var(--ink)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:100;background:#fff;padding:12px 18px;border-radius:10px;border:2px solid var(--cta)}

/* ── barre haute + en-tête ── */
.topbar{display:none}
@media (min-width:1100px){
  .topbar{display:flex;align-items:center;justify-content:space-between;height:44px;
    background:var(--bg-alt);border-bottom:1px solid #E9EEF1;font-size:13.5px;color:var(--ink-2)}
  .topbar span.sep{color:#C9D4DB}
}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);backdrop-filter:saturate(180%) blur(8px)}
.hd{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:16px}
@media (min-width:900px){ .hd{min-height:92px;border:0} }
.brand{display:flex;align-items:center;gap:10px}
.brand b{font-size:16.5px;font-weight:800;letter-spacing:-.01em;display:block;line-height:1.15}
.brand small{font-size:11.5px;color:var(--ink-3);font-weight:600}
@media (min-width:900px){ .brand b{font-size:22px} .brand small{font-size:12.5px} }
nav.main{display:none}
@media (min-width:1100px){
  nav.main{display:flex;gap:30px;font-size:16px;font-weight:600;color:#23384A}
  nav.main a{color:#23384A}
  nav.main a:hover{color:var(--cta-dark)}
}
.hd-cta{display:flex;align-items:center;gap:10px}
.hd-phone{display:none}
@media (min-width:1100px){ .hd-phone{display:flex;flex-direction:column;align-items:flex-end;gap:1px}
  .hd-phone .lb{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)} }
.icon-btn{width:52px;height:52px;border-radius:14px;border:1.5px solid var(--line);
  display:flex;align-items:center;justify-content:center;background:#fff}
@media (min-width:1100px){ .icon-btn.burger{display:none} }
.hd .btn{min-height:52px;font-size:15.5px;padding:0 24px;display:none}
@media (min-width:1100px){ .hd .btn{display:inline-flex} }

/* ── hero ── */
.hero{position:relative;overflow:hidden}
@media (min-width:900px){ .hero{min-height:660px;display:flex;align-items:center} }
.hero-media{position:relative;border-radius:0;overflow:hidden;background:#DCE9F2}
@media (max-width:899px){
  .hero-media{margin:16px var(--pad) 0;border-radius:var(--r-card)}
  /* on recadre sur la maison plutôt que d'afficher toute la scène en tout petit */
  .hero-photo{aspect-ratio:16/10;height:auto}
}
@media (min-width:900px){
  .hero-media{position:absolute;inset:0;margin:0}
  .hero-media .hero-photo{width:100%;height:100%}
}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:64% 50%;display:block;
  animation:drift 26s ease-in-out infinite alternate;transform-origin:64% 50%}
@keyframes drift{from{transform:scale(1.02) translateX(0)}to{transform:scale(1.09) translateX(-1.5%)}}
@media (prefers-reduced-motion:reduce){ .hero-media .drift{animation:none} }
.hero-fade{display:none}
@media (min-width:900px){
  .hero-fade{display:block;position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.45) 55%,rgba(255,255,255,0) 100%)}
}
.hero-video{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;
  object-position:64% 50%;opacity:0;transition:opacity .7s ease;pointer-events:none}
.hero-media.playing .hero-video{opacity:1}
.hero-media.playing .vid-ctrl{display:flex}
.vid-chip{display:none}
.hero-media.playing .vid-chip{display:inline-flex}
#vidToggle .ic-play{display:none}
#vidToggle.is-paused .ic-pause{display:none}
#vidToggle.is-paused .ic-play{display:block}
.vid-chip{position:absolute;top:12px;left:12px;align-items:center;gap:8px;
  background:rgba(15,34,51,.72);border-radius:999px;padding:7px 13px;color:#fff;font-size:11.5px;font-weight:700}
@media (min-width:900px){ .vid-chip{top:24px;left:auto;right:var(--pad);font-size:12.5px;padding:9px 15px} }
.vid-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--cta-bright)}
.vid-ctrl{display:none;position:absolute;bottom:12px;right:12px;gap:8px}
@media (min-width:900px){ .vid-ctrl{bottom:24px;right:var(--pad)} }
.vid-ctrl button{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.94);border:0;
  display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(15,34,51,.14);cursor:pointer}
.hero-inner{position:relative;width:100%}
.hero-card{padding:24px 0 8px}
@media (min-width:900px){
  .hero-card{max-width:660px;background:rgba(255,255,255,.94);border:1px solid #E9EEF1;
    border-radius:28px;padding:44px;box-shadow:0 24px 60px rgba(15,34,51,.10)}
}
.hero h1{font-size:35px;font-weight:800;margin:14px 0 14px}
@media (min-width:900px){ .hero h1{font-size:50px;line-height:1.08;text-wrap:balance} }
.hero p.lead{max-width:540px}
@media (min-width:900px){ .hero p.lead{font-size:18.5px} }
.hero-btns{display:flex;flex-direction:column;gap:10px;margin-top:22px}
@media (min-width:600px){ .hero-btns{flex-direction:row;flex-wrap:wrap;align-items:center} }
.btn-call{background:var(--cta);color:#fff;min-height:60px;display:inline-flex;align-items:center;
  justify-content:center;gap:12px;border-radius:var(--r-btn);padding:0 26px;font-weight:800}
@media (min-width:900px){ .btn-call{border-radius:999px;min-height:66px;padding:0 30px} }
.btn-call .lb{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.82;font-weight:700;display:none}
@media (min-width:900px){ .btn-call .lb{display:block} .btn-call .stack{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15} }
.btn-call .num{font-size:20px;font-weight:800}

/* ── bandes ── */
.trust{border-bottom:1px solid #E9EEF1;display:grid;gap:12px;padding-top:22px;padding-bottom:22px}
@media (min-width:700px){ .trust{grid-template-columns:1fr 1fr;gap:24px} }
@media (min-width:1100px){ .trust{grid-template-columns:repeat(4,1fr);gap:30px;padding-top:30px;padding-bottom:30px} }
.trust .it{display:flex;align-items:center;gap:14px;min-height:56px}
.trust .ico{width:50px;height:50px;border-radius:15px;background:var(--cta-soft);
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
.trust .ico.green{background:var(--ok-soft)}
.trust b{font-size:16px;font-weight:700;display:block}
.trust small{font-size:14.5px;color:var(--ink-3)}

/* ── grilles ── */
.grid{display:grid;gap:14px}
@media (min-width:700px){ .grid{grid-template-columns:1fr 1fr;gap:22px} }
@media (min-width:1100px){ .grid.g3{grid-template-columns:repeat(3,1fr)} .grid.g4{grid-template-columns:repeat(4,1fr)} }
.svc{padding:16px;display:flex;align-items:center;gap:14px;min-height:76px}
@media (min-width:700px){ .svc{flex-direction:column;align-items:flex-start;gap:15px;padding:30px} }
.svc .ico{width:48px;height:48px;border-radius:14px;background:var(--cta-soft);
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
@media (min-width:700px){ .svc .ico{width:56px;height:56px;border-radius:17px} }
.svc h3{font-size:17px;font-weight:700}
@media (min-width:700px){ .svc h3{font-size:22px} }
.svc p{font-size:14.5px;color:var(--ink-3);line-height:1.45}
@media (min-width:700px){ .svc p{font-size:15.5px;line-height:1.6;color:var(--ink-2);flex-grow:1} }
.svc .go{display:none}
@media (min-width:700px){ .svc .go{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--cta-dark)} }
.svc .chev{margin-left:auto;flex-shrink:0}
@media (min-width:700px){ .svc .chev{display:none} }

/* ── avant / après ── */
.ba{position:relative;border-radius:var(--r-card);overflow:hidden;background:#E8EEF2;
  aspect-ratio:16/10;display:grid}
.ba .side{grid-area:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.ba .after{background:#DEE7ED;clip-path:inset(0 0 0 var(--split,50%))}
.ba .lab{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:700}
.ba input[type=range]{grid-area:1/1;align-self:center;width:100%;margin:0;background:transparent;
  -webkit-appearance:none;appearance:none;z-index:3;height:100%}
.ba input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:56px;height:56px;border-radius:50%;
  background:#fff;box-shadow:0 8px 22px rgba(15,34,51,.22);cursor:ew-resize;border:0}
.ba input[type=range]::-moz-range-thumb{width:56px;height:56px;border-radius:50%;background:#fff;
  box-shadow:0 8px 22px rgba(15,34,51,.22);cursor:ew-resize;border:0}
.ba .bar{grid-area:1/1;width:4px;background:#fff;justify-self:start;margin-left:calc(var(--split,50%) - 2px);height:100%;z-index:2}
.ba .hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:4;
  font-size:12.5px;font-weight:600;color:var(--ink-2);background:rgba(255,255,255,.92);
  border-radius:999px;padding:6px 14px;white-space:nowrap}
.tag{display:inline-flex;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--cta-dark);background:var(--cta-soft);border-radius:999px;padding:5px 12px}
.tag.green{color:var(--ok);background:var(--ok-soft)}

/* ── galerie de chantiers ── */
.shots{display:grid;gap:16px}
@media (min-width:700px){ .shots{grid-template-columns:1fr 1fr;gap:22px} }
@media (min-width:1100px){ .shots{grid-template-columns:repeat(3,1fr)} }
.shot{margin:0;overflow:hidden;display:flex;flex-direction:column}
@media (min-width:1100px){ .shot.big{grid-column:span 2;grid-row:span 2} }
.shot-img{position:relative;background:#EDF2F5;aspect-ratio:4/3;overflow:hidden}
@media (min-width:1100px){ .shot.big .shot-img{aspect-ratio:16/11} }
.shot-img img{width:100%;height:100%;object-fit:cover;display:block}
.shot figcaption{padding:18px 20px 22px;display:flex;flex-direction:column;gap:9px}
.shot .tags{display:flex;flex-wrap:wrap;gap:8px}
.shot h3{font-size:18px;font-weight:700}
@media (min-width:1100px){ .shot.big h3{font-size:24px} }
.shot p{font-size:15px;color:var(--ink-2);line-height:1.55}

/* ── process ── */
.step{padding:20px;display:flex;gap:14px;align-items:flex-start}
@media (min-width:700px){ .step{flex-direction:column;padding:30px} }
.step .n{width:40px;height:40px;border-radius:13px;background:var(--ink);color:#fff;font-weight:800;
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step.last .n{background:var(--cta)}
.step h3{font-size:17.5px;font-weight:700}
@media (min-width:700px){ .step h3{font-size:20px} }
.step p{font-size:15.5px;color:var(--ink-2)}

/* ── zones ── */
.zone{border-radius:16px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;
  min-height:56px;background:#fff;border:1px solid var(--line)}
.zone b{font-size:15.5px;font-weight:700}
.zone span{font-size:13.5px;color:var(--mute);font-weight:700}

/* ── étapes de chantier ── */
.etapes-t{font-size:24px;font-weight:800}
@media (min-width:900px){ .etapes-t{font-size:30px} }
.etapes{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.etape{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column}
.etape-img{position:relative;aspect-ratio:4/3;background:#EDF2F5}
.etape-img img{width:100%;height:100%;object-fit:cover;display:block}
.etape-n{position:absolute;left:12px;top:12px;width:34px;height:34px;border-radius:11px;
  background:var(--ink);color:#fff;font-size:15px;font-weight:800;
  display:flex;align-items:center;justify-content:center}
.etape figcaption{padding:16px 18px 20px;display:flex;flex-direction:column;gap:7px}
.etape h3{font-size:17px;font-weight:700}
.etape p{font-size:14.5px;color:var(--ink-2);line-height:1.5}

/* ── avis ── */
.stars{display:flex;gap:3px}
.rev{padding:24px;display:flex;flex-direction:column;gap:15px}
@media (min-width:900px){ .rev{padding:32px 30px} }
.rev p{font-size:16px;line-height:1.65;flex-grow:1}
.rev .who{padding-top:14px;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:4px}

/* ── avis ── */
.revs{display:grid;gap:16px}
@media (min-width:700px){ .revs{grid-template-columns:1fr 1fr;gap:22px} }
@media (min-width:1100px){ .revs{grid-template-columns:repeat(3,1fr)} }
.rev{margin:0;padding:24px;display:flex;flex-direction:column;gap:14px}
.rev-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rev .stars{display:flex;gap:2px}
@media (min-width:900px){ .rev{padding:30px} }
.rev .src{font-size:11.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-3);background:var(--bg-alt);border:1px solid var(--line);
  border-radius:999px;padding:5px 12px}
.alt .rev .src{background:#fff}
.rev blockquote{margin:0;font-size:16px;line-height:1.62;flex-grow:1}
.rev .who{padding-top:14px;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:5px}
.rev .who b{font-size:15.5px;font-weight:700}

/* ── FAQ ── */
details{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
details[open]{background:var(--bg-alt);border-color:var(--line)}
summary{list-style:none;cursor:pointer;padding:18px 20px;min-height:56px;display:flex;
  align-items:center;justify-content:space-between;gap:16px;font-size:17px;font-weight:700}
@media (min-width:900px){ summary{font-size:20px;padding:24px 30px} }
summary::-webkit-details-marker{display:none}
summary .pm{flex-shrink:0;transition:transform .18s ease}
details[open] summary .pm{transform:rotate(45deg)}
details .ans{padding:0 20px 20px;font-size:16px;color:var(--ink-2);line-height:1.68;
  display:flex;flex-direction:column;gap:12px}
@media (min-width:900px){ details .ans{padding:0 30px 26px;max-width:860px} }
details .ans b{color:var(--ink);font-weight:700}
details .ans ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:7px}
details .ans li{padding-left:2px}
.faq{display:flex;flex-direction:column;gap:12px;max-width:980px}
.faq-grp{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--cta);margin:26px 0 0}
.faq-grp:first-child{margin-top:0}
.faq-chapo{font-size:15.5px;color:var(--ink-3);margin:0 0 6px;max-width:720px}

/* ── CTA + pied ── */
.cta-band{background:var(--ink);border-radius:22px;padding:28px 22px;display:flex;flex-direction:column;gap:16px}
@media (min-width:900px){ .cta-band{border-radius:28px;padding:60px 56px;flex-direction:row;
  align-items:center;justify-content:space-between;gap:48px} }
.cta-band h2{color:#fff;font-size:27px;font-weight:800}
@media (min-width:900px){ .cta-band h2{font-size:42px} }
.cta-band p{color:#A9BBC9;font-size:16px;max-width:560px}
.cta-band .btns{display:flex;flex-direction:column;gap:12px;flex-shrink:0}
footer{background:var(--bg-alt);border-top:1px solid #E9EEF1;padding-top:36px}
@media (min-width:900px){ footer{padding-top:68px} }
.fgrid{display:grid;gap:28px;padding-bottom:32px}
@media (min-width:900px){ .fgrid{grid-template-columns:1.4fr repeat(3,1fr);gap:48px;padding-bottom:52px} }
.fcol h4{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cta);margin:0 0 14px}
.fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.fcol li a{display:flex;align-items:center;min-height:48px;font-size:15px;color:var(--ink-2)}
@media (min-width:900px){ .fcol li a{min-height:32px} }
.fnap{display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--ink-2)}
.fnap span{display:inline-flex;align-items:flex-start;gap:10px;min-height:32px}
.fbot{border-top:1px solid var(--line);padding:20px 0 26px;font-size:14px;color:var(--mute);
  display:flex;flex-direction:column;gap:6px}
@media (min-width:900px){ .fbot{flex-direction:row;align-items:center;justify-content:space-between} }
.fbot .links{display:flex;flex-wrap:wrap;gap:10px 24px}
.fbot .links a{color:var(--mute)}

/* ── barre CTA mobile ── */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.97);
  border-top:1px solid var(--line);padding:10px 12px 14px;display:grid;grid-template-columns:1fr 1fr;gap:10px;
  box-shadow:0 -10px 28px rgba(15,34,51,.10)}
@media (min-width:900px){ .mbar{display:none} }
.mbar a{min-height:56px;border-radius:var(--r-btn);display:flex;align-items:center;justify-content:center;
  gap:9px;font-size:16.5px;font-weight:700}
.mbar .call{background:var(--cta);color:#fff}
.mbar .quote{background:var(--ink);color:#fff}

/* ── menu mobile ── */
#menu{display:none;position:fixed;inset:0;z-index:70;background:#fff;padding:0 16px;overflow:auto}
#menu.open{display:block}
#menu .top{display:flex;align-items:center;justify-content:space-between;min-height:64px;
  border-bottom:1px solid var(--line);margin:0 -16px;padding:0 16px}
#menu nav a{display:flex;align-items:center;justify-content:space-between;min-height:60px;
  border-bottom:1px solid var(--line-2);font-size:19px;font-weight:700;color:var(--ink)}

/* ─────────────────────────────────────────────────────────────────
   Ajouts propres au thème WordPress
   ───────────────────────────────────────────────────────────────── */

/* Marqueur d'information manquante : visible des seuls administrateurs. */
.snc-ph {
	display: inline-flex;
	align-items: center;
	border: 1px dashed var(--cta);
	background: var(--cta-soft);
	color: var(--cta-dark);
	border-radius: 5px;
	padding: 1px 8px;
	font-size: .9em;
	font-weight: 700;
	white-space: nowrap;
}

/* Fil d'Ariane */
.snc-breadcrumb {
	padding: 14px 0;
	font-size: 14px;
	color: var(--ink-3);
	border-bottom: 1px solid var(--line-2);
}

.snc-breadcrumb ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.snc-breadcrumb li::after {
	content: "›";
	margin-left: 8px;
	color: #c5ced4;
}

.snc-breadcrumb li:last-child::after {
	content: "";
}

.snc-breadcrumb a {
	color: var(--ink-3);
}

.snc-breadcrumb [aria-current] {
	color: var(--ink);
	font-weight: 600;
}

/* Corps de texte issu de l'éditeur */
.snc-prose {
	max-width: 70ch;
	font-size: 17px;
	line-height: 1.72;
	color: var(--ink-2);
}

.snc-prose > * + * {
	margin-top: 1.1em;
}

.snc-prose h2 {
	font-size: 28px;
	font-weight: 800;
	color: var(--ink);
	margin-top: 1.8em;
}

.snc-prose h3 {
	font-size: 21px;
	font-weight: 700;
	color: var(--ink);
	margin-top: 1.6em;
}

.snc-prose ul,
.snc-prose ol {
	padding-left: 1.4em;
	display: flex;
	flex-direction: column;
	gap: .5em;
}

.snc-prose img {
	border-radius: var(--r-card);
	height: auto;
}

.snc-prose blockquote {
	margin: 0;
	padding-left: 20px;
	border-left: 3px solid var(--cta);
	font-size: 18px;
	color: var(--ink);
}

/* Titre de page intérieure */
.snc-page-hero {
	background: var(--bg-alt);
	border-bottom: 1px solid var(--line);
	padding-top: 30px;
	padding-bottom: 34px;
}

@media (min-width: 900px) {
	.snc-page-hero {
		padding-top: 52px;
		padding-bottom: 56px;
	}
}

.snc-page-hero h1 {
	font-size: 32px;
	font-weight: 800;
	margin-top: 10px;
}

@media (min-width: 900px) {
	.snc-page-hero h1 {
		font-size: 46px;
	}
}

/* Pagination */
.snc-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 32px;
}

.snc-pagination .page-numbers {
	min-width: 46px;
	min-height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
	border: 1px solid var(--line);
	border-radius: 12px;
	color: var(--ink);
	font-weight: 600;
}

.snc-pagination .page-numbers.current {
	background: var(--ink);
	border-color: var(--ink);
	color: #fff;
}

/* Section vide : on ne l'affiche pas, mais on prévient l'administrateur. */
.snc-empty {
	border: 1px dashed var(--cta);
	background: var(--cta-soft);
	color: var(--cta-dark);
	border-radius: var(--r-card);
	padding: 18px 20px;
	font-size: 15px;
	font-weight: 600;
}

/* Accessibilité : lien d'évitement */
.skip:focus {
	outline: 3px solid var(--cta);
}

/* Alignements du cœur WordPress */
.alignleft {
	float: left;
	margin: .3em 1.4em 1em 0;
}

.alignright {
	float: right;
	margin: .3em 0 1em 1.4em;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}


/* ── Compléments du thème WordPress ── */

.snc-logo__mark {
	flex-shrink: 0;
}

.snc-logo__img {
	max-height: 48px;
	width: auto;
	height: auto;
}

.snc-logo__text b {
	font-size: 16.5px;
	font-weight: 800;
	display: block;
	line-height: 1.15;
}

.snc-logo__text small {
	font-size: 11.5px;
	color: var(--ink-3);
	font-weight: 600;
}

@media (min-width: 900px) {
	.snc-logo__text b {
		font-size: 22px;
	}

	.snc-logo__text small {
		font-size: 12.5px;
	}
}

.hd-phone {
	color: var(--ink);
	text-decoration: none;
}

.hd-phone .num {
	font-size: 16px;
	font-weight: 800;
	white-space: nowrap;
}

.btn-call .ico {
	display: inline-flex;
}

.btn-call .num {
	white-space: nowrap;
}

/* Image absente : un aplat plutôt qu'une icône cassée */
.snc-noimage {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 160px;
	background: var(--bg-alt);
}

.shot-img {
	display: block;
}

.shot h3 a {
	color: inherit;
	text-decoration: none;
}

.rev-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.rev .stars {
	display: flex;
	gap: 2px;
}

.rev .src {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ink-3);
	background: var(--bg-alt);
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 5px 12px;
	text-decoration: none;
}

.alt .rev .src {
	background: #fff;
}

/* Menus WordPress dans le pied de page */
.fcol ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.fbot .links a {
	color: var(--mute);
}

/* Landing sans navigation */
.snc-landing--nonav .mbar {
	display: grid;
}

@media (min-width: 900px) {
	.snc-landing--nonav .mbar {
		display: none;
	}
}


/* ── Formulaire de devis ── */
.snc-devis {
	display: grid;
	gap: 24px;
}

@media (min-width: 1000px) {
	.snc-devis {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
		align-items: start;
	}
}

.snc-devis__aside {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.snc-devis__aside .trust {
	display: grid;
	grid-template-columns: 1fr;
	border: 0;
	padding: 0;
}

.snc-form {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	padding: 24px 22px 28px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

@media (min-width: 900px) {
	.snc-form {
		padding: 34px 32px 38px;
	}
}

.snc-form fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.snc-form > fieldset + fieldset {
	padding-top: 22px;
	border-top: 1px solid var(--line-2);
}

.snc-form legend {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--cta);
	padding: 0;
}

.snc-form__grid {
	display: grid;
	gap: 16px;
}

@media (min-width: 640px) {
	.snc-form__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.snc-form__row {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 0;
}

.snc-form__row label {
	font-size: 14.5px;
	font-weight: 700;
}

.snc-form input[type="text"],
.snc-form input[type="tel"],
.snc-form input[type="email"],
.snc-form select,
.snc-form textarea {
	min-height: 58px;
	border: 1.5px solid #DDE4E9;
	border-radius: 16px;
	background: #fff;
	padding: 14px 16px;
	font: inherit;
	font-size: 17px;
	color: var(--ink);
	width: 100%;
}

.snc-form textarea {
	min-height: 110px;
	resize: vertical;
}

.snc-form input:focus,
.snc-form select:focus,
.snc-form textarea:focus {
	outline: 3px solid var(--cta);
	outline-offset: 2px;
	border-color: var(--cta);
}

.snc-form__choices {
	gap: 10px;
}

.snc-form__choices label {
	min-height: 60px;
	border: 1.5px solid #DDE4E9;
	border-radius: 16px;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 16px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}

.snc-form__choices label:has( input:checked ) {
	border: 2px solid var(--cta);
	background: var(--cta-soft);
	color: var(--cta-dark);
}

.snc-form__consent {
	margin: 0;
}

.snc-form__consent label {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--ink-2);
}

.snc-form__consent input {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	margin-top: 2px;
}

.snc-form__submit {
	min-height: 60px;
	width: 100%;
	font-size: 17px;
}

@media (min-width: 640px) {
	.snc-form__submit {
		width: auto;
		align-self: flex-start;
		padding: 0 34px;
	}
}

.snc-form__legal {
	font-size: 13px;
	color: var(--mute);
	line-height: 1.55;
	margin: 0;
}

.snc-form__error {
	background: #FDECEC;
	border: 1px solid #F0B4B4;
	border-radius: 14px;
	padding: 16px 18px;
	color: #A32020;
	font-size: 15px;
}

.snc-form__error ul {
	margin: 8px 0 0;
	padding-left: 20px;
}

/* Piège à robots : hors écran, jamais masqué par display:none — certains
   automates ignorent les champs cachés de cette manière. */
.snc-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ── carte de prestation avec photo ──────────────────────────────────────
   Une image ne tient pas dans la pastille d'icône : un élément flex ne
   descend pas sous sa largeur intrinsèque, il déborde. Avec photo, la carte
   change donc de structure — bandeau à gauche sur mobile, en haut au-delà. */
.card{overflow:hidden}

.svc--photo{padding:0;align-items:stretch;gap:0}
.svc--photo .svc__media{width:112px;flex-shrink:0;background:#EDF2F5;overflow:hidden}
.svc--photo .svc__media img{width:100%;height:100%;object-fit:cover;display:block}
.svc--photo .svc__body{padding:16px 14px 16px 16px;justify-content:center}
.svc--photo .chev{margin-right:14px;align-self:center}

@media (min-width:700px){
  .svc--photo{flex-direction:column;padding:0;gap:0}
  .svc--photo .svc__media{width:auto;aspect-ratio:3/2}
  .svc--photo .svc__body{padding:24px 30px 30px;gap:9px}
}

/* ── pied de page : colonnes, horaires, note d'urgence ───────────────────
   Le nombre de colonnes s'adapte : une colonne vide ne s'affiche pas, et la
   grille se resserre au lieu de laisser un trou. */
@media (min-width:900px){
  .fgrid--4{grid-template-columns:1.4fr repeat(3,1fr)}
  .fgrid--3{grid-template-columns:1.5fr 1fr 1.05fr;gap:56px}
  .fgrid--2{grid-template-columns:1.6fr 1fr;gap:56px}
}

.fhours{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.fhours li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  font-size:15px;color:var(--ink-2);min-height:40px;align-items:center;
  border-bottom:1px solid rgba(15,34,51,.06)}
.fhours li:last-child{border-bottom:0}
@media (min-width:900px){ .fhours li{min-height:34px} }

.furgence{margin-top:14px;background:var(--ok-soft);border-radius:14px;padding:13px 15px;
  display:flex;align-items:flex-start;gap:10px}
.furgence svg{margin-top:2px}
.furgence span{font-size:13.5px;line-height:1.5;color:var(--ok);font-weight:600}
