/* Vendiac shared navbar - mobile perfected */

.site-header,
.site-header *,
.side-menu,
.side-menu *,
.menu-overlay,
.mobile-bottom-nav,
.mobile-bottom-nav *{
  box-sizing:border-box;
}

body.menu-open{
  overflow:hidden !important;
  touch-action:none;
}

.menu-overlay{
  position:fixed !important;
  inset:0 !important;
  background:rgba(0,0,0,0.68) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transition:opacity .2s ease, visibility .2s ease !important;
  z-index:990 !important;
}

.menu-overlay.active{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

.side-menu{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  width:min(360px, 88vw) !important;
  height:100dvh !important;
  max-height:100dvh !important;
  background:#050505 !important;
  border-right:1px solid #262626 !important;
  transform:translateX(-105%) !important;
  transition:transform .22s ease !important;
  z-index:1000 !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

.side-menu.active{
  transform:translateX(0) !important;
}

.side-menu-head{
  min-height:76px !important;
  padding:16px 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  border-bottom:1px solid #262626 !important;
  background:#050505 !important;
}

.side-logo,
.side-menu-head > a{
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
  text-decoration:none !important;
}

.side-logo img,
.side-menu-head img{
  height:32px !important;
  width:auto !important;
  max-width:190px !important;
  display:block !important;
  object-fit:contain !important;
}

.close-menu,
.side-menu-head button{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #444444 !important;
  background:#0b0b0b !important;
  color:#ffffff !important;
  border-radius:0 !important;
  font-size:20px !important;
  line-height:1 !important;
  cursor:pointer !important;
}

.close-menu:hover,
.side-menu-head button:hover{
  background:#ffffff !important;
  color:#000000 !important;
}

.side-menu-links{
  padding:18px !important;
  display:block !important;
}

.menu-group{
  margin-bottom:20px !important;
}

.menu-group p{
  margin:0 0 10px !important;
  color:#ffffff !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}

.menu-group a{
  min-height:48px !important;
  padding:0 2px !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  border-bottom:1px solid #171717 !important;
  color:#ffffff !important;
  background:transparent !important;
  font-size:16px !important;
  font-weight:650 !important;
  text-decoration:none !important;
}

.menu-group a:hover{
  background:#0b0b0b !important;
}

.menu-group a i{
  width:20px !important;
  min-width:20px !important;
  font-size:15px !important;
  text-align:center !important;
  color:#ffffff !important;
}

.side-menu-cta{
  width:100% !important;
  min-height:50px !important;
  margin-top:10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  background:#ffffff !important;
  color:#000000 !important;
  border-radius:999px !important;
  font-size:15px !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

.site-header{
  position:sticky !important;
  top:0 !important;
  z-index:900 !important;
  background:#000000 !important;
  border-bottom:1px solid #262626 !important;
}

.header-main{
  width:min(1640px, calc(100% - 40px)) !important;
  min-height:72px !important;
  margin:0 auto !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
}

.header-left{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  flex:0 0 auto !important;
  min-width:0 !important;
}

.menu-button{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  border:none !important;
  color:#ffffff !important;
  cursor:pointer !important;
}

.menu-button i{
  font-size:20px !important;
  line-height:1 !important;
}

.brand{
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
  text-decoration:none !important;
}

.brand img{
  height:35px !important;
  width:auto !important;
  max-width:190px !important;
  display:block !important;
  object-fit:contain !important;
}

.header-search{
  flex:1 1 auto !important;
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
  max-width:980px !important;
  height:46px !important;
  background:#ffffff !important;
  border:1px solid #ffffff !important;
  border-radius:999px !important;
  overflow:hidden !important;
}

.search-icon{
  padding-left:18px !important;
  color:#222222 !important;
  font-size:14px !important;
}

.header-search input{
  flex:1 !important;
  min-width:0 !important;
  height:100% !important;
  padding:0 16px !important;
  background:#ffffff !important;
  border:none !important;
  color:#000000 !important;
  outline:none !important;
  font-size:15px !important;
  font-weight:650 !important;
}

.header-search input::placeholder{
  color:#444444 !important;
}

.header-search button{
  min-width:112px !important;
  height:100% !important;
  background:#111111 !important;
  color:#ffffff !important;
  border:none !important;
  border-left:1px solid #d8d8d8 !important;
  font-size:14px !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

.header-search button:hover{
  background:#2a2a2a !important;
}

.header-right{
  margin-left:auto !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex:0 0 auto !important;
  min-width:0 !important;
}

.account-link{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  color:#ffffff !important;
  font-size:15px !important;
  font-weight:750 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

.account-link img{
  width:33px !important;
  height:33px !important;
  border-radius:50% !important;
  object-fit:cover !important;
  border:1px solid #444444 !important;
}

.header-link{
  min-height:auto !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#ffffff !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  font-size:15px !important;
  font-weight:750 !important;
  white-space:nowrap !important;
  text-decoration:none !important;
}

.header-link:hover{
  text-decoration:underline !important;
  text-underline-offset:4px !important;
}

.header-btn{
  min-height:42px !important;
  padding:0 19px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  font-size:15px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  text-decoration:none !important;
}

.header-btn.light{
  background:#ffffff !important;
  color:#000000 !important;
}

.header-btn.light:hover{
  background:#e9e9e9 !important;
}

.cart-link{
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #444444 !important;
  border-radius:999px !important;
  color:#ffffff !important;
  background:transparent !important;
  font-size:15px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  text-decoration:none !important;
}

.cart-link:hover{
  border-color:#ffffff !important;
}

.cart-link i{
  font-size:16px !important;
}

.mobile-search-wrap{
  display:none !important;
}

.top-nav{
  width:min(1640px, calc(100% - 40px)) !important;
  margin:0 auto !important;
  height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:32px !important;
  border-top:1px solid #121212 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-width:none !important;
}

.top-nav::-webkit-scrollbar{
  display:none !important;
}

.top-nav a{
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  color:#ffffff !important;
  font-size:15px !important;
  font-weight:750 !important;
  white-space:nowrap !important;
  border-bottom:2px solid transparent !important;
  text-decoration:none !important;
}

.top-nav a:hover,
.top-nav a.active{
  border-bottom-color:#ffffff !important;
  text-decoration:none !important;
}

.mobile-bottom-nav{
  display:none !important;
}

@media(max-width:1280px){
  .header-main,
  .top-nav{
    width:calc(100% - 28px) !important;
  }

  .account-link span{
    display:none !important;
  }
}

@media(max-width:980px){
  .desktop-search{
    display:none !important;
  }

  .mobile-search-wrap{
    width:calc(100% - 28px) !important;
    margin:0 auto 12px !important;
    display:block !important;
  }

  .mobile-search{
    width:100% !important;
    height:46px !important;
    display:flex !important;
    align-items:center !important;
    background:#ffffff !important;
    border:1px solid #ffffff !important;
    border-radius:999px !important;
    overflow:hidden !important;
  }

  .mobile-search input{
    flex:1 !important;
    min-width:0 !important;
    height:100% !important;
    padding:0 14px !important;
    background:#ffffff !important;
    border:none !important;
    outline:none !important;
    color:#000000 !important;
    font-size:15px !important;
    font-weight:650 !important;
  }

  .mobile-search input::placeholder{
    color:#444444 !important;
  }

  .mobile-search button{
    min-width:98px !important;
    height:100% !important;
    background:#111111 !important;
    color:#ffffff !important;
    border:none !important;
    font-size:14px !important;
    font-weight:800 !important;
  }
}

@media(max-width:768px){
  html,
  body{
    width:100% !important;
    overflow-x:hidden !important;
  }

  .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:900 !important;
    background:#000000 !important;
  }

  .header-main{
    width:calc(100% - 18px) !important;
    min-height:64px !important;
    height:64px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
  }

  .header-left{
    min-width:0 !important;
    gap:8px !important;
  }

  .menu-button{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
  }

  .menu-button i{
    font-size:19px !important;
  }

  .brand img{
    height:29px !important;
    max-width:138px !important;
  }

  .top-nav{
    display:none !important;
  }

  .header-right{
    margin-left:auto !important;
    gap:8px !important;
    min-width:auto !important;
  }

  .account-link{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    justify-content:center !important;
    gap:0 !important;
  }

  .account-link span{
    display:none !important;
  }

  .account-link img{
    width:32px !important;
    height:32px !important;
  }

  .header-link,
  .header-btn.light{
    display:none !important;
  }

  .cart-link{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    display:inline-flex !important;
    font-size:14px !important;
  }

  .mobile-search-wrap{
    width:calc(100% - 18px) !important;
    margin:0 auto 10px !important;
    display:block !important;
  }

  .mobile-search{
    height:44px !important;
    border-radius:999px !important;
  }

  .mobile-search .search-icon{
    padding-left:15px !important;
    font-size:13px !important;
  }

  .mobile-search input{
    padding:0 12px !important;
    font-size:14px !important;
  }

  .mobile-search button{
    min-width:82px !important;
    padding:0 12px !important;
    font-size:13px !important;
  }

  .side-menu{
    width:min(360px, 88vw) !important;
    height:100dvh !important;
  }

  .side-menu-head{
    min-height:66px !important;
    padding:12px 14px !important;
  }

  .side-logo img,
  .side-menu-head img{
    height:30px !important;
    max-width:170px !important;
  }

  .close-menu,
  .side-menu-head button{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
  }

  .side-menu-links{
    padding:14px !important;
  }

  .menu-group{
    margin-bottom:18px !important;
  }

  .menu-group p{
    font-size:11px !important;
  }

  .menu-group a{
    min-height:46px !important;
    font-size:15px !important;
  }

  .mobile-bottom-nav{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:880 !important;
    height:calc(64px + env(safe-area-inset-bottom)) !important;
    padding-bottom:env(safe-area-inset-bottom) !important;
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    background:#050505 !important;
    border-top:1px solid #262626 !important;
  }

  .mobile-bottom-nav a{
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    color:#ffffff !important;
    background:transparent !important;
    font-size:11px !important;
    font-weight:750 !important;
    line-height:1 !important;
    opacity:1 !important;
    text-decoration:none !important;
  }

  .mobile-bottom-nav a i{
    display:block !important;
    font-size:17px !important;
    line-height:1 !important;
  }

  .mobile-bottom-nav a.active{
    background:#0f0f0f !important;
    text-decoration:none !important;
  }
}

@media(max-width:380px){
  .header-main,
  .mobile-search-wrap{
    width:calc(100% - 14px) !important;
  }

  .brand img{
    height:26px !important;
    max-width:118px !important;
  }

  .menu-button,
  .cart-link,
  .account-link{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
  }

  .account-link img{
    width:30px !important;
    height:30px !important;
  }

  .mobile-search button{
    min-width:74px !important;
    font-size:12px !important;
  }
}
