.modal.kunkin-room-popup .modal-dialog .modal-content {
    background: #fff;
    overflow: hidden;
}

.modal.kunkin-room-popup .modal-body {
    padding: 0;
}

.modal.kunkin-room-popup .modal-dialog .modal-content .wrapper-content {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    height: auto;
    max-height: none;
    background: #fff;
}

.modal.kunkin-room-popup .wrapper-content .gallery-img,
.modal.kunkin-room-popup .wrapper-content .info-popup {
    width: auto !important;
    min-width: 0;
}

.modal.kunkin-room-popup .gallery-img {
    padding: clamp(10px, 1.6vw, 18px);
    border-inline-end: 1px solid #ece7e1;
}

.modal.kunkin-room-popup .modal-dialog .modal-content .wrapper-content .gallery-img .image-lists {
    display: grid;
    gap: 8px;
    height: auto !important;
    background: #fff;
    color: #57514a;
    border-radius: 0;
}

.modal.kunkin-room-popup .main-carousel {
    min-width: 0;
    border-radius: 9px;
    background: #f8f6f3;
    overflow: hidden;
}

.modal.kunkin-room-popup .main-carousel:not(.owl-loaded) {
    display: block;
}

.modal.kunkin-room-popup .main-carousel:not(.owl-loaded) > .item + .item {
    display: none;
}

.modal.kunkin-room-popup .main-carousel .owl-stage-outer {
    height: auto !important;
}

/* Only the visible image sets the gallery height, even in a mixed-ratio gallery. */
.modal.kunkin-room-popup .main-carousel .owl-item:not(.active) {
    height: 0;
}

.modal.kunkin-room-popup .main-carousel .item {
    margin: 0;
    padding: 0;
    border: 0;
}

.modal.kunkin-room-popup .main-carousel img.main-carousel-image {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto !important;
    max-height: min(53vh, 520px);
    margin-inline: auto;
    object-fit: contain;
}

.modal.kunkin-room-popup .kunkin-popup-media {
    position: relative;
    min-width: 0;
}

.modal.kunkin-room-popup .kunkin-popup-dots,
.modal.kunkin-room-popup .kunkin-popup-thumbs {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
}

.modal.kunkin-room-popup .kunkin-popup-dots {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 8px;
    transform: translateX(-50%);
    max-width: calc(100% - 24px);
    padding: 2px 5px;
    border-radius: 999px;
    background: rgba(24, 22, 20, 0.48);
}

.modal.kunkin-room-popup .kunkin-popup-dots button,
.modal.kunkin-room-popup .kunkin-popup-thumbs button {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    border: 0;
    cursor: pointer;
}

.modal.kunkin-room-popup .kunkin-popup-dots button {
    display: grid;
    place-items: center;
    width: 16px;
    height: 20px;
    background: transparent;
    border-radius: 5px;
}

.modal.kunkin-room-popup .kunkin-popup-dots button::after {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.68);
}

.modal.kunkin-room-popup .kunkin-popup-dots button[aria-current='true']::after {
    width: 8px;
    height: 8px;
    background: #fff;
}

.modal.kunkin-room-popup .kunkin-popup-thumbs {
    min-width: 0;
    gap: 6px;
}

.modal.kunkin-room-popup .kunkin-popup-thumbs button {
    width: clamp(46px, 5.5vw, 62px);
    aspect-ratio: 1;
    border-radius: 5px;
    overflow: hidden;
    background: #f8f6f3;
}

.modal.kunkin-room-popup .kunkin-popup-thumbs img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.modal.kunkin-room-popup .kunkin-popup-thumbs button[aria-current='true'],
.modal.kunkin-room-popup [data-popup-slide]:focus-visible {
    outline: 2px solid var(--main-color, #f09220);
    outline-offset: -2px;
}

.modal.kunkin-room-popup .info-popup {
    display: flex;
    flex-direction: column;
    max-height: min(74vh, 640px);
    border-radius: 0;
    overflow: hidden;
}

.modal.kunkin-room-popup .basic-info {
    min-height: 0;
    flex: 1 1 auto;
    overflow: auto;
}

.modal.kunkin-room-popup .price-box-modal {
    flex-shrink: 0;
}

.single-st_hotel #st-content-wrapper .st-list-rooms .btn_hotel_booking {
    border-radius: 50px;
}

.modal.kunkin-room-popup .price-box-modal:has(> .btn_hotel_booking) {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.modal.kunkin-room-popup .price-box-modal:has(> .btn_hotel_booking) .price-wrapper {
    min-width: 0;
}

.modal.kunkin-room-popup .price-box-modal > .btn_hotel_booking {
    flex: 0 0 auto;
    width: auto !important;
    margin: 0;
    white-space: nowrap;
}

.modal.kunkin-room-popup .kunkin-popup-photo-empty {
    margin: 0;
    padding: 16px;
    border-radius: 8px;
    background: #f8f6f3;
}

@media (max-width: 768px) {
    /* Override Traveler Elementor's mobile wrapping for the room-card preview. */
    body.single #st-content-wrapper.st-style-4 #st-list-room .facilities .st-list-facilities {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        height: auto !important;
    }

    #st-content-wrapper .st-list-rooms .st-list-facilities > .items-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 8px;
    }

    body.single #st-content-wrapper.st-style-4 #st-list-room .facilities .st-list-facilities :is(.items-row > .item, .item.facility-loop) {
        width: auto;
        min-width: 0;
        padding-inline: 0;
    }

    #st-content-wrapper .st-list-rooms .st-list-facilities > .facility-loop {
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    #st-content-wrapper .st-list-rooms .st-list-facilities .item > .item-box {
        flex-shrink: 0;
    }

    #st-content-wrapper .st-list-rooms .st-list-facilities > .facility-loop > .item-box {
        flex: 0 0 34px;
    }

    #st-content-wrapper .st-list-rooms .st-list-facilities > .facility-loop > .infor {
        min-width: 0;
        overflow-wrap: anywhere;
        white-space: normal;
        text-align: start;
    }

    #st-content-wrapper .st-list-rooms .st-list-facilities .item > br,
    .single #st-content-wrapper #st-list-room .facilities .st-list-facilities > .facility-loop:nth-of-type(n + 5) {
        display: none;
    }
}

@media (max-width: 767px) {
    #st-content-wrapper .st-list-rooms .col-12:has(> .price-wrapper + .btn_hotel_booking) {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    #st-content-wrapper .st-list-rooms .col-12 > .price-wrapper:has(+ .btn_hotel_booking) {
        flex: 1 1 0;
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    #st-content-wrapper .st-list-rooms .col-12 > .price-wrapper + .btn_hotel_booking {
        flex: 0 0 auto;
        width: auto;
        margin: 0;
        white-space: nowrap;
    }

    .modal.kunkin-room-popup .modal-dialog .modal-content .wrapper-content {
        grid-template-columns: minmax(0, 1fr);
    }

    .modal.kunkin-room-popup .gallery-img {
        border-inline-end: 0;
        border-bottom: 1px solid #ece7e1;
    }

    .modal.kunkin-room-popup .info-popup {
        max-height: none;
    }
}

.kunkin-room-sold-out{
  margin-bottom: 10px;
}
