/* ── Shared Nav (rz-nav) ─────────────────────────────────────────────── */

#rz-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--nav-h, 64px);
  z-index: 100;
  display: flex;
  align-items: center;
  padding: 0 48px;
  transition: background 0.3s, border-color 0.3s;
}

#rz-nav.scrolled {
  background: rgba(10,10,10,0.93);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
}

.rz-nav__logo {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--text);
  text-decoration: none;
  letter-spacing: -0.02em;
  display: flex;
  align-items: center;
  gap: 0;
  opacity: 0;
  animation: rzNavFadeIn 0.6s ease 1.1s forwards;
}
.rz-nav__logo-dot { color: var(--accent); }

.rz-nav__right {
  display: flex;
  align-items: center;
  gap: 43px;
  margin-left: auto;
  opacity: 0;
  animation: rzNavFadeIn 0.6s ease 1.1s forwards;
}
@keyframes rzNavFadeIn { to { opacity: 1; } }

/* Section links (portfolio) */
.rz-nav__links {
  display: flex;
  list-style: none;
  gap: 38px;
}
.rz-nav__links a {
  font-family: var(--font-mono);
  font-size: 14px;
  color: var(--muted);
  text-decoration: none;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: color 0.25s;
  position: relative;
}
.rz-nav__links a::after {
  content: '';
  position: absolute;
  bottom: -3px; left: 0;
  width: 0; height: 1px;
  background: var(--accent);
  transition: width 0.3s;
}
.rz-nav__links a:hover { color: var(--text); }
.rz-nav__links a:hover::after { width: 100%; }

/* Controls group */
.rz-nav__controls {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--border);
  border-radius: 3px;
  overflow: hidden;
  transition: border-color 0.25s;
}
.rz-nav__controls:hover { border-color: var(--accent); }

.rz-nav__lang {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  background: none;
  border: none;
  border-right: 1px solid var(--border);
  padding: 7px 14px;
  cursor: pointer;
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: color 0.25s;
}
.rz-nav__lang:hover { color: var(--accent); }

.rz-nav__theme {
  position: relative;
  width: 36px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  transition: color 0.25s;
  overflow: hidden;
}
.rz-nav__theme:hover { color: var(--accent); }

.rz-nav__theme-sun,
.rz-nav__theme-moon {
  position: absolute;
  top: 50%; left: 50%;
  transition: opacity 0.22s, transform 0.22s;
}
.rz-nav__theme-sun  { transform: translate(-50%,-50%) scale(1) rotate(0deg); opacity: 1; }
.rz-nav__theme-moon { transform: translate(-50%,-50%) scale(0.4) rotate(-45deg); opacity: 0; }
[data-theme="light"] .rz-nav__theme-sun  { transform: translate(-50%,-50%) scale(0.4) rotate(45deg); opacity: 0; }
[data-theme="light"] .rz-nav__theme-moon { transform: translate(-50%,-50%) scale(1) rotate(0deg); opacity: 1; }

/* Hamburger */
.rz-nav__hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.rz-nav__hamburger span {
  display: block;
  width: 24px; height: 1px;
  background: var(--text);
  transition: transform 0.35s, opacity 0.35s;
}
.rz-nav__hamburger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.rz-nav__hamburger.open span:nth-child(2) { opacity: 0; }
.rz-nav__hamburger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Mobile menu */
.rz-nav__mobile {
  position: fixed;
  top: var(--nav-h, 64px); left: 0; right: 0;
  background: rgba(10,10,10,0.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  padding: 38px 48px;
  z-index: 99;
  display: flex;
  flex-direction: column;
  gap: 29px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.35s, transform 0.35s;
}
.rz-nav__mobile.open { pointer-events: all; opacity: 1; transform: translateY(0); }
.rz-nav__mobile a {
  font-family: var(--font-mono);
  font-size: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.25s;
}
.rz-nav__mobile a:hover { color: var(--accent); }

/* Light theme overrides */
[data-theme="light"] #rz-nav.scrolled { background: rgba(249,247,243,0.97); }
[data-theme="light"] .rz-nav__mobile  { background: rgba(249,247,243,0.99); }

/* Responsive */
@media (max-width: 768px) {
  #rz-nav { padding: 0 24px; }
  .rz-nav__links { display: none; }
  .rz-nav__hamburger { display: flex; }
}
@media (max-width: 480px) {
  .rz-nav__mobile { padding: 32px 24px; }
}
