:root{--ink:#17211f;--paper:#f5f7f6;--accent:#0f6b5c;--accent2:#b4531a;--muted:#55625f;--line:#d3dcd9;--card:#fff}
*{box-sizing:border-box}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
header.top{background:var(--ink);color:#fff}
header.top div{max-width:780px;margin:0 auto;padding:10px 18px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:.95rem}
header.top a{color:#fff;text-decoration:none}
header.top a.brand{font-weight:700;margin-right:auto}
main,footer{max-width:780px;margin:0 auto;padding:24px 18px}
h1{font-size:1.85rem;line-height:1.2;margin:.3em 0}
h2{font-size:1.3rem;margin-top:2em;line-height:1.3}
h3{font-size:1.08rem;margin:1.4em 0 .3em}
.lead{color:var(--muted);font-size:1.05rem}
.badge{display:inline-block;font-size:.8rem;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:2px 10px;background:var(--card)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin:18px 0}
fieldset{border:0;padding:0;margin:0 0 16px}
legend{font-weight:700;margin-bottom:6px}
label.opt{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border:1px solid var(--line);border-radius:8px;margin:6px 0;background:#fff;cursor:pointer}
label.opt:has(input:checked){border-color:var(--accent);background:#eef6f4}
label.opt input{margin-top:5px}
button,.btn{display:inline-block;font:inherit;font-weight:700;padding:12px 18px;border:0;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;text-decoration:none}
.btn.alt{background:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}
.res h3{margin-top:1em}
.tag{font-weight:700}
.tag.oui{color:#9a3412}.tag.non{color:#166534}.tag.cond{color:#7c5e10}
ul.check{padding-left:1.1em}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:top}
.small{font-size:.9rem;color:var(--muted)}
.offer{border:2px solid var(--accent);background:#fff}
a{color:var(--accent)}
details{border-bottom:1px solid var(--line);padding:10px 0}
summary{font-weight:600;cursor:pointer}
footer{border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
footer a{color:var(--muted);margin-right:14px}
