/* Map Performance Optimizations */

/* Optimize tooltip rendering */
.popup-master-tooltip {
    will-change: transform, opacity;
    contain: layout style paint;
}

/* Optimize map icons */
.map-icon {
    image-rendering: crisp-edges;
    image-rendering: -webkit-optimize-contrast;
}

/* Optimize marker performance */
.leaflet-marker {
    will-change: transform;
}

.leaflet-marker-icon {
    image-rendering: -webkit-optimize-contrast;
}

/* Optimize tile layer */
.leaflet-tile {
    will-change: opacity;
    image-rendering: crisp-edges;
}

/* Optimize container */
.container-map {
    contain: strict;
    will-change: transform;
}

/* Reduce repaints */
.label-badge {
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Badge optimization - remove heavy animations */
.label-badge-info {
    background-color: #0d6efd;
    color: white;
}

/* Toggle marker type buttons */
.btn.toggle-marker-type {
    background-color: rgba(100, 100, 100, 0.15) !important;
    color: #888 !important;
    border: none !important;
    border-left: 5px solid transparent !important;
    transition: all 0.2s ease !important;
    padding-left: 8px !important;
    border-radius: 20px !important;
}

.btn.toggle-marker-type:hover:not(.active) {
    background-color: rgba(100, 100, 100, 0.25) !important;
    color: #777 !important;
}

.btn.toggle-marker-type.active {
    background-color: #0dcbe2 !important;
    color: #000 !important;
    border: none !important;
    border-left: 5px solid #0dcbe2 !important;
    box-shadow: 0 2px 8px rgba(13, 203, 226, 0.4) !important;
}

.btn.toggle-marker-type.active:hover,
.btn.toggle-marker-type.active:focus {
    background-color: #0dcbe2 !important;
    color: #000 !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(13, 203, 226, 0.5) !important;
}

/* Per-type border colors and subtle backgrounds for inactive states */
.toggle-marker-type[data-type="pokemon"] { 
    border-left-color: #FF6B6B !important; 
    background-color: rgba(255, 107, 107, 0.08) !important;
}
.toggle-marker-type[data-type="raids"] { 
    border-left-color: #4ECDC4 !important; 
    background-color: rgba(78, 205, 196, 0.08) !important;
}
.toggle-marker-type[data-type="research"] { 
    border-left-color: #45B7D1 !important; 
    background-color: rgba(69, 183, 209, 0.08) !important;
}
.toggle-marker-type[data-type="max-battles"] { 
    border-left-color: #96CEB4 !important; 
    background-color: rgba(150, 206, 180, 0.08) !important;
}
.toggle-marker-type[data-type="incidents"] { 
    border-left-color: #FFEAA7 !important; 
    background-color: rgba(255, 234, 167, 0.15) !important;
}
.toggle-marker-type[data-type="gyms"] { 
    border-left-color: #FFA07A !important; 
    background-color: rgba(255, 160, 122, 0.08) !important;
}
.toggle-marker-type[data-type="pokestops"] { 
    border-left-color: #87CEEB !important; 
    background-color: rgba(135, 206, 235, 0.08) !important;
}
.toggle-marker-type[data-type="routes"] { 
    border-left-color: #DDA0DD !important; 
    background-color: rgba(221, 160, 221, 0.08) !important;
}
.toggle-marker-type[data-type="nests"] { 
    border-left-color: #90EE90 !important; 
    background-color: rgba(144, 238, 144, 0.08) !important;
}

/* Optimize popup content */
.leaflet-popup-content {
    will-change: contents;
}

/* Use GPU acceleration for transitions */
.leaflet-control {
    will-change: transform;
}
