/* Custom Mobile-Optimized Opacity Slider */
        .custom-opacity-control {
            position: absolute;
            top: 120px;
            right: 2px;
            background: rgba(255, 255, 255, 0.95);
            border-radius: 6px;
            padding: 6px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.2);
            z-index: 1000;
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255,255,255,0.3);
        }
        
        .opacity-label {
            font-family: Arial, sans-serif;
            font-size: 6px;
            color: #333;
            margin-bottom: 4px;
            text-align: center;
            font-weight: bold;
        }
        
        .custom-slider-container {
            position: relative;
            width: 75px;
            height: 20px;
            background: linear-gradient(90deg, #e0e0e0 0%, #e0e0e0 100%);
            border-radius: 10px;
            box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
            cursor: pointer;
            touch-action: none;
        }
        
        .slider-track {
            position: absolute;
            height: 100%;
            background: linear-gradient(90deg, #2d8659 0%, #ff6b35 100%);
            border-radius: 10px;
            transition: width 0.1s ease;
            box-shadow: 0 1px 4px rgba(45, 134, 89, 0.3);
        }
        
        .slider-thumb {
            position: absolute;
            width: 17px;
            height: 17px;
            background: white;
            border: 2px solid #2d8659;
            border-radius: 50%;
            top: 50%;
            transform: translateY(-50%);
            cursor: grab;
            box-shadow: 0 2px 6px rgba(0,0,0,0.2);
            transition: transform 0.1s ease, box-shadow 0.1s ease;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .slider-thumb:active {
            cursor: grabbing;
            transform: translateY(-50%) scale(1.1);
            box-shadow: 0 3px 10px rgba(0,0,0,0.3);
        }
        
        .slider-thumb::after {
            content: '';
            width: 4px;
            height: 4px;
            background: #2d8659;
            border-radius: 50%;
        }
        
        .opacity-value {
            text-align: center;
            font-size: 5px;
            color: #666;
            margin-top: 3px;
            font-family: Arial, sans-serif;
        }
        
        /* Mobile specific adjustments */
        @media (max-width: 768px) {
            .custom-opacity-control {
                bottom: 20px;
                right: 10px;
                padding: 6px;
            }
            
            .custom-slider-container {
                width: 60px;
                height: 17px;
            }
            
            .slider-thumb {
                width: 15px;
                height: 15px;
            }
        }
        
        /* Hide default opacity control */
        .leaflet-control-opacity {
            display: none !important;
        }
