html,body {
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
    overscroll-behavior: none;
}

#cadastre_map {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    z-index: 1;
}

.map-controls {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 2000;
    width: 360px;
    max-width: calc(100vw - 20px);
    background: rgba(255,255,255,.92);
    padding: 12px 16px;
    border-radius: 4px;
    box-shadow: 0 1px 5px rgba(0,0,0,.4);
    font-size: 13px;
}

#opacitySlider {
    width: 100%;
    cursor: pointer;
}

#opacitySlider::-webkit-slider-runnable-track {
    background: #adb5bd;
}

#opacitySlider::-moz-range-track {
    background: #adb5bd;
}

#opacitySlider::-moz-range-progress {
    background: var(--bs-primary);
}

#cadastre_map.leaflet-container,
#cadastre_map.leaflet-container.leaflet-grab,
#cadastre_map.leaflet-container.leaflet-grabbing,
#cadastre_map .leaflet-pane,
#cadastre_map .leaflet-tile {
    cursor: crosshair !important;
}

#cadastre_map .leaflet-interactive {
    cursor: pointer !important;
}

.leaflet-control-attribution {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    z-index: 3000 !important;
    background: rgba(255,255,255,.85) !important;
}

@media (max-width: 575.98px) {
    .map-controls {
        width: calc(100vw - 74px);
        right: 10px;
        padding: 10px 12px;
    }
}

#geocoderForm:focus-within {
    border-radius: 4px;
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .25);
}

#geocoderForm .form-control:focus,
#geocoderForm .btn:focus {
    box-shadow: none;
}

#geocoderForm:focus-within .form-control,
#geocoderForm:focus-within .btn {
    border-color: #86b7fe;
}