/* Global navigation only. Elementor retains logo/cart/buy widgets and sticky. */
.mw-nav-v2, .mw-nav-v2 * { box-sizing:border-box; }
.mw-nav-v2 {
  position:relative; z-index:9998; width:100%;
  color:var(--mw-dark); font:400 16px/1.5 var(--mw-font-body);
  -webkit-font-smoothing:antialiased;
}
.mw-nav-v2 a { color:inherit; text-decoration:none; }
.mw-nav-v2 button, .mw-nav-v2 summary { font-family:inherit; cursor:pointer; }
.mw-nav-v2 svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.mw-nav-v2 :is(a,button,summary):focus-visible { outline:2px solid var(--mw-dark); outline-offset:4px; }
.mw-nav-panel, .mw-nav-main { display:flex; align-items:center; justify-content:center; }
.mw-nav-main { gap:clamp(18px,2vw,30px); }
.mw-nav-link {
  position:relative; display:inline-flex; align-items:center; gap:6px;
  min-height:44px; padding:4px 0; border:0; color:var(--mw-dark)!important;
  background:transparent; font-size:16px; font-weight:400; line-height:1.4; white-space:nowrap;
}
.mw-nav-link::after {
  position:absolute; inset:auto 0 2px; height:2px; content:"";
  background:var(--mw-brand-gradient); opacity:0; transform:scaleX(.35);
  transition:opacity .18s ease,transform .18s ease;
}
.mw-nav-link:hover::after, .mw-nav-link:focus-visible::after,
.mw-nav-link[aria-current="page"]::after, .mw-nav-product[open]>summary::after { opacity:1; transform:scaleX(1); }
.mw-nav-link>svg { width:14px; height:14px; transition:transform .18s ease; }
.mw-nav-product { position:relative; margin:0; }
.mw-nav-product summary { list-style:none; }
.mw-nav-product summary::-webkit-details-marker { display:none; }
.mw-nav-product[open]>summary>svg { transform:rotate(180deg); }
.mw-nav-dropdown {
  position:absolute; top:calc(100% + 12px); left:50%; display:grid;
  width:min(430px,calc(100vw - 32px)); padding:12px;
  border:1px solid var(--mw-line); border-radius:18px; background:#fff;
  box-shadow:0 24px 65px rgba(23,20,22,.16); transform:translateX(-50%);
}
.mw-nav-label { margin:4px 8px 10px; color:var(--mw-muted); font-size:14px; line-height:1.5; font-weight:500; }
.mw-nav-dropdown>a { display:grid; grid-template-columns:40px minmax(0,1fr); align-items:center; gap:12px; padding:11px 10px; border-radius:12px; transition:background-color .18s ease; }
.mw-nav-dropdown>a:hover, .mw-nav-dropdown>a:focus-visible { background:var(--mw-bone-light); }
.mw-nav-icon { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:11px; color:var(--mw-pink); background:var(--mw-blush); }
.mw-nav-icon svg { width:21px; height:21px; stroke-width:1.65; }
.mw-nav-dropdown strong, .mw-nav-dropdown small { display:block; }
.mw-nav-dropdown strong { color:var(--mw-dark); font-size:16px; line-height:1.4; font-weight:500; }
.mw-nav-dropdown small { margin-top:3px; color:var(--mw-muted); font-size:14px; line-height:1.5; }
.mw-nav-toggle, .mw-nav-mobile-head, .mw-nav-secondary, .mw-nav-mobile-cta, .mw-nav-backdrop { display:none; }
html.mw-nav-open, body.mw-nav-open { overflow:hidden; }
body.mw-nav-open .joinchat { visibility:hidden!important; pointer-events:none!important; }

/* Match the live global desktop-header/mobile-header rules: 1365 / 1366. */
@media (max-width:1365px) {
  /* Native cart padding overflow was masked by the old footer's html/body clip.
     Keep its icon, count, markup and behavior; constrain only its touch box. */
  .elementor-location-header .mobile-header .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button {
    display:inline-flex;align-items:center;justify-content:center;
    width:44px!important;min-width:44px!important;min-height:44px;padding:0!important;
  }
  .mw-nav-v2 { display:flex; justify-content:flex-start; }
  /* No-JS fallback: main links remain usable, not a nonfunctional hamburger. */
  .mw-nav-v2:not([data-nav-ready]) .mw-nav-mobile-head { display:none; }
  .mw-nav-v2:not([data-nav-ready]) .mw-nav-main { flex-wrap:wrap; gap:8px 16px; }
  .mw-nav-v2:not([data-nav-ready]) .mw-nav-link { white-space:normal; }
  .mw-nav-v2:not([data-nav-ready]) .mw-nav-dropdown { position:static; width:100%; transform:none; }
  .mw-nav-v2[data-nav-ready]>.mw-nav-toggle {
    display:flex; align-items:center; justify-content:center; width:44px; height:44px;
    flex-shrink:0; padding:0; border:0; color:var(--mw-dark); background:transparent;
  }
  .mw-nav-toggle svg { width:24px; height:24px; }
  .mw-nav-v2[data-nav-ready]>.mw-nav-panel {
    position:fixed; z-index:10000; top:0; left:0;
    display:block; width:min(380px,calc(100vw - 28px)); height:100vh; height:100dvh;
    padding:0 20px max(30px,env(safe-area-inset-bottom));
    overflow-y:auto; overscroll-behavior:contain;
    background:#fff; box-shadow:28px 0 60px rgba(23,20,22,.18);
    transform:translateX(-105%); visibility:hidden;
    transition:transform .22s ease,visibility 0s linear .22s;
  }
  .mw-nav-v2[data-nav-ready].is-open>.mw-nav-panel { transform:translateX(0); visibility:visible; transition:transform .22s ease,visibility 0s; }
  .mw-nav-mobile-head {
    position:sticky; z-index:2; top:0; display:grid;
    grid-template-columns:90px minmax(0,1fr) 90px; align-items:center;
    min-height:84px; margin:0 -20px; padding:12px 16px;
    border-bottom:1px solid var(--mw-line); background:#fff;
  }
  .mw-nav-panel-close { display:flex; align-items:center; justify-content:center; gap:7px; width:90px; min-height:44px; padding:8px; border:1px solid var(--mw-line); border-radius:999px; color:var(--mw-dark); background:var(--mw-bone-light); font:500 14px/1.4 var(--mw-font-body); }
  .mw-nav-panel-close svg { width:20px; height:20px; }
  .mw-nav-panel-close:hover { background:var(--mw-blush); }
  .mw-nav-mobile-brand { display:flex; align-items:center; justify-content:center; justify-self:center; width:54px; height:54px; }
  .mw-nav-mobile-brand img { display:block; width:54px; height:54px; object-fit:contain; }
  .mw-nav-main { display:block; padding-top:12px; }
  .mw-nav-link { display:flex; justify-content:space-between; width:100%; min-height:56px; padding:14px 4px; border-bottom:1px solid var(--mw-line); }
  .mw-nav-link::after { display:none; }
  .mw-nav-link[aria-current="page"] { background:var(--mw-blush); border-radius:8px; }
  .mw-nav-product { width:100%; }
  .mw-nav-dropdown { position:static; width:100%; margin:8px 0 13px; padding:9px; border:0; border-radius:14px; background:var(--mw-bone-light); box-shadow:none; transform:none; }
  .mw-nav-dropdown>a { padding:10px 8px; }
  .mw-nav-secondary { display:grid; grid-template-columns:minmax(0,1fr); margin-top:20px; padding:18px 14px 8px; border-radius:18px; background:var(--mw-bone-light); }
  .mw-nav-secondary p { margin:0 8px 10px; color:var(--mw-muted); font-size:14px; line-height:1.5; font-weight:500; }
  .mw-nav-secondary a { position:relative; display:flex; align-items:center; min-height:44px; padding:10px 26px 10px 8px; border-bottom:1px solid var(--mw-line); color:var(--mw-muted); font-size:16px; line-height:1.5; }
  .mw-nav-secondary a:last-child { border-bottom:0; }
  .mw-nav-secondary a::after { position:absolute; top:50%; right:10px; content:""; width:7px; height:7px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; transform:translateY(-50%) rotate(45deg); }
  .mw-nav-secondary a:hover, .mw-nav-secondary a:focus-visible { color:var(--mw-dark); }
  .mw-nav-mobile-cta { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:52px; margin-top:20px; padding:13px 12px; border-radius:999px; color:#fff!important; background:var(--mw-cta-gradient); font-size:16px; line-height:1.5; font-weight:500; text-align:center; }
  .mw-nav-mobile-cta svg { flex-shrink:0; width:18px; height:18px; }
  .mw-nav-v2[data-nav-ready]>.mw-nav-backdrop { position:fixed; z-index:9999; inset:0; display:block; width:100%; height:100%; margin:0; padding:0; border:0; background:rgba(23,20,22,.42); visibility:hidden; opacity:0; transition:opacity .22s ease,visibility 0s linear .22s; }
  .mw-nav-v2.is-open>.mw-nav-backdrop { visibility:visible; opacity:1; transition:opacity .22s ease,visibility 0s; }
}
@media (prefers-reduced-motion:reduce) {
  .mw-nav-v2 *, .mw-nav-v2 *::after { transition:none!important; }
}
