/* Enhanced Navigation Styles */

/* Glow effect */
.shadow-lg.shadow-primary\/50 {
  box-shadow: 0 10px 15px -3px rgba(251, 255, 0, 0.5), 0 4px 6px -2px rgba(251, 255, 0, 0.5);
}

.shadow-lg.shadow-white\/20 {
  box-shadow: 0 10px 15px -3px rgba(255, 255, 255, 0.2), 0 4px 6px -2px rgba(255, 255, 255, 0.2);
}

/* Badge styles */
.badge {
  @apply inline-flex items-center justify-center px-2 py-0.5 text-xs font-medium rounded-full;
}

.badge-sm {
  @apply text-xs px-2 py-0.5;
}

.badge-primary {
  @apply bg-primary text-primary-content;
}

.badge-secondary {
  @apply bg-secondary text-secondary-content;
}

.badge-success {
  @apply bg-success text-success-content;
}

.badge-warning {
  @apply bg-warning text-warning-content;
}

.badge-error {
  @apply bg-error text-error-content;
}

.badge-info {
  @apply bg-info text-info-content;
}

/* Active indicators */
.before\:absolute {
  position: relative;
}

.before\:absolute::before {
  content: '';
  position: absolute;
}

.before\:left-0::before {
  left: 0;
}

.before\:top-1\/2::before {
  top: 50%;
}

.before\:-translate-y-1\/2::before {
  transform: translateY(-50%);
}

.before\:w-2::before {
  width: 0.5rem;
}

.before\:h-2::before {
  height: 0.5rem;
}

.before\:bg-primary::before {
  background-color: var(--primary);
}

.before\:bg-white::before {
  background-color: white;
}

.before\:rounded-full::before {
  border-radius: 9999px;
}

/* Divider styles for separators */
.divider {
  @apply flex flex-row items-center my-4;
}

.divider::before,
.divider::after {
  content: '';
  @apply flex-grow h-px bg-white/10;
}

.divider:not(:empty)::before {
  @apply mr-4;
}

.divider:not(:empty)::after {
  @apply ml-4;
}

/* Scale effect */
.scale-105 {
  transform: scale(1.05);
}

/* Slide effect */
.translate-x-1 {
  transform: translateX(0.25rem);
}

/* Ring styles */
.ring-2 {
  box-shadow: 0 0 0 2px currentColor;
}

.ring-primary {
  --tw-ring-color: var(--primary);
}

.ring-white\/50 {
  --tw-ring-color: rgba(255, 255, 255, 0.5);
}

/* Animation variations */
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: .5;
  }
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

.animate-spin {
  animation: spin 1s linear infinite;
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.animate-bounce {
  animation: bounce 1s infinite;
}

/* Tooltip styles */
.tooltip {
  @apply relative inline-block;
}

.tooltip:before {
  @apply absolute z-10 invisible opacity-0 transition-all duration-150;
  content: attr(data-tip);
  @apply bg-base-100 text-base-content text-xs rounded px-2 py-1 whitespace-nowrap;
  @apply -top-8 left-1/2 transform -translate-x-1/2;
  @apply shadow-lg border border-base-300;
}

.tooltip:hover:before {
  @apply visible opacity-100;
}

.tooltip-right:before {
  @apply left-full top-1/2 transform -translate-y-1/2 translate-x-2;
}

/* Text transform utilities */
.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}