/* ================================================================
   Mobile Navigation — Hamburger Menu
   ================================================================ */

/* Hamburger button — hidden on desktop */
.hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  padding: 6px;
  background: none;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 6px;
  cursor: pointer;
  margin-left: auto;
}
.hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform .25s, opacity .25s;
}
.hamburger.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.is-active span:nth-child(2) { opacity: 0; }
.hamburger.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile-only extra links (hidden on desktop) */
.mobile-nav-extras { display: none; }

@media (max-width: 860px) {
  /* Show hamburger */
  .hamburger { display: flex; }

  /* Hide desktop header-right (theme/font/user dropdown) */
  .header-right { display: none; }

  /* Collapse nav */
  .site-nav {
    display: none;
    position: absolute;
    top: 52px;
    left: 0;
    right: 0;
    background: var(--navy);
    flex-direction: column;
    padding: 8px 0;
    box-shadow: 0 4px 12px rgba(0,0,0,.3);
    z-index: 200;
    max-height: calc(100vh - 52px);
    overflow-y: auto;
  }
  [data-theme="dark"] .site-nav {
    background: #0B1120;
  }
  .site-nav.is-open { display: flex; }

  /* Nav items stack vertically */
  .site-nav .nav-dropdown-toggle,
  .site-nav a.nav-dropdown-toggle {
    padding: 10px 20px;
    width: 100%;
    text-align: left;
    border-bottom: none;
    font-size: 14px;
  }

  /* Dropdowns inline (no absolute positioning) */
  .site-nav .nav-dropdown {
    flex-direction: column;
  }
  .site-nav .nav-dropdown-menu {
    position: static;
    border: none;
    box-shadow: none;
    padding: 0 0 0 20px;
    background: transparent;
    border-radius: 0;
  }
  .site-nav .nav-dropdown-menu a {
    padding: 8px 20px;
    color: rgba(255,255,255,.8);
  }
  .site-nav .nav-dropdown-menu a:hover {
    background: rgba(255,255,255,.1);
  }
  .site-nav .nav-dropdown-menu a.active {
    color: #60A5FA;
  }

  /* On mobile, always show dropdown menus (no toggle needed) */
  .site-nav .nav-dropdown.open .nav-dropdown-menu,
  .site-nav .nav-dropdown-menu {
    display: block;
  }

  /* Show mobile extras (settings, logout inline) */
  .mobile-nav-extras {
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(255,255,255,.15);
    margin-top: 8px;
    padding-top: 8px;
  }
  .mobile-nav-extras a,
  .mobile-nav-extras button {
    padding: 10px 20px;
    color: rgba(255,255,255,.7);
    text-decoration: none;
    font-size: 14px;
  }
  .mobile-nav-extras a:hover,
  .mobile-nav-extras button:hover {
    background: rgba(255,255,255,.1);
    color: #fff;
  }
}
