

/* Nav */
.primary-nav { display: none; }
.nav-list { display: flex; gap: var(--space-6); align-items: center; }
.nav-list a { color: var(--gray-200); font-weight: 600; }
.nav-list a:hover { color: var(--color-accent); }

.nav-toggle {
  width: 42px; height: 42px; border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: var(--shadow-sm);
}
.nav-toggle:focus-visible { box-shadow: var(--shadow-glow-primary); }
.nav-toggle-bar { width: 20px; height: 2px; background: var(--color-text); display: block; margin: 2px 0; border-radius: 1px; }

/* Фикс: чтобы меню было поверх всего */
.primary-nav.open {
  z-index: 999;
}

/* Фикс: чтобы меню мягко выезжало */
.primary-nav {
  transition: transform var(--duration-normal) var(--easing-standard),
              opacity var(--duration-normal) var(--easing-standard);
  transform: translateY(-20px);
  opacity: 0;
}

.primary-nav.open {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

@media (min-width: 960px) {
  .nav-toggle { display: none; }
  .primary-nav { display: block; opacity: 1;}
}

/* Mobile menu state */
.primary-nav.open {
  height: 200px;
  position: fixed;
  inset: 64px 0 0 0; /* below header */
  background: rgba(10,11,15,0.98);
  display: block;
  padding: var(--space-8) var(--space-6);
}
.primary-nav.open .nav-list { flex-direction: column; align-items: flex-start; gap: var(--space-4); }



/* Cookie Policy page-specific styles (kept minimal, complementing base.css) */
.legal-hero .card { background: linear-gradient(180deg, rgba(20,26,34,0.9), rgba(20,26,34,0.9)); }
.meta-row { display: flex; gap: var(--space-3); align-items: center; flex-wrap: wrap; }
.legal-actions { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-top: var(--space-3); }
.legal-section h2 + p { margin-top: var(--space-2); }
.legal-list { list-style: none; padding-left: 0; display: grid; gap: var(--space-2); max-width: var(--measure); }
.legal-list li { padding-left: 28px; position: relative; }
.legal-list li::before { content: ""; position: absolute; left: 0; top: 10px; width: 14px; height: 14px; border-radius: 50%; background: var(--gradient-primary); box-shadow: 0 0 0 2px rgba(255,255,255,0.04); }
.legal-section a { word-break: break-word; }
