/* ═══════════════════════════════════════════════════════════
   NOTIFICATION BADGE - FIXED POSITIONING
   Badge appears at top-right of the text, not the box
   ═══════════════════════════════════════════════════════════ */

/* Notification Badge - Desktop */
.elite-nav__notification {
  position: relative;  /* Changed from absolute */
  display: inline-flex;  /* Changed to inline-flex */
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  //margin-left: 0.015rem;  /* Space from text */
  margin-top: -1.3rem;  /* Shift up slightly */
  vertical-align: super;  /* Position at top */
  background: #dc3545;
  color: white;
  font-size: 0.6875rem;
  font-weight: 700;
  border-radius: 9px;
  border: 2px solid var(--elite-navy);
  //box-shadow: 0 2px 6px rgba(220, 53, 69, 0.4);
  animation: pulse-badge 2s ease-in-out infinite;
  z-index: 10;
  line-height: 1;
}

/* Pulse animation for notification */
@keyframes pulse-badge {
  0%, 100% {
    transform: scale(1);
    //box-shadow: 0 2px 6px rgba(220, 53, 69, 0.4);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 3px 10px rgba(220, 53, 69, 0.6);
  }
}

/* Nav item with notification */
.elite-nav__item--has-notification {
  position: relative;
}

/* No extra padding needed now */
.elite-nav__item--has-notification .elite-nav__link {
  display: inline-flex;
  align-items: center;
}

/* Mobile notification badge */
.elite-mobile-nav__notification {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  margin-left: 0.5rem;
  background: #dc3545;
  color: white;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 10px;
  border: 2px solid rgba(10, 25, 41, 0.98);
  //box-shadow: 0 2px 6px rgba(220, 53, 69, 0.4);
  animation: pulse-badge 2s ease-in-out infinite;
  line-height: 1;
  flex-shrink: 0;
}

/* Mobile item with notification */
.elite-mobile-nav__item--has-notification {
  position: relative;
}

.elite-mobile-nav__item--has-notification .elite-mobile-nav__item-wrapper {
  display: flex;
  align-items: center;
}

.elite-mobile-nav__item--has-notification .elite-mobile-nav__link {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

/* Tooltip on hover (optional enhancement) */
//.elite-nav__notification::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  padding: 0.5rem 0.75rem;
  background: rgba(10, 25, 41, 0.95);
  color: white;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
  border-radius: 6px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  pointer-events: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.elite-nav__notification::before {
  content: '';
  position: absolute;
  bottom: calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(10, 25, 41, 0.95);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

//.elite-nav__item:hover .elite-nav__notification::after,
//.elite-nav__item:hover .elite-nav__notification::before {
  opacity: 1;
  visibility: visible;
}

/* Better visual alignment */
.elite-nav__link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  /* Hide desktop notification (will show on mobile menu) */
  .elite-nav__notification {
    display: none;
  }
}

@media (min-width: 1025px) {
  /* Hide mobile notification (will show on desktop menu) */
  .elite-mobile-nav__notification {
    display: none;
  }
}

/* Accessibility - reduce motion */
@media (prefers-reduced-motion: reduce) {
  .elite-nav__notification,
  .elite-mobile-nav__notification {
    animation: none;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .elite-nav__notification,
  .elite-mobile-nav__notification {
    border-width: 3px;
  }
}