/* ==========================================================================
   Page Loader — dipakai semua halaman
   Overlay #page-loader menutup layar sampai semua aset awal selesai dimuat,
   lalu di-fade-out oleh assets/js/page-loader.js.

   Catatan: id "page-loader" dipakai (bukan class "loader") karena main.js
   punya sistem loader bawaan sendiri yang terikat pada class .loader.
   ========================================================================== */

/* Kunci scroll selama loading; class dipasang/dilepas oleh page-loader.js */
html.is-preloading {
  overflow: hidden;
}

#page-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: #000;
}

#page-loader img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: page-loader-pulse 2.2s ease-in-out infinite;
}

/* Fallback fade bila GSAP tidak tersedia. Transisi sengaja ditaruh di rule
   .is-done (bukan di #page-loader) agar tidak bentrok dengan animasi GSAP. */
#page-loader.is-done {
  opacity: 0;
  visibility: hidden;
  transition: opacity .6s ease, visibility 0s linear .6s;
}

@keyframes page-loader-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .55; }
}

@media (prefers-reduced-motion: reduce) {
  #page-loader img {
    animation: none;
  }
}
