.dn-bloc{padding-block:clamp(2rem,4vw,3.5rem)}
.dn-bloc h2{max-width:none}
.dn-bloc h3{font-family:var(--f-titre);font-size:clamp(19px,2.2vw,24px);margin:1.6rem 0 .6rem}
.dn-chapo{font-size:clamp(17px,1.8vw,20px);line-height:1.5;max-width:60ch;margin:0 0 1.2rem}
.dn-chapo strong{color:var(--accent-2)}
.dn-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0;max-width:100%}
.dn-table{border-collapse:collapse;width:100%;min-width:30rem;font-size:15px;line-height:1.4}
.dn-table caption{text-align:left;font-weight:700;padding:0 0 .5rem;font-size:14px}
.dn-table th,.dn-table td{padding:.55rem .7rem;border-bottom:1px solid var(--line-on-surface);text-align:left;vertical-align:top}
.dn-table th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2);white-space:nowrap}
.dn-table td.n,.dn-table th.n{text-align:right;font-variant-numeric:tabular-nums}
.dn-table tbody tr:hover{background:oklch(100% 0 0 / .35)}
.dn-table th button{all:unset;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}
.dn-table th button:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
.dn-liste{list-style:none;margin:.6rem 0 1rem;padding:0}
.dn-liste li{padding:.35rem 0 .35rem 1.1em;position:relative;border-bottom:1px solid var(--line-on-surface)}
.dn-liste li:before{content:"";position:absolute;left:0;top:1.05em;width:.45em;height:.45em;background:var(--accent)}
.dn-sources{font-size:13px;line-height:1.5;margin-top:1.2rem;color:inherit;opacity:.85;max-width:70ch}
.dn-sources a{color:var(--accent-2)}
.dn-liens{display:flex;flex-wrap:wrap;gap:10px 14px;margin:1.2rem 0 0;padding:0;list-style:none}
.dn-liens a{display:inline-flex;align-items:center;border:1px solid var(--accent-2);color:var(--accent-2);padding:10px 16px;font-weight:700;font-size:14px;text-decoration:none}
.dn-liens a:hover{background:var(--accent-2);color:var(--paper)}
.dn-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:12px;margin:1.2rem 0;padding:0;list-style:none}
.dn-cartes a{display:block;height:100%;padding:16px 18px;border:1px solid var(--line-on-surface);background:var(--paper);color:var(--ink);text-decoration:none}
.dn-cartes a:hover{border-color:var(--accent-2)}
.dn-cartes strong{display:block;font-family:var(--f-titre);font-size:20px;margin-bottom:4px}
.dn-cartes span{font-size:14px;line-height:1.45}
.dn-carte{height:min(26rem,70vw);min-height:18rem;width:100%;border:1px solid var(--line-on-surface);margin:1rem 0;position:relative;z-index:0}
.dn-carte iframe{display:block;width:100%;height:100%;border:0}
.dn-outil{display:grid;gap:18px;grid-template-columns:minmax(0,1fr);margin:1.2rem 0}
@media (min-width:880px){.dn-outil{grid-template-columns:minmax(0,22rem) minmax(0,1fr)}}
.dn-form{display:grid;gap:12px;align-content:start}
.dn-form label{display:block;font-size:13px;font-weight:700;margin-bottom:4px}
.dn-form input,.dn-form select{width:100%;min-height:44px;padding:8px 10px;font:inherit;border:1px solid var(--field-line);background:var(--paper);color:var(--ink);border-radius:0;box-sizing:border-box}
.dn-form input:focus-visible,.dn-form select:focus-visible,.dn-form button:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
.dn-form button,.dn-bouton{min-height:44px;padding:10px 18px;font:inherit;font-weight:700;border:1px solid var(--accent-2);background:var(--accent-2);color:var(--paper);cursor:pointer;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.dn-form button:hover,.dn-bouton:hover{background:var(--ink);border-color:var(--ink)}
.dn-aide{font-size:13px;line-height:1.45;margin:0;opacity:.85}
.dn-resultat{border:1px solid var(--line-on-surface);background:var(--paper);padding:18px 20px;min-width:0}
.dn-resultat[hidden]{display:none}
.dn-resultat h3{margin-top:0}
.dn-grand{font-family:var(--f-titre);font-size:clamp(32px,5vw,48px);line-height:1;color:var(--accent-2);margin:.2rem 0 .4rem}
.dn-fiche{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:.6rem 0 1rem}
.dn-fiche div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;padding:.5rem 0;border-bottom:1px solid var(--line-on-surface)}
.dn-fiche dt{font-weight:700;margin:0}
.dn-fiche dd{margin:0;text-align:right}
.dn-suggestions{list-style:none;margin:0;padding:0;border:1px solid var(--field-line);background:var(--paper);max-height:16rem;overflow:auto}
.dn-suggestions[hidden]{display:none}
.dn-suggestions li button{all:unset;display:block;width:100%;box-sizing:border-box;padding:10px 12px;cursor:pointer;font-size:15px}
.dn-suggestions li button:hover,.dn-suggestions li button:focus-visible{background:var(--surface)}
.dn-alerte{border-left:4px solid var(--accent-2);padding:10px 14px;background:var(--paper);margin:1rem 0}
.dn-vide{opacity:.8}
@media (max-width:640px){.dn-table{min-width:0;font-size:14px}.dn-table th{white-space:normal;letter-spacing:.04em}.dn-table th,.dn-table td{padding:.5rem .45rem;overflow-wrap:anywhere}.dn-table td{overflow-wrap:break-word}.dn-table:has(tr>:nth-child(4)){min-width:34rem}.dn-scroll:has(.dn-table tr>:nth-child(4)){background:linear-gradient(to right,var(--paper) 30%,transparent),linear-gradient(to left,var(--paper) 30%,transparent) 100% 0,linear-gradient(to right,oklch(0% 0 0 / .18),transparent),linear-gradient(to left,oklch(0% 0 0 / .18),transparent) 100% 0;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}.dn-scroll:has(.dn-table tr>:nth-child(4))::before{content:"Faire défiler le tableau →";display:block;position:sticky;left:0;font-size:12px;font-weight:700;color:var(--accent-2);margin-bottom:.3rem}}
.dn-table th{white-space:normal}
