
/* Hotel room photo carousels and the full photo gallery */
.room-slider { min-width: 0; }
.room-slider__stage { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 20px; background: #332a23; }
.room-slider--hostel .room-slider__stage { aspect-ratio: 16 / 9; }
.room-slider__slide { position: absolute; inset: 0; display: block; opacity: 0; visibility: hidden; transition: opacity .35s ease; }
.room-slider__slide[hidden] { display: none; }
.room-slider__slide[aria-current="true"] { opacity: 1; visibility: visible; }
.room-slider__slide img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 0; }
.room-slider__arrow { position: absolute; z-index: 2; top: 50%; display: grid; width: 46px; height: 46px; place-items: center; transform: translateY(-50%); border: 1px solid #fff8; border-radius: 50%; background: #231d19b8; color: white; font: 300 2rem/1 sans-serif; cursor: pointer; transition: background .2s, transform .2s; }
.room-slider__arrow:hover { background: #a95739; transform: translateY(-50%) scale(1.06); }
.room-slider__arrow--prev { left: 16px; }
.room-slider__arrow--next { right: 16px; }
.room-slider__count { position: absolute; right: 18px; bottom: 16px; z-index: 2; padding: .45rem .75rem; border-radius: 99px; background: #231d19c7; color: white; font-size: .8rem; font-weight: 700; }
.room-slider__thumbs { display: flex; gap: 9px; overflow-x: auto; padding: 12px 2px 3px; scrollbar-width: thin; }
.room-slider__thumb { flex: 0 0 76px; width: 76px; height: 60px; overflow: hidden; padding: 0; border: 2px solid transparent; border-radius: 9px; background: transparent; cursor: pointer; opacity: .68; transition: opacity .2s, border-color .2s; }
.room-slider__thumb:hover,.room-slider__thumb[aria-current="true"] { border-color: #ad6041; opacity: 1; }
.room-slider__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
