/* Shared across all pages: mobile menu, focus states, privacy link.
   Loaded after each page's inline <style>. */

.nav-toggle { display: none; }

:where(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid var(--accent, #9dc065);
  outline-offset: 3px;
}

.nav-links a[aria-current="page"] { color: var(--accent, #9dc065); }

@media (max-width: 960px) {
  /* Without JS the links stay visible as a wrapped row. */
  nav:not(.has-menu) .nav-links { display: flex !important; flex-wrap: wrap; gap: .4rem 1.2rem;
    position: static; }
  nav:not(.has-menu) { flex-wrap: wrap; row-gap: .6rem; }

  nav.has-menu .nav-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; margin-left: .75rem; padding: 0;
    background: transparent; border: 1px solid var(--border, #1e1e1e); color: var(--text, #eeeee8);
    cursor: pointer;
  }
  nav.has-menu .nav-toggle svg { width: 18px; height: 18px; }
  nav.has-menu .nav-toggle .icon-close { display: none; }
  nav.has-menu.open .nav-toggle .icon-open { display: none; }
  nav.has-menu.open .nav-toggle .icon-close { display: block; }
  nav.has-menu .nav-cta { margin-left: auto; }

  nav.has-menu .nav-links { display: none !important; }
  nav.has-menu.open { background: rgba(8,8,8,.97); border-color: var(--border, #1e1e1e); }
  nav.has-menu.open .nav-links {
    display: flex !important; flex-direction: column; gap: 0;
    position: absolute; top: 100%; left: 0; right: 0;
    background: var(--surface, #101010); border-bottom: 1px solid var(--border, #1e1e1e);
    padding: .5rem var(--gutter, 1.5rem) 1rem; margin: 0;
  }
  nav.has-menu.open .nav-links li { border-bottom: 1px solid var(--border, #1e1e1e); }
  nav.has-menu.open .nav-links li:last-child { border-bottom: none; }
  nav.has-menu.open .nav-links a { display: block; padding: .9rem 0; font-size: .9rem; color: var(--text, #eeeee8); }
}

@media (max-width: 420px) {
  nav.has-menu .nav-cta { display: none; }
  nav.has-menu .nav-toggle { margin-left: auto; }
}

@media (max-width: 900px) {
  .footer-links { flex-wrap: wrap; justify-content: center; gap: .75rem 1.5rem; }
}
