/* Shared premium navigation: a clear canvas while scrolling, with compact
   readable surfaces around controls. The legacy header is unchanged. */
body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader.site-header {
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;
}

body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader.site-header.is-scrolled {
  background:transparent!important;
  border-color:transparent;
  box-shadow:none!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  pointer-events:none;
}

body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader :is(.header-brand,.desktop-nav,#hamburgerBtn) {
  position:relative;
  isolation:isolate;
  pointer-events:auto;
}

body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader :is(.header-brand,.desktop-nav,#hamburgerBtn)::before {
  content:'';
  position:absolute;
  inset:3px -10px;
  z-index:-1;
  border:1px solid #d9fff51f;
  border-radius:14px;
  background:#080f11e6;
  box-shadow:0 4px 18px #00000014;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease;
}

body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader .desktop-nav::before { inset:8px -13px; }
body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader #hamburgerBtn::before { inset:0; border-radius:12px; }
body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader.is-scrolled :is(.header-brand,.desktop-nav,#hamburgerBtn)::before { opacity:1; }

/* Keyboard navigation and the open drawer retain a solid, readable shell. */
body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader.site-header.is-scrolled:has(:focus-visible),
body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)):has(#mobileDrawer.is-open) #mainHeader.site-header.is-scrolled {
  background:#080f11f5!important;
  border-color:#d9fff524;
  box-shadow:0 8px 28px #0002!important;
}
body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader.is-scrolled:has(:focus-visible) :is(.header-brand,.desktop-nav,#hamburgerBtn)::before,
body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)):has(#mobileDrawer.is-open) #mainHeader.is-scrolled :is(.header-brand,.desktop-nav,#hamburgerBtn)::before { opacity:0; }

@media(hover:hover) and (pointer:fine) {
  body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader.site-header.is-scrolled:hover {
    background:#080f11f5!important;
    border-color:#d9fff524;
    box-shadow:0 8px 28px #0002!important;
  }
  body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader.is-scrolled:hover :is(.header-brand,.desktop-nav,#hamburgerBtn)::before { opacity:0; }
}

@media(max-width:767px) {
  body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader .header-brand::before { inset:2px -8px; border-radius:12px; }
}
@media(prefers-reduced-motion:reduce) {
  body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader.site-header,
  body:is(.aa-premium,:has(.booking-premium),:has(.fidelity-premium)) #mainHeader :is(.header-brand,.desktop-nav,#hamburgerBtn)::before { transition:none; }
}
