/* Vibe Coding Hamburg — site nav (mobile hamburger + dropdown).
   Loaded site-wide; uses higher specificity (nav.site-nav prefix)
   to override per-page inline nav CSS. */

nav.site-nav .site-nav-toggle {
  display: none;
  background: none; border: 0; cursor: pointer;
  padding: 6px; color: var(--text, #e0e0e8);
  flex: 0 0 auto;
  -webkit-tap-highlight-color: transparent;
}
nav.site-nav .hamburger {
  display: block; position: relative;
  width: 24px; height: 16px;
}
nav.site-nav .hamburger > span {
  position: absolute; left: 0; right: 0;
  height: 2px; background: var(--neon-cyan, #00f0ff);
  border-radius: 1px;
  transition: transform .25s, opacity .2s, top .25s;
}
nav.site-nav .hamburger > span:nth-child(1) { top: 0; }
nav.site-nav .hamburger > span:nth-child(2) { top: 7px; }
nav.site-nav .hamburger > span:nth-child(3) { top: 14px; }
nav.site-nav .hamburger.active > span:nth-child(1) { top: 7px; transform: rotate(45deg); }
nav.site-nav .hamburger.active > span:nth-child(2) { opacity: 0; }
nav.site-nav .hamburger.active > span:nth-child(3) { top: 7px; transform: rotate(-45deg); }

@media (max-width: 720px) {
  nav.site-nav .site-nav-inner {
    position: relative;
    padding: 10px 18px;
    gap: 12px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
  }
  nav.site-nav .site-nav-brand {
    font-size: 0.72rem;
    letter-spacing: 1.5px;
    flex: 0 0 auto;
    margin-right: auto;
  }
  nav.site-nav .site-nav-toggle { display: inline-flex; align-items: center; }
  nav.site-nav .auth-widget { flex: 0 0 auto; }
  nav.site-nav .site-nav-links {
    position: absolute;
    top: 100%; left: 0; right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: rgba(10,10,15,0.97);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(0,240,255,0.12);
    max-height: 0; overflow: hidden;
    padding: 0;
    transition: max-height .3s ease, padding .3s ease;
  }
  nav.site-nav .site-nav-links.open {
    max-height: 720px;
    padding: 4px 0 8px;
  }
  nav.site-nav .site-nav-links a {
    padding: 13px 24px;
    font-size: 0.95rem;
    letter-spacing: 1.5px;
    border-bottom: 1px solid rgba(0,240,255,0.08);
  }
  nav.site-nav .site-nav-links a:last-of-type { border-bottom: 0; }
  /* Auth widget should stay outside the dropdown — hide if accidentally inside it */
  nav.site-nav .site-nav-links .auth-widget { display: none; }
}
