html.wlm-menu-open, body.wlm-menu-open{overflow:hidden}
body.wlm-header-active .site-header,body.wlm-header-active #masthead,body.wlm-header-active header.elementor-location-header{display:none!important}
.wlm-header{position:relative;z-index:9990;width:100%;height:var(--wlm-header-height);background:var(--wlm-header-bg);color:var(--wlm-header-text);border-bottom:1px solid rgba(16,23,42,.08);box-shadow:0 8px 30px rgba(16,23,42,.06);transition:background-color .25s ease,box-shadow .25s ease,color .25s ease}
.wlm-header-sticky-enabled .wlm-header{position:sticky;top:0}
.admin-bar.wlm-header-sticky-enabled .wlm-header{top:32px}
.wlm-header.is-transparent:not(.is-scrolled){position:absolute;background:transparent;border-color:transparent;box-shadow:none;color:#fff}
.wlm-header__inner{height:100%;width:100%;max-width:none;margin:0;padding:0 clamp(18px,2.5vw,40px);display:flex;align-items:center;gap:clamp(20px,2vw,34px)}
.wlm-header__brand{display:inline-flex;flex-direction:column;align-items:flex-start;width:max-content;max-width:var(--wlm-logo-max-desktop);color:inherit;text-decoration:none;line-height:1}
.wlm-header__logo-image{display:block;width:100%;max-width:100%;height:auto;max-height:calc(var(--wlm-header-height) - 20px);object-fit:contain;object-position:left center}
.wlm-header__wordmark{font-family:'Cormorant Garamond',serif!important;font-size:clamp(27px,2.15vw,40px);font-weight:700;letter-spacing:-.04em;white-space:nowrap}
.wlm-header__plane{font-size:.78em;margin-left:5px}.wlm-header__tagline{font-family:'Poppins',sans-serif!important;font-size:11px;font-weight:500;letter-spacing:.02em;align-self:center;margin-top:5px}
.wlm-header__desktop-nav{margin-left:auto;min-width:0}.wlm-menu,.wlm-menu ul{list-style:none;margin:0;padding:0}.wlm-menu{display:flex;align-items:center;justify-content:flex-end;gap:clamp(28px,3vw,58px)}
.wlm-menu>li{position:relative}.wlm-menu a{font-family:'Poppins',sans-serif!important;color:inherit;text-decoration:none;font-size:17.7px;font-weight:600;white-space:nowrap;display:flex;align-items:center;min-height:44px;transition:color .2s ease}
.wlm-menu>li>a::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--wlm-header-hover);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.wlm-menu>li:hover>a,.wlm-menu>li:focus-within>a,.wlm-menu .current-menu-item>a{color:var(--wlm-header-hover)}.wlm-menu>li:hover>a::after,.wlm-menu>li:focus-within>a::after,.wlm-menu .current-menu-item>a::after{transform:scaleX(1)}
.wlm-menu .menu-item-has-children>a::before{content:'';width:7px;height:7px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg);order:2;margin-left:9px;margin-top:-4px}
.wlm-menu .sub-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,10px);min-width:230px;background:#fff;color:#10172a;border:1px solid rgba(16,23,42,.1);border-radius:10px;box-shadow:0 18px 50px rgba(16,23,42,.15);padding:8px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.wlm-menu li:hover>.sub-menu,.wlm-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.wlm-menu .sub-menu li+li{border-top:1px solid rgba(16,23,42,.07)}.wlm-menu .sub-menu a{padding:10px 12px;min-height:42px;font-size:14.95px;border-radius:6px}.wlm-menu .sub-menu a:hover,.wlm-menu .sub-menu a:focus{color:var(--wlm-header-hover);background:rgba(201,151,50,.08)}
.wlm-header__actions{display:flex;align-items:center;gap:14px}.wlm-header__cta{font-family:'Poppins',sans-serif!important;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 22px;border-radius:7px;background:var(--wlm-cta-bg);color:var(--wlm-cta-text)!important;text-decoration:none;font-size:16.45px;font-weight:700;letter-spacing:.02em;white-space:nowrap;box-shadow:0 8px 22px rgba(201,151,50,.22);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.wlm-header__cta:hover,.wlm-header__cta:focus{background:var(--wlm-cta-hover);transform:translateY(-1px);box-shadow:0 10px 26px rgba(201,151,50,.3)}
.wlm-header a:focus-visible,.wlm-header button:focus-visible,.wlm-mobile-drawer a:focus-visible,.wlm-mobile-drawer button:focus-visible{outline:3px solid var(--wlm-header-hover);outline-offset:3px}
.wlm-header__mobile-toggle{display:none;width:48px;height:48px;border:0;background:transparent;color:inherit;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}.wlm-header__mobile-toggle span{display:block;width:25px;height:2px;background:currentColor;border-radius:2px}
.wlm-mobile-overlay{position:fixed;inset:0;z-index:9997;background:rgba(7,13,28,.48);backdrop-filter:blur(2px);opacity:0;transition:opacity .22s ease}.wlm-mobile-overlay.is-open{opacity:1}
.wlm-mobile-drawer{position:fixed;z-index:9998;top:0;right:0;width:min(var(--wlm-mobile-panel),100vw);height:100dvh;background:#fff;color:#10172a;box-shadow:-20px 0 60px rgba(16,23,42,.18);padding:22px 22px 28px;transform:translateX(102%);transition:transform .25s cubic-bezier(.2,.75,.2,1);display:flex;flex-direction:column}.admin-bar .wlm-mobile-drawer{padding-top:52px}.wlm-mobile-drawer.is-open{transform:translateX(0)}
.wlm-mobile-drawer__top{display:flex;align-items:center;justify-content:space-between;padding:0 4px 18px;border-bottom:1px solid rgba(16,23,42,.1)}.wlm-mobile-drawer__title{font-family:'Cormorant Garamond',serif!important;font-size:30px;font-weight:700}.wlm-mobile-drawer__close{width:48px;height:48px;border:0;background:transparent;color:#10172a;font-size:38px;font-weight:300;line-height:1;cursor:pointer}
.wlm-mobile-nav{overflow:auto;flex:1;padding:14px 0}.wlm-mobile-menu,.wlm-mobile-menu ul{list-style:none;margin:0;padding:0}.wlm-mobile-menu>li{border-bottom:1px solid rgba(16,23,42,.09);position:relative}.wlm-mobile-menu a{font-family:'Poppins',sans-serif!important;color:#10172a;text-decoration:none;font-size:15px;font-weight:600;display:flex;align-items:center;min-height:56px;padding:12px 46px 12px 8px}.wlm-mobile-menu .sub-menu{display:none;padding:0 0 10px 14px}.wlm-mobile-menu .sub-menu.is-open{display:block}.wlm-mobile-menu .sub-menu li{border-left:2px solid rgba(201,151,50,.35)}.wlm-mobile-menu .sub-menu a{min-height:46px;font-size:14px;font-weight:500;padding:9px 14px}
.wlm-submenu-toggle{position:absolute;right:0;top:4px;width:48px;height:48px;border:0;background:transparent;color:#10172a;cursor:pointer}.wlm-submenu-toggle::before{content:'';display:inline-block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}.wlm-submenu-toggle[aria-expanded="true"]::before{transform:rotate(225deg);margin-top:6px}
.wlm-mobile-drawer__cta{margin-top:16px;width:100%;min-height:50px}
@media(max-width:782px){.admin-bar.wlm-header-sticky-enabled .wlm-header{top:46px}}
@media(max-width:1024px){.wlm-header__inner{padding:0 18px}.wlm-header__brand{max-width:min(var(--wlm-logo-max-tablet),68vw)}.wlm-header__wordmark{font-size:clamp(24px,4vw,34px)}.wlm-header{height:min(var(--wlm-header-height),82px)}}
@media(max-width:480px){.wlm-header__inner{padding:0 13px}.wlm-header__brand{max-width:min(var(--wlm-logo-max-mobile),62vw)}.wlm-header__wordmark{font-size:23px}.wlm-header__tagline{font-size:9px}.wlm-header__mobile-toggle{width:44px;height:44px}.wlm-mobile-drawer{width:100vw;padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.wlm-header*,.wlm-mobile-drawer,.wlm-mobile-overlay{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Production typography lock: all navigation, dropdown and CTA text is Poppins. */
#wlm-site-header .wlm-header__desktop-nav,
#wlm-site-header .wlm-header__desktop-nav *,
.wlm-mobile-drawer .wlm-mobile-nav,
.wlm-mobile-drawer .wlm-mobile-nav *,
#wlm-site-header .wlm-header__cta,
.wlm-mobile-drawer .wlm-header__cta {
  font-family:'Poppins',Arial,sans-serif!important;
  font-style:normal!important;
}

/* v1.0.3 locked desktop alignment:
   - Plan My Trip is anchored to the header's right content edge.
   - Blog sits directly to its left.
   - The remaining menu items flow left towards the logo with even spacing.
   - Any spare width stays between the logo and Home. */
.wlm-header__brand{flex:0 0 auto}
.wlm-header__desktop-nav{flex:0 1 auto;margin-left:auto}
.wlm-header__actions{flex:0 0 auto;margin-left:0}
@media(min-width:1025px){
  .wlm-header__cta-desktop{margin-right:0}
}

/* v1.0.4 production desktop width correction
   The header now uses the full browser width with small, balanced edge gaps.
   The visible logo anchors to the same left content line as the first Quick Link,
   while Plan My Trip anchors to the same right content line as Winter Sun.
   Home through Blog are spread evenly across all available space. */
@media (min-width:1025px){
  #wlm-site-header .wlm-header__inner{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:clamp(20px,3.2vw,52px)!important;
    padding-right:clamp(20px,3.2vw,52px)!important;
    gap:clamp(24px,2.2vw,38px)!important;
  }

  #wlm-site-header .wlm-header__brand{
    flex:0 0 auto!important;
    margin:0!important;
  }

  #wlm-site-header .wlm-header__desktop-nav{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    margin-left:0!important;
  }

  #wlm-site-header .wlm-menu{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:clamp(18px,2vw,36px)!important;
  }

  #wlm-site-header .wlm-menu>li{
    flex:0 0 auto!important;
  }

  #wlm-site-header .wlm-header__actions{
    flex:0 0 auto!important;
    margin-left:0!important;
  }

  #wlm-site-header .wlm-header__cta-desktop{
    margin:0!important;
  }
}


/* v1.0.5 approved production desktop spacing
   - No active/current-page gold highlight or underline.
   - Logo stays on the far-left content line.
   - Home begins well away from the logo.
   - Home through Blog are distributed evenly across the remaining width.
   - The Blog-to-CTA gap is approximately 10% wider than the other menu gaps.
   - Plan My Trip remains anchored to the far-right content line. */
#wlm-site-header .wlm-menu .current-menu-item>a,
#wlm-site-header .wlm-menu .current-menu-ancestor>a,
#wlm-site-header .wlm-menu .current_page_item>a,
#wlm-site-header .wlm-menu .current_page_ancestor>a{
  color:inherit!important;
}
#wlm-site-header .wlm-menu .current-menu-item>a::after,
#wlm-site-header .wlm-menu .current-menu-ancestor>a::after,
#wlm-site-header .wlm-menu .current_page_item>a::after,
#wlm-site-header .wlm-menu .current_page_ancestor>a::after{
  transform:scaleX(0)!important;
}
#wlm-site-header .wlm-menu>li:hover>a,
#wlm-site-header .wlm-menu>li:focus-within>a{
  color:var(--wlm-header-hover)!important;
}
#wlm-site-header .wlm-menu>li:hover>a::after,
#wlm-site-header .wlm-menu>li:focus-within>a::after{
  transform:scaleX(1)!important;
}

@media (min-width:1025px){
  #wlm-site-header .wlm-header__inner{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    column-gap:0!important;
    padding-left:clamp(20px,3.2vw,52px)!important;
    padding-right:clamp(20px,3.2vw,52px)!important;
  }

  #wlm-site-header .wlm-header__brand{
    grid-column:1!important;
  }

  #wlm-site-header .wlm-header__desktop-nav{
    grid-column:2!important;
    width:auto!important;
    min-width:0!important;
    margin-left:clamp(70px,7vw,145px)!important;
  }

  #wlm-site-header .wlm-menu{
    width:100%!important;
    justify-content:space-between!important;
    gap:clamp(24px,2.7vw,50px)!important;
  }

  #wlm-site-header .wlm-header__actions{
    grid-column:3!important;
    margin-left:clamp(30px,3.15vw,62px)!important;
  }
}

/* v1.0.6 approved desktop spacing
   - Logo is moved 10% further right from its own starting position.
   - A deliberately large flexible space remains between the logo and Home.
   - Home, Holiday Deals, Destinations, UK Airports, Blog and Plan My Trip use
     the exact same visual gap.
   - Plan My Trip remains anchored to the right content edge.
   - Current-page menu items are never highlighted. */
@media (min-width:1025px){
  #wlm-site-header .wlm-header__inner{
    display:flex!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:clamp(20px,3.2vw,52px)!important;
    padding-right:clamp(20px,3.2vw,52px)!important;
    gap:0!important;
  }

  #wlm-site-header .wlm-header__brand{
    flex:0 0 auto!important;
    margin:0!important;
    transform:translateX(10%)!important;
  }

  #wlm-site-header .wlm-header__desktop-nav{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    margin-left:clamp(110px,10vw,210px)!important;
  }

  #wlm-site-header .wlm-menu{
    --wlm-desktop-menu-gap:clamp(34px,3.35vw,68px);
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:var(--wlm-desktop-menu-gap)!important;
  }

  #wlm-site-header .wlm-menu>li{
    flex:0 0 auto!important;
  }

  #wlm-site-header .wlm-header__actions{
    flex:0 0 auto!important;
    margin-left:clamp(34px,3.35vw,68px)!important;
  }

  #wlm-site-header .wlm-header__cta-desktop{
    margin:0!important;
  }
}

/* v1.0.8 logo-only production correction.
   The uploaded Media Library image is the sole logo source.
   Logo widths are independently controlled for desktop, tablet and mobile. */
@media (min-width:1025px){#wlm-site-header .wlm-header__brand{width:var(--wlm-logo-max-desktop)!important;max-width:var(--wlm-logo-max-desktop)!important}}
@media (min-width:768px) and (max-width:1024px){#wlm-site-header .wlm-header__brand{width:min(var(--wlm-logo-max-tablet),68vw)!important;max-width:min(var(--wlm-logo-max-tablet),68vw)!important}}
@media (max-width:767px){#wlm-site-header .wlm-header__brand{width:min(var(--wlm-logo-max-mobile),62vw)!important;max-width:min(var(--wlm-logo-max-mobile),62vw)!important}}


/* v1.0.11 positioning refinement only.
   Desktop: move the logo left; tighten the gaps between Home, Holiday Deals,
   Destinations, UK Airports and Blog; keep Plan My Trip anchored exactly at
   the existing right-hand position while tightening the Blog-to-CTA gap.
   Tablet/mobile: keep the logo position unchanged and pin the hamburger to
   the far-right safe edge. */
@media (min-width:1025px){
  #wlm-site-header .wlm-header__brand{
    transform:translateX(-8%)!important;
  }

  #wlm-site-header .wlm-menu{
    --wlm-desktop-menu-gap:clamp(24px,2.25vw,46px)!important;
    gap:var(--wlm-desktop-menu-gap)!important;
  }

  #wlm-site-header .wlm-header__actions{
    margin-left:clamp(24px,2.25vw,46px)!important;
  }
}

@media (min-width:481px) and (max-width:1024px){
  #wlm-site-header .wlm-header__inner{
    position:relative!important;
  }
  #wlm-site-header .wlm-header__actions{
    position:absolute!important;
    right:18px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    margin:0!important;
  }
}

@media (max-width:480px){
  #wlm-site-header .wlm-header__inner{
    position:relative!important;
  }
  #wlm-site-header .wlm-header__actions{
    position:absolute!important;
    right:13px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    margin:0!important;
  }
}

/* v1.0.12 desktop logo alignment correction only.
   Nudge the desktop logo slightly right from the v1.0.11 position.
   Navigation, Plan My Trip, tablet and mobile positions remain unchanged. */
@media (min-width:1025px){
  #wlm-site-header .wlm-header__brand{
    transform:translateX(-2%)!important;
  }
}

/* v1.0.13 live-device responsive alignment correction only.
   Preserve the approved desktop layout from v1.0.12.
   On tablet/mobile, use the header row's real available width and push the
   actions/hamburger to the far-right safe edge with flex rather than absolute
   positioning, so Safari/live devices match the WordPress preview. */
@media (max-width:1024px){
  #wlm-site-header .wlm-header__inner{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
  }
  #wlm-site-header .wlm-header__brand{
    flex:0 1 auto!important;
  }
  #wlm-site-header .wlm-header__actions{
    position:static!important;
    right:auto!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    margin-left:auto!important;
    margin-right:0!important;
    flex:0 0 auto!important;
  }
  #wlm-site-header .wlm-header__mobile-toggle{
    margin-left:auto!important;
    margin-right:0!important;
  }
}

/* v1.0.14 live mobile/tablet hamburger edge lock only.
   The desktop layout is untouched. On <=1024px the hamburger actions are
   positioned against the real header edge (not the inner flex row), with a
   small safe-area-aware inset so iOS/Safari cannot leave a large dead gap. */
@media (max-width:1024px){
  #wlm-site-header{
    position:relative!important;
  }
  #wlm-site-header .wlm-header__inner{
    position:static!important;
  }
  #wlm-site-header .wlm-header__actions{
    position:absolute!important;
    top:50%!important;
    right:max(14px, env(safe-area-inset-right))!important;
    left:auto!important;
    transform:translateY(-50%)!important;
    margin:0!important;
    z-index:2!important;
  }
  #wlm-site-header .wlm-header__mobile-toggle{
    margin:0!important;
  }
}
@media (min-width:481px) and (max-width:1024px){
  #wlm-site-header .wlm-header__actions{
    right:max(18px, env(safe-area-inset-right))!important;
  }
}

/* v1.0.15 hard live-device hamburger viewport lock.
   Desktop is untouched. On tablet/mobile, place the hamburger by viewport width,
   not by the theme/header inner container, so the live Safari position matches
   the far-right safe edge consistently. */
@media (max-width:1024px){
  #wlm-site-header .wlm-header__actions{
    position:absolute!important;
    top:50%!important;
    right:auto!important;
    left:calc(100vw - 66px)!important;
    transform:translateY(-50%)!important;
    margin:0!important;
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    z-index:3!important;
  }
  #wlm-site-header .wlm-header__mobile-toggle{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    margin:0!important;
  }
}
@media (max-width:480px){
  #wlm-site-header .wlm-header__actions{
    left:calc(100vw - 57px)!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
  }
  #wlm-site-header .wlm-header__mobile-toggle{
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
  }
}

/* v1.0.16 tablet/mobile safe-edge correction only.
   Desktop remains unchanged. Pull the live-device hamburger slightly back
   inside the viewport while retaining the approved logo position. */
@media (min-width:481px) and (max-width:1024px){
  #wlm-site-header .wlm-header__actions{
    left:calc(100vw - 76px)!important;
  }
}
@media (max-width:480px){
  #wlm-site-header .wlm-header__actions{
    left:calc(100vw - 68px)!important;
  }
}

/* v1.0.17 final tablet/mobile hamburger alignment refinement only.
   Shift the approved v1.0.16 hamburger 10px left on tablet and mobile.
   Desktop, logo, sizing, colours, heights and menu behaviour are unchanged. */
@media (min-width:481px) and (max-width:1024px){
  #wlm-site-header .wlm-header__actions{
    left:calc(100vw - 86px)!important;
  }
}
@media (max-width:480px){
  #wlm-site-header .wlm-header__actions{
    left:calc(100vw - 78px)!important;
  }
}
