/* Header (HeavenBroHotel) */
.hb-header { 
  --hb-black:#0a0a0a; 
  --hb-gold:#d4af37; 
  --hb-champagne:#f5efe6; 
  --hb-amber:#ffbf66; 
  --hb-red:#8a1c1c; 
  background: radial-gradient(1200px 500px at 10% -10%, rgba(212,175,55,0.15), transparent), var(--hb-black);
  color: var(--hb-champagne);
  border-bottom: 1px solid rgba(212,175,55,0.25);
  position: sticky; top: 0; z-index: 1000;
}
.hb-skip-link { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.hb-skip-link:focus { left: 1rem; top: 1rem; width: auto; height: auto; padding: .6rem 1rem; background: #111; color: #fff; outline: 2px solid var(--hb-gold); border-radius: .25rem; z-index: 1001; }
.hb-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; max-width: 1200px; margin-inline: auto; }

/* Logo */
.hb-logo { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; color: var(--hb-champagne); }
.hb-logo__text { font-family: 'Playfair Display', serif; font-weight: 700; letter-spacing: .5px; font-size: 1.125rem; }
.hb-logo__mark { display: inline-flex; }
.hb-logo:hover .hb-logo__text, .hb-logo:focus .hb-logo__text { color: var(--hb-gold); }
.hb-logo:focus { outline: 2px solid var(--hb-gold); outline-offset: 2px; border-radius: 4px; }

/* Navigation */
.hb-nav { display: flex; align-items: center; gap: 1rem; }
.hb-menu { display: flex; align-items: center; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.hb-menu a { display: inline-block; padding: .5rem .6rem; color: var(--hb-champagne); text-decoration: none; font-family: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, sans-serif; font-weight: 600; letter-spacing: .2px; border-radius: .35rem; }
.hb-menu a:hover, .hb-menu a:focus { color: #fff; background: rgba(212,175,55,.12); outline: none; box-shadow: 0 0 0 2px rgba(212,175,55,.45) inset; }

/* CTA */
.hb-btn { --ring: rgba(212,175,55,.45); display: inline-flex; align-items: center; justify-content: center; padding: .6rem 1rem; border-radius: .5rem; text-decoration: none; font-weight: 700; line-height: 1; transition: transform .15s ease, box-shadow .2s ease, background .2s ease; }
.hb-btn--gold { color: #1a1a1a; background: linear-gradient(180deg, #f7e7a6, #d4af37 60%, #b58b24); box-shadow: 0 6px 18px rgba(212,175,55,.25); }
.hb-btn--gold:hover, .hb-btn--gold:focus { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(212,175,55,.35); outline: 2px solid transparent; }
.hb-btn--gold:focus { box-shadow: 0 0 0 3px var(--ring); }

/* Mobile toggle */
.hb-nav-toggle { display: none; background: transparent; color: var(--hb-champagne); border: 1px solid rgba(212,175,55,.35); padding: .5rem .75rem; border-radius: .5rem; font-weight: 700; align-items: center; gap: .6rem; }
.hb-nav-toggle:focus { outline: 2px solid var(--hb-gold); outline-offset: 2px; }
.hb-nav-toggle__bars { display: inline-flex; flex-direction: column; gap: 4px; }
.hb-nav-toggle__bars span { display: block; width: 20px; height: 2px; background: var(--hb-champagne); border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
.hb-nav-toggle[aria-expanded="true"] .hb-nav-toggle__bars span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.hb-nav-toggle[aria-expanded="true"] .hb-nav-toggle__bars span:nth-child(2) { opacity: 0; }
.hb-nav-toggle[aria-expanded="true"] .hb-nav-toggle__bars span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Backdrop for mobile menu */
.hb-nav-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.5); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); z-index: 999; }

/* Responsive behaviour - progressive enhancement */
@media (max-width: 960px) {
  .hb-nav-toggle { display: inline-flex; }
  /* By default (no JS), keep the menu visible for accessibility */
  /* When JS is enabled, collapse menu until opened */
  .hb-has-js .hb-nav { position: fixed; right: 0; top: 0; height: 100dvh; width: min(90vw, 360px); background: linear-gradient(180deg, #111 0%, #0a0a0a 100%); box-shadow: -10px 0 30px rgba(0,0,0,.4); flex-direction: column; align-items: flex-start; padding: 5rem 1rem 1rem; transform: translateX(100%); transition: transform .25s ease; z-index: 1000; }
  .hb-has-js .hb-nav .hb-menu { flex-direction: column; align-items: stretch; gap: .25rem; width: 100%; }
  .hb-has-js .hb-nav .hb-menu a { width: 100%; padding: .9rem 1rem; border-radius: .4rem; }
  .hb-has-js .hb-header__cta { width: 100%; margin-top: .5rem; }
  .hb-has-js .hb-header__cta .hb-btn { width: 100%; }
  .hb-has-js .hb-nav.is-open { transform: translateX(0); }
  .hb-has-js .hb-nav-backdrop[hidden] { display: none !important; }
}

/* Utility when menu open to prevent scroll */
.hb-menu-open { overflow: hidden; }
