/* Header: horizontal wrapped menu on desktop, full-width dropdown grid on mobile */
.header-nav__list { list-style: none; margin: 0; padding: 0; }
.header-nav__list li { margin: 0; }
.header-nav__list li a {
  display: block;
  padding: 0.75rem 1rem;
  color: rgba(255,255,255,0.92);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
}
.header-nav__list li a:hover { color: #fff; background: rgba(255,255,255,0.1); }

/* Desktop: single row when possible; tighter spacing so all 8 fit in max-w-6xl */
@media (min-width: 768px) {
  .header-nav { min-height: 2.5rem; align-self: stretch; display: flex; align-items: center; }
  .header-nav__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.25rem 0.5rem;
  }
  .header-nav__list li a {
    padding: 0.5rem 0.375rem;
    white-space: nowrap;
    font-size: 0.8125rem;
    border-radius: 0.25rem;
  }
}
@media (min-width: 1024px) {
  .header-nav__list li a { padding: 0.5rem 0.5rem; font-size: 0.8125rem; }
}
@media (min-width: 1280px) {
  .header-nav__list { gap: 0.25rem 0.75rem; }
  .header-nav__list li a { padding: 0.5rem 0.625rem; font-size: 0.875rem; }
}
@media (min-width: 1536px) {
  .header-nav__list { gap: 0.25rem 1rem; }
  .header-nav__list li a { padding: 0.5rem 0.75rem; }
}

/* Mobile: 2-column grid, 44px touch targets, scrollable panel */
@media (max-width: 767px) {
  body.header-menu-open { overflow: hidden; }
  .header-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 40;
    background: #1e293b;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.2);
    flex-direction: column;
    align-items: stretch;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease-out;
    -webkit-overflow-scrolling: touch;
  }
  .header-nav.header-nav--open {
    max-height: 85vh;
    overflow-y: auto;
  }
  .header-nav .header-nav__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 0.5rem;
  }
  .header-nav__list li { margin: 0; }
  .header-nav__list li a {
    min-height: 2.75rem;
    padding: 0.75rem 0.875rem;
    font-size: 0.875rem;
    border-radius: 0.375rem;
    display: flex;
    align-items: center;
  }
  .header-nav .header-nav__list li a:hover { background: rgba(255,255,255,0.12); }
}
@media (max-width: 380px) {
  .header-nav .header-nav__list { grid-template-columns: 1fr; }
  .header-nav__list li a { min-height: 2.875rem; }
}

/* Toggle icon: hamburger when closed, X when open */
.menu-icon { display: block; }
.menu-icon--close { display: none; }
.hamburger-btn--open .menu-icon--hamburger { display: none; }
.hamburger-btn--open .menu-icon--close { display: block; }
.hamburger-btn--open { background: rgba(255,255,255,0.15); color: #fff; }

