/* =========================================================
   Dewandaru — Landing Hero (ab-hero-*)
   Page-scoped: dimuat HANYA di halaman landing (home).
   Mobile nav, desktop overlay, footer, section lain: tidak disentuh.
   ========================================================= */

/* Fullscreen hero */
.ab-hero {
  position: relative;
  height: 100vh;
  min-height: 520px;
  overflow: hidden;
  background-color: var(--ab-primary);  /* tampak selama video belum load */
  z-index: 1;
}

.ab-hero__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* dark overlay: teks tetap terbaca di atas video */
.ab-hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--ab-image-overlay);
}

/* content: center penuh viewport (horizontal + vertical) */
.ab-hero__content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 24px;
}

.ab-hero__content h1 {
  margin: 0;
  color: var(--ab-white);
  font-family: var(--ab-font-heading);
  font-size: clamp(2.4rem, 5.4vw, 4.75rem);
  font-weight: var(--ab-font-heading-weight);
  line-height: 1.12;
  letter-spacing: -0.015em;
  text-shadow: var(--ab-shadow-text);
}

.ab-hero__content h1 span {
  display: block;
  font-weight: 300;
  font-style: italic;
}

/* ---------- header: transparan di atas hero, putih setelah scroll ---------- */
@media (min-width: 992px) {

  /* hero menempel ke top:0 supaya header transparan melayang di atas video */
  .ab-header-spacer {
    height: 0;
  }

  .ab-desktop-header {
    transition: background-color var(--ab-transition), box-shadow var(--ab-transition);
  }

  /* default (sudah scroll / hero lewat): putih + shadow sangat tipis */
  .ab-desktop-header {
    box-shadow: var(--ab-shadow-sm);
  }

  /* di puncak hero: transparan, tanpa shadow, kontrol warna terang */
  body.ab-hero-top .ab-desktop-header {
    background-color: transparent;
    box-shadow: none;
  }
  body.ab-hero-top .ab-desktop-header__burger span { background-color: var(--ab-white); }
  body.ab-hero-top .ab-desktop-header__close { color: var(--ab-white); }
  body.ab-hero-top .ab-desktop-header__book {
    color: var(--ab-white);
    border-color: var(--ab-text-on-dark);
  }
  body.ab-hero-top .ab-desktop-header__book:hover {
    background-color: var(--ab-accent);
    border-color: var(--ab-accent);
    color: var(--ab-white);
  }

  /* state solid: sudah scroll / hero lewat viewport */
  body.ab-scrolled .ab-desktop-header {
    background-color: var(--ab-white);
    box-shadow: var(--ab-shadow-sm);
  }

  /* ---------- state tertinggi: overlay dibuka ---------- */
  /* Prioritas 1 — menimpa ab-hero-top karena dideklarasikan lebih akhir. */
  body.ab-overlay-open .ab-desktop-header {
    background-color: var(--ab-white);
    box-shadow: var(--ab-shadow-sm);
  }
  body.ab-overlay-open .ab-desktop-header__burger span { background-color: var(--ab-text); }
  body.ab-overlay-open .ab-desktop-header__close { color: var(--ab-text); }
  /* Book Now: biarkan style default accent, terlihat jelas di header putih */
}

/* ---------- Mobile: hero ditarik ke top:0 sehingga navbar (sticky,
   transparent state) melayang DI ATAS video seperti desktop ---------- */
@media (max-width: 991.98px) {
  .ab-hero {
    margin-top: -105px;   /* tinggi .header mobile */
  }
}
