/* Compléments communs à toutes les pages du site (menu déroulant, textes longs, pages légales).
   Chargé après ardoise.css et après le style intégré de l'accueil. */
header .logo{display:flex;flex:none}
nav>ul{list-style:none;margin:0;padding:0;display:flex;gap:24px;align-items:center}
nav li{position:relative}
nav a{text-decoration:none;color:#e8e8e8;display:block;padding:8px 0}
nav a[aria-current]{color:var(--or3)}
nav .dd>a::after{content:"";display:inline-block;width:7px;height:7px;border-right:2px solid var(--or);border-bottom:2px solid var(--or);transform:rotate(45deg);margin:0 0 3px 8px}
nav .dd ul{list-style:none;margin:0;padding:10px 0;position:absolute;top:100%;left:-16px;min-width:280px;background:var(--noir2);border:1px solid #2b2b2b;border-top:3px solid var(--or);border-radius:0 0 6px 6px;box-shadow:0 18px 40px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s;z-index:50}
nav .dd:hover ul,nav .dd:focus-within ul{opacity:1;visibility:visible;transform:none}
nav .dd ul a{padding:9px 18px;font-weight:500;font-size:15px}
nav .dd ul a:hover{background:#222;color:var(--or3)}
nav .m-devis{display:none}

/* textes générés depuis contenus/ */
.corps p+p,.legal p+p{margin-top:12px}
.corps h3,.legal h3{font-size:22px;margin:22px 0 6px}
.liste,.liste-num{margin:14px 0 0;padding:0;display:grid;gap:10px}
.liste{list-style:none}
.liste li{position:relative;padding-left:24px}
.liste li::before{content:"";position:absolute;left:0;top:.72em;width:12px;height:2px;background:var(--or)}
.liste-num{list-style:none;counter-reset:n}
.liste-num li{counter-increment:n;display:grid;grid-template-columns:44px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #d9d9d4}
.liste-num li::before{content:counter(n,decimal-leading-zero);font-family:var(--f-titre,"Barlow Condensed");font-weight:800;font-size:30px;line-height:1;color:var(--or2)}
.cta-ligne{margin-top:22px}
.voir{margin-top:12px;font-weight:600}.voir a{color:var(--or2);text-decoration:none;border-bottom:2px solid var(--or)}
.corps a:not(.btn),.legal a:not(.btn){color:var(--or2)}
.corps .fig{max-width:100%}
.lieu .a-remplir{display:inline-block;margin-top:2px}
.tableau{overflow-x:auto;margin-top:16px}
.tableau table{border-collapse:collapse;width:100%;font-size:15px}
.tableau th,.tableau td{text-align:left;padding:10px 12px;border-bottom:1px solid #d9d9d4;vertical-align:top}
.tableau th{background:var(--noir);color:#fff;font-weight:600}
.legal{max-width:820px}
.legal .bloc+.bloc{margin-top:40px}
.legal h2{font-size:32px;margin-bottom:10px}
.phero-court .wrap{padding:56px 0 48px}
.bloc>.mur{margin:0 0 56px}

@media(max-width:1000px){
  header .wrap{position:relative}
  nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--noir);border-top:1px solid #222;padding:8px 4vw 20px;max-height:calc(100vh - 70px);overflow:auto}
  body.menu-ouvert nav{display:block}
  nav>ul{flex-direction:column;align-items:stretch;gap:0}
  nav>ul>li>a{padding:14px 0;border-bottom:1px solid #222;font-size:18px}
  nav .dd>a::after{display:none}
  nav .dd ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:none;padding:0 0 8px 14px;min-width:0}
  nav .dd ul a{padding:9px 0;color:#bdbdbd}
  nav .m-devis{display:block;margin-top:14px}
  nav .m-devis a{background:var(--or);color:var(--noir);text-align:center;border-radius:6px;font-weight:700;padding:14px}
}
.renvoi{white-space:nowrap;font-weight:600;color:var(--or2);text-decoration:none;border-bottom:2px solid var(--or)}
.renvoi::before{content:"→ ";color:var(--or)}
@media(max-width:640px){
  .tableau thead{display:none}
  .tableau table,.tableau tbody,.tableau tr,.tableau td{display:block;width:100%}
  .tableau tr{border:1px solid #d9d9d4;border-radius:6px;padding:6px 14px;margin-bottom:12px}
  .tableau td{border:0;padding:8px 0}
  .tableau td+td{border-top:1px solid #eee}
  .tableau td::before{content:attr(data-titre);display:block;font-weight:700;font-size:13px;color:var(--or2);margin-bottom:2px}
}
footer .titre-pied{color:#fff;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:20px;margin:0 0 12px}

/* formulaire de devis (accueil + contact) */
.form-devis .piege{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.form-devis label.check{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:14px;line-height:1.45}
.form-devis label.check input{width:auto;margin-top:3px;flex:none}
.form-devis .err{display:block;color:#b3261e;font-size:13px;font-weight:600;margin-top:-6px}
.form-devis input.bad,.form-devis select.bad,.form-devis textarea.bad{border-color:#b3261e;box-shadow:0 0 0 2px rgba(179,38,30,.15)}
.form-devis .form-etat{color:#b3261e;font-size:14px;font-weight:600;margin:0}
.form-devis .form-etat:empty{display:none}
.form-devis button[disabled]{opacity:.6;cursor:wait}
.form-devis small{color:#5a6169;font-size:13px}
.form-merci{padding:8px 4px;color:#151515}
.form-merci b{display:block;font-family:"Barlow Condensed",sans-serif;font-size:26px;margin-bottom:8px}
.form-merci p+p{margin-top:8px}
.form-merci a{color:#a67d17;font-weight:700}
.email-protege button{font:inherit;font-weight:600;color:var(--or2,#a67d17);background:none;border:0;border-bottom:2px solid var(--or,#d6a72b);padding:0;cursor:pointer}

/* accessibilité : contrastes AA (liens dorés sur fond clair, sous-titres sur fond noir) */
:root{--or-texte:#80600f}
.corps a:not(.btn),.legal a:not(.btn),.liens a,.liens a.ici,.voir a,.renvoi,.form-merci a,.email-protege button,.avis a:not(.btn),.faq a{color:var(--or-texte)}
.liens a:hover{color:#5c4508}
.metiers .sub,.devis .sub{color:#bdbdbd}
.corps .carte-devis a.tel2{color:#cfcfcf}.corps .carte-devis a.tel2 b{color:var(--or3,#f1cf62)}

/* carte schématique de la zone (page contact) */
.carte.carte-svg{display:block;aspect-ratio:auto;margin:6px 0 0;padding:0}
.carte-svg svg{display:block;width:100%;height:auto}
.carte-svg figcaption{background:rgba(11,11,11,.55);color:#cfd3d8;font-size:12px;text-align:center;padding:8px 12px}

/* carte OpenStreetMap de la zone (contact, zone d'intervention) */
.zone-carte{padding-top:0}
.zone-carte .sub{margin:10px 0 0}
.carte-osm{margin:28px 0 0;border-radius:6px;overflow:hidden;background:#20242a}
.carte-osm img{display:block;width:100%;height:auto}
.carte-osm figcaption{background:#171717;color:#bdbdbd;font-size:13px;padding:10px 14px}
.carte-osm figcaption a{color:#f1cf62}
.bloc>.carte-osm{margin:0 0 28px}
.carte-osm.carte-colonne{margin:6px 0 0}
