.vp-site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(246,242,235,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--vp-border);
}

.vp-header-row{
  position:relative;
  overflow:visible;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:84px;
}

.vp-brand img,
.custom-logo{
  max-height:58px;
  width:auto;
}

.vp-primary-nav{display:none}
.vp-header-center{display:contents}

.vp-menu,
.vp-menu .sub-menu,
.vp-mobile-menu__list,
.vp-mobile-menu__list .sub-menu{
  list-style:none;
  margin:0;
  padding:0;
}

.vp-menu{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}

.vp-menu > li{position:relative}
.vp-menu > li.menu-item-has-mega{position:static}

.vp-menu > li > a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:10px 14px;
  border-radius:999px;
  color:#1f1f1f;
  font-weight:700;
  white-space:nowrap;
}

.vp-menu > li:hover > a,
.vp-menu > li.is-active > a,
.vp-menu > li.current-menu-item > a,
.vp-menu > li.current-menu-ancestor > a{
  background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.03);
}

.vp-menu .sub-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:280px;
  background:#fff;
  border:1px solid var(--vp-border);
  border-radius:22px;
  padding:12px;
  box-shadow:0 20px 50px rgba(0,0,0,.10);
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.vp-menu li:hover > .sub-menu,
.vp-menu li:focus-within > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.vp-menu li:hover > .vp-mega-menu,
.vp-menu li:focus-within > .vp-mega-menu{
  opacity:1;
  visibility:visible;
  transform:translate(-50%, 0);
}

.vp-menu .sub-menu li + li{margin-top:4px}

.vp-menu .sub-menu a{
  display:block;
  padding:12px 14px;
  border-radius:14px;
  color:#1f1f1f;
  font-weight:600;
  line-height:1.25;
}

.vp-menu .sub-menu a:hover,
.vp-menu .sub-menu .current-menu-item > a{background:var(--vp-cream)}

.vp-mega-menu{
  position:absolute;
  top:calc(100% + 12px);
  left:50%;
  width:min(1120px, calc(100vw - 48px));
  max-width:calc(100vw - 48px);
  transform:translate(-50%, 8px);
  background:#fff;
  border:1px solid var(--vp-border);
  border-radius:28px;
  padding:22px;
  box-shadow:0 28px 70px rgba(10,20,18,.14);
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.vp-mega-menu__intro{
  display:grid;
  gap:6px;
  margin-bottom:18px;
  padding-bottom:16px;
  border-bottom:1px solid var(--vp-border);
}

.vp-mega-menu__eyebrow{
  display:inline-flex;
  width:max-content;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(15,75,58,.08);
  color:var(--vp-green);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.vp-mega-menu__intro h3{margin:0;font-size:28px;line-height:1.05}
.vp-mega-menu__intro p{margin:0;color:#5b5f67;max-width:680px}

.vp-mega-menu__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  max-height:min(64vh, 620px);
  overflow:auto;
  padding-right:4px;
}

.vp-mega-menu__card{
  display:grid;
  gap:8px;
  min-height:112px;
  padding:16px;
  border:1px solid var(--vp-border);
  border-radius:20px;
  background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.vp-mega-menu__card:hover{
  transform:translateY(-2px);
  border-color:rgba(15,75,58,.18);
  box-shadow:0 16px 32px rgba(15,75,58,.08);
}

.vp-mega-menu__card strong{
  color:#121417;
  font-size:15px;
  line-height:1.2;
}

.vp-mega-menu__card span{
  color:#64707d;
  font-size:13px;
  line-height:1.45;
}

.vp-mega-menu__footer{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--vp-border);
}

.vp-mega-menu__footer a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 18px;
  border-radius:999px;
  background:var(--vp-green);
  color:#fff;
  font-weight:800;
}

.vp-header-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
  white-space:nowrap;
}

.vp-header-link{font-weight:700}

.vp-cart-count{
  display:inline-flex;
  min-width:18px;
  height:18px;
  padding:0 5px;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:var(--vp-red);
  color:#fff;
  font-size:11px;
}

.vp-header-searchbar{
  display:none;
  border:0;
  appearance:none;
  -webkit-appearance:none;
}

.vp-burger{
  display:inline-flex;
  flex-direction:column;
  gap:4px;
  border:0;
  background:transparent;
  padding:8px;
  cursor:pointer;
}

.vp-burger span{
  display:block;
  width:22px;
  height:2px;
  background:var(--vp-black);
}

.vp-mobile-menu{
  position:fixed;
  inset:0;
  z-index:1200;
}

.vp-mobile-menu[hidden]{display:none}

.vp-mobile-menu__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.35);
}

.vp-mobile-menu__panel{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:min(92vw,380px);
  background:#fff;
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:20px;
  box-shadow:-10px 0 40px rgba(0,0,0,.08);
  overflow:auto;
}

.vp-mobile-menu__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.vp-mobile-menu__head button{
  border:0;
  background:transparent;
  font-size:32px;
  line-height:1;
}

.vp-mobile-menu__list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.vp-mobile-menu__list > li > a{
  display:block;
  padding:12px 14px;
  border:1px solid var(--vp-border);
  border-radius:18px;
  background:var(--vp-cream);
  font-weight:700;
}

.vp-mobile-menu__list .sub-menu{
  margin-top:8px;
  padding-left:10px;
  border-left:2px solid var(--vp-border);
}

.vp-mobile-menu__list .sub-menu a{
  display:block;
  padding:9px 10px;
  color:#1f1f1f;
  font-weight:600;
}

.vp-mobile-menu__links{
  display:grid;
  gap:12px;
}

.vp-mobile-menu__links a{
  padding:14px 16px;
  border-radius:18px;
  background:var(--vp-green);
  color:#fff;
  font-weight:700;
}

.admin-bar .vp-site-header{top:32px}

@media(min-width:1024px){
  .vp-header-row{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:20px;
  }

  .vp-header-center{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    min-width:0;
    width:100%;
  }

  .vp-primary-nav{
    display:block;
    flex:1 1 auto;
    min-width:0;
  }

  .vp-header-searchbar{
    display:flex;
    align-items:center;
    gap:10px;
    width:260px;
    min-width:260px;
    max-width:260px;
    min-height:46px;
    padding:0 16px;
    border:1px solid rgba(15,23,42,.10);
    border-radius:999px;
    background:#fff;
    color:#667085;
    cursor:pointer;
    box-shadow:0 8px 22px rgba(15,23,42,.06);
    transition:border-color .18s ease, box-shadow .18s ease, transform .12s ease, background .18s ease;
    flex:0 0 auto;
  }

  .vp-header-searchbar:hover{
    background:#fcfcfb;
    border-color:rgba(15,75,58,.18);
    box-shadow:0 10px 26px rgba(15,23,42,.10);
  }

  .vp-header-searchbar:active{
    transform:translateY(1px);
  }

  .vp-header-searchbar__icon{
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#0f4b3a;
    flex:0 0 auto;
  }

  .vp-header-searchbar__icon svg{
    width:18px;
    height:18px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .vp-header-searchbar__icon svg path,
  .vp-header-searchbar__icon svg circle{
    fill:none;
  }

  .vp-header-searchbar__text{
    font-size:14px;
    line-height:1;
    font-weight:700;
    color:#6b7280;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .vp-burger{display:none}
}

@media(max-width:1279px){
  .vp-mega-menu{
    width:min(940px, calc(100vw - 40px));
    max-width:calc(100vw - 40px);
  }

  .vp-mega-menu__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:1180px){
  .vp-header-searchbar{
    display:none;
  }
}

@media(max-width:1023px){
  .vp-header-row{
    min-height:88px;
    gap:12px;
    padding:6px 0;
  }

  .vp-brand img,
  .custom-logo{
    max-height:64px;
  }

  .vp-header-actions{
    gap:14px;
  }

  .vp-header-link{
    font-size:clamp(1.1rem,3.7vw,1.5rem);
    font-weight:800;
  }

  .vp-burger{
    padding:10px;
    margin-right:-6px;
  }

  .vp-burger span{
    width:28px;
    height:2.5px;
    border-radius:3px;
  }
}

@media(min-width:1440px){
  .vp-mega-menu__grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}