/* ================= Custom mobile menu (replaces Responsive Menu Pro) ================= */

.wv-mobile-trigger{
  display:none;
  position:fixed;
  top:16px;right:18px;
  width:34px;height:34px;
  align-items:center;justify-content:center;
  background:#ffffff;border:none;border-radius:9px;cursor:pointer;
  box-shadow:0 2px 10px rgba(0,0,0,0.14);
  z-index:100000;
}
@media (max-width:1024px){
  .wv-mobile-trigger{ display:inline-flex; }
}
.wv-mobile-trigger span{
  position:absolute;left:10px;right:10px;height:1.5px;background:#1d1d1f;
  border-radius:1px;transition:transform .3s ease,opacity .3s ease;
}
.wv-mobile-trigger span:nth-child(1){ top:12.5px; }
.wv-mobile-trigger span:nth-child(2){ top:17px; }
.wv-mobile-trigger span:nth-child(3){ top:21.5px; }
.wv-mobile-trigger.is-open span:nth-child(1){ transform:translateY(4.5px) rotate(45deg); }
.wv-mobile-trigger.is-open span:nth-child(2){ opacity:0; }
.wv-mobile-trigger.is-open span:nth-child(3){ transform:translateY(-4.5px) rotate(-45deg); }

/* Fade out our hamburger while the Elementor mini-cart drawer is open
   (see wv-mobile-menu.js) so it never overlaps the cart panel. */
.wv-mobile-trigger.wv-hidden-for-cart{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease;
}

.wv-mobile-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.35);
  z-index:99997;opacity:0;visibility:hidden;
}

.wv-mobile-panel{
  position:fixed;top:0;right:0;bottom:0;
  width:min(340px,86vw);
  background:#ffffff;
  z-index:99998;
  transform:translateX(100%);
  display:flex;flex-direction:column;
  box-shadow:-10px 0 40px rgba(0,0,0,0.16);
}

.wv-mobile-panel-header{
  display:flex;align-items:center;justify-content:flex-end;
  padding:20px 20px 16px;
  border-bottom:1px solid rgba(0,0,0,0.08);
  flex:0 0 auto;
}

.wv-mobile-close{
  width:34px;height:34px;border:none;background:none;cursor:pointer;
  position:relative;
}
.wv-mobile-close span{
  position:absolute;top:50%;left:50%;width:18px;height:1.5px;background:#1d1d1f;border-radius:2px;
}
.wv-mobile-close span:nth-child(1){ transform:translate(-50%,-50%) rotate(45deg); }
.wv-mobile-close span:nth-child(2){ transform:translate(-50%,-50%) rotate(-45deg); }

.wv-mobile-nav{
  flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:8px 0 24px;
}

.wv-mobile-nav ul{ list-style:none;margin:0;padding:0; }
.wv-mobile-nav .wv-sub{ display:none; }
.wv-mobile-nav li{ border-bottom:1px solid rgba(0,0,0,0.06); }
.wv-mobile-nav .wv-sub li:last-child{ border-bottom:none; }

.wv-mobile-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:15px 22px;
  color:#1d1d1f;text-decoration:none;
  font-size:15.5px;font-weight:500;letter-spacing:.2px;
  transition:background-color .2s ease,padding-left .2s ease,color .2s ease;
}
.wv-mobile-row:hover,.wv-mobile-row:active{ background:rgba(0,0,0,0.035); }

.wv-mobile-nav .wv-level-1 > .wv-mobile-row{
  font-weight:600; text-transform:uppercase; font-size:14px; letter-spacing:.6px; color:#1d1d1f;
}
.wv-mobile-nav .wv-level-2 .wv-mobile-row{ padding-left:36px; font-size:14.5px; color:#6e6e73; }
.wv-mobile-nav .wv-level-3 .wv-mobile-row{ padding-left:50px; font-size:14px; color:#86868b; }

.wv-mobile-toggle{
  background:none;border:none;color:#0071e3;cursor:pointer;
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.wv-mobile-toggle svg{ width:14px;height:14px;transition:transform .3s ease; }
.wv-mobile-item.is-open > .wv-mobile-row-wrap > .wv-mobile-toggle svg{ transform:rotate(180deg); }

.wv-mobile-row-wrap{ display:flex;align-items:center; }
.wv-mobile-row-wrap > .wv-mobile-row{ flex:1 1 auto; }

body.wv-mobile-menu-open{ overflow:hidden; }

@media (min-width:1025px){
  .wv-mobile-trigger,.wv-mobile-overlay,.wv-mobile-panel{ display:none !important; }
}
