/* --- SOLO TAB (NO MOUSE) --- */

/* 1. Reset totale per ogni tipo di interazione (Mouse, Touch, Penna) */
/* Questo sovrascrive anche le ombre di default di Bootstrap */
input:focus,
textarea:focus,
button:focus,
.form-control:focus,
a:focus,
[tabindex="0"]:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* 2. Attivazione SOLO con TAB (Focus visibile da tastiera) */
/* Usiamo selettori specifici per assicurarci la priorità */
input:focus-visible,
textarea:focus-visible,
button:focus-visible,
.form-control:focus-visible,
a:focus-visible,
[tabindex="0"]:focus-visible {
    outline: 3px solid #007bff !important;
    outline-offset: 2px !important;
    border-radius: 4px !important;
}

/* 3. Per evitare che il click del mouse lasci bordi strani su Chrome */
input:active, textarea:active, button:active {
    outline: none !important;
}

.filter-item:focus {
    /* Rimuove il bordo nero standard del browser al click */
    outline: none !important;
    box-shadow: none !important;
}

.filter-item:focus-visible {
    /* Ripristina il tuo bordo blu personalizzato SOLO con il Tab */
    outline: 3px solid #007bff !important;
    outline-offset: 2px;
}

/* Opzionale: se il bottone ha un bordo nero di base (non di focus) */
.filter-item {
    border: none; /* o imposta il colore che preferisci */
}

/* Form: nessun stile di default al focus */
.form-control:focus,
.form-select:focus,
input:focus,
textarea:focus,
select:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: #ced4da !important;
    border-width: 1px !important;
}

/* Form: stile SOLO quando navigazione da tastiera */
body.keyboard-nav .form-control:focus,
body.keyboard-nav .form-select:focus,
body.keyboard-nav input:focus,
body.keyboard-nav textarea:focus,
body.keyboard-nav select:focus {
    border-color: var(--focus-color) !important;
    outline: var(--focus-width) solid var(--focus-color) !important;
    outline-offset: var(--focus-offset) !important;
    box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.25) !important;
}