body:not(.page-home) #inhalt:has(.map-page){padding-top:0}
.map-page{max-width:1800px;margin:auto;padding:24px clamp(16px,3vw,48px) 64px;font-size:var(--font-min)}
.map-page [hidden]{display:none!important}
.map-filters{padding:16px 20px;border:1px solid var(--line);background:var(--light);margin-bottom:16px}
.map-filter-panel>summary{cursor:pointer;font-weight:700;padding:4px 0}
.map-filter-panel>summary span,.map-rating-title span{color:var(--orange)}
.map-filter-fields{display:grid;grid-template-columns:1.3fr 1.4fr 1fr 1fr;gap:16px;padding-top:20px}
.map-filters label{display:grid;gap:7px;min-width:0;font-weight:700;align-content:start}
.map-filters input,.map-filters select{min-width:0;width:100%;min-height:46px;padding:9px 10px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--forest);font:var(--font-min) var(--sans)}
.map-filters input:focus-visible,.map-filters select:focus-visible,.map-page button:focus-visible,.map-page summary:focus-visible,.map-place-marker:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.map-filters fieldset{min-width:0;margin:0;padding:0;border:0}
.map-filters legend{margin-bottom:7px;font-weight:700}
.map-types>div{display:flex;gap:4px;flex-wrap:wrap}
.map-types label{position:relative;flex:1 0 auto;font-weight:400}
.map-types input{position:absolute;opacity:0;width:1px;min-height:0;height:1px}
.map-types span{display:grid;min-height:46px;padding:9px 10px;place-items:center;border:1px solid var(--line);border-radius:5px;cursor:pointer;white-space:nowrap}
.map-types input:checked+span{background:var(--forest);color:var(--light);border-color:var(--forest)}
.map-types input:focus-visible+span{outline:3px solid var(--orange);outline-offset:3px}
.map-rating-filters{grid-column:1/-1;border-block:1px solid var(--line);padding:12px 0}
.map-rating-filters p{max-width:1000px;line-height:1.5;color:var(--soft);margin:0 0 12px}
.map-rating-filters .map-rating-title{font-weight:700;color:var(--forest)}
.map-rating-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1000px}
.map-filters select:disabled{opacity:.5}
.map-actions{display:flex;grid-column:1/-1;gap:10px;flex-wrap:wrap}
.map-actions .button,.map-page [data-map-retry]{min-width:0;font:700 var(--font-min)/1.3 var(--sans)}
.map-service-message,.map-empty{margin:14px 0;line-height:1.5}
.map-service-message:empty{display:none}
.map-page [data-map-retry]{margin-bottom:16px}
.map-workspace{border:1px solid var(--line);background:var(--light)}
.map-canvas-wrap{position:relative;min-width:0}
.explorer-map{height:clamp(450px,76vh,1000px);width:100%;background:#e5eceb;isolation:isolate;z-index:0;font:var(--font-min) var(--sans)}
.map-legend{display:flex;flex-wrap:wrap;gap:10px 22px;padding:12px 16px;border-top:1px solid var(--line)}
.map-legend span{display:flex;align-items:center;gap:8px}
.map-place-key,.map-place-marker{display:inline-block;border:2px solid white;border-radius:50%;background:#b95c33;box-shadow:0 0 0 1px #b95c33}
.map-place-key{width:13px;height:13px}
.map-route-key{display:inline-block;width:24px;border-top:4px solid #1f659f}
.map-page .leaflet-popup-content{font:var(--font-min)/1.45 var(--sans);max-width:min(280px,calc(100vw - 90px));overflow-wrap:anywhere}
.map-page .leaflet-popup-content p{margin:8px 0}
.map-page .map-popup-date{font-weight:400}
.map-page .leaflet-control-attribution{font:.7rem/1.35 var(--sans);color:#667077;background:#ffffffcc}
.map-page .leaflet-control-attribution a{color:inherit}
.map-page .leaflet-control-scale-line{font:var(--font-min)/1.2 var(--sans)}
.map-page.is-expanded .explorer-map{height:85vh;height:85svh}
.map-page.is-service-unavailable .explorer-map{opacity:.45}
@media(max-width:1200px){.map-filter-fields{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.explorer-map{height:70vh;min-height:380px}}
@media(max-width:520px){.map-filter-fields,.map-rating-fields{grid-template-columns:1fr}.map-filters{padding:12px 14px}.map-actions{display:grid;grid-template-columns:1fr 1fr}.map-actions .button{padding:10px 7px}.map-actions [type=reset]{grid-column:1/-1}.map-types>div{gap:6px}.map-types span{padding-inline:8px}.map-page{padding-top:16px}}
@media(prefers-reduced-motion:reduce){.map-page *{scroll-behavior:auto}}
