/* Onboarding Interactive Tour Premium Glassmorphic Styles */

.tour-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(3, 3, 10, 0.45); /* Elegant translucent dark tint without blurring background */
  z-index: 99998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.tour-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

/* Stacking context lift classes to display containers above the overlay */
.tour-active-sidebar {
  z-index: 99999 !important;
}

.tour-active-navbar {
  z-index: 99999 !important;
}

.tour-card {
  position: fixed;
  background: rgba(13, 13, 33, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6), 0 0 40px rgba(124, 58, 237, 0.15);
  width: 340px;
  color: #f1f5f9;
  z-index: 99999;
  opacity: 0;
  transform: scale(0.92) translateY(10px);
  pointer-events: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.tour-card.active {
  opacity: 1;
  transform: scale(1) translateY(0);
  pointer-events: auto;
}

.tour-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.tour-step-badge {
  background: rgba(6, 182, 212, 0.12);
  border: 1px solid rgba(6, 182, 212, 0.3);
  color: #22d3ee;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  font-family: 'JetBrains Mono', monospace;
}

.tour-skip-btn {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 0.8rem;
  cursor: pointer;
  outline: none;
  transition: color 0.3s;
}

.tour-skip-btn:hover {
  color: #ef4444;
}

.tour-title {
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 8px;
  background: linear-gradient(135deg, #a78bfa 0%, #22d3ee 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.tour-body {
  font-size: 0.88rem;
  line-height: 1.55;
  color: #cbd5e1;
  margin-bottom: 20px;
}

.tour-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tour-nav-btns {
  display: flex;
  gap: 8px;
}

.tour-btn {
  padding: 8px 14px;
  font-size: 0.8rem;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.3s ease;
  outline: none;
}

.tour-btn.prev {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #cbd5e1;
}

.tour-btn.prev:hover {
  background: rgba(255, 255, 255, 0.1);
}

.tour-btn.next {
  background: linear-gradient(135deg, #7c3aed 0%, #06b6d4 100%);
  border: none;
  color: white;
  box-shadow: 0 4px 12px rgba(124, 58, 237, 0.25);
}

.tour-btn.next:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 18px rgba(124, 58, 237, 0.45);
}

/* Highlight style for targeted element */
.tour-highlighted-element {
  position: relative !important;
  z-index: 99999 !important;
  pointer-events: none !important;
  background: rgba(6, 182, 212, 0.15) !important; /* Premium glowing cyan glass background */
  border-radius: 10px !important;
  border: 2px solid #22d3ee !important; /* Bold neon cyan border */
  box-shadow: 0 0 0 4px rgba(6, 182, 212, 0.2), 
              0 0 20px rgba(6, 182, 212, 0.6), 
              inset 0 0 12px rgba(6, 182, 212, 0.3) !important;
  animation: pulse-tour-highlight 2s infinite ease-in-out !important;
  transition: all 0.3s ease !important;
}

/* Force text and child items to stand out in high contrast */
.tour-highlighted-element,
.tour-highlighted-element * {
  color: #ffffff !important;
  opacity: 1 !important;
  font-weight: 700 !important;
}

/* Highlight SVG icons with gorgeous glowing cyan stroke */
.tour-highlighted-element svg {
  stroke: #22d3ee !important;
  filter: drop-shadow(0 0 6px rgba(34, 211, 238, 0.95)) !important;
  transition: stroke 0.3s ease !important;
}

/* Dynamic pulsing keyframes for aesthetic visual attraction */
@keyframes pulse-tour-highlight {
  0% {
    box-shadow: 0 0 0 4px rgba(6, 182, 212, 0.2), 
                0 0 15px rgba(6, 182, 212, 0.5), 
                inset 0 0 8px rgba(6, 182, 212, 0.2) !important;
    border-color: #22d3ee !important;
  }
  50% {
    box-shadow: 0 0 0 8px rgba(124, 58, 237, 0.3), 
                0 0 25px rgba(124, 58, 237, 0.8), 
                inset 0 0 12px rgba(124, 58, 237, 0.4) !important;
    border-color: #a78bfa !important; /* Cycle from cyan to gorgeous violet! */
  }
  100% {
    box-shadow: 0 0 0 4px rgba(6, 182, 212, 0.2), 
                0 0 15px rgba(6, 182, 212, 0.5), 
                inset 0 0 8px rgba(6, 182, 212, 0.2) !important;
    border-color: #22d3ee !important;
  }
}

/* Helper arrow on card */
.tour-card::after {
  content: '';
  position: absolute;
  border: 8px solid transparent;
  display: none;
}

.tour-card.arrow-left::after {
  display: block;
  left: -16px;
  top: 30px;
  border-right-color: rgba(13, 13, 33, 0.85);
}

.tour-card.arrow-right::after {
  display: block;
  right: -16px;
  top: 30px;
  border-left-color: rgba(13, 13, 33, 0.85);
}

.tour-card.arrow-top::after {
  display: block;
  top: -16px;
  left: calc(50% - 8px);
  border-bottom-color: rgba(13, 13, 33, 0.85);
}

.tour-card.arrow-bottom::after {
  display: block;
  bottom: -16px;
  left: calc(50% - 8px);
  border-top-color: rgba(13, 13, 33, 0.85);
}
