/* Navigation
 * Horizontal nav bar with active state, responsive collapse.
 * Works with Turbo Drive (active class via :has() or server-rendered).
 */

.nav {
  display: flex;
  align-items: center;
  gap: var(--inline-space);
  padding: var(--block-space-s) var(--inline-space-l);
  border-block-end: 1px solid var(--color-border);
  background: var(--color-canvas);
}

.nav__brand {
  font-weight: 600;
  font-size: 1.0625rem;
  color: var(--color-ink);
  text-decoration: none;
  margin-inline-end: var(--inline-space-l);
}

.nav__links {
  display: flex;
  align-items: center;
  gap: var(--inline-space-s);
  list-style: none;
  padding: 0;
  margin: 0;
}

.nav__link {
  display: inline-flex;
  align-items: center;
  gap: var(--inline-space-s);
  padding: 0.375em 0.75em;
  font-size: 0.9375rem;
  color: var(--color-ink-muted);
  text-decoration: none;
  border-radius: 6px;
  transition: color 100ms ease, background 100ms ease;

  &:hover {
    color: var(--color-ink);
    background: var(--color-surface);
  }

  &:focus-visible {
    outline: 2px solid var(--color-link);
    outline-offset: 2px;
  }

  /* Active state — set via server or Turbo */
  &[aria-current="page"],
  &.active {
    color: var(--color-ink);
    background: var(--color-surface);
    font-weight: 500;
  }
}

/* Push right section to end */
.nav__spacer {
  flex: 1;
}

/* Breadcrumbs */
.breadcrumbs {
  display: flex;
  align-items: center;
  gap: var(--inline-space-s);
  font-size: 0.875rem;
  color: var(--color-ink-muted);
  list-style: none;
  padding: 0;
  margin: 0;

  & li + li::before {
    content: "/";
    margin-inline-end: var(--inline-space-s);
    color: var(--color-border);
  }

  & a {
    color: var(--color-ink-muted);
    text-decoration: none;

    &:hover {
      color: var(--color-ink);
      text-decoration: underline;
    }
  }

  & [aria-current="page"] {
    color: var(--color-ink);
  }
}
