:root{--bg:#f4f5f7;--ink:#1c2530;--mut:#5b6776;--brand:#10324f;
--accent:#c8541c;--card:#fff;--line:#e0e3e8}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Georgia,'Times New Roman',serif;color:var(--ink);
background:var(--bg);line-height:1.6;font-size:17px}
header{background:var(--brand);color:#fff;padding:14px 20px;display:flex;
align-items:baseline;gap:14px;flex-wrap:wrap}
.logo{color:#fff;text-decoration:none;font-weight:700;font-size:1.25rem;
letter-spacing:.3px}
.logo span{color:#f0a878;font-weight:400}
.tag{color:#9fb4c6;font-size:.82rem}
main{max-width:880px;margin:0 auto;padding:26px 20px 10px}
h1{font-size:1.7rem;line-height:1.25;color:var(--brand);margin-bottom:14px}
h2{font-size:1.22rem;color:var(--brand);margin:26px 0 10px;
border-bottom:2px solid var(--line);padding-bottom:5px}
h3{font-size:1rem;margin:14px 0 4px}
p{margin:9px 0}
a{color:var(--accent)}
.fil{font-size:.8rem;color:var(--mut);margin-bottom:14px}
.fil a{color:var(--mut)}
.fil span{color:var(--ink)}
.intro{font-size:1.05rem}
.dispo{background:#fff;border:1px solid var(--line);
border-left:4px solid var(--accent);padding:11px 15px;margin:14px 0;
font-size:.95rem}
.dispo a{font-weight:700;white-space:nowrap}
.cles{background:var(--card);border:1px solid var(--line);border-left:4px solid
var(--accent);padding:14px 18px;margin:18px 0}
.cles h2{border:0;margin:0 0 8px;font-size:1rem;padding:0}
.cles dl{display:grid;grid-template-columns:auto 1fr;gap:3px 16px;font-size:.92rem}
.cles dt{color:var(--mut)}
.cles dd{font-weight:700}
table.prix{width:100%;border-collapse:collapse;margin:12px 0;font-size:.93rem;
background:var(--card)}
table.prix caption{font-size:.8rem;color:var(--mut);text-align:left;
margin-bottom:6px}
table.prix th,table.prix td{border:1px solid var(--line);padding:7px 10px;
text-align:left}
table.prix th{background:var(--brand);color:#fff;font-weight:700}
table.prix tr:nth-child(even) td{background:#fafbfc}
.sim{background:var(--card);border:1px solid var(--line);padding:16px 18px;
margin:18px 0}
.sim h2{border:0;margin:0 0 10px;padding:0}
.sim label{display:block;font-size:.9rem;margin:8px 0;color:var(--mut)}
.sim input[type=number]{display:block;margin-top:3px;padding:8px;width:140px;
font-size:1rem;border:1px solid var(--line);border-radius:3px;font-family:inherit}
.sim .chk{display:flex;align-items:center;gap:7px;color:var(--ink)}
.sim button{margin-top:10px;background:var(--accent);color:#fff;border:0;
padding:10px 22px;font-size:.95rem;border-radius:3px;cursor:pointer;
font-family:inherit}
.sim .res{font-size:1.15rem;font-weight:700;color:var(--brand);min-height:1.4em}
.mini{font-size:.78rem;color:var(--mut)}
.glf{background:#0d2638;color:#dfe6ec;padding:16px 18px;margin:20px 0}
.glf h2{color:#fff;border-color:#26415a}
.cta{display:block;text-align:center;text-decoration:none;background:#11324a;
border:1px solid #2f5170;border-radius:4px;padding:16px;margin:14px 0}
.cta-label{display:block;color:#9fb4c6;font-size:.78rem;
text-transform:uppercase;letter-spacing:.5px}
.cta-num{display:block;color:#fff;font-size:1.85rem;font-weight:700;
letter-spacing:1px;margin-top:3px}
.cta-mobile{display:none}
.callbar{display:none}
.glf a{color:#f0a878}
.faq h3{color:var(--brand)}
.autres ul{list-style:none;columns:2;font-size:.9rem;margin:6px 0}
.autres li{margin:3px 0;break-inside:avoid}
ul.regions,ul.depts,ul.autres{list-style:none}
ul.regions li,ul.depts li{display:flex;justify-content:space-between;
background:var(--card);border:1px solid var(--line);padding:9px 13px;
margin:5px 0}
ul.regions a,ul.depts a{text-decoration:none;font-weight:700}
ul.regions span,ul.depts span{color:var(--mut);font-size:.85rem;
font-weight:400}
.cols{column-width:230px;column-gap:26px}
.grp{break-inside:avoid;margin-bottom:14px}
.grp h3{color:var(--accent);border-bottom:1px solid var(--line)}
.grp ul{list-style:none;font-size:.88rem}
.grp li{margin:2px 0}
.count{color:var(--mut);font-size:.85rem}
footer{max-width:880px;margin:30px auto 0;padding:18px 20px 40px;
border-top:1px solid var(--line);font-size:.78rem;color:var(--mut)}
footer p{margin:7px 0}
.disc{background:#fff;border:1px solid var(--line);padding:10px 12px}
@media(max-width:560px){.autres ul{columns:1}.cles dl{grid-template-columns:1fr}
h1{font-size:1.4rem}body{font-size:16px;padding-bottom:60px}
.cta-desktop{display:none}.cta-mobile{display:block;color:#fff;
font-size:1.2rem;font-weight:700}
.cta{background:var(--accent);border-color:var(--accent)}
.callbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;
text-align:center;background:var(--accent);color:#fff;text-decoration:none;
padding:14px;font-size:1.08rem;font-weight:700;
box-shadow:0 -2px 12px rgba(0,0,0,.3)}}
