/* ── HOME PAGE EXTRA STYLES ── */
.hero { position: relative; overflow: hidden; }

/* Facility grid hover fix */
.facility-link img { transition: transform 0.6s ease; }
.facility-link:hover img { transform: scale(1.05); }

/* Slider arrow buttons */
.slider-prev:disabled,
.slider-next:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* Quick search bar date input fix */
input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(0.6);
  cursor: pointer;
}

/* Room card image hover */
.card:hover .card-img { transform: scale(1.04); }

/* About strip image radius */
.about-img { border-radius: 4px; overflow: hidden; }

/* Sticky CTA pulse */
.sticky-cta .btn-gold {
  animation: pulse-gold 3s infinite;
}
@keyframes pulse-gold {
  0%, 100% { box-shadow: 0 8px 30px rgba(201,168,76,0.4); }
  50%       { box-shadow: 0 8px 50px rgba(201,168,76,0.7); }
}

/* Testimonial slider overflow */
.slider { overflow: hidden; }
.slider-track { display: flex; transition: transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94); }

/* Grid masonry fix for facilities */
.facility-masonry {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 0.8fr;
  grid-template-rows: auto auto;
  gap: 16px;
}
.facility-masonry > a:nth-child(1) { grid-row: span 2; }
.facility-masonry > a:nth-child(3) { grid-row: span 2; }

@media (max-width: 768px) {
  .facility-masonry {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  .facility-masonry > a:nth-child(1),
  .facility-masonry > a:nth-child(3) { grid-row: span 1; }
  .facility-masonry img { height: 180px !important; }
}
