/* Shared mobile navigation — hamburger on the top row, links in a dropdown panel */

.nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  margin-left: 0.35rem;
  border: none;
  background: none;
  color: #2d3748;
  font-size: 1.25rem;
  cursor: pointer;
  border-radius: 0.5rem;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}

.nav-toggle:hover,
.nav-toggle:focus-visible {
  color: #7b61ff;
  background: #f5f3ff;
  outline: none;
}

@media (max-width: 768px) {
  /* Override page-level column nav layouts (e.g. index.html @ 900px) */
  .navbar {
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
  }

  .nav-logo {
    order: 1;
    flex-shrink: 0;
  }

  .nav-right {
    order: 2;
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
  }

  .nav-user-section {
    order: 2;
    margin-left: auto;
    display: flex;
    align-items: center;
    flex-shrink: 0;
  }

  .nav-toggle {
    display: flex;
  }

  /* Toggle appended directly to .navbar when no visible .nav-right */
  .navbar > .nav-toggle {
    order: 2;
    margin-left: auto;
  }

  /* !important beats inline `display: flex` on .nav-center in page stylesheets */
  .navbar .nav-center {
    display: none !important;
    order: 10;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
    padding: 0.75rem 0 0.25rem;
    margin-top: 0.5rem;
    border-top: 1px solid #e2e8f0;
    box-sizing: border-box;
  }

  .navbar.nav-open .nav-center {
    display: flex !important;
  }

  .nav-center .nav-pill {
    display: block;
    width: 100%;
    text-align: left;
    padding: 0.75rem 1rem;
    box-sizing: border-box;
  }
}
