/* Modal visuals (amenities-like) */
.images-modal { position:fixed; inset:0; display:none; z-index:9999; }
.images-modal[aria-hidden="false"] { display:block; }
.images-modal .images-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.45); }
.images-modal .images-dialog {
  position:relative; max-width:960px; max-height:80vh; overflow:auto;
  margin:6vh auto; background:#fff; border-radius:16px; padding:18px 22px;
  box-shadow:0 10px 40px rgba(0,0,0,.25);
  z-index: 999;
}
.images-modal .images-close {
  position:sticky; top:0; float:right; font-size:26px; line-height:1;
  background:transparent; border:none; cursor:pointer;
}
.images-section { border-top:1px solid rgba(0,0,0,.08); padding:14px 0; }
.images-section:first-of-type { border-top:0; }
.images-section-title { margin:0 0 10px; font-size:16px; font-weight:600; }
.images-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; }
@media (max-width:768px){
  .images-grid { grid-template-columns:repeat(2, 1fr); }
}

/* Slider overlay */
.images-slider-overlay { position:fixed; inset:0; z-index:10000; }
.images-slider-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.95); }
.images-slider-shell {
  position:relative; z-index:1; width:90%; max-width:1000px; margin:0 auto;
  top:50%; transform:translateY(-50%);
}
.images-slider-close {
  position:absolute; top:-40px; right:0; font-size:28px;
  background:transparent; border:none; color:#fff; cursor:pointer;
}

/* Swiper */
.images-lightbox-swiper { width:100%; }
.images-lightbox-swiper .swiper-slide { display:flex; align-items:center; justify-content:center; }
.images-lightbox-swiper img { max-width:100%; max-height:80vh; display:block; }