/**
 * Clear keyboard focus rings for form fields (native + Select2 + flatpickr targets).
 */

input:not([type="hidden"]):focus-visible,
textarea:focus-visible,
select:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible {
    outline: 2px solid var(--bs-primary, #405189);
    outline-offset: 2px;
    box-shadow: 0 0 0 0.2rem rgba(64, 81, 137, 0.22);
}

form button:focus-visible,
form .btn:focus-visible,
.modal button:focus-visible,
.modal .btn:focus-visible {
    outline: 2px solid var(--bs-primary, #405189);
    outline-offset: 2px;
    box-shadow: 0 0 0 0.2rem rgba(64, 81, 137, 0.22);
}

/* Select2: focus lands on .select2-selection (tabindex) */
.select2-container--default .select2-selection--single:focus,
.select2-container--default .select2-selection--multiple:focus,
.select2-container.select2-container--focus .select2-selection--single,
.select2-container.select2-container--focus .select2-selection--multiple {
    outline: 2px solid var(--bs-primary, #405189);
    outline-offset: 2px;
    box-shadow: 0 0 0 0.2rem rgba(64, 81, 137, 0.22);
}

/* Open dropdown search field */
.select2-container--open .select2-search__field:focus,
.select2-container--open .select2-search__field:focus-visible {
    outline: 2px solid var(--bs-primary, #405189) !important;
    outline-offset: 1px;
}

/* Flatpickr visible input */
input.flatpickr-input:focus-visible,
input.form-control[data-provider="flatpickr"]:focus-visible,
input[data-provider="timepickr"]:focus-visible {
    outline: 2px solid var(--bs-primary, #405189);
    outline-offset: 2px;
    box-shadow: 0 0 0 0.2rem rgba(64, 81, 137, 0.22);
}
