/* Villa Antonio Header & Footer Manager v1.0.2
   Shortcode-safe, full-bleed and responsive inside Elementor Theme Builder. */

/* ------------------------------
   HEADER / SHARED RESET
------------------------------ */
#vaw-l2-header{
  --vine:#5b1e2d;
  --olive:#6b6f4e;
  --olive-dark:#555a3f;
  --terracotta:#c37a5a;
  --stone:#d8cec2;
  --stone-soft:#e8e0d7;
  --cream:#f6f2ea;
  --paper:#fffdf8;
  --gold:#b89a5a;
  --ink:#302b28;
  --muted:#6f6761;
  --heading:"Cormorant Garamond",Georgia,serif;
  --body:"DM Sans",Arial,sans-serif;
  --topbar-h:48px;
  --header-h:92px;
  --content-max:1480px;
  --villa-logo-w:230px;
  --sandy-logo-w:124px;
  --nav-size:13px;
  --nav-gap:28px;
  --submenu-w:250px;
  --cta-h:50px;
  --topbar-size:12px;

  position:relative!important;
  z-index:1000!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  overflow-x:clip!important;
  color:var(--ink)!important;
  font-family:var(--body)!important;
  isolation:isolate!important;
}
#vaw-l2-header,#vaw-l2-header *{box-sizing:border-box!important;min-width:0}
#vaw-l2-header ul,#vaw-l2-header li{margin:0!important;padding:0!important;list-style:none!important}
#vaw-l2-header a{text-decoration:none!important}
#vaw-l2-header img,#vaw-l2-header svg{display:block!important}

/* Top contact bar */
#vaw-l2-header .vaw-l2-topbar{
  width:100%!important;
  min-height:var(--topbar-h)!important;
  background:var(--stone)!important;
  color:var(--vine)!important;
  border-bottom:1px solid rgba(107,111,78,.20)!important;
}
#vaw-l2-header .vaw-l2-topbar-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  width:min(calc(100% - 48px),var(--content-max))!important;
  min-height:var(--topbar-h)!important;
  margin:0 auto!important;
}
#vaw-l2-header .vaw-l2-contact-list{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:6px 24px!important;
  min-width:0!important;
}
#vaw-l2-header .vaw-l2-contact-list li{min-width:0!important}
#vaw-l2-header .vaw-l2-contact-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:var(--vine)!important;
  font:600 var(--topbar-size)/1.35 var(--body)!important;
  white-space:nowrap!important;
  transition:color .2s ease!important;
}
#vaw-l2-header .vaw-l2-contact-link:hover{color:var(--olive)!important}
#vaw-l2-header .vaw-l2-contact-icon{width:16px!important;height:16px!important;flex:0 0 16px!important;color:var(--olive)!important}
#vaw-l2-header .vaw-l2-social-list{display:flex!important;align-items:center!important;gap:7px!important;flex:0 0 auto!important}
#vaw-l2-header .vaw-l2-social-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  border:1px solid rgba(107,111,78,.48)!important;
  border-radius:50%!important;
  color:var(--olive)!important;
  background:transparent!important;
  transition:background-color .2s ease,color .2s ease,transform .2s ease!important;
}
#vaw-l2-header .vaw-l2-social-link:hover{background:var(--olive)!important;color:var(--cream)!important;transform:translateY(-2px)!important}
#vaw-l2-header .vaw-l2-social-icon{width:15px!important;height:15px!important;fill:currentColor!important}

/* Main header */
#vaw-l2-header .vaw-l2-main{
  position:relative!important;
  z-index:1000!important;
  width:100%!important;
  min-height:var(--header-h)!important;
  border-bottom:1px solid rgba(107,111,78,.16)!important;
  background:rgba(246,242,234,.985)!important;
}
#vaw-l2-header .vaw-l2-main.is-fixed{
  position:fixed!important;
  top:0!important;
  right:0!important;
  left:0!important;
  width:100%!important;
  box-shadow:0 14px 38px rgba(52,47,42,.12)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
#vaw-l2-header .vaw-l2-main-inner{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:clamp(18px,1.75vw,30px)!important;
  width:min(calc(100% - 48px),var(--content-max))!important;
  min-height:var(--header-h)!important;
  margin:0 auto!important;
}

/* Branding */
#vaw-l2-header .vaw-l2-brand-group{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  width:max-content!important;
  max-width:100%!important;
  overflow:visible!important;
}
#vaw-l2-header .vaw-l2-brand-link{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex:0 0 auto!important}
#vaw-l2-header .vaw-l2-villa-logo{
  width:min(var(--villa-logo-w),205px)!important;
  max-width:205px!important;
  height:auto!important;
  max-height:66px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
#vaw-l2-header .vaw-l2-brand-divider{
  width:1px!important;
  height:42px!important;
  margin:0 12px!important;
  flex:0 0 1px!important;
  background:rgba(48,43,40,.20)!important;
}
#vaw-l2-header .vaw-l2-sandy-logo{
  width:min(var(--sandy-logo-w),94px)!important;
  max-width:94px!important;
  height:58px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:grayscale(1) contrast(1.2)!important;
}
#vaw-l2-header .vaw-l2-sandy-fallback{
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  width:88px!important;
  height:52px!important;
  border:2px solid #111!important;
  color:#111!important;
  text-align:center!important;
  font:800 10px/1.05 var(--body)!important;
  letter-spacing:.07em!important;
}
#vaw-l2-header .vaw-l2-sandy-fallback small{font-size:7px!important;letter-spacing:.12em!important}

/* Desktop navigation */
#vaw-l2-header .vaw-l2-nav{justify-self:end!important;min-width:0!important}
#vaw-l2-header .vaw-l2-menu{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(10px,1vw,var(--nav-gap))!important;
  width:auto!important;
}
#vaw-l2-header .vaw-l2-menu-item{position:relative!important;flex:0 0 auto!important}
#vaw-l2-header .vaw-l2-menu-link,
#vaw-l2-header .vaw-l2-dropdown-button{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:var(--header-h)!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  font:700 var(--nav-size)/1.2 var(--body)!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
#vaw-l2-header .vaw-l2-menu-link::after,
#vaw-l2-header .vaw-l2-dropdown-button::after{
  position:absolute!important;
  right:0!important;
  bottom:24px!important;
  left:0!important;
  width:0!important;
  height:2px!important;
  margin:auto!important;
  background:var(--olive)!important;
  content:""!important;
  transition:width .25s ease!important;
}
#vaw-l2-header .vaw-l2-menu-link:hover::after,
#vaw-l2-header .vaw-l2-dropdown-button:hover::after{width:100%!important}
#vaw-l2-header .vaw-l2-arrow{color:var(--olive)!important;font-size:8px!important;line-height:1!important}
#vaw-l2-header .vaw-l2-submenu{
  position:absolute!important;
  top:calc(100% - 15px)!important;
  left:50%!important;
  z-index:40!important;
  width:var(--submenu-w)!important;
  padding:10px 0!important;
  border-top:2px solid var(--olive)!important;
  background:var(--cream)!important;
  box-shadow:0 20px 45px rgba(52,47,42,.15)!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translate(-50%,10px)!important;
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease!important;
}
#vaw-l2-header .vaw-l2-submenu a{display:block!important;padding:11px 22px!important;color:var(--ink)!important;font:600 14px/1.4 var(--body)!important;white-space:normal!important}
#vaw-l2-header .vaw-l2-submenu a:hover{background:rgba(216,206,194,.42)!important;color:var(--olive)!important}
#vaw-l2-header .vaw-l2-has-dropdown:hover>.vaw-l2-submenu,
#vaw-l2-header .vaw-l2-has-dropdown:focus-within>.vaw-l2-submenu{opacity:1!important;visibility:visible!important;transform:translate(-50%,0)!important}

/* CTA / toggle */
#vaw-l2-header .vaw-l2-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:var(--cta-h)!important;
  padding:13px 20px!important;
  border:1px solid var(--olive)!important;
  background:var(--olive)!important;
  color:var(--cream)!important;
  font:700 12px/1 var(--body)!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  transition:background-color .2s ease,color .2s ease,transform .2s ease!important;
}
#vaw-l2-header .vaw-l2-cta:hover{background:transparent!important;color:var(--olive)!important;transform:translateY(-1px)!important}
#vaw-l2-header .vaw-l2-mobile-toggle{
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  padding:0!important;
  border:1px solid rgba(107,111,78,.38)!important;
  background:transparent!important;
  color:var(--olive)!important;
  cursor:pointer!important;
}
#vaw-l2-header .vaw-l2-lines,
#vaw-l2-header .vaw-l2-lines::before,
#vaw-l2-header .vaw-l2-lines::after{display:block!important;width:21px!important;height:1px!important;background:currentColor!important;content:""!important}
#vaw-l2-header .vaw-l2-lines{position:relative!important}
#vaw-l2-header .vaw-l2-lines::before{position:absolute!important;top:-7px!important;left:0!important}
#vaw-l2-header .vaw-l2-lines::after{position:absolute!important;top:7px!important;left:0!important}
#vaw-l2-header .vaw-l2-mobile-toggle.is-open .vaw-l2-lines{background:transparent!important}
#vaw-l2-header .vaw-l2-mobile-toggle.is-open .vaw-l2-lines::before{top:0!important;transform:rotate(45deg)!important}
#vaw-l2-header .vaw-l2-mobile-toggle.is-open .vaw-l2-lines::after{top:0!important;transform:rotate(-45deg)!important}

/* ------------------------------
   IMPORTANT RESPONSIVE SWITCH
   There are 8 primary nav items + 2 brands + CTA. Do not squeeze them.
------------------------------ */
@media(max-width:1500px){
  #vaw-l2-header .vaw-l2-main{min-height:82px!important}
  #vaw-l2-header .vaw-l2-main-inner{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    width:min(calc(100% - 40px),var(--content-max))!important;
    min-height:82px!important;
    gap:12px!important;
  }
  #vaw-l2-header .vaw-l2-villa-logo{width:min(var(--villa-logo-w),185px)!important;max-width:185px!important;max-height:58px!important}
  #vaw-l2-header .vaw-l2-sandy-logo{width:min(var(--sandy-logo-w),84px)!important;max-width:84px!important;height:52px!important}
  #vaw-l2-header .vaw-l2-brand-divider{height:38px!important;margin:0 10px!important}
  #vaw-l2-header .vaw-l2-mobile-toggle{display:inline-flex!important}
  #vaw-l2-header .vaw-l2-cta{display:inline-flex!important;min-height:44px!important;padding:11px 15px!important;font-size:11px!important}

  #vaw-l2-header .vaw-l2-nav{
    position:absolute!important;
    top:100%!important;
    right:0!important;
    left:0!important;
    z-index:70!important;
    width:100%!important;
    max-height:calc(100dvh - 82px)!important;
    padding:14px 24px 28px!important;
    overflow-y:auto!important;
    background:var(--cream)!important;
    border-top:1px solid rgba(107,111,78,.14)!important;
    box-shadow:0 24px 42px rgba(52,47,42,.14)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease!important;
  }
  #vaw-l2-header .vaw-l2-nav.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}
  #vaw-l2-header .vaw-l2-menu{display:block!important;width:min(100%,760px)!important;margin:0 auto!important}
  #vaw-l2-header .vaw-l2-menu-item{border-bottom:1px solid rgba(107,111,78,.14)!important}
  #vaw-l2-header .vaw-l2-menu-link,
  #vaw-l2-header .vaw-l2-dropdown-button{
    justify-content:space-between!important;
    width:100%!important;
    min-height:auto!important;
    padding:15px 2px!important;
    font:500 24px/1.15 var(--heading)!important;
    letter-spacing:0!important;
    text-align:left!important;
    text-transform:none!important;
  }
  #vaw-l2-header .vaw-l2-menu-link::after,
  #vaw-l2-header .vaw-l2-dropdown-button::after{display:none!important}
  #vaw-l2-header .vaw-l2-submenu{
    position:static!important;
    width:100%!important;
    max-height:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    transition:max-height .25s ease,padding .25s ease!important;
  }
  #vaw-l2-header .vaw-l2-has-dropdown.is-open .vaw-l2-submenu{max-height:520px!important;padding:0 0 13px 14px!important}
  #vaw-l2-header .vaw-l2-submenu a{padding:8px 0!important;font:600 15px/1.45 var(--body)!important}
}

@media(max-width:1050px){
  #vaw-l2-header .vaw-l2-address-item{display:none!important}
  #vaw-l2-header .vaw-l2-topbar-inner{width:calc(100% - 32px)!important;gap:12px!important}
  #vaw-l2-header .vaw-l2-contact-list{gap:6px 18px!important}
}

@media(max-width:780px){
  #vaw-l2-header .vaw-l2-main-inner{grid-template-columns:minmax(0,1fr) auto!important;width:calc(100% - 28px)!important;min-height:74px!important}
  #vaw-l2-header .vaw-l2-cta{display:none!important}
  #vaw-l2-header .vaw-l2-brand-group{max-width:calc(100vw - 84px)!important;overflow:hidden!important}
  #vaw-l2-header .vaw-l2-villa-logo{width:min(var(--mobile-villa-logo-w),150px)!important;max-width:150px!important;max-height:50px!important}
  #vaw-l2-header .vaw-l2-sandy-logo{width:min(var(--mobile-sandy-logo-w),68px)!important;max-width:68px!important;height:44px!important}
  #vaw-l2-header .vaw-l2-brand-divider{height:32px!important;margin:0 8px!important}
  #vaw-l2-header .vaw-l2-nav{max-height:calc(100dvh - 74px)!important;padding:10px 20px 24px!important}
  #vaw-l2-header .vaw-l2-topbar-inner{width:calc(100% - 28px)!important}
  #vaw-l2-header .vaw-l2-social-link{width:31px!important;height:31px!important}
  #vaw-l2-header .vaw-l2-contact-link{font-size:11px!important}
}

@media(max-width:600px){
  #vaw-l2-header .vaw-l2-topbar{min-height:auto!important;padding:7px 0!important}
  #vaw-l2-header .vaw-l2-topbar-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;min-height:auto!important;gap:8px 10px!important;width:calc(100% - 22px)!important}
  #vaw-l2-header .vaw-l2-contact-list{display:grid!important;gap:3px!important}
  #vaw-l2-header .vaw-l2-address-item{display:none!important}
  #vaw-l2-header .vaw-l2-contact-link{font-size:10.5px!important;line-height:1.3!important;white-space:normal!important;overflow-wrap:anywhere!important}
  #vaw-l2-header .vaw-l2-contact-icon{width:14px!important;height:14px!important;flex-basis:14px!important}
  #vaw-l2-header .vaw-l2-social-list li:nth-child(2),
  #vaw-l2-header .vaw-l2-social-list li:nth-child(4),
  #vaw-l2-header .vaw-l2-social-list li:nth-child(5){display:none!important}
  #vaw-l2-header .vaw-l2-main-inner{width:calc(100% - 20px)!important;min-height:68px!important;gap:7px!important}
  #vaw-l2-header .vaw-l2-brand-group{max-width:calc(100vw - 68px)!important}
  #vaw-l2-header .vaw-l2-villa-logo{width:min(var(--mobile-villa-logo-w),118px)!important;max-width:118px!important;max-height:42px!important}
  #vaw-l2-header .vaw-l2-sandy-logo{width:min(var(--mobile-sandy-logo-w),52px)!important;max-width:52px!important;height:36px!important}
  #vaw-l2-header .vaw-l2-brand-divider{height:27px!important;margin:0 6px!important}
  #vaw-l2-header .vaw-l2-mobile-toggle{width:42px!important;height:42px!important;flex-basis:42px!important}
  #vaw-l2-header .vaw-l2-nav{max-height:calc(100dvh - 68px)!important;padding:8px 16px 22px!important}
  #vaw-l2-header .vaw-l2-menu-link,
  #vaw-l2-header .vaw-l2-dropdown-button{padding:13px 1px!important;font-size:22px!important}
}

@media(max-width:430px){
  #vaw-l2-header .vaw-l2-email-item{display:none!important}
  #vaw-l2-header .vaw-l2-topbar-inner{grid-template-columns:minmax(0,1fr) auto!important}
  #vaw-l2-header .vaw-l2-villa-logo{width:min(var(--mobile-villa-logo-w),104px)!important;max-width:104px!important}
  #vaw-l2-header .vaw-l2-sandy-logo{width:min(var(--mobile-sandy-logo-w),46px)!important;max-width:46px!important;height:33px!important}
  #vaw-l2-header .vaw-l2-brand-divider{height:24px!important;margin:0 5px!important}
  #vaw-l2-header .vaw-l2-mobile-toggle{width:40px!important;height:40px!important;flex-basis:40px!important}
}

@media(prefers-reduced-motion:reduce){
  #vaw-l2-header *,#vaw-l2-header *::before,#vaw-l2-header *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* ------------------------------
   FOOTER
------------------------------ */
#vaw-light-footer{
  --vine:#5b1e2d;--olive:#6b6f4e;--olive-dark:#555a3f;--terracotta:#c37a5a;--stone:#d8cec2;--stone-soft:#e8e0d7;--cream:#f6f2ea;--paper:#fffdf8;--gold:#b89a5a;--ink:#302b28;--muted:#6f6761;
  --heading:"Cormorant Garamond",Georgia,serif;--body:"DM Sans",Arial,sans-serif;
  --footer-max:1380px;--footer-gap:55px;--footer-logo-w:235px;--footer-heading-size:26px;--footer-link-size:15px;--footer-tagline-size:15px;--footer-bottom-size:12px;--footer-top-pad:72px;
  position:relative!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:var(--footer-top-pad) 0 0!important;
  overflow-x:clip!important;
  background:var(--cream)!important;
  border-top:1px solid rgba(107,111,78,.18)!important;
  font-family:var(--body)!important;
  color:var(--ink)!important;
}
#vaw-light-footer,#vaw-light-footer *{box-sizing:border-box!important;min-width:0}
#vaw-light-footer a{text-decoration:none!important}
#vaw-light-footer .vaw-wrap{
  width:min(calc(100% - 48px),var(--footer-max))!important;
  margin:auto!important;
  display:grid!important;
  grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(150px,1fr))!important;
  gap:var(--footer-gap)!important;
  padding-bottom:55px!important;
}
#vaw-light-footer .vaw-logo{display:block!important;width:min(var(--footer-logo-w),100%)!important;max-height:100px!important;object-fit:contain!important;object-position:left center!important}
#vaw-light-footer .vaw-brand p{max-width:290px!important;margin:18px 0 0!important;color:var(--muted)!important;font:400 var(--footer-tagline-size)/1.75 var(--body)!important}
#vaw-light-footer h4{margin:0 0 18px!important;color:var(--vine)!important;font:600 var(--footer-heading-size)/1.05 var(--heading)!important}
#vaw-light-footer .vaw-links{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:13px!important}
#vaw-light-footer .vaw-links a{color:var(--muted)!important;font:500 var(--footer-link-size)/1.6 var(--body)!important;overflow-wrap:anywhere!important}
#vaw-light-footer .vaw-links a:hover{color:var(--olive)!important}
#vaw-light-footer .vaw-bottom{border-top:1px solid rgba(107,111,78,.18)!important;width:min(calc(100% - 48px),var(--footer-max))!important;margin:auto!important;padding:21px 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;color:var(--muted)!important;font:500 var(--footer-bottom-size)/1.5 var(--body)!important}
#vaw-light-footer .vaw-social{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
#vaw-light-footer .vaw-social a{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;border:1px solid rgba(107,111,78,.42)!important;border-radius:50%!important;color:var(--olive)!important;background:transparent!important;transition:background-color .2s ease,color .2s ease,transform .2s ease!important}
#vaw-light-footer .vaw-social a:hover{background:var(--olive)!important;color:var(--cream)!important;transform:translateY(-2px)!important}
#vaw-light-footer .vaw-social svg{display:block!important;width:17px!important;height:17px!important;fill:currentColor!important}

@media(max-width:1100px){
  #vaw-light-footer .vaw-wrap{grid-template-columns:1.4fr repeat(2,minmax(150px,1fr))!important;gap:40px!important}
  #vaw-light-footer .vaw-links:last-child{grid-column:2 / -1!important}
}
@media(max-width:760px){
  #vaw-light-footer{padding-top:54px!important}
  #vaw-light-footer .vaw-wrap{width:calc(100% - 34px)!important;grid-template-columns:1fr 1fr!important;gap:36px 28px!important;padding-bottom:38px!important}
  #vaw-light-footer .vaw-brand{grid-column:1 / -1!important}
  #vaw-light-footer .vaw-links:last-child{grid-column:auto!important}
  #vaw-light-footer .vaw-bottom{width:calc(100% - 34px)!important;align-items:flex-start!important}
}
@media(max-width:520px){
  #vaw-light-footer .vaw-wrap{grid-template-columns:1fr!important;width:calc(100% - 28px)!important;gap:28px!important}
  #vaw-light-footer .vaw-brand,#vaw-light-footer .vaw-links:last-child{grid-column:auto!important}
  #vaw-light-footer .vaw-bottom{width:calc(100% - 28px)!important;display:grid!important;gap:16px!important}
  #vaw-light-footer .vaw-social{justify-content:flex-start!important}
}


/* Client revision: tighter brand lockup + true current-page state */
#vaw-l2-header .vaw-l2-main-inner{grid-template-columns:auto minmax(0,1fr) auto!important;gap:clamp(12px,1.4vw,22px)!important}
#vaw-l2-header .vaw-l2-brand-group{width:max-content!important;max-width:none!important}
#vaw-l2-header .vaw-l2-brand-link{padding:0!important}
#vaw-l2-header .vaw-l2-villa-logo{width:auto!important;max-width:none!important;height:58px!important;max-height:58px!important;object-fit:contain!important;object-position:left center!important}
#vaw-l2-header .vaw-l2-brand-divider{height:38px!important;margin:0 7px!important}
#vaw-l2-header .vaw-l2-sandy-logo{width:auto!important;max-width:none!important;height:47px!important;object-fit:contain!important;object-position:left center!important}
#vaw-l2-header .vaw-l2-nav{justify-self:start!important}
#vaw-l2-header .vaw-l2-menu{gap:clamp(9px,1vw,18px)!important}
#vaw-l2-header .vaw-l2-current>.vaw-l2-menu-link,#vaw-l2-header .vaw-l2-current>.vaw-l2-dropdown-button{color:var(--olive)!important}
#vaw-l2-header .vaw-l2-current>.vaw-l2-menu-link::after,#vaw-l2-header .vaw-l2-current>.vaw-l2-dropdown-button::after{width:100%!important}
@media(max-width:1500px){#vaw-l2-header .vaw-l2-main-inner{grid-template-columns:minmax(0,1fr) auto auto!important}#vaw-l2-header .vaw-l2-villa-logo{height:54px!important}#vaw-l2-header .vaw-l2-sandy-logo{height:43px!important}#vaw-l2-header .vaw-l2-brand-divider{height:35px!important;margin:0 6px!important}}
@media(max-width:780px){#vaw-l2-header .vaw-l2-villa-logo{height:46px!important}#vaw-l2-header .vaw-l2-sandy-logo{height:36px!important}#vaw-l2-header .vaw-l2-brand-divider{height:29px!important;margin:0 5px!important}}
@media(max-width:600px){#vaw-l2-header .vaw-l2-villa-logo{height:40px!important}#vaw-l2-header .vaw-l2-sandy-logo{height:31px!important}#vaw-l2-header .vaw-l2-brand-divider{height:25px!important;margin:0 4px!important}}


/* v1.3.1 — Mobile navigation accordion hardening.
   Prevent desktop hover/focus dropdown states from leaking submenu text on touch devices. */
@media(max-width:1500px){
  #vaw-l2-header .vaw-l2-nav{
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
  }
  #vaw-l2-header .vaw-l2-menu,
  #vaw-l2-header .vaw-l2-menu-item{
    width:100%!important;
    max-width:100%!important;
  }
  #vaw-l2-header .vaw-l2-has-dropdown{
    overflow:hidden!important;
  }
  #vaw-l2-header .vaw-l2-dropdown-button{
    position:relative!important;
    z-index:2!important;
  }
  #vaw-l2-header .vaw-l2-dropdown-button .vaw-l2-arrow{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
    transform:rotate(0deg)!important;
    transition:transform .2s ease!important;
  }
  #vaw-l2-header .vaw-l2-has-dropdown.is-open>.vaw-l2-dropdown-button .vaw-l2-arrow{
    transform:rotate(180deg)!important;
  }

  /* Closed means physically not laid out. This intentionally overrides desktop hover/focus rules. */
  #vaw-l2-header .vaw-l2-submenu,
  #vaw-l2-header .vaw-l2-has-dropdown:hover>.vaw-l2-submenu,
  #vaw-l2-header .vaw-l2-has-dropdown:focus-within>.vaw-l2-submenu{
    display:none!important;
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:hidden!important;
    transform:none!important;
    transition:none!important;
  }
  #vaw-l2-header .vaw-l2-has-dropdown.is-open>.vaw-l2-submenu,
  #vaw-l2-header .vaw-l2-has-dropdown.is-open:hover>.vaw-l2-submenu,
  #vaw-l2-header .vaw-l2-has-dropdown.is-open:focus-within>.vaw-l2-submenu{
    display:block!important;
    visibility:visible!important;
    padding:0 0 13px 16px!important;
  }
  #vaw-l2-header .vaw-l2-submenu li{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  #vaw-l2-header .vaw-l2-submenu a{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:9px 10px!important;
    border-left:2px solid rgba(107,111,78,.24)!important;
    color:var(--muted)!important;
    font:600 14px/1.4 var(--body)!important;
    letter-spacing:0!important;
    text-transform:none!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  #vaw-l2-header .vaw-l2-submenu a:hover,
  #vaw-l2-header .vaw-l2-submenu a:focus{
    background:rgba(216,206,194,.28)!important;
    border-left-color:var(--olive)!important;
    color:var(--olive)!important;
  }
  #vaw-l2-header .vaw-l2-current>.vaw-l2-dropdown-button::after{
    display:none!important;
  }
}
@media(max-width:600px){
  #vaw-l2-header .vaw-l2-has-dropdown.is-open>.vaw-l2-submenu{
    padding-left:12px!important;
  }
  #vaw-l2-header .vaw-l2-submenu a{
    padding:9px 8px!important;
    font-size:13px!important;
  }
}

@media(max-width:1500px){html.vawhf-menu-open,body.vawhf-menu-open{overflow:hidden!important;touch-action:pan-x!important}}


/* v1.3.2 — mobile sticky header + compact Plan Your Visit CTA */
@media(max-width:780px){
  html,body{max-width:100%!important;overflow-x:hidden!important}
  #vaw-l2-header .vaw-l2-main{
    background:rgba(246,242,234,.98)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }
  #vaw-l2-header .vaw-l2-main-inner{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    width:calc(100% - 22px)!important;
    gap:8px!important;
  }
  #vaw-l2-header .vaw-l2-brand-group{
    min-width:0!important;
    max-width:none!important;
    overflow:visible!important;
  }
  #vaw-l2-header .vaw-l2-cta{
    display:inline-flex!important;
    min-height:38px!important;
    height:38px!important;
    padding:8px 11px!important;
    border-width:1px!important;
    font-size:8.5px!important;
    line-height:1!important;
    letter-spacing:.055em!important;
    white-space:nowrap!important;
    justify-self:end!important;
  }
  #vaw-l2-header .vaw-l2-mobile-toggle{justify-self:end!important}
  #vaw-l2-header .vaw-l2-nav{top:100%!important}
}
@media(max-width:600px){
  #vaw-l2-header .vaw-l2-main-inner{width:calc(100% - 16px)!important;gap:6px!important}
  #vaw-l2-header .vaw-l2-villa-logo{width:min(var(--mobile-villa-logo-w),94px)!important;max-width:94px!important;height:auto!important;max-height:38px!important}
  #vaw-l2-header .vaw-l2-sandy-logo{width:min(var(--mobile-sandy-logo-w),42px)!important;max-width:42px!important;height:30px!important}
  #vaw-l2-header .vaw-l2-brand-divider{height:23px!important;margin:0 4px!important}
  #vaw-l2-header .vaw-l2-cta{min-height:36px!important;height:36px!important;padding:7px 9px!important;font-size:7.8px!important}
  #vaw-l2-header .vaw-l2-mobile-toggle{width:38px!important;height:38px!important;flex-basis:38px!important}
}
@media(max-width:360px){
  #vaw-l2-header .vaw-l2-villa-logo{width:82px!important;max-width:82px!important}
  #vaw-l2-header .vaw-l2-sandy-logo{width:35px!important;max-width:35px!important;height:26px!important}
  #vaw-l2-header .vaw-l2-brand-divider{height:20px!important;margin:0 3px!important}
  #vaw-l2-header .vaw-l2-cta{padding:7px 7px!important;font-size:7px!important;letter-spacing:.03em!important}
  #vaw-l2-header .vaw-l2-mobile-toggle{width:36px!important;height:36px!important;flex-basis:36px!important}
}
