/* Navigation avec soulignement animé - Style Angular */
.nav-item-link {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* Soulignement au hover (s'étend de 0 à 75%) */
.nav-item-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background-color: rgb(134, 79, 254); /* primary-500 */
  transition: width 0.3s ease;
  border-radius: 2px;
}

.dark .nav-item-link::after {
  background-color: rgb(252, 252, 252); /* accent */
}

.nav-item-link:hover::after {
  width: 75%;
}

/* Soulignement pour la page active (scale de 0 à 1) */
.nav-item-link.active::before {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: 75%;
  height: 2px;
  background-color: rgb(134, 79, 254); /* primary-500 */
  transition: transform 0.3s ease;
  border-radius: 2px;
  transform-origin: center;
}

.dark .nav-item-link.active::before {
  background-color: rgb(252, 252, 252); /* accent */
}

.nav-item-link.active::before {
  transform: translateX(-50%) scaleX(1);
}

/* Style pour la page active */
.nav-item-link.active {
  color: rgb(134, 79, 254); /* primary-500 */
  font-weight: 500;
}

.dark .nav-item-link.active {
  color: rgb(252, 252, 252); /* accent */
}

/* Mobile menu - soulignement */
.mobile-nav-link {
  position: relative;
}

.mobile-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--color-primary-500);
  transition: width 0.3s ease;
}

.dark .mobile-nav-link::after {
  background-color: var(--color-accent);
}

.mobile-nav-link:hover::after,
.mobile-nav-link.active::after {
  width: 100%;
}

.mobile-nav-link.active {
  color: var(--color-primary-500);
  font-weight: 500;
}

.dark .mobile-nav-link.active {
  color: var(--color-accent);
}

