/* ==========================================================================
   Header — Sticky, per Wireframe v4 §1 (Home) and reused across all pages
   ========================================================================== */

.site-header {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  background: var(--color-white);
  border-bottom: 1px solid var(--color-border);
  transition: box-shadow var(--duration-fast) var(--ease-standard);
}
.site-header.is-scrolled { box-shadow: var(--shadow-sm); }

/* --- Minimal variant: Landing Pages (v3 §3 Component Inventory) --- */
.site-header--minimal .site-header__inner { justify-content: center; padding-block: var(--space-4); }

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding-block: var(--space-3);
}

.site-header__logo {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-heading);
  font-size: var(--fs-logo);
  color: var(--color-navy-900);
}
.site-header__logo .dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--color-gold-500);
  flex-shrink: 0;
}

/* --- Primary nav: hidden on mobile, shown from desktop breakpoint --- */
.site-nav { display: none; }
.site-nav ul {
  display: flex;
  gap: var(--space-5);
  list-style: none;
  margin: 0; padding: 0;
}
.site-nav a {
  color: var(--color-text-primary);
  font-weight: 500;
  font-size: var(--fs-nav);
}
.site-nav a:hover,
.site-nav a[aria-current="page"] {
  color: var(--color-blue-600);
  text-decoration: none;
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.lang-switch {
  display: flex;
  gap: 4px;
  font-family: var(--font-mono);
  font-size: var(--fs-meta);
}
.lang-switch a {
  padding: 4px 8px;
  border-radius: var(--radius-sm);
  color: var(--color-text-secondary);
}
.lang-switch a[aria-current="true"] {
  background: var(--color-surface-2);
  color: var(--color-navy-900);
  font-weight: 500;
  text-decoration: none;
}

/* --- CTA button (shared button styles live in buttons.css; header-specific sizing only) --- */
.site-header .btn-primary { padding: 10px 20px; font-size: var(--fs-ui); }

/* --- Mobile menu toggle --- */
.menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--touch-target-min);
  height: var(--touch-target-min);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-navy-900);
}
@media (min-width: 1024px) {
  .menu-toggle { display: none; }
  .site-nav { display: block; }
}

/* --- Mobile nav drawer --- */
.mobile-nav {
  display: none;
  position: fixed;
  inset: 0;
  top: 64px;
  background: var(--color-white);
  z-index: calc(var(--z-header) - 1);
  padding: var(--space-5) var(--space-4);
  overflow-y: auto;
}
.mobile-nav.is-open { display: block; }
.mobile-nav ul { list-style: none; margin: 0; padding: 0; }
.mobile-nav li { border-bottom: 1px solid var(--color-border); }
.mobile-nav a {
  display: block;
  padding: var(--space-4) 0;
  font-size: var(--fs-lede);
  color: var(--color-navy-900);
  font-weight: 500;
}
.mobile-nav a:hover { text-decoration: none; color: var(--color-blue-600); }
.mobile-nav .site-header__actions {
  margin-top: var(--space-5);
  flex-direction: column;
  align-items: stretch;
}
@media (min-width: 1024px) {
  .mobile-nav { display: none !important; }
}
