



/* ===== Room Type - I ===== */

.dt-sc-room-item.type1 { display: grid; align-items: flex-end; }

.dt-sc-room-item.type1 > div { grid-area: 1/-1; }

.dt-sc-room-item.type1 .image-item { 
    height: 100%; width: 100%; 
    border-radius: var(--wdt_Booking_Radius_3X);
    -webkit-border-radius: var(--wdt_Booking_Radius_3X);
    overflow: hidden;
    position: relative;
    isolation: isolate;
}

.dt-sc-room-item.type1 .image-item:after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    background-color: var(--wdt_Booking_PrimaryColor);
    opacity: 0.6;
    pointer-events: none;
}

.dt-sc-room-item.type1 .image-item img { 
    width: 100%; height: 100%; object-fit: cover; object-position: center center; 
    aspect-ratio: 1/1; transform: scale(1.1); -webkit-transform: scale(1.1); transform-origin: center top; will-change: transform;
    transition: var(--wdt_Booking_Ad-Transition); -webkit-transition: var(--wdt_Booking_Ad-Transition);
}

.dt-sc-room-item.type1:hover .image-item img {
    transform: scale(1); -webkit-transform: scale(1);
}

.dt-sc-room-item.type1 .room-details { margin: 0; padding: 30px; color: var(--wdt_Booking_AccentTxtColor); z-index: 1; overflow: hidden; }

.dt-sc-room-item.type1 .room-details .dt-sc-content-title-group { 
    margin-bottom: 20px; 
}

.dt-sc-room-item.type1 .room-details h5 a { color: var(--wdt_Booking_AccentTxtColor); }
.dt-sc-room-item.type1 .room-details h5 a:hover { color: rgb(var(--wdt_Booking_AccentTxtColorRgb),0.6); }

.dt-sc-room-item.type1 .room-details .dt-sc-content-title-group .dt-sc-room-price { 
    font-size: var(--wdtFontSize_Base, 16px);
    letter-spacing: normal; 
    font-weight: var(--wdtFontWeight_Base); 
    text-transform: capitalize; 
    display: inline-flex; 
    padding: 0;
    background-color: transparent; 
}

.dt-sc-room-item.type1 .room-details .dt-sc-room-amenities {
    margin-bottom: 30px;
    margin-top: 20px;
}

.dt-sc-room-item.type1 .room-details .dt-sc-room-amenities .dt-sc-room-amenities-item {
    margin: -3px;
}

.dt-sc-room-item.type1 .room-details .dt-sc-room-amenities .dt-sc-room-amenity { 
    display: inline-flex; 
    font-size: var(--wdtFontSize_H6);
    padding: 3px; 
    margin: 0; 
}

.dt-sc-room-item.type1 .room-details .dt-sc-room-amenities .dt-sc-room-amenity > i { 
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background-color: var(--wdtTertiaryColor);
    color: var(--wdtPrimaryColor);
    border-radius: var(--wdtRadius_1X);
    -webkit-border-radius: var(--wdtRadius_1X);
}

.dt-sc-room-item.type1 .room-details .dt-sc-content-title-group {
    transform: translateY(70px);
    -webkit-transform: translateY(70px);
    backface-visibility: hidden;
    will-change: auto !important;
    transition: transform var(--wdt_Booking_Ad-Transition) 50ms;
    -webkit-transition: transform var(--wdt_Booking_Ad-Transition) 50ms;
}

.dt-sc-room-item.type1:hover .room-details .dt-sc-content-title-group { 
    transform: translateY(0); 
    -webkit-transform: translateY(0); 
    transition: transform var(--wdt_Booking_Ad-Transition) 100ms;
    -webkit-transition: transform var(--wdt_Booking_Ad-Transition) 100ms;
}


.dt-sc-room-item.type1 .room-details .dt-sc-content-button {
    transform: translateY(70px);
    -webkit-transform: translateY(70px);
    backface-visibility: hidden;
    will-change: auto !important;
    opacity: 0;
    transition: transform var(--wdt_Booking_Ad-Transition) 0ms, opacity 300ms linear 0ms;
    -webkit-transition: transform var(--wdt_Booking_Ad-Transition) 0ms, opacity 300ms linear 0ms;
}

.dt-sc-room-item.type1:hover .room-details .dt-sc-content-button { 
    transform: translateY(0); 
    -webkit-transform: translateY(0); 
    opacity: 1; 
    transition: transform var(--wdt_Booking_Ad-Transition) 150ms, opacity 300ms linear 150ms;
    -webkit-transition: transform var(--wdt_Booking_Ad-Transition) 150ms, opacity 300ms linear 150ms;
}

.dt-sc-room-item.type1 .room-details .dt-sc-content-button .dt-sc-button { margin-top: 0; }





/* ===== Room Type - II ===== */

.dt-sc-room-item.type2 { 
    background-color: transparent; 
    padding: 0;
    border-radius: var(--wdt-Booking-Radius_Zero);
    -webkit-border-radius: var(--wdt-Booking-Radius_Zero); 
    border: none; 
}

.dt-sc-room-item.type2 .dt-sc-room-media-group { 
    display: grid; align-items: end; overflow: hidden; isolation: isolate;
    border-radius: var(--wdt_Booking_Radius_3X); -webkit-border-radius: var(--wdt_Booking_Radius_3X);
}

.dt-sc-room-item.type2 .dt-sc-room-media-group > div { grid-area: 1/-1; }

.dt-sc-room-item.type2 .dt-sc-room-media-group > div.dt-sc-room-element-group { text-align: center;  padding: 30px; z-index: 1; }

.dt-sc-room-item.type2 .dt-sc-room-media-group > div.dt-sc-room-element-group .dt-sc-room-title {
    margin-top: 0;
    margin-bottom: 30px;
}

.dt-sc-room-item.type2 .dt-sc-room-media-group > div.dt-sc-room-element-group .dt-sc-room-title a { color: var(--wdt_Booking_AccentTxtColor); }

.dt-sc-room-item.type2 .dt-sc-room-media-group > div.dt-sc-room-element-group .dt-sc-room-title a:hover { color: rgb(var(--wdt_Booking_AccentTxtColorRgb),0.6); }

.dt-sc-room-item.type2 .room-details .dt-sc-rooms-meta-wrapper > div[class*="dt-sc-rooms-"] {
    border: 0; padding: 0; grid-template-columns: unset;
}

.dt-sc-room-item.type2 .room-details .dt-sc-content-description p { margin-bottom: 0; }

.dt-sc-room-item.type2 .image-item { position: relative; }

.dt-sc-room-item.type2 .image-item:after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    background-color: transparent;
    background-image: linear-gradient(to top, rgb(var(--wdt_Booking_PrimaryColorRgb),0.6) 10%, transparent 90%);
    pointer-events: none;
}

.dt-sc-room-item.type2 .image-item a { display: block; overflow: hidden; }

.dt-sc-room-item.type2 .image-item img { 
    width: 100%; height: 100%; aspect-ratio: 3/4; object-fit: cover; object-position: center center; 
    transform: scale(1.1); -webkit-transform: scale(1.1); transform-origin: center top; will-change: transform;
    transition: var(--wdt_Booking_Ad-Transition); -webkit-transition: var(--wdt_Booking_Ad-Transition);
}

.dt-sc-room-item.type2:hover .image-item img { transform: scale(1); -webkit-transform: scale(1); }

.dt-sc-room-item.type2 .room-details { padding: 20px 0 0; text-align: center; }
.dt-sc-room-item.type2 .room-details div.dt-sc-rooms-meta-wrapper { justify-content: center; }

.dt-sc-room-item.type2 .room-details > .dt-sc-content-element-group {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
}

.dt-sc-room-item.type2 .room-details > .dt-sc-content-element-group:not(:last-child) {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--wdt_Booking_BorderColor);
}

.dt-sc-room-item.type2 .dt-sc-room-media-group > div.dt-sc-room-element-group > .dt-sc-content-title {
    transform: translateY(80px);
    -webkit-transform: translateY(80px);
    transition: transform var(--wdt_Booking_Ad-Transition) 50ms;
    -webkit-transition: transform var(--wdt_Booking_Ad-Transition) 50ms;
}

.dt-sc-room-item.type2:hover .dt-sc-room-media-group > div.dt-sc-room-element-group > .dt-sc-content-title { 
    transform: translateY(0); 
    -webkit-transform: translateY(0); 
    transition: transform var(--wdt_Booking_Ad-Transition) 100ms;
    -webkit-transition: transform var(--wdt_Booking_Ad-Transition) 100ms;
}

.dt-sc-room-item.type2 .dt-sc-room-media-group > div.dt-sc-room-element-group > .dt-sc-content-button {
    transform: translateY(80px);
    -webkit-transform: translateY(80px);
    opacity: 0;
    transition: transform var(--wdt_Booking_Ad-Transition) 0ms, opacity 300ms linear 0ms;
    -webkit-transition: transform var(--wdt_Booking_Ad-Transition) 0ms, opacity 300ms linear 0ms;
}

.dt-sc-room-item.type2:hover .dt-sc-room-media-group > div.dt-sc-room-element-group > .dt-sc-content-button { 
    transform: translateY(0); 
    -webkit-transform: translateY(0); 
    opacity: 1; 
    transition: transform var(--wdt_Booking_Ad-Transition) 150ms, opacity 300ms linear 150ms;
    -webkit-transition: transform var(--wdt_Booking_Ad-Transition) 150ms, opacity 300ms linear 150ms;
}

.dt-sc-room-item.type2 .dt-sc-room-media-group > div.dt-sc-room-element-group .dt-sc-button { margin-top: 0; }


.dt-sc-room-item.type2 .room-details .dt-sc-room-amenities .dt-sc-room-amenity { display: inline-flex; 
    font-size: clamp(1.5rem, 1.4135rem + 0.3846vw, 1.875rem) /* 24px - 30px */; padding: 5px; 
    margin: clamp(0.125rem, 0.0817rem + 0.1923vw, 0.3125rem) /* 2px - 5px */; }
.dt-sc-room-item.type2 .room-details .dt-sc-room-amenities .dt-sc-room-amenity > i { display: inherit; }



/* ===== Booking Form - Popup ===== */

.dt-sc-room-items-container .dt-sc-room-item-type2 .dt-sc-room-item-form-wrapper { padding: 60px;
    border-radius: var(--wdt-booking-Radius_Zero); border: none; background-color: var(--wdt_Booking_BodyBGColor);
    height: fit-content; max-height: calc(100vh - 2*1.5em); position: relative; width: 100%; margin: auto; max-width: 620px; }

.dt-sc-room-items-container .dt-sc-room-item-type2 { position: fixed; top: 50%; left: 50%; 
    -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); z-index: 99999;
    -webkit-transition: var(--wdt_Booking_Ad-Transition); transition: var(--wdt_Booking_Ad-Transition);
    width: 100vw; height: 100vh; background-color: rgba(0, 0, 0, 0.18); display: flex; align-items: center; justify-content: center; }


.dt-sc-room-item-type2 .dt-sc-room-item-type2-close { display: block; clear: both; 
    position: absolute; top: -22px; right: -22px; transition: var(--wdt_Booking_Ad-Transition);}

.dt-sc-room-item-type2 .dt-sc-room-item-type2-close span { position: relative; width: 45px; height: 45px;
    background-color: var(--wdt_Booking_PrimaryColor); border-radius: var(--wdt_Booking_Radius_Zero); cursor: pointer;
    border: 0 solid var(--wdt_Booking_BorderColor); display: flex; padding: 5px; align-items: center; justify-content: center;
    -webkit-transition: var(--wdt_Booking_Ad-Transition); transition: var(--wdt_Booking_Ad-Transition); }

.dt-sc-room-item-type2 .dt-sc-room-item-type2-close span:hover { 
    background-color: var(--wdt_Booking_SecondaryColor); border-color: var(--wdt_Booking_SecondaryColor); }


.dt-sc-room-item-type2 .dt-sc-room-item-type2-close i:after,
.dt-sc-room-item-type2 .dt-sc-room-item-type2-close i:before { content: "" !important; width: 20px; height: 1px;
    background-color: var(--wdt_Booking_AccentTxtColor); position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto;
    -webkit-transition: var(--wdt_Booking_Ad-Transition); transition: var(--wdt_Booking_Ad-Transition); }

.dt-sc-room-item-type2 .dt-sc-room-item-type2-close i:before { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
.dt-sc-room-item-type2 .dt-sc-room-item-type2-close i:after { -webkit-transform: rotate(45deg); transform: rotate(45deg); }

.dt-sc-room-item-type2 .dt-sc-room-item-type2-close span:hover i:before { 
    -webkit-transform: rotate(-135deg); transform: rotate(-135deg); background-color: var(--wdt_Booking_AccentTxtColor); }

.dt-sc-room-item-type2 .dt-sc-room-item-type2-close span:hover i:after { 
    -webkit-transform: rotate(135deg); transform: rotate(135deg); background-color: var(--wdt_Booking_AccentTxtColor); }  

