
.vmenu{
  position:relative;
  z-index:900;
  width:100%;
  background:#174a7d;
  box-shadow:0 2px 8px rgba(14,43,73,.08);
  font-family:Inter,Roboto,Arial,sans-serif;
}
.vmenu.is-sticky{
  position:sticky;
  top:0;
}
.vmenu *{box-sizing:border-box}
.vmenu-inner{
  width:min(100% - 28px,var(--vmenu-max-width,1180px));
  margin:0 auto;
}
.vmenu-list{
  display:flex;
  align-items:stretch;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}
.vmenu-item{
  position:relative;
  margin:0;
  padding:0;
  list-style:none;
}
.vmenu-item>a{
  min-height:52px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 17px;
  color:#fff;
  text-decoration:none;
  font-size:.94rem;
  font-weight:750;
  line-height:1.2;
  transition:background .18s ease;
}
.vmenu-item>a:hover,
.vmenu-item.is-active>a{
  background:rgba(255,255,255,.12);
}
.vmenu-arrow{font-size:.8rem;opacity:.8}
.vmenu-submenu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:245px;
  margin:0;
  padding:7px;
  list-style:none;
  background:#fff;
  border:1px solid #d9e2ec;
  border-radius:0 0 12px 12px;
  box-shadow:0 14px 30px rgba(11,43,75,.14);
}
.vmenu-submenu .vmenu-item>a{
  min-height:42px;
  padding:8px 12px;
  color:#173b61;
  border-radius:8px;
  font-size:.9rem;
  font-weight:650;
}
.vmenu-submenu .vmenu-item>a:hover,
.vmenu-submenu .vmenu-item.is-active>a{
  background:#eef4f8;
}
.vmenu-item:hover>.vmenu-submenu,
.vmenu-item:focus-within>.vmenu-submenu{
  display:block;
}
.vmenu-submenu .vmenu-submenu{
  top:-7px;
  left:100%;
  border-radius:12px;
}
.vmenu-subtoggle{display:none}
.vmenu-toggle{display:none}

@media(max-width:860px){
  .vmenu-inner{width:100%}
  .vmenu-toggle{
    width:100%;
    min-height:52px;
    display:flex;
    align-items:center;
    gap:11px;
    border:0;
    padding:0 18px;
    background:#174a7d;
    color:#fff;
    font:inherit;
    font-weight:800;
    cursor:pointer;
  }
  .vmenu-toggle-lines,
  .vmenu-toggle-lines::before,
  .vmenu-toggle-lines::after{
    display:block;
    width:21px;
    height:2px;
    border-radius:2px;
    background:currentColor;
  }
  .vmenu-toggle-lines{position:relative}
  .vmenu-toggle-lines::before,
  .vmenu-toggle-lines::after{content:"";position:absolute;left:0}
  .vmenu-toggle-lines::before{top:-6px}
  .vmenu-toggle-lines::after{top:6px}

  .vmenu-list{
    display:none;
    flex-direction:column;
    width:100%;
    padding:6px 10px 12px;
  }
  .vmenu.is-open .vmenu-list{display:flex}
  .vmenu-item>a{
    min-height:46px;
    border-radius:8px;
    padding:8px 12px;
  }
  .vmenu-item.has-children{
    display:grid;
    grid-template-columns:1fr 44px;
  }
  .vmenu-item.has-children>a{grid-column:1}
  .vmenu-subtoggle{
    grid-column:2;
    display:grid;
    place-items:center;
    border:0;
    background:transparent;
    color:#fff;
    cursor:pointer;
    font-size:1rem;
  }
  .vmenu-submenu{
    grid-column:1/-1;
    position:static;
    min-width:0;
    margin:0 0 4px 14px;
    padding:4px;
    border:0;
    border-left:2px solid rgba(255,255,255,.2);
    border-radius:0;
    box-shadow:none;
    background:transparent;
  }
  .vmenu-item:hover>.vmenu-submenu,
  .vmenu-item:focus-within>.vmenu-submenu{
    display:none;
  }
  .vmenu-item.submenu-open>.vmenu-submenu{display:block}
  .vmenu-submenu .vmenu-item>a{
    color:#fff;
    background:transparent;
  }
  .vmenu-submenu .vmenu-item>a:hover,
  .vmenu-submenu .vmenu-item.is-active>a{
    background:rgba(255,255,255,.1);
  }
  .vmenu-submenu .vmenu-submenu{
    margin-left:12px;
  }
}


/* VillageMenu 1.0.2 — корректная работа внутри VillagePortal */
.vp-nav .vmenu{
  position:static!important;
  top:auto!important;
  z-index:auto;
  background:transparent!important;
  box-shadow:none!important;
}
.vp-nav .vmenu-inner{
  width:100%!important;
  margin:0!important;
}
.vp-nav .vmenu-item>a{
  min-height:48px;
}

/* 1.0.3 — пункты меню только текстовые */
.vmenu-item>a::before{content:none!important;display:none!important;}
