/* leaflet light */
.leaflet-container{
    color-scheme: light;
}

/* zoom */
.leaflet-bar a,
.leaflet-control-zoom a{
    background-color: #fff !important;
    color: #212529 !important;
    border-color: #ced4da !important;
}

.leaflet-bar a:hover{
    background-color: #f8f9fa !important;
}

/* draw toolbar */
.leaflet-draw-toolbar a,
.leaflet-draw-toolbar a:hover{
    background-color: #fff !important;
}

/* layers */
.leaflet-control-layers{
    background-color: #fff !important;
    color: #212529 !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,.15);
    color-scheme: light;
}

.leaflet-control-layers-expanded{
    background-color: #fff !important;
    color: #212529 !important;
    padding: 6px 8px;
    min-width: 0 !important;
    width: auto !important;
}

/* tree base */
.leaflet-control-layers-list{
    font-size: .85rem;
}

.leaflet-control-layers-list ul{
    margin: 2px 0 2px 14px;
    padding: 0;
    width: auto !important;
}

.leaflet-control-layers-list li{
    margin: 2px 0;
    padding: 0;
    width: auto !important;
    display: table !important;
}

/* compact wrappers */
.leaflet-control-layers-list li > div,
.leaflet-control-layers-list li > span,
.leaflet-layerstree-header{
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.leaflet-layerstree-header-name{
    display: inline !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
}

.leaflet-layerstree-header label,
.leaflet-control-layers-list label{
    display: inline-flex !important;
    align-items: center;
    gap: 5px;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 1px 2px !important;
    margin: 0 !important;
    border-radius: 4px;
}

.leaflet-control-layers-list label:hover,
.leaflet-layerstree-header:hover{
    background: rgba(13,110,253,.08);
}

/* checkbox */
.leaflet-control-layers input[type=checkbox],
.leaflet-control-layers-selector{
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 14px;
    height: 14px;
    min-width: 14px;
    margin: 0 !important;
    background-color: #fff !important;
    border: 1px solid #adb5bd !important;
    border-radius: 3px;
    position: relative;
}

/* checked */
.leaflet-control-layers input[type=checkbox]:checked,
.leaflet-control-layers-selector:checked{
    background-color: #fff !important;
    border-color: #0d6efd !important;
}

/* tick */
.leaflet-control-layers input[type=checkbox]::after,
.leaflet-control-layers-selector::after{
    content: "";
    position: absolute;
    left: 3px;
    top: 0;
    width: 4px;
    height: 8px;
    border: solid #0d6efd;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0);
}

.leaflet-control-layers input[type=checkbox]:checked::after,
.leaflet-control-layers-selector:checked::after{
    transform: rotate(45deg) scale(1);
}

/* separator */
.leaflet-control-layers-separator{
    border-top: 1px solid #dee2e6;
    margin: 4px 0;
}

/* hide phantom top node */
.leaflet-control-layers-overlays > div:first-child,
.leaflet-control-layers-overlays > ul > li:first-child:has(.leaflet-layerstree-header-name:empty),
.leaflet-control-layers-overlays > ul > li:first-child:has(> .leaflet-layerstree-header:only-child){
    display: none !important;
}

