/*!
 * AR TOITURE — feuille de style principale
 *
 * Direction reprise du logo : anthracite pour le texte, or bronze pour
 * l'action, blanc cassé chaud pour les fonds. L'or est volontairement assombri
 * par rapport au logo : un or clair sur blanc ne se lit pas. Mobile d'abord —
 * chaque bloc est écrit pour le petit écran, les media queries ajoutent
 * 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:#141519; --ink-2:#565A62; --ink-3:#6B7079; --mute:#8C9198;
  --bg:#FFFFFF; --bg-alt:#F7F5F1; --line:#E6E2DA; --line-2:#F1EDE6;
  --cta:#946716; --cta-dark:#6F4C0C; --cta-soft:#FAF2E0; --cta-bright:#E1A445;
  --ok:#1F6B57; --ok-soft:#E9F3F0; --star:#D8A12A;
  --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:#EDE9E1;
  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:#F1EDE6;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:#F1EDE6}
.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. */
.art-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 */
.art-breadcrumb {
	padding: 14px 0;
	font-size: 14px;
	color: var(--ink-3);
	border-bottom: 1px solid var(--line-2);
}

.art-breadcrumb ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.art-breadcrumb li::after {
	content: "›";
	margin-left: 8px;
	color: #c5ced4;
}

.art-breadcrumb li:last-child::after {
	content: "";
}

.art-breadcrumb a {
	color: var(--ink-3);
}

.art-breadcrumb [aria-current] {
	color: var(--ink);
	font-weight: 600;
}

/* Corps de texte issu de l'éditeur */
.art-prose {
	max-width: 70ch;
	font-size: 17px;
	line-height: 1.72;
	color: var(--ink-2);
}

.art-prose > * + * {
	margin-top: 1.1em;
}

.art-prose h2 {
	font-size: 28px;
	font-weight: 800;
	color: var(--ink);
	margin-top: 1.8em;
}

.art-prose h3 {
	font-size: 21px;
	font-weight: 700;
	color: var(--ink);
	margin-top: 1.6em;
}

.art-prose ul,
.art-prose ol {
	padding-left: 1.4em;
	display: flex;
	flex-direction: column;
	gap: .5em;
}

.art-prose img {
	border-radius: var(--r-card);
	height: auto;
}

.art-prose blockquote {
	margin: 0;
	padding-left: 20px;
	border-left: 3px solid var(--cta);
	font-size: 18px;
	color: var(--ink);
}

/* Titre de page intérieure */
.art-page-hero {
	background: var(--bg-alt);
	border-bottom: 1px solid var(--line);
	padding-top: 30px;
	padding-bottom: 34px;
}

@media (min-width: 900px) {
	.art-page-hero {
		padding-top: 52px;
		padding-bottom: 56px;
	}
}

.art-page-hero h1 {
	font-size: 32px;
	font-weight: 800;
	margin-top: 10px;
}

@media (min-width: 900px) {
	.art-page-hero h1 {
		font-size: 46px;
	}
}

/* Pagination */
.art-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 32px;
}

.art-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;
}

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

.art-logo__mark {
	flex-shrink: 0;
}

.art-logo__img {
	max-height: 48px;
	width: auto;
	height: auto;
}

.art-logo__text b {
	font-size: 16.5px;
	font-weight: 800;
	display: block;
	line-height: 1.15;
}

.art-logo__text small {
	font-size: 11.5px;
	color: var(--ink-3);
	font-weight: 600;
}

@media (min-width: 900px) {
	.art-logo__text b {
		font-size: 22px;
	}

	.art-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 */
.art-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 */
.art-landing--nonav .mbar {
	display: grid;
}

@media (min-width: 900px) {
	.art-landing--nonav .mbar {
		display: none;
	}
}


/* ── Formulaire de devis ── */
.art-devis {
	display: grid;
	gap: 24px;
}

@media (min-width: 1000px) {
	.art-devis {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
		align-items: start;
	}
}

.art-devis__aside {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.art-devis__aside .trust {
	display: grid;
	grid-template-columns: 1fr;
	border: 0;
	padding: 0;
}

.art-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) {
	.art-form {
		padding: 34px 32px 38px;
	}
}

.art-form fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.art-form > fieldset + fieldset {
	padding-top: 22px;
	border-top: 1px solid var(--line-2);
}

.art-form legend {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--cta);
	padding: 0;
}

.art-form__grid {
	display: grid;
	gap: 16px;
}

@media (min-width: 640px) {
	.art-form__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.art-form__row {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 0;
}

.art-form__row label {
	font-size: 14.5px;
	font-weight: 700;
}

.art-form input[type="text"],
.art-form input[type="tel"],
.art-form input[type="email"],
.art-form select,
.art-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%;
}

.art-form textarea {
	min-height: 110px;
	resize: vertical;
}

.art-form input:focus,
.art-form select:focus,
.art-form textarea:focus {
	outline: 3px solid var(--cta);
	outline-offset: 2px;
	border-color: var(--cta);
}

.art-form__choices {
	gap: 10px;
}

.art-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;
}

.art-form__choices label:has( input:checked ) {
	border: 2px solid var(--cta);
	background: var(--cta-soft);
	color: var(--cta-dark);
}

.art-form__consent {
	margin: 0;
}

.art-form__consent label {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--ink-2);
}

.art-form__consent input {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	margin-top: 2px;
}

.art-form__submit {
	min-height: 60px;
	width: 100%;
	font-size: 17px;
}

@media (min-width: 640px) {
	.art-form__submit {
		width: auto;
		align-self: flex-start;
		padding: 0 34px;
	}
}

.art-form__legal {
	font-size: 13px;
	color: var(--mute);
	line-height: 1.55;
	margin: 0;
}

.art-form__error {
	background: #FDECEC;
	border: 1px solid #F0B4B4;
	border-radius: 14px;
	padding: 16px 18px;
	color: #A32020;
	font-size: 15px;
}

.art-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. */
.art-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:#F1EDE6;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}

/* ── bandeau sans photo ───────────────────────────────────────────────────
   Tant qu'aucune photo de chantier n'est fournie, le bandeau affiche un
   décor dessiné aux couleurs de la marque plutôt qu'un aplat gris. La carte
   du bandeau passe en sombre pour rester lisible par-dessus. */
.hero-photo--vide{background:#141519;display:block;aspect-ratio:16/10}
.hero-photo--vide svg{width:100%;height:100%;display:block}
@media (min-width:900px){ .hero-photo--vide{aspect-ratio:auto;height:100%} }

.hero:has(.hero-photo--vide) .hero-media{background:#141519}
@media (min-width:900px){
  .hero:has(.hero-photo--vide) .hero-card{
    background:rgba(18,19,23,.86);
    border-color:rgba(225,164,69,.28);
    backdrop-filter:blur(2px);
  }
  .hero:has(.hero-photo--vide) .hero-card h1{color:#FFFFFF}
  .hero:has(.hero-photo--vide) .hero-card .lead{color:#D6D2CA}
  .hero:has(.hero-photo--vide) .hero-card .eyebrow{color:#E1A445}
  /* Le bouton sombre disparaîtrait sur une carte sombre : on l'inverse. */
  .hero:has(.hero-photo--vide) .hero-card .btn-dark{background:#FFFFFF;color:#141519}
  .hero:has(.hero-photo--vide) .hero-card .btn-dark:hover{background:#F1EDE6}
  .hero:has(.hero-photo--vide) .hero-fade{
    background:linear-gradient(90deg,rgba(12,13,16,.9) 0%,rgba(12,13,16,.55) 52%,rgba(12,13,16,.15) 100%);
  }
}

/* ── illustrations dessinées ──────────────────────────────────────────────
   Occupent la place d'une photo tant qu'aucune n'est fournie. Elles
   disparaissent d'elles-mêmes dès qu'une image est posée sur la prestation. */
.svc__media--dessin{background:#141519}
.svc__media--dessin .art-illus{width:100%;height:100%;display:block;object-fit:cover}
@media (min-width:700px){ .svc__media--dessin{aspect-ratio:3/2} }

.art-illus-bande{display:block;width:100%;aspect-ratio:21/9;background:#141519;
  border-radius:var(--r-card);overflow:hidden}
.art-illus-bande .art-illus{width:100%;height:100%;display:block}
