/* ============================================
   FOCUS MANAGEMENT - Accessibilità
   Principio: nasconde focus su mouse/touch,
   mostra indicatore chiaro solo da tastiera
   ============================================ */

/* Variabili per consistenza */
:root {
    --focus-color: #c8a24a;
    --focus-offset: 2px;
    --focus-width: 3px;
    --focus-shadow: 0 0 0 4px rgba(255, 255, 255, 0.8);
}

/* 1. Reset per interazione mouse/touch */
*:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
    border-color: #ced4da !important;
}

/* 2. Focus visibile SOLO da tastiera (Tab) */
*:focus-visible {
    outline: var(--focus-width) solid var(--focus-color) !important;
    outline-offset: var(--focus-offset) !important;
    box-shadow: var(--focus-shadow) !important;
    border-radius: 4px !important;
}

/* 3. Eccezione: elementi che non devono mai mostrare focus */
[tabindex="-1"]:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* 4. Filter items - eredita le regole globali,
      solo override specifici necessari */
.filter-item {
    border: none;
}

/* 5. Previeni outline su click in Chrome/Safari */
:active {
    outline: none !important;
}

/* 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;
}
