/*
 * Perbaikan aksesibilitas lintas halaman (Sprint 13, butir 3.9-E.1). Dimuat terakhir oleh layouts/head-css.blade.php.
 * Dasar temuan: audit otomatis qa/responsive-audit.html (bukti di concept/sprint/S13-bukti).
 */

/* 1. Indikator fokus keyboard. Tema mematikan outline tombol/tautan secara global (button,a{outline:none!important}),
      sehingga pengguna keyboard tidak melihat posisi fokus (WCAG 2.4.7). Cincin dua lapis agar terlihat di latar terang maupun gelap. */
:where(a[href], button, input, select, textarea, summary, [tabindex], [role="button"]):focus-visible {
    outline: 2px solid #0a6fa8 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #fff !important;
}

/* 2. Tautan lewati ke konten utama (muncul saat difokus dengan Tab). */
.skip-link {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 100000;
    padding: 12px 18px;
    border-radius: 8px;
    background: #0f2238;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    transform: translateY(-200%);
    transition: transform .15s;
}
.skip-link:focus, .skip-link:focus-visible { transform: translateY(0); color: #fff; }
#main-content:focus { outline: none; }

/* 3. Kontras teks (WCAG 1.4.3, minimal 4,5:1). Warna pengganti dihitung dari warna tema dengan tampilan serupa. */
:root {
    --vz-primary: #0b78b5;
    --vz-primary-rgb: 11, 120, 181;
    --vz-link-color: #0b78b5;
    --vz-link-color-rgb: 11, 120, 181;
    --vz-link-hover-color: #095f8f;
    --vz-link-hover-color-rgb: 9, 95, 143;
}
.text-muted { color: #62677a !important; }
.btn-primary {
    --vz-btn-bg: #0b78b5; --vz-btn-border-color: #0b78b5;
    --vz-btn-hover-bg: #0a6fa8; --vz-btn-hover-border-color: #0a6fa8;
    --vz-btn-active-bg: #095f8f; --vz-btn-active-border-color: #095f8f;
    --vz-btn-disabled-bg: #0b78b5; --vz-btn-disabled-border-color: #0b78b5;
}
.btn-secondary {
    --vz-btn-bg: #62677a; --vz-btn-border-color: #62677a;
    --vz-btn-hover-bg: #565b6d; --vz-btn-hover-border-color: #565b6d;
    --vz-btn-active-bg: #4b5060; --vz-btn-active-border-color: #4b5060;
}
.btn-outline-primary { --vz-btn-color: #0b78b5; --vz-btn-border-color: #0b78b5; --vz-btn-hover-bg: #0b78b5; --vz-btn-hover-border-color: #0b78b5; }
.text-primary { color: #0b78b5 !important; }
.text-success { color: #047a66 !important; }
.badge.bg-primary-subtle { color: #0a6fa8 !important; }
.badge.bg-success-subtle { color: #047a66 !important; }
.badge.bg-warning-subtle { color: #8a5d00 !important; }
.badge.bg-secondary-subtle { color: #4b5060 !important; }
.badge.bg-light { color: #4b5060 !important; }
.menu-title, .menu-title span, .navbar-nav .menu-title span { color: #5b6b82 !important; }

/* 4. Ukuran target sentuh (WCAG 2.5.8, minimal 24px; tombol navigasi utama dibuat 44px). */
#topnav-hamburger-icon, .navbar-toggler { min-width: 44px; min-height: 44px; }
.navbar-toggler { padding-top: .5rem !important; padding-bottom: .5rem !important; }
@media (pointer: coarse) {
    .form-check-input { width: 1.5rem; height: 1.5rem; }
    .form-check-input[type="checkbox"], .form-check-input[type="radio"] { margin-top: 0; }
}
summary { min-height: 24px; }
.pp .pp-back, .pp .db-link { display: inline-flex; align-items: center; min-height: 24px; }
.topbar-action-btn:focus-visible, #topnav-hamburger-icon:focus-visible { outline: 2px solid #0a6fa8 !important; outline-offset: 2px !important; }
.apexcharts-legend-text, .apexcharts-text { color: #4b5060 !important; }
