:root{--vert:#1f4d3a;--vert2:#2f6b52;--creme:#f7f2e7;--encre:#1d2420;--gris:#5b655f;--bord:#d9d2bf;--ocre:#a8681f}
*{box-sizing:border-box}
body{margin:0;background:var(--creme);color:var(--encre);font:17px/1.55 "Source Sans 3",system-ui,sans-serif}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px 40px}
h1,h2,h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;line-height:1.2;color:var(--vert)}
h1{font-size:1.8rem;margin:.6em 0 .4em}h2{font-size:1.35rem;margin:1.6em 0 .4em}h3{font-size:1.1rem;margin:.2em 0}
a{color:var(--vert2)}a:hover{color:var(--ocre)}
.top{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:2px solid var(--vert)}
.logo{font:800 1.35rem "Bricolage Grotesque",sans-serif;color:var(--vert);text-decoration:none}.logo span{color:var(--ocre)}
.top nav{display:flex;flex-wrap:wrap;gap:6px 16px}.top nav a{text-decoration:none;font-weight:600}
.bc{font-size:.85rem;color:var(--gris);margin:12px 0 0}.bc a{color:var(--gris)}
.lead{font-size:1.1rem;color:#33403a;max-width:60ch}
.hero{padding:18px 0 6px}
.btn{display:inline-block;background:var(--vert);color:#fff;border:0;border-radius:8px;padding:12px 20px;font:700 1rem "Source Sans 3",sans-serif;text-decoration:none;cursor:pointer;min-height:44px}
.btn:hover{background:var(--ocre);color:#fff}
.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.carte{display:block;background:#fff;border:1px solid var(--bord);border-top:4px solid var(--vert);border-radius:10px;padding:14px;text-decoration:none;color:var(--encre)}
.carte p{margin:.2em 0 0;color:var(--gris)}
.calc,.filtres,.devis{background:#fff;border:1px solid var(--bord);border-radius:10px;padding:16px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end;margin:12px 0}
.champ label{display:block;font-weight:600;font-size:.9rem;margin-bottom:4px}
.champ input,.champ select{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--bord);border-radius:6px;font:inherit;background:#fff}
.champ.coche label{display:flex;gap:8px;align-items:center;min-height:44px;font-weight:600}.champ.coche input{width:auto;min-height:0}
.res,.nb{grid-column:1/-1;margin:0}
.res:empty{display:none}
.res{background:#eef5ef;border-left:0;border-top:4px solid var(--vert);border-radius:8px;padding:12px 14px}
.res ul{margin:.4em 0 0;padding-left:18px}
.tableau{overflow-x:auto;margin:14px 0}
.comp{border-collapse:collapse;width:100%;background:#fff;font-size:.93rem}
.comp th{background:var(--vert);color:#fff;text-align:left;padding:8px 10px;white-space:nowrap}
.comp td{border-bottom:1px solid var(--bord);padding:8px 10px;vertical-align:top}
.comp small{display:block;color:var(--gris);font-size:.78rem}
.comp tr.cache{display:none}
.liste{padding-left:18px}.meta{color:var(--gris);font-size:.9rem}
.alerte{background:#fff4e0;border-top:4px solid var(--ocre);padding:12px;border-radius:8px}
.source{font-size:.9rem;color:var(--gris)}
.mesh{margin:24px 0}.links{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;padding:0}
.pied{margin-top:36px;padding-top:14px;border-top:1px solid var(--bord);font-size:.88rem;color:var(--gris)}
@media (max-width:700px){
 .comp thead{display:none}.comp,.comp tbody,.comp tr,.comp td{display:block;width:100%}
 .comp tr{border:1px solid var(--bord);border-top:4px solid var(--vert);border-radius:8px;margin-bottom:10px;padding:6px 0}
 .comp td{border:0;padding:4px 12px}.comp td:before{content:attr(data-l) " : ";font-weight:600;color:var(--gris)}
 .tableau{overflow:visible}
}
.bloc-groupe{background:#fff;border:1px solid var(--bord);border-top:4px solid var(--ocre);border-radius:10px;padding:4px 16px 12px;margin:26px 0}
.groupes-pub{margin:.4em 0}
.etapes-txt li{margin:.5em 0}
.cg{display:block;max-width:640px}
.cg .etape{background:#fff;border:1px solid var(--bord);border-top:4px solid var(--vert);border-radius:10px;padding:14px 16px;margin:0 0 12px}
.cg .etape[hidden]{display:none}
.cg .champ{margin:10px 0}
.raison{color:var(--gris);font-size:.93rem;margin:.2em 0 .8em}
.radios{display:grid;gap:8px}.radio{display:flex;gap:10px;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--bord);border-radius:8px;background:#fff;font-weight:600}
.radio input{width:20px;height:20px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;margin-top:12px}.consent input{margin-top:4px;width:20px;height:20px;flex:none}
.erreur{background:#fdeaea;border-top:4px solid #b3261e;padding:10px 12px;border-radius:8px;color:#7a1a14}
.modele-choisi{background:#eef5ef;border-radius:8px;padding:8px 12px;margin-bottom:10px}
.btn.sec{background:#fff;color:var(--vert);border:2px solid var(--vert)}
.nav-etapes{display:flex;gap:10px;margin:8px 0}
.alerte{margin:16px 0}
.indep{background:#fff;border:1px solid var(--bord);border-top:4px solid var(--vert);border-radius:8px;padding:10px 14px;max-width:70ch}
.stats td:first-child{font-weight:600}
@media (max-width:700px){.comp.stats td{display:inline-block;width:50%;vertical-align:top}.comp.stats td:first-child{width:100%}}
