.nav-group { position: relative; }
.nav-group > summary, .mobile-nav-group > summary { list-style: none; cursor: pointer; }
.nav-group > summary::-webkit-details-marker, .mobile-nav-group > summary::-webkit-details-marker { display: none; }
.nav-group-links {
    position: absolute; top: 100%; left: 0; min-width: 265px;
    max-height: calc(100dvh - 170px); overflow-y: auto;
    padding: 8px 0; background: #111; border: 1px solid #333;
    border-radius: 8px; box-shadow: 0 12px 24px #0005;
}
.nav-group[open] > summary { color: var(--color-primary); }
.nav-group[open] .nav-chevron { display: inline-block; transform: rotate(180deg); }
.nav-group summary:focus-visible, .nav-group a:focus-visible,
.mobile-nav summary:focus-visible, .mobile-nav a:focus-visible { outline: 2px solid var(--color-primary); outline-offset: -2px; }
.mobile-nav-group > summary { display: flex; justify-content: space-between; align-items: center; }
.mobile-nav-group > ul { padding-left: 18px; }
.mobile-nav-group > ul .mobile-nav-link { font-size: 15px; padding: 13px 0; }
.mobile-nav-group[open] > summary > span { transform: rotate(180deg); }
