.dv-col{min-width:0}
.dv-col h2{margin-top:44px}
.dv-col h2:first-child{margin-top:0}
.dv-col h3{margin-top:26px}
.dv-col p{color:var(--ink-soft)}
.dv-col p strong{color:var(--ink)}
.dv-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:1px;border:1px solid var(--line);background:var(--line);margin:0 0 24px}
.dv-stats>div{background:var(--card);padding:18px 16px 16px}
.dv-n{display:block;font-family:var(--titre);font-size:clamp(23px,2.6vw,31px);font-weight:700;line-height:1.1;letter-spacing:-.01em;overflow-wrap:anywhere}
.dv-l{display:block;font-size:14px;color:var(--ink-soft);margin-top:5px;line-height:1.4}
.dv-src{font-size:13.5px;color:var(--ink-mute);margin:10px 0 0}
.dv-tab{width:100%;border-collapse:collapse;font-size:15.5px;background:var(--card);border:1px solid var(--line)}
.dv-tab caption{text-align:left;font-family:var(--titre);font-weight:700;font-size:16px;padding:0 0 10px;caption-side:top}
.dv-tab th,.dv-tab td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.dv-tab thead th{background:var(--surface);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}
.dv-tab td.dv-num,.dv-tab th.dv-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.dv-tab tbody tr:last-child td,.dv-tab tbody tr:last-child th{border-bottom:0}
.dv-tab tbody th{font-weight:400}
.dv-tab a{font-weight:700}
.dv-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);background:var(--card);
  background-image:linear-gradient(to right,var(--card) 30%,transparent),linear-gradient(to left,var(--card) 30%,transparent),radial-gradient(farthest-side at 0 50%,oklch(22% 0.03 11 / .28),transparent),radial-gradient(farthest-side at 100% 50%,oklch(22% 0.03 11 / .28),transparent);
  background-position:0 0,100% 0,0 0,100% 0;background-repeat:no-repeat;background-size:44px 100%,44px 100%,16px 100%,16px 100%;background-attachment:local,local,scroll,scroll}
.dv-scroll .dv-tab{border:0;min-width:620px;background:transparent}
.dv-hint{display:none;font-size:13.5px;font-weight:700;color:var(--accent-deep);margin:0 0 8px}
.dv-hint::after{content:" \2192"}
.dv-map{height:400px;border:1px solid var(--line);background:var(--surface);margin:0 0 8px;position:relative;z-index:0}
.dv-map-n{font-size:13.5px;color:var(--ink-mute);margin:0 0 6px}
.dv-pop{font-size:14px;line-height:1.4;margin:0}
.dv-pop a{font-weight:700}
.dv-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line);background:var(--line);margin:0 0 20px}
.dv-cards>*{background:var(--card);padding:18px 18px 20px}
.dv-cards h3{margin:0 0 6px;font-size:17px}
.dv-cards p{margin:0 0 8px;font-size:15px}
.dv-cards p:last-child{margin:0}
.dv-voisines{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.dv-voisines a{display:inline-block;padding:8px 13px;border:1px solid var(--line);background:var(--card);text-decoration:none;font-weight:700;font-size:15px}
.dv-voisines a:hover{border-color:var(--accent);color:var(--accent-deep)}
.dv-filtre{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:0 0 12px}
.dv-filtre label{font-weight:700;font-size:15px}
.dv-filtre input{min-height:44px;padding:0 12px;border:1px solid var(--field-line);background:var(--card);border-radius:var(--r);min-width:220px;max-width:100%}
.dv-tri{background:none;border:0;padding:0;font:inherit;font-weight:700;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;text-align:inherit;min-height:32px}
.dv-tri[aria-sort="ascending"]::after{content:" \25B2";font-size:10px}
.dv-tri[aria-sort="descending"]::after{content:" \25BC";font-size:10px}
.dv-note{border-left:3px solid var(--accent);background:var(--accent-wash);padding:14px 16px;margin:0 0 20px}
.dv-note p{margin:0;color:var(--ink)}
.dv-liste-adr{columns:2;column-gap:28px;margin:0 0 18px;padding:0 0 0 18px}
.dv-liste-adr li{break-inside:avoid;padding:3px 0;color:var(--ink-soft)}
.dv-outil{border:1px solid var(--field-line);background:var(--card);padding:22px;margin:0 0 24px}
.dv-outil label{display:block;font-weight:700;margin:0 0 6px}
.dv-outil input[type=text],.dv-outil input[type=search]{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--field-line);background:var(--paper);border-radius:var(--r)}
.dv-sugg{list-style:none;margin:6px 0 0;padding:0;border:1px solid var(--line);background:var(--card)}
.dv-sugg:empty{display:none}
.dv-sugg button{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:11px 12px;cursor:pointer;min-height:44px}
.dv-sugg li:last-child button{border-bottom:0}
.dv-sugg button:hover,.dv-sugg button:focus-visible{background:var(--surface)}
.dv-res{margin:18px 0 0}
.dv-res[hidden]{display:none}
.dv-res .dv-n{font-size:clamp(34px,5vw,52px)}
.dv-coche{list-style:none;margin:0 0 18px;padding:0;border-top:1px solid var(--line)}
.dv-coche li{border-bottom:1px solid var(--line);padding:14px 0}
.dv-coche label{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;cursor:pointer;font-weight:400}
.dv-coche input{width:22px;height:22px;margin:3px 0 0}
.dv-coche b{display:block;font-weight:700;color:var(--ink)}
.dv-coche span{display:block;color:var(--ink-soft);font-size:15.5px}
.dv-coche small{display:block;color:var(--ink-mute);font-size:13.5px;margin-top:4px}
.dv-loi{border:1px solid var(--line);background:var(--card);padding:20px 22px;margin:0 0 22px}
.dv-loi-t{font-family:var(--titre);font-weight:700;font-size:16px;margin:0 0 4px}
.dv-loi-v{font-size:13.5px;color:var(--accent-deep);font-weight:700;margin:0 0 12px;letter-spacing:.02em}
.dv-loi p{color:var(--ink);font-size:16px}
.dv-loi p+p{margin-top:10px}
@media (max-width:720px){
  .dv-hint{display:block}
  .dv-cards{grid-template-columns:minmax(0,1fr)}
  .dv-liste-adr{columns:1}
  .dv-map{height:340px}
  .dv-tab{font-size:15px}
  .dv-tab th,.dv-tab td{padding:9px 8px}
  .dv-outil{padding:16px}
}
.dv-scroll .dv-tab{min-width:660px}
.dv-scroll .dv-tab tbody th{white-space:nowrap;overflow-wrap:normal}
.dv-scroll .dv-tab thead th{overflow-wrap:normal;vertical-align:bottom}
@media (min-width:981px){.dso-cards.dv-c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px) and (min-width:641px){.dso-cards.dv-c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
