:root{--fond:#f6f8fb;--txt:#1c2430;--doux:#5b6878;--bleu:#0f4c81;--bleu2:#e6eff8;--bord:#dde4ec;--blanc:#fff}
*{box-sizing:border-box}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--txt);background:var(--fond)}
.w{max-width:960px;margin:0 auto;padding:0 16px}
a{color:var(--bleu)}
.top{background:var(--blanc);border-bottom:1px solid var(--bord)}
.top .w{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;flex-wrap:wrap}
.logo{font-weight:700;text-decoration:none;color:var(--txt);font-size:19px}.logo b{color:var(--bleu)}
.top nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.top nav a{text-decoration:none;font-size:15px}
.btn{display:inline-block;background:var(--bleu);color:#fff!important;border:0;border-radius:8px;padding:10px 18px;font:600 16px system-ui,sans-serif;text-decoration:none;cursor:pointer}
.btn:disabled{opacity:.6}
main{padding:20px 16px 40px}
h1{font-size:30px;line-height:1.25;margin:12px 0 16px}h2{font-size:22px;margin:32px 0 12px}
.lead{font-size:19px}
.fil{font-size:14px;color:var(--doux);margin-top:8px}
.cta{background:var(--bleu2);border:1px solid #c9dbee;border-radius:12px;padding:16px 20px;margin:24px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cta p{margin:0;flex:1 1 300px}.cta.big{padding:24px}
table.prix{width:100%;border-collapse:collapse;background:var(--blanc);font-size:15px}
.prix th,.prix td{border:1px solid var(--bord);padding:8px 10px;text-align:left}.prix th{background:var(--bleu2)}
.note,.src{font-size:14px;color:var(--doux)}
ul.etabs{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
ul.etabs li{background:var(--blanc);border:1px solid var(--bord);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;font-size:15px}
ul.etabs .tag{font-size:13px;color:var(--doux)}
ul.communes{list-style:none;padding:0;columns:3 200px;font-size:15px}ul.communes li{break-inside:avoid;padding:2px 0}ul.communes span{color:var(--doux);font-size:13px}
.voisines{line-height:2}
details{background:var(--blanc);border:1px solid var(--bord);border-radius:10px;padding:10px 14px;margin:8px 0}summary{cursor:pointer;font-weight:600}
.fiche{background:var(--blanc);border:1px solid var(--bord);border-radius:12px;padding:8px 20px}
footer{background:#1c2430;color:#c8d1dc;font-size:14px;padding:24px 0}footer a{color:#fff}
.devis{background:var(--blanc);border:1px solid var(--bord);border-radius:14px;padding:20px;max-width:640px}
.devis label{display:block;padding:10px 12px;border:1px solid var(--bord);border-radius:8px;margin:8px 0;cursor:pointer}
.devis label.champ{border:0;padding:4px 0;cursor:default;font-weight:600;font-size:15px}
.devis input:not([type=radio]):not([type=checkbox]),.devis select,.devis textarea{display:block;width:100%;margin-top:4px;padding:10px;border:1px solid var(--bord);border-radius:8px;font:16px system-ui,sans-serif}
.devis .consent{font-size:14px;border:0;padding:8px 0}
.devis .nav{display:flex;gap:12px;justify-content:space-between;margin-top:16px}
.devis .nav button:not(.btn){background:none;border:1px solid var(--bord);border-radius:8px;padding:10px 16px;font:16px system-ui,sans-serif}
.pas{font-size:13px;color:var(--doux);text-align:center}
.err{color:#b42318;font-weight:600}
.hp{position:absolute;left:-9999px}
.sugg{list-style:none;padding:0;margin:0}.sugg li{padding:8px 10px;border:1px solid var(--bord);border-top:0;cursor:pointer;font-size:15px}.sugg li:hover{background:var(--bleu2)}
@media (max-width:600px){h1{font-size:25px}.top nav a:not(.btn){display:none}}
