/* Interactive Tour Map Styles */

.tour-map-section {
  padding: 5rem 0;
  background: #ffffff;
}

.tour-map-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

#tourMap {
  width: 100%;
  min-height: auto;
  height: auto;
  position: relative;
  background: transparent;
  border-radius: 0;
  overflow: visible;
}

/* Responsive height */
@media (min-width: 768px) {
  #tourMap {
    height: 600px;
    min-height: 600px;
  }
}

#tourMap svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Marker styles for jsVectorMap */
.jvectormap-marker {
  cursor: pointer;
  transition: transform 0.2s ease;
}

.jvectormap-marker:hover,
.jvectormap-marker:focus {
  transform: scale(1.4);
}

/* Marker styles for simple SVG map */
#tourMap svg .tour-marker {
  cursor: pointer;
  transition: transform 0.2s ease;
}

#tourMap svg .tour-marker:hover {
  transform: scale(1.4);
}

#tourMap svg .tour-marker:focus {
  outline: 2px solid #003466;
  outline-offset: 2px;
}

/* Pulse animation for upcoming stop markers */
@keyframes markerPulse {
  0% { 
    r: 6; 
    opacity: 1; 
  }
  70% { 
    r: 10; 
    opacity: 0; 
  }
  100% { 
    r: 6; 
    opacity: 0; 
  }
}

.marker-pulse circle {
  animation: markerPulse 2s infinite;
  fill: rgba(255, 232, 3, 0.4);
}

/* List view fallback for mobile */
.tour-list-view {
  display: none;
}

@media (max-width: 576px) {
  #tourMap { 
    display: none; 
  }
  
  .tour-list-view { 
    display: block; 
  }
  
  .tour-list-view .list-group-item {
    padding: 1rem;
    margin-bottom: 0.5rem;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    color: #003466;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
  }
  
  .tour-list-view .list-group-item:hover {
    background: #003466;
    color: #ffffff;
    transform: translateX(4px);
  }
}

