/* Scoped regional directory; no effect on other region pages. */
.dh-directory,.dh-profile{--dh-navy:#0b2742;--dh-green:#176551;--dh-soft:#edf4ee;--dh-line:#cbd9d1;--dh-ink:#142f3b;color:var(--dh-ink);font-size:16px;line-height:1.6}
.dh-directory{background:#f5f7f3;padding:64px 0;scroll-margin-top:100px}.dh-directory .shell{max-width:1220px}.dh-directory h2{font-size:clamp(28px,3vw,42px);line-height:1.15;color:var(--dh-navy);margin:8px 0 14px}.dh-kicker{text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.12em;color:#306957;margin:0 0 8px}.dh-intro{max-width:820px;margin-bottom:28px}.dh-intro p{color:#38534f;margin:0}.dh-filter{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px;margin:20px 0 0}.dh-filter label{font-size:13px;font-weight:750;color:#234638;display:grid;gap:6px}.dh-directory input,.dh-directory select{width:100%;min-width:0;background:white;color:#173a32;border:1px solid #a3b8ad;border-radius:9px;padding:12px;font:inherit;min-height:48px}.dh-directory .dh-filter:focus-within{outline:none}.dh-types{display:flex;gap:6px;background:#e4ece6;padding:5px;border-radius:12px;width:fit-content;max-width:100%;flex-wrap:wrap;margin-top:22px}.dh-types button{border:0;background:transparent;color:#325048;min-height:44px;border-radius:8px;font:inherit;font-weight:700;padding:9px 18px;cursor:pointer}.dh-types button[aria-pressed=true]{background:var(--dh-navy);color:white;box-shadow:0 2px 4px #17312b22}.dh-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:20px 0 12px}.dh-toolbar p{margin:0;font-size:14px}.dh-directory button,.dh-profile button{touch-action:manipulation}.dh-link-button{background:none;border:0;font:inherit;color:#176551;text-decoration:underline;text-underline-offset:3px;padding:8px;cursor:pointer;min-height:44px}.dh-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr);gap:20px;align-items:start}.dh-map-panel{position:sticky;top:100px;min-width:0;border-radius:16px;background:#e8eee7;overflow:hidden;border:1px solid var(--dh-line)}.dh-directory .dh-map{height:545px;width:100%;background:#e8eee7;font-family:inherit}.dh-map-bar{padding:10px 12px;display:flex;align-items:center;gap:4px;flex-wrap:wrap;border-bottom:1px solid #c8d9ca;background:#f7faf5}.dh-map-bar button{border:1px solid #b1c6b7;background:#fff;color:#163d31;border-radius:6px;padding:5px 10px;font:inherit;font-size:12px;min-height:40px;cursor:pointer}.dh-map-caption{font-size:11px;padding:10px 14px;color:#3b5648;line-height:1.55}.dh-map-caption a{color:#245744}.dh-map-consent{border-top:1px solid #cad8cc;background:#f7faf5;padding:12px 14px;font-size:12px}.dh-map-consent p{margin:0 0 8px}.dh-map-consent button{font-size:12px;padding:7px 10px;color:#174336;border:1px solid #829d89;border-radius:6px;background:#fff;cursor:pointer;min-height:40px}.dh-legend{display:flex;gap:16px;font-size:12px;align-items:center}.dh-dot{display:inline-block;width:11px;height:11px;background:#247650;border:2px solid white;box-shadow:0 0 0 1px #247650;border-radius:100%;margin-right:6px}.dh-dot.service{background:#174b77;box-shadow:0 0 0 1px #174b77;border-radius:2px}.dh-results{display:grid;gap:12px;max-height:760px;overflow:auto;overscroll-behavior:contain;padding:1px 5px 5px 1px;scroll-margin-top:100px}.dh-result{background:#fff;border:1px solid var(--dh-line);border-radius:12px;padding:20px;scroll-margin-top:110px}.dh-result.is-selected{border-color:#176551;box-shadow:0 0 0 2px #17655130}.dh-result .dh-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:#3d5c50}.dh-badge{font-size:11px;letter-spacing:.02em;background:#e6f0e7;color:#24593d;border-radius:5px;padding:3px 7px;font-weight:750}.dh-badge.service{background:#e7eef7;color:#1b4a71}.dh-result h3{font-size:20px;line-height:1.3;margin:10px 0 8px;color:#0b2742}.dh-result h3 a{color:inherit;text-decoration:none}.dh-result h3 a:hover{text-decoration:underline}.dh-result p{font-size:14px;margin:5px 0;color:#36564b}.dh-result address{font-style:normal;font-size:13px;color:#4d6259}.dh-result-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.dh-result-actions a,.dh-result-actions button{color:#176551;font-size:13px;font-weight:750}.dh-result-actions button{padding:8px 0;background:none;border:0;text-decoration:underline;cursor:pointer;min-height:40px}.dh-result-actions a{padding:8px 0;min-height:40px}.dh-result-actions .dh-profile-link{color:#102e47}.dh-empty{background:#fff;border:1px dashed #9eb4a6;border-radius:12px;padding:28px}.dh-empty h3{margin:0 0 8px}.dh-note{font-size:13px;color:#486351;margin-top:22px;max-width:900px}.dh-method{border-top:1px solid #cbd9d1;margin-top:24px;padding-top:16px;font-size:13px;color:#3d5b4b}.dh-method summary{cursor:pointer;font-weight:750;min-height:44px}.dh-view-switch{display:none}.dh-jumps{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.dh-jumps a{display:inline-flex;align-items:center;min-height:48px;padding:11px 18px;border:1px solid #c2e8cf;border-radius:8px;background:#d4efd7;color:#092b23;font-weight:750;text-decoration:none}.dh-jumps a+ a{background:transparent;color:#fff;border-color:#ffffff77}.dh-pin{background:none;border:0}.dh-pin>span{display:grid;place-items:center;background:#247650;border:3px solid white;color:#fff;width:28px;height:28px;border-radius:50%;box-shadow:0 2px 7px #16362f66;font-size:14px;font-weight:bold}.dh-pin.service>span{background:#174b77;border-radius:7px}.dh-pin.cluster>span{background:#0c2d45;border-radius:50%;width:34px;height:34px}.dh-pin.selected>span{outline:3px solid #dcab3e;outline-offset:2px}.dh-map .leaflet-control-zoom a{color:#102e47}.dh-map .leaflet-control-attribution{font-size:10px;max-width:100%}.dh-map .leaflet-control-attribution a{color:#234f38}.dh-place-label{font-size:10px;color:#375c4c;font-weight:650;white-space:nowrap;text-shadow:0 1px 0 #f5faf1,1px 0 0 #f5faf1,-1px 0 0 #f5faf1;background:none;border:0}.dh-detail-breadcrumb{padding:22px 0;font-size:13px}.dh-detail-breadcrumb a{color:#bfddcc}.dh-profile{background:#f5f7f3;min-height:70vh;padding-bottom:70px}.dh-detail-hero{background:#0b2742;color:#fff;padding:0 0 45px}.dh-detail-hero h1{font-size:clamp(29px,4vw,47px);line-height:1.15;max-width:900px;color:#fff;margin:18px 0}.dh-detail-hero .dh-kicker{color:#c1debc}.dh-detail-hero p{max-width:760px;color:#d9e5dc;font-size:18px}.dh-detail-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.8fr);gap:35px;padding-top:40px}.dh-detail-main h2{font-size:25px;line-height:1.25;color:#0c3046}.dh-detail-main p{color:#385348;max-width:760px}.dh-detail-main li{margin:10px 0}.dh-contact-card{background:#fff;border:1px solid #c8d8cd;border-radius:14px;padding:25px;position:sticky;top:100px;align-self:start}.dh-contact-card h2{font-size:20px;margin:0 0 14px;color:#11364b}.dh-contact-card address{font-style:normal;color:#3c564c}.dh-contact-actions{display:grid;gap:10px;margin:22px 0}.dh-contact-actions a{background:#123b32;color:white;text-decoration:none;border-radius:7px;padding:12px;font-weight:700;text-align:center;min-height:48px}.dh-contact-actions a.secondary{background:#edf3ec;color:#244d3e;border:1px solid #bbcebf}.dh-contact-card p{font-size:13px;color:#4b6155}.dh-detail-note{border-left:3px solid #7eae86;padding:4px 20px;margin:26px 0}.dh-detail-sources{font-size:13px;padding:20px 0;border-top:1px solid #c9d9cc}.dh-detail-sources a{color:#176551;overflow-wrap:anywhere}.dh-detail-back{display:inline-block;color:#176551;font-weight:750;padding:12px 0}.dh-profile [hidden],.dh-directory [hidden]{display:none!important}.dh-directory :focus-visible,.dh-profile :focus-visible,.dh-jumps a:focus-visible{outline:3px solid #d09a24;outline-offset:4px}.dh-selected{margin:14px 0;background:#fff;border:2px solid #176551;border-radius:12px;padding:18px;scroll-margin-top:100px}.dh-selected h3{margin:7px 0;color:#102e47;font-size:21px}.dh-selected p{font-size:14px;margin:6px 0;color:#355948}.dh-selected address{font-style:normal;font-size:13px;color:#355948}.dh-selected-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.dh-selected-top button{border:0;background:#edf4ed;color:#244f3a;border-radius:6px;min-height:40px;min-width:40px;cursor:pointer}.dh-tile-error{margin:0;padding:10px;background:#fff2d8;color:#67460a;font-size:12px}.dh-result [data-pin-status]{font-size:11px;color:#6d5b22}
@media(max-width:800px){.dh-directory{padding:36px 0}.dh-filter{grid-template-columns:1fr 1fr;gap:10px}.dh-filter label:first-child{grid-column:1/-1}.dh-layout{grid-template-columns:1fr}.dh-map-panel{position:relative;top:0}.dh-map{height:400px}.dh-results{max-height:none;overflow:visible;padding:0}.dh-view-switch{display:flex;gap:5px;border:1px solid #b6cbbc;border-radius:8px;padding:3px}.dh-view-switch button{font:inherit;font-size:13px;border:0;border-radius:5px;background:transparent;padding:8px 14px;min-height:40px;color:#254e3b}.dh-view-switch button[aria-pressed=true]{background:#113b31;color:#fff}.dh-directory[data-view=list] .dh-map-panel{display:none}.dh-directory[data-view=map] .dh-results{display:none}.dh-directory .dh-toolbar{align-items:flex-start}.dh-detail-layout{grid-template-columns:1fr;gap:20px}.dh-contact-card{position:static;grid-row:1}.dh-detail-hero{padding-bottom:25px}.dh-detail-breadcrumb{padding:17px 0}.dh-detail-layout{padding-top:25px}.dh-selected{margin:12px 0}.dh-result{padding:18px}.dh-types{width:100%;gap:3px}.dh-types button{flex:1;padding:9px 10px;font-size:14px}.dh-legend{font-size:11px;gap:10px}.dh-jumps{gap:8px}.dh-jumps a{font-size:14px;padding:9px 12px}.dh-directory input,.dh-directory select{font-size:16px}.dh-map-caption{font-size:10px}}
@media(prefers-reduced-motion:reduce){.dh-directory *,.dh-profile *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:480px){.dh-filter{grid-template-columns:1fr}.dh-filter label:first-child{grid-column:auto}.dh-directory select{width:100%}.dh-toolbar{gap:10px}}
.dh-detail-breadcrumb{display:block;line-height:1.6}.dh-detail-hero .dh-kicker{font-size:12px;line-height:1.5;letter-spacing:.1em}

/* Multi-county configuration, same components and responsive rules. */
.dh-directory[data-region="oldenburger-muensterland"] .dh-filter{grid-template-columns:1.3fr .8fr 1fr 1fr}
.dh-district-key{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;margin:8px 0}
.dh-district-key span:before{content:"";display:inline-block;width:18px;height:3px;vertical-align:middle;margin-right:6px;background:#39704d}
.dh-district-key span+span:before{background:#6d6093}
.dh-pin.mixed>span{border-radius:50% 6px 6px 50%;background:linear-gradient(90deg,#247650 50%,#174b77 50%);font-size:10px}
.dh-related{border:1px solid var(--dh-line);border-radius:10px;padding:16px;margin:22px 0;background:#fff}
@media(max-width:1000px){.dh-directory[data-region="oldenburger-muensterland"] .dh-filter{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.dh-directory[data-region="oldenburger-muensterland"] .dh-filter{grid-template-columns:1fr}}

.dh-state-key span:before{background:#315c91}.dh-state-key span+span:before{background:#39704d}.dh-nearby a{color:#176551;font-weight:700}.dh-nearby{margin:12px 0 18px}

.dh-contact-card .dh-access-note{border-left:3px solid #7eae86;background:#f1f6ef;padding:10px 12px;margin:16px 0;color:#264c38}
