/* Variables */

:root {

    /*=== Radius Variables ===*/
    --wdt_Booking_Radius_Zero: var(--wdtRadius_Zero, 0);
    --wdt_Booking_Radius_Part: var(--wdtRadius_Part, 2.5em);
    --wdt_Booking_Radius_Full: var(--wdtRadius_Full, 50%);

    --wdt_Booking_Radius_1X: var(--wdtRadius_1X, 3px);
    --wdt_Booking_Radius_2X: var(--wdtRadius_2X, 5px);
    --wdt_Booking_Radius_3X: var(--wdtRadius_3X, 10px);

    /*=== Letter Spacing Variables ===*/
    --wdt_Booking_LetterSpacing_1X: var(--wdtLetterSpacing_1X, 1px);
    --wdt_Booking_LetterSpacing_2X: var(--wdtLetterSpacing_2X, 2px);
    --wdt_Booking_LetterSpacing_3X: var(--wdtLetterSpacing_3X, 3px);

    /*=== Padding Variables ===*/
    --wdt_Booking_InputPadding: var(--wdtInputPadding, 12px 20px);

    --wdt_Booking_Padding_Btn: var(--wdtPadding_Btn, 16px 35px);
    --wdt_Booking_Padding_MiniBtn: var(--wdtPadding_MiniBtn, 12px 20px);
    --wdt_Booking_Padding_MaxiBtn: var(--wdtPadding_MaxiBtn, 18px 40px);

    --wdt_Booking_BaseTransition: var(--wdtBaseTransition, all 0.3s linear 0s);
    --wdt_Booking_AltTransition: var(--wdtAltTransition, all 0.35s ease-in-out 0s);
    --wdt_Booking_Ad-Transition: var(--wdt-Ad-Transition, 375ms cubic-bezier(0.7, 0, 0.3, 1));

    /*=== Transform Hover Zoom-Out Style ===*/
    --wdt_Booking_transform-rotateX: var(--wdt-transform-rotateX, 1deg);
    --wdt_Booking_transform-perspective: var(--wdt-transform-perspective, 600px);
    --wdt_Booking_transform-rotateY: var(--wdt-transform-rotateY, 0deg);
    --wdt_Booking_transform-scale: var(--wdt-transform-scale, 0.9);
    --wdt_Booking_transform-transition-duration: var(--wdt-transform-transition-duration, 400ms);

    /*=== Transform Hover Zoom-In Style ===*/
    --wdt_Booking_zoo-transform-rotateX: var(--wdt-zoo-transform-rotateX, 0.06deg);
    --wdt_Booking_zoo-transform-perspective: var(--wdt-zoo-transform-perspective, 600px);
    --wdt_Booking_zoo-transform-rotateY: var(--wdt-zoo-transform-rotateY, 0deg);
    --wdt_Booking_zoo-transform-scale: var(--wdt-zoo-transform-scale, 1.2);
    --wdt_Booking_zoo-transform-transition-duration: var(--wdt-zoo-transform-transition-duration, 400ms);

    /*=== WPFW Color ===*/
    
    --wdt_Booking_PrimaryColor: var(--wdtPrimaryColor, #047469);
    --wdt_Booking_SecondaryColor: var(--wdtSecondaryColor, #fbbf65);
    --wdt_Booking_TertiaryColor: var(--wdtTertiaryColor, #fff2e0);
    --wdt_Booking_BodyBGColor: var(--wdtBodyBGColor, #ffffff);
    --wdt_Booking_BodyTxtColor: var(--wdtBodyTxtColor, #555555);
    --wdt_Booking_HeadAltColor: var(--wdtHeadAltColor, #141414);
    --wdt_Booking_LinkColor: var(--wdtLinkColor, #141414);
    --wdt_Booking_LinkHoverColor: var(--wdtLinkHoverColor, #047469);
    --wdt_Booking_BorderColor: var(--wdtBorderColor, #dddddd);
    --wdt_Booking_AccentTxtColor: var(--wdtAccentTxtColor, #ffffff);

    /*=== Common Arrow ===*/

    --wdt-arrow-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 12'%3E%3Cpath d='M13,12h-1c0-3,1.9-4.6,3.5-5.5H0v-1h15.5c-1.7-0.9-3.6-2.6-3.6-5.5h1c0,4.5,5.4,5.3,5.4,5.4l0.4,0.1v0.9l-0.3,0.1 C18.2,6.5,13,7.4,13,12z'%3E%3C/path%3E%3C/svg%3E");

  }



/* === Theme Custom Styles === */


.dt-rooms-item-holder.dt-carousel-holder .swiper-slide { transition: var(--wdt_Booking_Ad-Transition); cursor: grab; }
.dt-rooms-item-holder.dt-carousel-holder .swiper-slide:not(.swiper-slide-visible) { 
  opacity: 0; visibility: hidden; transition: var(--wdt_Booking_Ad-Transition); }


/* ==========================
  Pagination Top Right 
========================== */

@media(min-width: 1281px) {

  .wdt-custom-pagination-top-right .dt-carousel-holder .swiper.swiper-horizontal + .dt-carousel-pagination-wrapper .dt-swiper-pagination,
  .wdt-custom-pagination-top-right .dt-carousel-holder .dt-carousel-pagination-wrapper .dt-swiper-pagination.swiper-pagination-bullets { 
      position: absolute; top: -60px; right: 8%; bottom: auto; left: auto; margin: 0; transform: translateY(-100%); }

}



/* =====================================
  Restaurant Listing Page Styles 
===================================== */

/* === Archive Listing Styles === */

body.post-type-archive-dt_restaurant .dt-sc-restaurant-container { 
  display: flex; flex-wrap: wrap; --ser-gap: 20px; gap: var(--ser-gap); }

body.post-type-archive-dt_restaurant .dt-sc-restaurant-container.dt-column-5 > .dt-sc-restaurant-item { flex: 0 0 calc(20% - calc(var(--ser-gap) / 1.25)); }
body.post-type-archive-dt_restaurant .dt-sc-restaurant-container.dt-column-4 > .dt-sc-restaurant-item { flex: 0 0 calc(25% - calc(var(--ser-gap) / 1.333)); }
body.post-type-archive-dt_restaurant .dt-sc-restaurant-container.dt-column-3 > .dt-sc-restaurant-item { flex: 0 0 calc(33.3333% - calc(var(--ser-gap) / 1.5)); }
body.post-type-archive-dt_restaurant .dt-sc-restaurant-container.dt-column-2 > .dt-sc-restaurant-item { flex: 0 0 calc(50% - calc(var(--ser-gap) / 2)); }
body.post-type-archive-dt_restaurant .dt-sc-restaurant-container.dt-column-1 > .dt-sc-restaurant-item { flex: 0 0 100%; }


/* === Media Group Styles === */

.dt-sc-restaurant-item.type1 .dt-sc-content-item {
  display: grid; align-items: end; width: 100%; height: 100%; flex: 1 1 100%; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item > div:not(:last-child) { margin-bottom: 0; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-media-group { 
  grid-area: 1/-1; position: relative; overflow: hidden; width: 100%; height: 100%; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-media-group .dt-sc-restaurant-list-image { 
  position: relative; overflow: hidden; width: 100%; height: 100%; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-media-group .dt-sc-restaurant-list-image img {
  width: 100%; height: 100%; min-height: clamp(31.25rem, 30.138rem + 6.135vw, 37.5rem); /*600px - 500px*/ 
  object-fit: cover; object-position: center; -webkit-transform: scale(1.1) translateY(5px); transform: scale(1.1) translateY(5px); 
  -webkit-transition: var(--wdtBaseTransition); transition: var(--wdtBaseTransition); 
  backface-visibility: hidden; will-change: transform; isolation: isolate; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item:hover .dt-sc-content-media-group .dt-sc-restaurant-list-image img {
  -webkit-transform: scale(1) translateY(0px); transform: scale(1) translateY(0px); }


/* === Detail Group Styles === */

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group { 
  grid-area: 1/-1; padding: clamp(1.25rem, 1.1388rem + 0.6135vw, 1.875rem); /*30px - 20px*/ 
  text-align: left; background-color: var(--wdtAccentTxtColor); z-index: 1; margin: 20px; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group > div:not(:last-child) {
  margin-bottom: clamp(0.75rem, 0.6833rem + 0.3681vw, 1.125rem); /*18px - 12px*/ }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-icon-content {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-icon-content .dt-sc-cate-and-title .dt-sc-restaurant-category {
  display: block; font-family: var(--wdtFontTypo_Base); font-size: var(--wdtFontSize_Ext); 
  font-weight: var(--wdtFontWeight_Ext); text-transform: capitalize; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-icon-content .dt-sc-cate-and-title .dt-sc-restaurant-category:not(:only-child) {
  margin-bottom: 8px; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-icon-content .dt-sc-cate-and-title .dt-sc-restaurant-title {
  font-family: var(--wdtFontTypo_Alt); font-size: clamp(1.625rem, 1.5138rem + 0.6135vw, 2.25rem); /*36px - 26px*/ 
  font-weight: var(--wdtFontWeight_Alt); text-transform: capitalize; margin: 0; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-icon-content svg.dt-sc-restaurant-icon {
  font-size: clamp(3.125rem, 2.7914rem + 1.8405vw, 5rem); /*80px - 50px*/ }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-action-div {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-action-div ul.dt-sc-restaurant-services {
  list-style: none; display: flex; flex-direction: column; align-items: flex-start; padding: 0; margin: 0; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-action-div ul.dt-sc-restaurant-services li { 
  display: inline-flex; align-items: flex-start; justify-content: flex-start; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-action-div ul.dt-sc-restaurant-services li::before {
  content: '' !important; position: relative; width: 18px; height: 18px; top: 5px; right: 0; bottom: 0; 
  left: 0; background-color: currentcolor !important; mask-image: var(--wdt-arrow-mask); 
  mask-repeat: no-repeat; mask-size: 18px; mask-position: center center; margin: 0; margin-right: 10px; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-action-div ul.dt-sc-restaurant-services li:not(:last-child) {
  padding-bottom: clamp(0.25rem, 0.2055rem + 0.2454vw, 0.5rem); /*8px - 4px*/ }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-action-div .dt-sc-button {
  display: inline-flex; font-family: var(--wdtFontTypo_Base); font-size: var(--wdtFontSize_Base); 
  font-weight: var(--wdtFontWeight_Base); text-transform: capitalize; margin: 0; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-action-div .dt-sc-button span {
  position: relative; display: inline-flex; align-items: center; justify-content: center; }

.dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-action-div .dt-sc-button span::after {
  content: '' !important; position: relative; width: 18px; height: 18px; top: 0; right: 0; bottom: 0; left: 0; 
  background-color: currentcolor !important; mask-image: var(--wdt-arrow-mask); mask-repeat: no-repeat; 
  mask-size: 18px; mask-position: center center; margin: auto; margin-left: 8px; }




/* =====================================
  Restaurant Single Page Styles 
===================================== */

body.post-type-archive-dt_restaurant .wrapper .inner-wrapper article.dt_restaurant { 
  margin-bottom: clamp(3.75rem, 2.7492rem + 5.5215vw, 9.375rem); /*150px - 60px*/ }

article.dt_restaurant { background-color: var(--wdtAccentTxtColor); padding: clamp(1.25rem, 1.0276rem + 1.227vw, 2.5rem); /*40px - 20px*/ }

article.dt_restaurant .dt-sc-restaurant-single-thumb:not(:last-child) { 
  margin-bottom: clamp(0.9375rem, 0.7707rem + 0.9202vw, 1.875rem); /*30px - 15px*/ }

article.dt_restaurant .dt-sc-restaurant-single-thumb img {
  width: 100%; height: 100%; object-fit: cover; backface-visibility: hidden; min-height: 230px;}


/* === Booking From Type 2 Styles === */

.dt-restaurant-booking-wrapper.type-2 {
  display: block; overflow: hidden; width: 100%; max-width: 100%; background: transparent; 
  -webkit-border-radius: var(--wdtRadius_Zero); border-radius: var(--wdtRadius_Zero); margin: 0; }

.dt-restaurant-booking-wrapper.type-2 .restaurant-services-list .service-restaurant-item {
  display: flex; align-items: flex-start; justify-content: flex-start; }

.dt-restaurant-booking-wrapper.type-2 .restaurant-services-list .service-restaurant-item:not(:last-child) {
  margin-bottom: 14px; }

.dt-restaurant-booking-wrapper.type-2 .restaurant-services-list .service-restaurant-item .service-restaurant-item-icon {
  position: relative; display: inline-flex; align-items: center; justify-content: center; 
  font-size: var(--wdtFontSize_H5); top: -1px; }

.dt-restaurant-booking-wrapper.type-2 .restaurant-services-list .service-restaurant-item .service-restaurant-item-icon:not(:last-child) {
  margin-right: 12px; }

.dt-restaurant-booking-wrapper.type-2 .restaurant-services-list .service-restaurant-item .service-restaurant-item-content {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; }

.dt-restaurant-booking-wrapper.type-2 .restaurant-services-list .service-restaurant-item .service-restaurant-item-content .service-restaurant-item-title h3,
.dt-restaurant-booking-wrapper.type-2 .restaurant-services-list .service-restaurant-item .service-restaurant-item-content .service-restaurant-item-description p {
  font-family: var(--wdtFontTypo_Base); font-size: var(--wdtFontSize_Base); 
  line-height: var(--wdtLineHeight_Base); text-transform: capitalize; margin: 0; }

.dt-restaurant-booking-wrapper.type-2 .restaurant-services-list .service-restaurant-item .service-restaurant-item-content .service-restaurant-item-title h3::after {
  content: ":"; margin: 0 8px 0 2px; }




/* =====================================
  Responsive 
===================================== */

@media only screen and (max-width: 1540px) {
    body.post-type-archive-dt_restaurant .dt-sc-restaurant-container.dt-column-3 > .dt-sc-restaurant-item { 
      flex: 0 0 calc(33.3333% - calc(var(--ser-gap) / 1.333)); }
}

@media only screen and (max-width: 1024px) {
    body.post-type-archive-dt_restaurant .dt-sc-restaurant-container.dt-column-3 > .dt-sc-restaurant-item { 
      flex: 0 0 calc(50% - calc(var(--ser-gap) / 1.333)); }
}

@media only screen and (max-width: 767px) {
    body.post-type-archive-dt_restaurant .dt-sc-restaurant-container.dt-column-3 > .dt-sc-restaurant-item { 
      flex: 0 0 100%; }
}

@media only screen and (max-width: 479px) {
  .dt-restaurant-booking-wrapper.type-2 .restaurant-services-list .service-restaurant-item:not(:last-child) { margin-bottom: 20px; }
  .dt-restaurant-booking-wrapper.type-2 .restaurant-services-list .service-restaurant-item { flex-direction: column; }
  .dt-restaurant-booking-wrapper.type-2 .restaurant-services-list .service-restaurant-item .service-restaurant-item-icon:not(:last-child) {
    margin-right: 0; margin-bottom: 8px; }

  .dt-sc-restaurant-item.type1 .dt-sc-content-item .dt-sc-content-detail-group .dt-sc-icon-content {
    flex-direction: column-reverse; align-items: flex-start; gap: 15px; }
}