/* Final locked header + contrast corrections for V1/V2/V3 */

:root{--final-header-h:112px}

.site-header{
  position:sticky !important;
  top:0 !important;
  z-index:100 !important;
  overflow:hidden !important;
  border-bottom:1px solid var(--line) !important;
  backdrop-filter:blur(18px) !important;
}
body[data-version="v1"] .site-header{background:rgba(255,248,239,.98) !important}
body[data-version="v2"] .site-header{background:rgba(238,247,251,.98) !important}
body[data-version="v3"] .site-header{background:rgba(7,12,22,.98) !important}

.navrow{
  min-height:var(--final-header-h) !important;
  height:var(--final-header-h) !important;
  display:grid !important;
  grid-template-columns:minmax(300px,360px) minmax(0,1fr) 220px !important;
  gap:24px !important;
  align-items:center !important;
}

.brand{
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
  padding:0 !important;
}
.brand-logo-shell{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  padding:4px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  overflow:hidden !important;
}
.brand-full-logo{
  width:auto !important;
  height:calc(var(--final-header-h) - 8px) !important;
  max-width:100% !important;
  max-height:calc(var(--final-header-h) - 8px) !important;
  display:block !important;
  object-fit:contain !important;
  object-position:left center !important;
  flex:none !important;
}

.desktop-nav{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:24px !important;
  white-space:nowrap !important;
}
body[data-version="v1"] .desktop-nav a,
body[data-version="v1"] .desktop-nav button{color:#2a160c !important}
body[data-version="v2"] .desktop-nav a,
body[data-version="v2"] .desktop-nav button{color:#08223a !important}
body[data-version="v3"] .desktop-nav a,
body[data-version="v3"] .desktop-nav button{color:#f6efe4 !important}

.mobile-menu-btn{display:none !important}
.header-cta{
  width:220px !important;
  max-width:220px !important;
  min-width:0 !important;
  min-height:52px !important;
  padding:13px 18px !important;
  justify-self:end !important;
  border-radius:999px !important;
}

/* Hero/page sections begin after the header; nothing is allowed to spill into them. */
.site-header + .hero,.site-header + .page-hero{position:relative !important;z-index:1 !important}

/* All page-hero text uses explicit contrast. */
.page-hero{color:#fff !important}
body[data-version="v1"] .page-hero{background:linear-gradient(115deg,#241306 0%,#3a210c 54%,#775018 100%) !important}
body[data-version="v2"] .page-hero{background:linear-gradient(115deg,#06233a 0%,#0a4267 56%,#0b628d 100%) !important}
body[data-version="v3"] .page-hero{background:linear-gradient(115deg,#050913 0%,#0c1830 58%,#163d66 100%) !important}
.page-hero h1,.page-hero .eyebrow{color:#fff !important}
.breadcrumbs{color:rgba(255,255,255,.86) !important}
.detail-hero p{color:rgba(255,255,255,.92) !important;text-shadow:none !important}
.detail-hero-pills span{
  background:#fff !important;
  color:#23170f !important;
  border:1px solid rgba(255,255,255,.9) !important;
  text-shadow:none !important;
  box-shadow:0 8px 20px rgba(0,0,0,.14) !important;
}

/* Inputs remain readable in dark V3. */
body[data-version="v3"] .hero-finder select,
body[data-version="v3"] .hero-finder input,
body[data-version="v3"] .booking-form select,
body[data-version="v3"] .booking-form input,
body[data-version="v3"] .booking-form textarea,
body[data-version="v3"] .detail-booking input,
body[data-version="v3"] .detail-booking select{
  color:#f6efe4 !important;
  background:#111a2d !important;
  border-color:rgba(255,255,255,.14) !important;
}
body[data-version="v3"] .hero-finder option,
body[data-version="v3"] .booking-form option,
body[data-version="v3"] .detail-booking option{color:#111 !important;background:#fff !important}

@media(max-width:1180px){
  :root{--final-header-h:98px}
  .navrow{grid-template-columns:minmax(250px,300px) minmax(0,1fr) 180px !important;gap:16px !important}
  .desktop-nav{gap:16px !important}
  .desktop-nav a,.desktop-nav button{font-size:13px !important}
  .header-cta{width:180px !important;max-width:180px !important}
}

@media(max-width:980px){
  :root{--final-header-h:84px}
  .navrow{grid-template-columns:minmax(0,1fr) auto 1fr auto !important;gap:8px !important}
  .brand{max-width:280px !important}
  .mobile-menu-btn{display:grid !important;place-items:center !important;width:44px !important;height:44px !important}
  .desktop-nav{display:none !important}
  .header-cta{width:auto !important;max-width:none !important;min-height:44px !important;padding:10px 14px !important;font-size:12px !important}
  .drawer{top:calc(var(--final-header-h) + 8px) !important}
}

@media(max-width:620px){
  :root{--final-header-h:78px}
  .navrow{grid-template-columns:minmax(0,1fr) auto 1fr auto !important;gap:7px !important}
  .brand{max-width:min(48vw,220px) !important}
  .brand-logo-shell{padding:2px 0 !important}
  .brand-full-logo{height:calc(var(--final-header-h) - 4px) !important;max-height:calc(var(--final-header-h) - 4px) !important}
  .mobile-menu-btn{width:42px !important;height:42px !important;border-radius:13px !important}
  .header-cta{font-size:11px !important;padding:10px 11px !important;min-height:42px !important}
  .drawer{top:calc(var(--final-header-h) + 6px) !important}
  .detail-hero-pills span{font-size:10px !important;padding:9px 11px !important}
}

@media(max-width:390px){
  .brand{max-width:min(45vw,185px) !important}
  .header-cta{font-size:10px !important;padding:9px 10px !important}
}
