:root {
  --glass-bg: rgba(255, 255, 255, 0.18);
  --glass-border: rgba(255, 255, 255, 0.35);
  --glass-shadow: rgba(0, 0, 0, 0.12);
  --pill-bg: rgba(255, 255, 255, 0.85);
  --pill-shadow: rgba(0, 0, 0, 0.15);
  --text-primary: #0C4A7A;
  --text-muted: rgba(26, 26, 46, 0.55);
  --accent: #ff6b9d;
  --glare-color: rgba(255, 255, 255, 0.6);
}

.nav-wrapper {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
}

.liquid-nav {
  position: relative;
  padding: 8px;
  border-radius: 100px;
  background: var(--glass-bg);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid var(--glass-border);
  box-shadow:
      0 8px 32px var(--glass-shadow),
      0 2px 8px rgba(255,255,255,0.08) inset,
      0 -1px 0 rgba(0,0,0,0.05) inset;
  cursor: pointer;
}

.liquid-glare-container {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}

.liquid-glare {
  position: absolute;
  top: 0;
  left: -60%;
  width: 55%;
  height: 100%;
  background: linear-gradient(
      105deg,
      transparent 40%,
      var(--glare-color) 50%,
      transparent 60%
  );
  transform: skewX(-15deg);
  animation: glare-sweep 6s ease-in-out infinite;
  opacity: 0;
}

@keyframes glare-sweep {
  0%   { left: -60%; opacity: 0; }
  10%  { opacity: 1; }
  50%  { left: 120%; opacity: 0.6; }
  51%  { opacity: 0; left: 120%; }
  100% { left: 120%; opacity: 0; }
}

.nav-items {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  z-index: 2;
}

.active-pill {
  position: absolute;
  height: 100%;
  border-radius: 100px;
  background: var(--pill-bg);
  box-shadow:
      0 4px 16px var(--pill-shadow),
      0 1px 0 rgba(255,255,255,0.9) inset;
  transition: left 0.45s cubic-bezier(0.34, 1.56, 0.64, 1),
  width 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
  z-index: 1;
}

.nav-item {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 20px;
  border-radius: 100px;
  font-size: 1rem;
  font-weight: 500;
  color: var(--text-muted);
  letter-spacing: 0.01em;
  transition: color 0.3s ease;
  white-space: nowrap;
  user-select: none;
}

.nav-item svg {
  width: 32px;
  height: 32px;
  stroke-width: 2;
  flex-shrink: 0;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

@media (max-width: 768px) {
  .nav-item svg {
    width: 24px;
    height: 24px;
  }

  .nav-item span {
    display: none;
  }
}

.nav-item.active {
  color: var(--text-primary);
}

.nav-item.active svg {
  opacity: 1;
}