/* Controls live inside Leaflet so clicks never move the map or place a report. */
.map-search-control{width:min(360px,calc(100vw - 112px));font-family:inherit;background:white;border-radius:9px;box-shadow:0 2px 12px #17213a26;overflow:hidden}
.map-search-form{display:flex;align-items:center;margin:0!important;padding:3px}
.map-search-form input{min-width:0;flex:1;border:0!important;margin:0;border-radius:6px;padding:10px;font-size:14px;line-height:22px;background:white;width:100%}
.map-search-form button,.map-navigation button{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;border:0;background:white;color:var(--blue);font-size:25px;border-radius:6px}
.map-search-form button:hover,.map-navigation button:hover,.map-place-result:hover{background:#eef2ff}
.map-navigation{overflow:hidden;border:0!important;border-radius:8px!important;box-shadow:0 2px 12px #17213a26!important}
.map-navigation button{border-radius:0;border-bottom:1px solid var(--line);font-size:23px}.map-navigation button:last-child{border-bottom:0}
.map-navigation button:disabled,.map-search-form button:disabled{opacity:.5;cursor:wait}
.map-search-results{max-height:190px;overflow-y:auto;border-top:1px solid var(--line)}
.map-place-result{display:block;width:100%;min-height:44px;border:0;border-bottom:1px solid var(--line);text-align:left;padding:10px 12px;background:white;font-size:14px;color:var(--navy)}
.map-search-status{margin:0;padding:0 12px 9px;font-size:12px;line-height:1.5;color:var(--muted)}.map-search-status:empty{display:none}
.leaflet-control-zoom a{width:44px!important;height:44px!important;line-height:44px!important}.leaflet-control-layers-toggle{width:44px!important;height:44px!important}
.leaflet-control-layers{border:0!important;border-radius:8px!important;box-shadow:0 2px 12px #17213a26!important}
.leaflet-control-layers label{font-size:13px;min-height:32px;display:flex;align-items:center;gap:6px}.leaflet-control-layers input{width:auto;margin:0}
.leaflet-container .leaflet-control-attribution{font-size:10px;max-width:calc(100% - 20px);white-space:normal}
.leaflet-container .leaflet-control button:focus-visible,.leaflet-container .leaflet-control input:focus-visible{outline:3px solid #93adff;outline-offset:-3px}
.map-wrap .map-key{left:10px;bottom:43px;max-width:calc(100% - 90px)}.map-wrap .map-add{right:10px;bottom:84px;max-width:calc(100% - 80px)}
.map-is-expanded{overflow:hidden}.map-expanded{position:fixed!important;inset:16px!important;z-index:2000!important;width:auto!important;height:auto!important;margin:0!important;border-radius:9px!important;background:#f4f6fa}
.map-expanded #map{height:100%!important}.leaflet-container.map-expanded{height:auto!important}
#createMap,#ideaMap{height:410px}
@media(max-width:700px){.map-search-control{width:min(280px,calc(100vw - 116px))}.map-search-form input{font-size:13px}.map-search-form button{min-width:40px;width:40px}.map-wrap .map-key{font-size:10px;gap:4px 9px;max-width:calc(100% - 80px);bottom:44px}.map-wrap .map-add{font-size:12px;padding:9px 12px;bottom:84px}#map,#createMap,#ideaMap{height:430px}.map-expanded{inset:0!important;border-radius:0!important}.map-search-results{max-height:170px}}

/* Leaflet stacks the action and layer picker, including when the picker expands. */
.map-report-control .map-add{position:static;max-width:none;margin:0;min-height:44px}
.leaflet-control-layers-toggle{background-image:none!important;width:auto!important;padding:0 12px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--navy)}
.leaflet-control-layers-toggle::before{content:"Karten";font-family:inherit;font-size:13px;font-weight:600}

.map-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:0 0 12px}
.map-toolbar .leaflet-control{float:none;clear:none;margin:0;z-index:auto}
.map-toolbar .map-search-control{flex:1 1 280px;width:auto;max-width:420px;border:1px solid var(--line);box-shadow:none}
.map-toolbar .map-navigation{display:flex;box-shadow:none!important;border:1px solid var(--line)!important}
.map-toolbar .map-navigation button{border-bottom:0;border-right:1px solid var(--line);font-size:20px}
.map-toolbar .map-navigation button:last-child{border-right:0}
.map-toolbar .leaflet-control-zoom{display:flex;border:1px solid var(--line);box-shadow:none}
.map-toolbar .leaflet-control-zoom a{border-bottom:0}.map-toolbar .leaflet-control-zoom a:first-child{border-right:1px solid var(--line)}
.map-toolbar .leaflet-control-layers{flex:1 1 100%;box-shadow:none!important;padding:0;background:transparent}
.map-toolbar .leaflet-control-layers-base{display:flex;flex-wrap:wrap;gap:6px 18px}
.map-toolbar .leaflet-control-layers label{margin:0;font-size:12px}
.map-panel>.map-key{position:static;display:flex;flex-wrap:wrap;margin:10px 0 0;padding:0;box-shadow:none;background:transparent;font-size:11px;gap:8px 16px}
.map-panel.map-expanded{display:flex;flex-direction:column;padding:12px}
.map-panel.map-expanded .map-wrap{flex:1;min-height:0}.map-panel.map-expanded #map{height:100%!important}
@media(max-width:700px){.map-toolbar{gap:8px}.map-toolbar .map-search-control{max-width:none;flex-basis:100%}.map-toolbar .leaflet-control-layers-base{gap:2px 12px}.map-panel.map-expanded{padding:10px}}
