#room-gallery {
    scroll-margin-top: 24px;
}

.room-gallery__thumbs a {
    aspect-ratio: 1.45;
    background: #eef3f6;
    border: 2px solid transparent;
    border-radius: 3px;
    display: block;
    flex: 0 0 104px;
    overflow: hidden;
    transition: border-color .2s;
}

    .room-gallery__thumbs a:hover,
    .room-gallery__thumbs a.active {
        border-color: var(--room-gold);
    }

.room-gallery a:focus-visible {
    outline: 3px solid var(--room-gold);
    outline-offset: 3px;
}

.room-booking-track {
    position: relative;
    min-width: 0;
    align-self: stretch;
}

@media (min-width: 992px) {
    .room-booking-track .room-booking-card {
        box-sizing: border-box;
        max-height: calc(100vh - 48px);
        max-height: calc(100dvh - 48px);
        overflow-y: auto;
    }

    .room-booking-card.is-fixed {
        position: fixed;
        top: 92px;
        left: var(--booking-left);
        width: var(--booking-width);
        z-index: 20;
    }

    .room-booking-card.is-at-end {
        position: absolute;
        bottom: 0;
        top: auto;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .room-gallery__thumbs a {
        flex-basis: 82px;
    }
}