.custom-slider {
    accent-color: #198754;
    width: 120px;
}
.custom-slider::-webkit-slider-thumb {
    background: #198754;
    border: 2px solid #fff;
    box-shadow: 0 0 4px #19875480;
}
.custom-slider::-webkit-slider-runnable-track {
    background: linear-gradient(90deg, #b6f0c1 0%, #198754 100%);
    height: 0.6rem;
    border-radius: 0.5rem;
}
.custom-slider::-moz-range-thumb {
    background: #198754;
    border: 2px solid #fff;
    box-shadow: 0 0 4px #19875480;
}
.custom-slider::-moz-range-track {
    background: linear-gradient(90deg, #b6f0c1 0%, #198754 100%);
    height: 0.6rem;
    border-radius: 0.5rem;
}
.custom-slider::-ms-fill-lower {
    background: #b6f0c1;
}
.custom-slider::-ms-fill-upper {
    background: #198754;
}
.custom-slider:focus {
    outline: none;
}

/* Stili per il pulsante della posizione utente */
.user-location-btn {
    min-width: 150px;
    transition: all 0.3s ease;
    border-color: #198754 !important;
    color: #198754 !important;
}

.user-location-btn:hover {
    background-color: #198754 !important;
    border-color: #198754 !important;
    color: white !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(25, 135, 84, 0.3) !important;
}

.user-location-btn:active {
    transform: translateY(0);
}

.user-location-btn.loading {
    pointer-events: none;
    opacity: 0.7;
}

.user-location-btn.loading .bi-crosshair2 {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}