.rooms-filter {
  padding-block: 50px 30px;
  color: var(--wd-primary-color);
  --wd-font-size: 28px;
}
.rooms-filter .wd-nav {
  --nav-color: color-mix(in srgb, var(--wd-primary-color) 50%, transparent);
  --nav-color-active: var(--wd-primary-color);
}
.rooms-filter .wd-nav .nav-link-text {
  font-size: var(--wd-font-size);
}
.rooms-filter .wd-nav .nav-link-text:after {
  background-color: var(--wd-alternative-color);
}

.lu-category-section {
  margin-bottom: 50px;
  --wd-font-size: 48px;
  --wd-title-font-weight: 600;
}
.lu-category-section:last-child {
  margin-bottom: 80px;
}
.lu-category-section .lu-rooms-cat-title {
  padding-block: 40px 10px;
}
.lu-category-section .lu-rooms-cat-title .title {
  font-size: var(--wd-font-size);
  color: var(--wd-primary-color);
  line-height: 0.9;
}
.lu-category-section .lu-rooms-cat-description p {
  --wd-tags-mb: 50px !important;
  padding-inline: 5%;
  text-align: center;
  font-size: 18px;
  line-height: 1.4;
}

.lu-rooms:not([style*=wd-gap]) {
  --wd-gap-lg: 50px;
  --wd-gap-md: 40px;
}
.lu-rooms.wd-carousel-container .wd-nav-arrows {
  --wd-arrow-icon-size: 22px;
  --wd-arrow-bg: var(--wd-primary-color);
  --wd-arrow-bg-dis: transparent;
  --wd-arrow-color: var(--wd-alternative-color);
  --wd-arrow-color-hover: #fff;
  --wd-arrow-color-dis: transparent;
  --wd-arrow-radius: 50%;
  --wd-arrow-offset-h: 10px;
  --wd-arrow-width: 40px;
  --wd-arrow-height: 40px;
}

.lu-post-thumb {
  position: relative;
  border-radius: var(--wd-brd-radius);
  overflow: hidden;
  transform: translate3d(0, 0, 0);
}
.lu-post-thumb img {
  width: 100%;
}

.lu-post-img {
  transition: all 0.5s cubic-bezier(0, 0, 0.44, 1.18);
}

.lu-room {
  container-name: room;
  container-type: inline-size;
}
.lu-room:hover .lu-post-img {
  transform: scale(1.1);
}
.lu-room .lucioles-availability-container {
  width: 100%;
  margin-bottom: 20px;
}
.lu-room .lucioles-availability-container .lu-divider {
  --wd-div-width: 100%;
}
.lu-room .lucioles-availability-container .lucioles-room-availability {
  display: flex;
  gap: 6px;
  max-width: 400px;
  margin: 0 auto;
  justify-content: center;
}
.lu-room .lucioles-availability-container .lucioles-room-availability .availability-container {
  padding: 6px 14px;
  flex: 1;
  max-width: 220px;
}
.lu-room .lucioles-availability-container .lucioles-room-availability .availability-container :is(h4) {
  display: none;
}
.lu-room .lucioles-availability-container .lucioles-room-availability .availability-container :is(p) {
  margin: 0;
  line-height: 1;
  display: block;
  width: 100%;
  font-size: 14px;
}
.lu-room .lucioles-availability-container .lucioles-room-availability .availability-container .availability-indicator {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  text-align: center;
  height: 2rem;
}
.lu-room .lucioles-availability-container .lucioles-room-availability .availability-container:nth-child(odd) {
  border-top-left-radius: 14px;
  border-bottom-left-radius: 14px;
}
.lu-room .lucioles-availability-container .lucioles-room-availability .availability-container:nth-child(even) {
  border-top-right-radius: 14px;
  border-bottom-right-radius: 14px;
}
.lu-room .lucioles-availability-container .lucioles-room-availability .availability-container:nth-child(even) .availability-indicator {
  flex-direction: row-reverse;
}
.lu-room .lucioles-availability-container .lucioles-room-availability .availability-container.available {
  color: rgb(78, 105, 16);
  background-color: rgb(204, 215, 203);
}
.lu-room .lucioles-availability-container .lucioles-room-availability .availability-container.available .icon-circle-plain {
  color: rgb(209, 255, 205);
}
.lu-room .lucioles-availability-container .lucioles-room-availability .availability-container.unvailable {
  color: rgb(167, 26, 1);
  background-color: rgb(247, 217, 212);
}
@container room (max-width: 360px) {
  .lu-room .lucioles-availability-container .lucioles-room-availability {
    flex-direction: column;
    width: 220px;
    max-width: 100%;
  }
  .lu-room .lucioles-availability-container .lucioles-room-availability .availability-container {
    border-radius: 14px;
  }
  .lu-room .lucioles-availability-container .lucioles-room-availability .availability-container .availability-indicator {
    text-align: left;
  }
  .lu-room .lucioles-availability-container .lucioles-room-availability .availability-container:nth-child(even) .availability-indicator {
    flex-direction: row;
  }
}

.lu-room-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: var(--wd-post-align, start);
  text-align: var(--wd-post-align, start);
  gap: 8px;
  z-index: 1;
}
.lu-room-content .wd-post-title {
  font-size: 42px;
  line-height: 1.1;
  --wd-title-font-weight: 800;
  --wd-tags-mb: 0;
  color: var(--wd-primary-dark-color);
}
.lu-room-content .wd-post-meta {
  width: 100%;
}
.lu-room-content .lu-general-meta {
  width: 80%;
  margin: 0 auto 15px;
}
.lu-room-content .amenities-list ul {
  --list-mb: 5px;
  --li-mb: 5px;
  --li-pl: 0;
  font-size: 14px;
  line-height: 1;
  list-style-position: inside;
}
.lu-room-content .wd-style-line {
  margin-bottom: 5px;
  --wd-title-font-weight: 600;
}
.lu-room-content .wd-style-line .lu-divider-inner {
  --wd-div-width: 67%;
}
.lu-room-content .wd-style-line .wp-block-wd-title {
  font-size: 1.4em;
}
.lu-room-content .lu-room-excerpt {
  margin-bottom: 10px;
}
.lu-room-content .book-now-button {
  --btn-padding: 16px 68px;
  --btn-height: 48px;
  --btn-font-size: 18px;
  --btn-font-weight: 400;
  gap: 10px;
  background-color: var(--wd-primary-dark-color);
  color: var(--wd-alternative-color);
}
.lu-room-content .book-now-button:after {
  font-size: 22px;
  content: "\e925";
  font-family: "luciolesCal-font";
  font-weight: 300;
}

.lu-featured-room {
  font-size: 1.1em;
  color: var(--color-gray-400);
}
.lu-featured-room:before {
  content: "\f104";
  font-family: "woodmart-font";
}

.lu-room-share {
  font-size: 1.1em;
  color: var(--color-gray-400);
  transition: all 0.25s ease;
}
.lu-room-share:after {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1.2em;
  height: 1.5em;
  content: "\f117";
  font-family: "woodmart-font";
}
.lu-room-share:hover {
  color: var(--color-gray-500);
}
.lu-room-share .tooltip-inner {
  padding: 5px;
  max-width: fit-content;
}
.lu-room-share .wd-social-icons {
  flex-wrap: nowrap;
}

.lu-room-excerpt > div[class*=wpb_] {
  display: none;
}

.lu-room-read-more.wd-style-link {
  --wd-link-color: var(--wd-primary-color);
  --wd-link-color-hover: var(--wd-primary-color);
  text-transform: var(--btn-transform, uppercase);
  font-weight: 600;
  font-size: 0.9em;
}
.lu-room-read-more.wd-style-link a:hover {
  opacity: 0.8;
}

.room-style-bg .lu-room-content {
  padding: 25px;
}

@container room (max-width: 400px) {
  .lu-room-content .wd-post-title {
    line-height: 0.8;
    padding-block: 5px;
  }
  .lu-room-content .lu-general-meta {
    width: 100%;
  }
  .lu-room-content .wd-style-line .lu-divider-inner {
    --wd-div-width: 90%;
  }
  .lu-room-content .book-now-button {
    --btn-padding: 12px 36px;
    --btn-font-size: 16px;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .lu-rooms.wd-carousel-container .wd-nav-arrows {
    --wd-arrow-icon-size: 16px;
    --wd-arrow-width: 30px;
    --wd-arrow-height: 30px;
    --wd-arrow-offset-h: -10px;
  }
}
@media (max-width: 575.98px) {
  .lu-category-section .lu-rooms-cat-title {
    padding-block: 20px;
  }
  .lu-category-section .lu-rooms-cat-title.lu-divider {
    width: 80%;
    margin: 0 auto;
    --wd-row-gap: 15px;
    --wd-div-height: 12px;
    --wd-div-size: 30px;
  }
  .lu-category-section .lu-rooms-cat-title .title {
    max-width: 50%;
    width: min-content;
    --wd-font-size: 36px;
  }
  .lu-room {
    --wd-gap: 60px;
  }
  .lu-room .lucioles-availability-container {
    margin-bottom: 12px;
  }
  .lu-room .lucioles-availability-container .lucioles-room-availability {
    width: 90%;
    max-width: none;
  }
  .lu-room .lucioles-availability-container .lucioles-room-availability .availability-container {
    max-width: none;
  }
  .lu-room .lucioles-availability-container .lucioles-room-availability .availability-container .availability-indicator {
    height: 1.6rem;
  }
  .lu-room-content {
    gap: 4px;
  }
  .lu-room-content .lu-general-meta {
    width: 100%;
    margin-bottom: 8px;
  }
  .room-style-bg .lu-room-content {
    padding-inline: 15px;
  }
  .lu-room-content .lu-room-excerpt {
    line-height: 1.5;
  }
}