/* Room tab icon states */
.room-tab .tab-icon {
  border-color: #0000001f;
  color: #111111;
  background: transparent;
}
.room-tab.active .tab-icon {
  border-color: #111111;
  background: #111111;
  color: #ffffff;
}
.room-tab.active {
  text-decoration: underline;
  text-underline-offset: 6px;
}

/* Swipeable tracks — room and amenities share identical drag behavior,
   so they're combined into one rule instead of two copies */
#room-track,
#amenities-track {
  cursor: grab;
  user-select: none;
}

#room-track {
  touch-action: pan-y; /* horizontal movement is handled by the room carousel */
}

@media (max-width: 1023px) {
  .room-slider-viewport {
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .room-slider-viewport::-webkit-scrollbar {
    display: none;
  }

  #room-track {
    width: max-content;
    padding-right: 24px;
    touch-action: auto;
    transform: none !important;
    transition: none;
  }

  #room-track .room-card {
    scroll-snap-align: start;
  }
}

#amenities-track {
  touch-action: pan-x pan-y;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
#room-track.dragging,
#amenities-track.dragging {
  cursor: grabbing;
  transition-duration: 0ms !important;
}

#amenities-track {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

#amenities-track::-webkit-scrollbar {
  display: none;
}

#testimonial-track {
  scrollbar-width: none;
  -ms-overflow-style: none;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

#testimonial-track::-webkit-scrollbar {
  display: none;
}

#foleTrack {
  scrollbar-width: none;
  -ms-overflow-style: none;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

#foleTrack::-webkit-scrollbar {
  display: none;
}

.foleSlide {
  flex: 0 0 85%;
  aspect-ratio: 4 / 3;
  scroll-snap-align: center;
}

.fole-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 9999px;
  background: rgba(17, 17, 17, 0.25);
  transition: width 180ms ease, background-color 180ms ease;
}

.fole-dot.is-active {
  width: 22px;
  background: #111111;
}

@media (min-width: 768px) {
  .foleSlide {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    scroll-snap-align: none;
  }

  .foleSlide:not(.fole-slide-active) {
    display: none;
  }
}

.testimonial-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 9999px;
  background: rgba(17, 17, 17, 0.28);
  cursor: pointer;
  transition: width 180ms ease, background-color 180ms ease;
}

.testimonial-dot.is-active {
  width: 22px;
  background: #111111;
}

.amenity-card {
  background: #f0f0f0;
  transition: background-color 0.3s ease;
  scroll-snap-align: start;
  cursor: pointer;
}

.amenity-card .amenity-icon {
  background: #111111;
  color: #ffffff;
  transition: background-color 0.3s ease;
}

.amenity-card h3 {
  color: #111111;
}

.amenity-card p {
  color: #3d3d42;
}

.amenity-card.amenity-active {
  background: #7774ff;
}

.amenity-card.amenity-active .amenity-icon {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}

.amenity-card.amenity-active h3 {
  color: #ffffff;
}

.amenity-card.amenity-active p {
  color: rgba(255, 255, 255, 0.8);
}
