/* Ambient Warm Background Texture */
.warm-bg {
  background-color: #FAF7F0;
  background-image: radial-gradient(#E7ECE0 1px, transparent 1px);
  background-size: 26px 26px;
}

/* Horizontal Snap Carousel for Header Images */
.snap-x-mandatory {
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.snap-slide {
  scroll-snap-align: start;
  flex-shrink: 0;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Leaflet Popups */
.leaflet-popup-content-wrapper {
  background: #FAF7F0;
  color: #232C19;
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(35, 44, 25, 0.22);
  border: 1px solid rgba(230, 81, 0, 0.2);
}

.leaflet-popup-content {
  margin: 0 !important;
  line-height: 1.4;
}

/* Marker Hover Transitions */
.custom-stop-marker,
.custom-scenic-marker {
  transition: transform 0.2s ease-in-out;
}

.custom-stop-marker:hover,
.custom-scenic-marker:hover {
  transform: scale(1.15);
}

/* Ensure no text overflow on Airbnb cards */
select {
  text-overflow: ellipsis;
  white-space: nowrap;
}
