/* ==========================================================================
   Voca Design System — Nav
   ========================================================================== */

/* The <header> carries the sticky, not .site-nav — a sticky element can only
   travel inside its parent, and <header> is exactly the nav's height, so
   sticking the nav itself would pin it to nowhere. Note: `overflow` on <body>
   would also silently break this. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  padding: var(--space-4) var(--space-6);
  background: var(--bg-surface);
  border-bottom: 1px solid var(--border-default);
}

.site-nav-logo img {
  display: block;
  height: 32px; /* +15% over the original 28px */
  width: auto;
}

.site-nav-links {
  display: flex;
  gap: var(--space-6);
  margin-inline-end: auto;
}
.site-nav-links a {
  color: var(--link-color);
  text-decoration: none;
  font-size: var(--text-sm);
}
.site-nav-links a:hover {
  color: var(--link-color-hover);
}

.lang-switch {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid var(--border-default);
  border-radius: calc(var(--radius-default) * 0.5);
  flex: none;
}
.lang-switch button {
  padding: var(--space-2) var(--space-3);
  font-size: var(--text-xs);
  font-weight: 700;
  border: 0;
  cursor: pointer;
  background: transparent;
  color: var(--text-brand);
}
.lang-switch button.active {
  background: var(--bg-inverse);
  color: var(--text-on-brand);
}
.lang-switch button + button {
  border-inline-start: 1px solid var(--border-default);
}

.site-nav-toggle {
  display: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: var(--space-2);
  margin-inline-end: auto;
}
.site-nav-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--text-brand);
  margin: 4px 0;
}

@media (max-width: 767px) {
  .site-nav-links {
    position: absolute;
    inset-inline: 0;
    top: 100%;
    flex-direction: column;
    gap: 0;
    background: var(--bg-surface);
    border-bottom: 1px solid var(--border-default);
    padding: var(--space-2) var(--space-6);
    display: none;
  }
  .site-nav-links.is-open {
    display: flex;
  }
  .site-nav-links a {
    padding: var(--space-3) 0;
    border-top: 1px solid var(--border-default);
  }
  .site-nav-links a:first-child {
    border-top: 0;
  }
  .site-nav-toggle {
    display: block;
  }
  .site-nav .btn {
    display: none;
  }
}
