:root {}

.topbar__nav-item{
  position:relative;
}

.mobile-accordion__row{
  display:flex;
  align-items:center;
  gap:8px;
}

.accordion-toggle{
  display:none;
  background:transparent;
  border:0;
  color:var(--text);
  padding:0;
  margin:0;
  cursor:pointer;
}

.accordion-toggle svg{
  width:16px;
  height:16px;
  transition:transform .2s ease;
}

.accordion-toggle[aria-expanded="true"] svg{
  transform:rotate(180deg);
}

.topbar__submenu{
  position:absolute;
  top:100%;
  left:0;
  min-width:170px;
  padding-top:10px;
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  pointer-events:none;
  z-index:10001;
}

.topbar__submenu a{
  display:block;
  background:var(--bg-warm);
  border:1px solid var(--line);
  border-radius:10px;
  padding:10px 14px;
  font-size:15px;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
}

.topbar__nav-item:hover .topbar__submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

@media (max-width: 768px){
  .topbar__nav.mobile-open{
    gap:0;
  }
  .topbar__nav.mobile-open > a,
  .topbar__nav.mobile-open .mobile-accordion__label{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    width:100%;
    font-size:18px;
    padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .topbar__nav.mobile-open .mobile-accordion{
    border-bottom:1px solid rgba(255,255,255,.08);
    width:100%;
  }
  .topbar__nav.mobile-open .mobile-accordion__row{
    position:relative;
    display:block;
  }
  .topbar__nav.mobile-open .mobile-accordion__label{
    border-bottom:none;
    color:var(--text);
    text-decoration:none;
    padding:14px 52px;
  }
  .topbar__nav.mobile-open .accordion-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    top:50%;
    right:24px;
    transform:translateY(-50%);
    width:28px;
    height:28px;
  }
  .topbar__nav.mobile-open .topbar__submenu.accordion-panel{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
    max-height:0;
    overflow:hidden;
    transition:max-height .25s ease;
    padding-top:0;
    min-width:0;
  }
  .topbar__nav.mobile-open .topbar__submenu.accordion-panel.is-open{
    max-height:220px;
  }
  .topbar__nav.mobile-open .topbar__submenu.accordion-panel .accordion-link{
    background:transparent;
    border:none;
    border-bottom:1px solid rgba(255,255,255,.06);
    border-radius:0;
    box-shadow:none;
    font-size:16px;
    padding:10px 0 10px 18px;
  }
  .topbar__nav.mobile-open .topbar__submenu.accordion-panel .accordion-link:last-child{
    border-bottom:none;
  }
}
