/**
 * Global focus-visible system
 * Bundled last via assets/css/style.css (after Bootstrap + style-core.css).
 * Pre-auth pages (login.php, verify_2fa.php) load this file directly.
 */

:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
}

/* Bootstrap interactive components */
.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.form-check-input:focus-visible,
.nav-link:focus-visible,
.navbar-toggler:focus-visible,
.page-link:focus-visible,
.dropdown-item:focus-visible,
.dropdown-toggle:focus-visible,
.accordion-button:focus-visible,
.btn-close:focus-visible,
.list-group-item-action:focus-visible,
.input-group-text:focus-visible,
.form-range:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
}

/* Select2 */
.select2-container--bootstrap-5 :focus-visible,
.select2-container--bootstrap-5 .select2-selection:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
}

/* Custom dropdown */
.custom-dropdown .dropdown-field:focus-visible,
.custom-dropdown .dropdown-item:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
}

/* Mobile bottom navigation */
.nav-link-mobile:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
}

/* Topbar & notifications */
.notification-trigger:focus-visible,
.profile-trigger:focus-visible,
.notification-item:focus-visible,
.notification-item-page:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
}

/* Report list items */
.report-item:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
}

/* Jalali datepicker */
jdp-container .jdp-day:focus-visible:not(.disabled-day),
jdp-container .jdp-year:focus-visible,
jdp-container .jdp-month:focus-visible,
jdp-container .jdp-time:focus-visible,
jdp-container button:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
}

/* Course wizard step indicators */
.step-indicator[role="tab"]:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
}

/* Certificate advanced settings */
.form-control-modern:focus-visible,
.form-select-modern:focus-visible,
.btn-icon:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
}

/* Login / 2FA */
.code-box:focus-visible,
#toggle-password:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
}

/* Tables & modals (courses.php accessibility block) */
.table th:focus-visible,
.modal-header .btn-close:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
}

/* Preserve decorative focus enhancements without suppressing the ring */
.form-control:focus-visible,
.form-select:focus-visible {
    border-color: var(--primary-color);
}
