
/* WINGSAID — FINAL HEADER + ENQUIRY POLISH */

/* Keep the wave visually behind the header contents, never across the logo/menu */
.site-header{
  position:absolute !important;
  min-height:105px !important;
  overflow:visible !important;
  isolation:isolate !important;
}
.site-header .nav-wrap{
  position:relative !important;
  z-index:10 !important;
  height:105px !important;
  min-height:105px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.site-header .brand{
  position:relative !important;
  z-index:20 !important;
  align-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  height:105px !important;
  margin:0 !important;
  overflow:visible !important;
}
.site-header .brand img{
  position:relative !important;
  z-index:21 !important;
  display:block !important;
  width:105.6px !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  transform:none !important;
  filter:drop-shadow(0 3px 9px rgba(0,0,0,.30)) !important;
}
.site-header .nav{
  position:relative !important;
  z-index:20 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  height:105px !important;
  margin:0 !important;
}
.site-header .nav > a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  height:auto !important;
  line-height:1 !important;
  padding:11px 0 !important;
}
.site-header .nav .nav-cta{
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 22px !important;
  align-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(135deg,#C99A3D,#F0D58A) !important;
  color:#24130D !important;
  border:1px solid #F0D58A !important;
}

/* Put the decorative waves behind the header content */
.site-header::before,
.site-header::after{
  z-index:-1 !important;
  pointer-events:none !important;
}
.site-header::after{
  bottom:-30px !important;
}
.site-header::before{
  bottom:-17px !important;
}

/* Booking/enquiry: strong gold typography against the dark luxury panel */
.booking-form{
  background:linear-gradient(145deg,#21120B,#120906) !important;
  border:1px solid rgba(240,213,138,.48) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.32), inset 0 1px 0 rgba(240,213,138,.12) !important;
}
.booking-form h3{
  color:#F0D58A !important;
  font-family:'Bodoni Moda',Didot,'Times New Roman',serif !important;
  font-size:24px !important;
  text-shadow:0 1px 8px rgba(201,154,61,.14) !important;
}
.booking-form label{
  color:#F0D58A !important;
  font-weight:600 !important;
}
.booking-form input,
.booking-form select,
.booking-form textarea{
  background:#FFF9ED !important;
  color:#24130D !important;
  border:1px solid #C99A3D !important;
}
.booking-form input::placeholder,
.booking-form textarea::placeholder{
  color:#A87828 !important;
  opacity:1 !important;
}
.booking-form select{
  color:#24130D !important;
}
.booking-form select option{
  background:#FFF9ED !important;
  color:#24130D !important;
}
.booking-form input:focus,
.booking-form select:focus,
.booking-form textarea:focus{
  border-color:#F0D58A !important;
  box-shadow:0 0 0 2px rgba(240,213,138,.16) !important;
}
.booking-form .form-note{
  color:#D8BC7B !important;
}
.booking-form .form-message{
  color:#F0D58A !important;
}
.booking-form .btn-primary,
.booking-form button[type="submit"]{
  background:linear-gradient(135deg,#B9852E,#F0D58A) !important;
  color:#24130D !important;
  border:1px solid #F0D58A !important;
  font-weight:700 !important;
}
.booking-form .btn-primary:hover,
.booking-form button[type="submit"]:hover{
  background:#C99A3D !important;
  color:#FFF9ED !important;
}

/* Booking copy accents match the upper gold palette */
.booking-copy h2,
.booking-copy h2 em{
  color:#F0D58A !important;
}
.booking-copy li::before,
.contact-mini span{
  color:#C99A3D !important;
}

/* Mobile: keep logo/menu vertically centered and prevent wave overlap */
@media(max-width:1100px){
  .site-header .brand img{width:92.4px !important}
  .site-header .nav-wrap,
  .site-header .nav{height:94px !important;min-height:94px !important}
  .site-header .brand{height:94px !important}
}
@media(max-width:700px){
  .site-header{
    min-height:74px !important;
  }
  .site-header .nav-wrap{
    height:74px !important;
    min-height:74px !important;
  }
  .site-header .brand{
    height:74px !important;
    width:74px !important;
  }
  .site-header .brand img{
    width:74.4px !important;
  }
  .site-header .nav{
    height:auto !important;
    min-height:0 !important;
  }
  .site-header .menu-toggle{
    position:relative !important;
    z-index:30 !important;
    align-self:center !important;
  }
}


/* Final micro-adjustment: move logo + menu slightly lower */
.site-header .nav-wrap{
  transform:translateY(7px) !important;
}
@media(max-width:700px){
  .site-header .nav-wrap{
    transform:translateY(5px) !important;
  }
}


/* Logo only: 2px further down */
.site-header .brand{
  transform:translateY(2px) !important;
}
@media(max-width:700px){
  .site-header .brand{
    transform:translateY(2px) !important;
  }
}


/* Premium service trust-line alignment + subtle related icons */
.service-highlights,
.service-highlight,
.trust-highlights,
.trust-highlight,
.hero-features,
.hero-feature{
  position:relative;
}

/* First phrase on the left */
.premium-airport,
.airport-support,
[class*="premium-airport"]{
  text-align:left !important;
}

/* Second phrase on the right */
.reliable-assistance,
.personable-assistance,
[class*="reliable-personable"]{
  text-align:right !important;
}

/* Use these generic selectors when the phrases are in a two-column row */
.service-highlights,
.trust-highlights,
.hero-features{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}
.service-highlights > :first-child,
.trust-highlights > :first-child,
.hero-features > :first-child{
  text-align:left !important;
}
.service-highlights > :last-child,
.trust-highlights > :last-child,
.hero-features > :last-child{
  text-align:right !important;
}

/* Related icons: elegant, small and gold; hide if the matching icon is not used */
.premium-airport i,
.airport-support i{
  color:#C99A3D !important;
  margin-right:8px !important;
}
.reliable-assistance i,
.personable-assistance i{
  color:#C99A3D !important;
  margin-left:8px !important;
}

@media(max-width:700px){
  .service-highlights,
  .trust-highlights,
  .hero-features{
    flex-direction:column !important;
    gap:10px !important;
  }
  .service-highlights > *,
  .trust-highlights > *,
  .hero-features > *{
    width:100% !important;
    text-align:center !important;
  }
}

/* Keep homepage corner text alignment; no newly-added icons */
.premium-airport i,
.reliable-assistance i,
.airport-support i,
.personable-assistance i{
  display:none !important;
}


/* Homepage topbar: lock both messages to the website content edges */
.topbar{
  box-sizing:border-box !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  height:40px !important;
  padding:0 max(24px, calc((100vw - var(--max)) / 2)) !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  justify-content:initial !important;
  gap:0 !important;
  color:#F0D58A !important;
  font-size:12px !important;
  letter-spacing:.15px !important;
  background:rgba(31,16,10,.72) !important;
}
.topbar::before{
  display:none !important;
}
.topbar .top-left{
  justify-self:start !important;
  text-align:left !important;
  white-space:nowrap !important;
}
.topbar .top-right{
  justify-self:end !important;
  text-align:right !important;
  white-space:nowrap !important;
}
.topbar .top-divider{
  justify-self:center !important;
  color:#C99A3D !important;
  font-size:15px !important;
  padding:0 18px !important;
}
.topbar .top-icon{
  color:#F0D58A !important;
  font-size:14px !important;
  line-height:1 !important;
  vertical-align:-1px !important;
}
.topbar .top-left .top-icon{
  margin-right:7px !important;
}
.topbar .top-right .top-icon{
  margin-left:7px !important;
}
@media(max-width:700px){
  .topbar{
    padding:0 14px !important;
    font-size:10px !important;
  }
  .topbar .top-divider{
    padding:0 7px !important;
  }
  .topbar .top-icon{
    font-size:12px !important;
  }
}

/* =========================================================
   FINAL MOBILE NAVIGATION + HORIZONTAL-OVERFLOW FIX
   Desktop/tablet layout remains unchanged.
   ========================================================= */
@media (max-width:700px){
  /* Show only the hamburger on mobile; the full menu opens on click. */
  .site-header .menu-toggle{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    padding:7px !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    cursor:pointer !important;
  }
  .site-header .menu-toggle span{
    display:block !important;
    width:24px !important;
    height:2px !important;
    margin:3px 0 !important;
    background:#FFF9ED !important;
    border-radius:2px !important;
  }

  /* Hide the desktop navigation until the hamburger is clicked. */
  .site-header .nav{
    display:none !important;
    position:absolute !important;
    top:74px !important;
    left:14px !important;
    right:14px !important;
    width:auto !important;
    max-width:calc(100vw - 28px) !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:8px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    background:#15100c !important;
    border:1px solid rgba(240,213,138,.22) !important;
    border-radius:0 0 12px 12px !important;
    box-shadow:0 14px 30px rgba(0,0,0,.42) !important;
    overflow:hidden !important;
  }
  .site-header .nav.open{
    display:flex !important;
  }
  .site-header .nav > a{
    display:flex !important;
    width:100% !important;
    min-height:44px !important;
    align-items:center !important;
    justify-content:flex-start !important;
    padding:13px 12px !important;
    line-height:1.2 !important;
  }
  .site-header .nav .nav-cta{
    min-height:44px !important;
    height:44px !important;
    justify-content:center !important;
    margin:5px 0 0 !important;
  }

  /* Keep the top information bar inside the mobile viewport. */
  .topbar{
    padding-left:7px !important;
    padding-right:7px !important;
    font-size:8px !important;
  }
  .topbar .top-left,
  .topbar .top-right{
    min-width:0 !important;
    max-width:100% !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
  }
  .topbar .top-divider{
    padding:0 4px !important;
    font-size:12px !important;
  }
  .topbar .top-icon{
    font-size:9px !important;
  }

  /* Prevent any header child from creating a horizontal page overflow. */
  .site-header,
  .site-header .nav-wrap{
    max-width:100vw !important;
  }
}
