/* Mobile navigation dropdown (see js/nav-menu.js). */
.nav-toggle { display: none; flex: none; flex-direction: column; justify-content: center; align-items: center; gap: 4px; width: 40px; height: 40px; padding: 0; border: 1px solid var(--line); border-radius: 10px; background: none; color: var(--fg); cursor: pointer; }
.nav-toggle span { display: block; width: 18px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .18s ease, opacity .18s ease; }
.is-open .nav-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.is-open .nav-toggle span:nth-child(2) { opacity: 0; }
.is-open .nav-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.nav-theme { display: none; }

@media (max-width: 860px) {
  .nav .nav-toggle { display: inline-flex; }
  .nav.is-open .nav-links { display: flex; }
}
@media (max-width: 980px) {
  .public-nav .nav-toggle { display: inline-flex; }
  .public-nav.is-open .public-links { display: flex; }
}
@media (max-width: 980px) {
  .nav.is-open .nav-links,
  .public-nav.is-open .public-links { position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 4px 16px 14px; background: var(--bg); border-bottom: 1px solid var(--line); font-size: 1rem; }
  .nav.is-open .nav-links a,
  .public-nav.is-open .public-links a,
  .nav.is-open .nav-theme,
  .public-nav.is-open .nav-theme { display: block; padding: 14px 4px; border: 0; border-top: 1px solid var(--line); background: none; color: var(--fg); font: inherit; text-align: left; cursor: pointer; }
  .nav.is-open .nav-links a:first-child,
  .public-nav.is-open .public-links a:first-child { border-top: 0; }
}
