.dn-reponse{background:var(--cmo-paper-2);border-left:var(--cmo-b2) solid var(--cmo-accent);padding:1rem 1.25rem;margin:0 0 1.5rem;max-width:74ch}
.dn-reponse p{margin:0 0 .5em}
.dn-reponse p:last-child{margin:0}
.dn-chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1px;background:var(--wrm-line);border:1px solid var(--wrm-line);margin:0 0 1.75rem}
.dn-chiffres div{background:var(--cmo-paper);padding:.9rem 1rem}
.dn-chiffres b{display:block;font-size:clamp(22px,2.4vw,30px);line-height:1.15;color:var(--cmo-ink)}
.dn-chiffres span{display:block;font-size:.875rem;color:var(--cmo-ink-3)}
.dn-tw{overflow-x:auto;margin:0 0 1.25rem;-webkit-overflow-scrolling:touch}
.dn-t{border-collapse:collapse;width:100%;min-width:34rem;font-size:.9375rem}
.dn-t caption{caption-side:top;text-align:left;font-weight:600;padding:0 0 .5rem}
.dn-t th,.dn-t td{border-bottom:1px solid var(--wrm-line);padding:.5rem .65rem;text-align:left;vertical-align:top}
.dn-t thead th{background:var(--cmo-paper-2);border-bottom:2px solid var(--wrm-line-ink);font-weight:600}
.dn-t td.n,.dn-t th.n{text-align:right;font-variant-numeric:tabular-nums}
.dn-t tbody tr:nth-child(even){background:var(--cmo-paper-2)}
.dn-t button.dn-tri{all:unset;cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.dn-t button.dn-tri:focus-visible{outline:2px solid var(--cmo-accent-d);outline-offset:2px}
.dn-carte{height:420px;border:1px solid var(--wrm-line-ink);margin:0 0 1rem;background:var(--cmo-paper-3)}
.dn-carte--court{height:320px}
.dn-source{font-size:.875rem;color:var(--cmo-ink-3);margin:1rem 0 0;max-width:80ch}
.dn-source a{color:inherit}
.dn-liste{columns:2 14rem;column-gap:2rem;padding-left:1.1rem;margin:0 0 1.25rem}
.dn-liste li{margin-bottom:.35rem;break-inside:avoid}
.dn-bloc{padding-block:clamp(1.5rem,3vw,2.5rem);background:var(--cmo-paper-2)}
.dn-bloc h2{margin:0 0 .6rem}
.dn-bloc p{margin:0 0 .8em;max-width:74ch}
.dn-acces{padding-block:clamp(1.75rem,3.5vw,3rem)}
.dn-acces__l{list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.dn-acces__l a{display:block;border:1px solid var(--wrm-line-ink);padding:.9rem 1rem;text-decoration:none;color:inherit;height:100%}
.dn-acces__l a:hover,.dn-acces__l a:focus-visible{background:var(--cmo-paper-2);outline:2px solid var(--cmo-accent-d)}
.dn-acces__l b{display:block;margin-bottom:.25rem}
.dn-acces__l span{font-size:.9rem;color:var(--cmo-ink-3)}
.dn-outil{border:1px solid var(--wrm-line-ink);padding:1.25rem;margin:0 0 1.5rem;background:var(--cmo-paper)}
.dn-champ{margin:0 0 1rem}
.dn-champ label,.dn-champ legend{display:block;font-weight:600;margin-bottom:.35rem}
.dn-champ select,.dn-champ input[type=text],.dn-champ input[type=search]{font:inherit;width:100%;max-width:34rem;padding:.6rem .7rem;border:1px solid var(--wrm-field-line);background:var(--cmo-paper);color:var(--cmo-ink)}
.dn-champ fieldset{border:0;padding:0;margin:0}
.dn-champ .dn-radio{display:block;margin:.3rem 0}
.dn-btn{font:inherit;font-weight:600;padding:.65rem 1.1rem;border:2px solid var(--cmo-ink);background:var(--cmo-ink);color:var(--cmo-paper);cursor:pointer}
.dn-btn:hover,.dn-btn:focus-visible{background:var(--cmo-accent-d);border-color:var(--cmo-accent-d);outline:none}
.dn-btn--clair{background:transparent;color:var(--cmo-ink)}
.dn-btn--clair:hover,.dn-btn--clair:focus-visible{color:var(--cmo-paper)}
.dn-res{border-left:var(--cmo-b2) solid var(--cmo-accent);background:var(--cmo-paper-2);padding:1rem 1.25rem;margin:1rem 0}
.dn-res[hidden]{display:none}
.dn-res h3{margin:0 0 .5rem;font-size:1.125rem}
.dn-ok{color:oklch(.42 .1 150)}
.dn-non{color:oklch(.45 .15 30)}
.dn-sugg{list-style:none;margin:.25rem 0 0;padding:0;max-width:34rem;border:1px solid var(--wrm-field-line);background:var(--cmo-paper)}
.dn-sugg li button{all:unset;display:block;box-sizing:border-box;width:100%;padding:.5rem .7rem;cursor:pointer}
.dn-sugg li button:hover,.dn-sugg li button:focus-visible{background:var(--cmo-paper-2);outline:2px solid var(--cmo-accent-d)}
.dn-bar{display:flex;align-items:center;gap:.5rem;font-size:.875rem}
.dn-bar i{display:block;height:.8rem;background:var(--cmo-accent)}
.dn-bar i.fg{background:oklch(.5 .15 30)}
@media (max-width:640px){.dn-carte{height:340px}}
.dn-point{display:inline-block;width:.85rem;height:.85rem;border-radius:50%;border:1px solid var(--cmo-ink);background:var(--cmo-paper-3);margin-right:.5rem;vertical-align:-.1rem}
.dn-atmo{display:flex;align-items:center;gap:.25rem}
