[x-cloak] { display: none !important; }

/* Lightbox */
#lightbox {
  position: fixed; inset: 0; z-index: 100;
  background: rgba(15, 25, 24, 0.92);
  display: flex; align-items: center; justify-content: center;
}
#lightbox img { max-width: 90vw; max-height: 85vh; border-radius: 0.5rem; }
.lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); color: #fff; font-size: 2.5rem; cursor: pointer; padding: 0 1rem; user-select: none; }
.lightbox-close { position: absolute; top: 1rem; right: 1.5rem; color: #fff; font-size: 2rem; cursor: pointer; }

/* Flatpickr day states for availability calendar */
.flatpickr-day.cac-blocked {
  background: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #fff !important;
  text-decoration: line-through;
  font-weight: 600;
}
.flatpickr-day.cac-blocked:hover { background: #b91c1c !important; border-color: #b91c1c !important; }
.flatpickr-day.cac-free {
  background: #00c8ca !important;
  border-color: #00c8ca !important;
  color: #04393a !important;
  font-weight: 600;
}
.flatpickr-day.cac-free:hover { background: #00a3a5 !important; border-color: #00a3a5 !important; color: #fff !important; }

.amenity-card { transition: transform .15s ease, box-shadow .15s ease; }
.amenity-card:hover { transform: translateY(-2px); box-shadow: 0 10px 25px -10px rgba(0,200,202,0.4); }

/* Flatpickr selection colors (light theme, defaults otherwise unchanged) */
.flatpickr-calendar { box-shadow: 0 10px 25px -10px rgba(0,0,0,0.15); }
.flatpickr-day.selected, .flatpickr-day.inRange {
  background: #094c4d !important; border-color: #094c4d !important; color: #fff !important; font-weight: 700;
}

/* Ken-Burns style single-direction zoom-in on the hero slideshow images */
.hero-zoom {
  animation-name: heroZoom;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  animation-duration: 7s;
  transform-origin: center center;
}
@keyframes heroZoom {
  0% { transform: scale(1); }
  100% { transform: scale(1.18); }
}

/* Gentle hover zoom for teaser / gallery imagery */
.img-zoom { overflow: hidden; }
.img-zoom img { transition: transform .5s ease; }
.img-zoom:hover img { transform: scale(1.08); }
