/* =========================================================
   Vegas Labs — navigation (every page): desktop shop dropdown · mobile menu (<dialog id="vl-mm">) · bottom bar
   Markup: snippet "VL Navigation" (Code/snippets/vl-nav.php) + Elementor Nav Menu ".vl-nav" in header 79.
   ========================================================= */

/* ---------- 1. desktop dropdown (Elementor Nav Menu sub-menu) ---------- */
.elementor-location-header{position:relative;z-index:60} /* the dropdown paints above page heroes */
@media (min-width:1025px){
  .vl-dd__caret{display:inline-flex;margin-left:5px;opacity:.6;transition:transform .3s var(--vl-ease),opacity .2s ease}
  .vl-dd__caret .vl-icon{stroke-width:1.8}
  .vl-nav .menu-item-has-children:hover > a .vl-dd__caret,.vl-nav .menu-item-has-children > a.highlighted .vl-dd__caret{transform:rotate(180deg);opacity:1}
  /* CSS opens it too (hover / keyboard), so it never depends on SmartMenus' pointer detection; centred under the parent */
  .elementor-location-header .vl-nav .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,.elementor-location-header .vl-nav .elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu{display:block!important}
  .elementor-location-header .vl-nav .elementor-nav-menu--main .sub-menu{top:100%!important;left:calc(50% - var(--e-nav-menu-horizontal-menu-item-margin,0px) / 2)!important;right:auto!important;margin-left:0!important;transform:translateX(-50%)}
  .elementor-location-header .vl-nav .elementor-nav-menu--main .sub-menu{min-width:320px!important;margin-top:14px!important;padding:8px!important;border:1px solid var(--vl-line)!important;border-radius:18px!important;background:var(--vl-card)!important;box-shadow:0 1px 2px rgba(9,11,10,.06),0 24px 48px -20px rgba(9,11,10,.28)!important;animation:vl-dd-in .28s var(--vl-ease) both;transform-origin:top center}
  .elementor-location-header .vl-nav .elementor-nav-menu--main .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px} /* hover bridge across the gap */
  @keyframes vl-dd-in{from{opacity:0;transform:translate(-50%,-6px) scale(.98)}to{opacity:1;transform:translateX(-50%)}}
  .elementor-location-header .vl-nav .elementor-nav-menu--main .sub-menu li{border:0!important}
  .elementor-location-header .vl-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item{display:flex!important;align-items:center;gap:12px;padding:10px 12px!important;border:0!important;border-radius:12px;background:transparent!important;color:var(--vl-ink)!important;white-space:normal;transition:background-color .2s ease}
  .elementor-location-header .vl-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,.elementor-location-header .vl-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus-visible{background:var(--vl-ivory)!important}
  .elementor-location-header .vl-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item.elementor-item-active{background:var(--vl-ivory)!important}
  .vl-dd__ico{display:flex;flex:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--vl-tint);color:var(--vl-green);transition:background-color .25s ease,color .25s ease}
  .vl-dd__ico .vl-icon{stroke-width:1.6}
  .sub-menu a:hover .vl-dd__ico{background:var(--vl-green);color:#F7F8F5}
  .vl-dd__txt{display:flex;min-width:0;flex-direction:column;gap:2px}
  .vl-dd__t{font:500 14px/1.3 "Geist",sans-serif;color:var(--vl-ink)}
  .vl-dd__d{font:400 12.5px/1.4 "Geist",sans-serif;color:var(--vl-mute)}
}
/* tablet / mobile: the mobile menu replaces the Elementor menu + its dropdown toggle */
@media (max-width:1024px){
  .elementor-location-header .vl-nav{display:none!important}
}
@media (min-width:1025px){.vl-mm-toggle{display:none!important}}

/* ---------- header: hamburger + cart badge (mobile actions) ---------- */
.vl-mm-toggle,.vl-mm-toggle:focus{border:0!important;padding:0!important;background:transparent!important;color:var(--vl-ink)!important;cursor:pointer;margin-right:-8px;transition:background-color .2s ease!important} /* beat the theme's button colours */
.vl-mm-toggle:hover,.vl-mm-toggle[aria-expanded="true"]{background:var(--vl-glass)!important}
.vl-mm-toggle__bars{display:flex;flex-direction:column;gap:4px;width:20px}
.vl-mm-toggle__bars i{display:block;height:1.6px;border-radius:2px;background:var(--vl-ink);transition:transform .3s var(--vl-ease),width .3s var(--vl-ease)}
.vl-mm-toggle__bars i:nth-child(2){width:14px;margin-left:auto}
.vl-mm-toggle:hover .vl-mm-toggle__bars i:nth-child(2){width:20px}
.vl-mm-toggle:focus-visible{outline:2px solid var(--vl-green);outline-offset:2px}
.vl-hdr-cart{position:relative}
.vl-hdr-cart .vl-cart-badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:10.5px;box-shadow:0 0 0 2px var(--vl-surf)}

/* ---------- 2. mobile menu ---------- */
html.vl-mm-locked{overflow:hidden}
.vl-mm{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--vl-ink);overflow:hidden}
.vl-mm::backdrop{background:transparent}
.vl-mm:not([open]){display:none}
.vl-mm__scrim{position:absolute;inset:0;background:rgba(9,11,10,.45);opacity:0;transition:opacity .35s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.vl-mm__panel{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;gap:20px;box-sizing:border-box;width:min(420px,92vw);padding:14px 20px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:var(--vl-surf);box-shadow:-24px 0 60px -30px rgba(9,11,10,.45);transform:translateX(104%);transition:transform .45s var(--vl-ease)}
.vl-mm.is-open .vl-mm__scrim{opacity:1}
.vl-mm.is-open .vl-mm__panel{transform:none}
.vl-mm__head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px}
.vl-mm__logo{display:inline-flex}
.vl-mm__logo img{width:auto;height:26px}
.vl-mm__close,.vl-mm__toggle{transition-property:border-color,background-color,color,transform!important}
.vl-mm .vl-mm__close:focus,.vl-mm .vl-mm__toggle:focus{background:transparent;color:var(--vl-ink)}
.vl-mm .vl-mm__toggle[aria-expanded="true"]:focus{background:var(--vl-tint);color:var(--vl-green)}
.vl-mm__close{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid var(--vl-border);border-radius:50%;background:transparent;color:var(--vl-ink);cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .35s var(--vl-ease)}
.vl-mm__close:hover{border-color:var(--vl-ink);background:var(--vl-glass);color:var(--vl-ink);transform:rotate(90deg)}
.vl-mm__close:focus-visible,.vl-mm__toggle:focus-visible,.vl-mm a:focus-visible{outline:2px solid var(--vl-green);outline-offset:2px}
.vl-mm__search{display:flex;align-items:center;gap:10px;box-sizing:border-box;height:50px;padding:0 16px;border:1px solid var(--vl-input);border-radius:14px;background:var(--vl-card);color:var(--vl-mute);transition:border-color .2s ease,box-shadow .2s ease}
.vl-mm__search:focus-within{border-color:var(--vl-green);box-shadow:0 0 0 3px rgba(14,73,56,.14)}
:root body .vl-mm__search input[type=search]{flex:1;min-width:0;height:46px;margin:0;padding:0;border:0;outline:0;background:transparent;box-shadow:none;font:400 16px/1.4 "Geist",sans-serif;color:var(--vl-ink)}
.vl-mm__search input::placeholder{color:var(--vl-mute);opacity:1}
.vl-mm__list,.vl-mm__sublist{margin:0;padding:0;list-style:none}
.vl-mm__list > li{border-bottom:1px solid var(--vl-line);opacity:0;transform:translateX(18px);transition:opacity .4s ease,transform .45s var(--vl-ease)}
.vl-mm.is-open .vl-mm__list > li{opacity:1;transform:none}
.vl-mm__list > li:nth-child(1){transition-delay:.10s}.vl-mm__list > li:nth-child(2){transition-delay:.14s}.vl-mm__list > li:nth-child(3){transition-delay:.18s}.vl-mm__list > li:nth-child(4){transition-delay:.22s}.vl-mm__list > li:nth-child(5){transition-delay:.26s}.vl-mm__list > li:nth-child(n+6){transition-delay:.30s}
.vl-mm__row{display:flex;align-items:center;gap:8px}
.vl-mm__link{display:flex;flex:1;align-items:center;min-height:58px;font:500 22px/1.2 "Geist",sans-serif;letter-spacing:-.3px;color:var(--vl-ink);text-decoration:none;transition:color .2s ease}
.vl-mm__link:hover,.vl-mm__item.is-current > .vl-mm__link,.vl-mm__item.is-current > .vl-mm__row > .vl-mm__link{color:var(--vl-green)}
.vl-mm__toggle{display:flex;flex:none;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid var(--vl-line);border-radius:50%;background:transparent;color:var(--vl-ink);cursor:pointer;transition:background-color .2s ease,border-color .2s ease}
.vl-mm__toggle:hover{border-color:var(--vl-ink);background:transparent;color:var(--vl-ink)}
.vl-mm__toggle .vl-icon{transition:transform .35s var(--vl-ease)}
.vl-mm__toggle[aria-expanded="true"]{border-color:var(--vl-green);background:var(--vl-tint);color:var(--vl-green)}
.vl-mm__toggle[aria-expanded="true"] .vl-icon{transform:rotate(180deg)}
.vl-mm__sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--vl-ease)}
.vl-mm__sub > .vl-mm__sublist{overflow:hidden;min-height:0}
.vl-mm__item.is-open > .vl-mm__sub{grid-template-rows:1fr}
.vl-mm__sublist{display:flex;flex-direction:column;gap:2px}
.vl-mm__item.is-open .vl-mm__sublist{padding-bottom:12px}
.vl-mm__link--sub{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:14px;color:var(--vl-ink);text-decoration:none;transition:background-color .2s ease}
.vl-mm__link--sub:hover,.vl-mm__item--d1.is-current .vl-mm__link--sub{background:var(--vl-ivory);color:var(--vl-ink)}
.vl-mm__ico{display:flex;flex:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:var(--vl-tint);color:var(--vl-green)}
.vl-mm__ico .vl-icon{stroke-width:1.6}
.vl-mm__txt{display:flex;min-width:0;flex-direction:column;gap:2px}
.vl-mm__txt span{font:500 15px/1.3 "Geist",sans-serif}
.vl-mm__txt small{font:400 12.5px/1.4 "Geist",sans-serif;color:var(--vl-mute)}
.vl-mm__quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;opacity:0;transform:translateY(8px);transition:opacity .4s ease .32s,transform .45s var(--vl-ease) .32s}
.vl-mm.is-open .vl-mm__quick,.vl-mm.is-open .vl-mm__foot{opacity:1;transform:none}
.vl-mm__tile{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--vl-line);border-radius:14px;background:var(--vl-card);font:500 14px/1.3 "Geist",sans-serif;color:var(--vl-ink);text-decoration:none;transition:border-color .2s ease,transform .2s ease}
.vl-mm__tile .vl-icon{color:var(--vl-green);stroke-width:1.6}
.vl-mm__tile:hover{border-color:var(--vl-border);color:var(--vl-ink)}
.vl-mm__tile:active,.vl-mm__account:active{transform:scale(.98)}
.vl-mm__foot{display:flex;flex-direction:column;gap:14px;margin-top:auto;opacity:0;transform:translateY(8px);transition:opacity .4s ease .38s,transform .45s var(--vl-ease) .38s}
.vl-mm__account{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--vl-ivory);color:var(--vl-ink);text-decoration:none;transition:background-color .2s ease,transform .2s ease}
.vl-mm__account:hover{background:var(--vl-glass);color:var(--vl-ink)}
.vl-mm__avatar{display:flex;flex:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--vl-card);color:var(--vl-green)}
.vl-mm__avatar.is-initials{background:var(--vl-green);color:#F7F8F5;font:500 13px/1 "Geist Mono",monospace;letter-spacing:.04em}
.vl-mm__acc-txt{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.vl-mm__acc-txt span{font:500 15px/1.3 "Geist",sans-serif}
.vl-mm__acc-txt small{overflow:hidden;font:400 12.5px/1.4 "Geist",sans-serif;color:var(--vl-mute);white-space:nowrap;text-overflow:ellipsis}
.vl-mm__note{display:flex;align-items:center;gap:8px;margin:0;font:500 10.5px/1.4 "Geist Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--vl-mute)}
.vl-mm__note .vl-icon{color:var(--vl-green)}

/* kit link/button colours (.elementor-kit-10 a / button, 0-1-1) would otherwise win over single classes */
.vl-mm a.vl-mm__link,.vl-mm a.vl-mm__tile,.vl-mm a.vl-mm__account,.vl-mm a.vl-mm__link--sub{color:var(--vl-ink)}
.vl-mm a.vl-mm__link:hover,.vl-mm .is-current > a.vl-mm__link,.vl-mm .is-current > .vl-mm__row > a.vl-mm__link{color:var(--vl-green)}
.vl-mm button.vl-mm__close,.vl-mm button.vl-mm__toggle{background:transparent;color:var(--vl-ink);box-shadow:none}
.vl-mm button.vl-mm__close{border:1px solid var(--vl-border)}
.vl-mm button.vl-mm__toggle{border:1px solid var(--vl-line)}
.vl-mm button.vl-mm__close:hover,.vl-mm button.vl-mm__toggle:hover{border-color:var(--vl-ink);background:var(--vl-glass);color:var(--vl-ink)}
.vl-mm button.vl-mm__toggle[aria-expanded="true"]{border-color:var(--vl-green);background:var(--vl-tint);color:var(--vl-green)}

/* ---------- 3. bottom bar ---------- */
.vl-bb{display:none}
@media (max-width:1024px){
  body.vl-has-bb .elementor-location-footer{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  .vl-bb{position:fixed;z-index:990;left:0;right:0;bottom:calc(12px + env(safe-area-inset-bottom));display:block;width:min(520px,calc(100% - 24px));margin:0 auto;transform:translateY(calc(100% + 28px));opacity:0;pointer-events:none;transition:transform .45s var(--vl-ease),opacity .3s ease}
  .vl-bb.is-shown{transform:none;opacity:1;pointer-events:auto}
  html.vl-mm-locked .vl-bb{transform:translateY(calc(100% + 28px));opacity:0}
  .vl-bb ul{display:grid;grid-template-columns:repeat(var(--vl-bb-n,5),minmax(0,1fr));gap:2px;margin:0;padding:6px;list-style:none;border:1px solid rgba(9,11,10,.08);border-radius:22px;background:rgba(253,253,251,.9);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 2px rgba(9,11,10,.06),0 18px 40px -16px rgba(9,11,10,.32)}
  .vl-bb a.vl-bb__item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:54px;border-radius:16px;color:var(--vl-mute);text-decoration:none;-webkit-tap-highlight-color:transparent;transition:color .25s ease,background-color .25s ease,transform .15s ease}
  .vl-bb a.vl-bb__item:hover{color:var(--vl-ink)}
  .vl-bb__item:active{transform:scale(.94)}
  .vl-bb a.vl-bb__item.is-active{background:var(--vl-tint);color:var(--vl-green)}
  .vl-bb__icon .vl-icon{stroke-width:1.7;transition:transform .3s var(--vl-ease)}
  .vl-bb__item.is-active .vl-bb__icon .vl-icon{transform:translateY(-1px)}
  .vl-bb__label{font:500 10.5px/1.1 "Geist",sans-serif;letter-spacing:.01em;white-space:nowrap}
  .vl-bb__item:focus-visible{outline:2px solid var(--vl-green);outline-offset:2px}
}
@media (prefers-reduced-motion:reduce){
  .vl-mm__panel,.vl-mm__scrim,.vl-mm__list > li,.vl-mm__quick,.vl-mm__foot,.vl-mm__sub,.vl-bb{transition:none!important}
  .elementor-location-header .vl-nav .elementor-nav-menu--main .sub-menu{animation:none!important}
}
