body { scroll-behavior: smooth; }

.hero-slider .swiper-slide {
  position: relative;
  text-align: center;
}

.hero-slider img {
  width: 100%;
  height: 60vh;
  object-fit: cover;
  border-radius: 0 0 1rem 1rem;
}

.slider-caption {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,0.6);
  color: #fff;
  padding: .5rem 1rem;
  border-radius: .5rem;
  font-size: 1.25rem;
}

.tour-card img {
  height: 200px;
  object-fit: cover;
  border-top-left-radius: .5rem;
  border-top-right-radius: .5rem;
}

.tour-card a {
  text-decoration: none;
  color: inherit;
}

.tour-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0,0,0,.2);
  transition: .3s;
}

/* Make the offcanvas look like a sleek bottom sheet */
.offcanvas-bottom {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  padding-top: 1rem;
}
.offcanvas-body img {
  max-height: 80px;
  object-fit: cover;
}
.offcanvas-body p {
  font-size: 0.9rem;
}
/* In your style.css */
.offcanvas.offcanvas-bottom.midpage {
  height: 60vh !important;           /* show only 60% of viewport height */
  max-height: 60vh !important;       /* make sure it never grows beyond */
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
  overflow-y: auto; 
}

.offcanvas-body .amenity-img {
  width: 200px;          /* fixed width */
  max-width: 100%;       /* stay responsive on very small screens */
  height: auto;          /* keep aspect ratio */
  display: block;
  margin: 0 auto 0.5rem;  /* center with a little bottom space */
}
