/* ==========================================================================
   OP BOOBLE — BASE
   --------------------------------------------------------------------------
   Reset ringan di atas Bootstrap 4 / Datta Able. Hanya berisi aturan yang
   aman untuk semua halaman; tampilan spesifik ada di layout/components.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Dokumen
   -------------------------------------------------------------------------- */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

::selection {
    background: var(--app-primary-soft);
    color: var(--app-heading);
}

/* --------------------------------------------------------------------------
   2. Media
   -------------------------------------------------------------------------- */
img,
svg,
video,
canvas {
    vertical-align: middle;
}

/* --------------------------------------------------------------------------
   3. Fokus keyboard
   Ring hanya muncul untuk navigasi keyboard (:focus-visible), bukan klik
   mouse, sehingga tampilan saat diklik tetap seperti sebelumnya.
   -------------------------------------------------------------------------- */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
[role="button"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
    outline: 0;
    box-shadow: var(--app-focus-ring);
    border-radius: var(--app-radius-sm);
}

/* --------------------------------------------------------------------------
   4. Aksesibilitas gerak
   Hormati pengaturan OS "reduce motion": matikan animasi & transisi.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    /* !important wajib: harus menang atas animasi/transisi dari plugin & inline.
       Durasi 0s (bukan .01ms): .01ms justru mengaktifkan transisi pada SEMUA
       properti karena transition-property bawaan browser adalah "all". */
    *,
    *::before,
    *::after {
        animation-duration: 0s !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0s !important;
        transition-delay: 0s !important;
        scroll-behavior: auto !important;
    }
}
