/* Basis-Layout */
html, body, #map {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
}

#map {
    position: relative;
}

/* Dedicated non-interactive MapLibre basemap host below all Leaflet panes. */
#map .maplibre-basemap-host {
    position: absolute;
    inset: 0;
    z-index: 200;
    pointer-events: none;
    overflow: hidden;
    transform-origin: 0 0;
    transform: none !important;
    will-change: auto;
}

/* Keep MapLibre basemaps behind Leaflet overlays. */
#map .maplibregl-map,
#map .maplibregl-canvas-container,
#map .maplibregl-canvas,
#map .maplibregl-control-container {
    z-index: 200 !important;
    pointer-events: none !important;
}

#map .maplibregl-canvas-container.maplibregl-interactive,
#map .maplibregl-canvas-container.maplibregl-interactive:active {
    cursor: default !important;
}

/* Kleine farbige Linie links in der Legende */
.legend-line {
    display: inline-block;
    width: 14px;
    height: 3px;
    border-radius: 2px;
    margin-right: 6px;
    vertical-align: middle;
}

.legend-line-dashed {
    background: repeating-linear-gradient(
        90deg,
        var(--legend-color, currentColor) 0 7px,
        transparent 7px 11px
    ) !important;
}

.legend-point {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    border-radius: 999px;
    vertical-align: middle;
    background: var(--legend-color, currentColor);
    box-shadow: 0 0 0 1px rgba(15,23,42,0.08);
}

.legend-polygon {
    display: inline-block;
    width: 12px;
    height: 10px;
    margin-right: 7px;
    vertical-align: middle;
    background: var(--legend-color, currentColor);
    border: 2px solid var(--legend-color, currentColor);
    border-radius: 2px;
    box-sizing: border-box;
    opacity: 0.35;
}
