.gallery-section {
  padding-top: 60px;
  padding-bottom: 36px;
}

.room-rentals-contact .contact-container {
  align-items: stretch;
  padding-top: 30px;
  padding-bottom: 64px;
}

.room-rentals-contact .contact-right-div {
  width: 480px;
  display: flex;
  box-sizing: border-box;
  padding-bottom: 0;
}

.room-rentals-contact .contact-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 24px;
}

.room-rentals-contact .contact-response-note {
  margin-top: -12px;
}

.about-section {
  padding-top: 40px;
  padding-bottom: 48px;
}

.about-title-text-1 {
  margin-bottom: 8px !important;
}

.choose-section {
  background-color: var(--bg-second);
  padding-top: 32px;
  padding-bottom: 50px;
}

.choose-head-div {
  margin-bottom: 72px;
}

.choose-list {
  justify-content: center;
  align-items: flex-start;
  gap: 120px;
}

.choose-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.choose-item-img {
  width: 90px;
  height: 90px;
  object-fit: contain;
  display: block;
  margin: 0 auto 18px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  row-gap: 56px;
  column-gap: 56px;
  margin-bottom: 36px;
}

.room-card {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 18px;
  min-width: 0;
}

.room-slider {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.room-slider-description {
  width: 100%;
  max-width: 100%;
  margin: 0;
  line-height: 1.45;
  text-align: left;
}

.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 400px;
}

.swiper,
.swiper * {
  user-select: none;
  -webkit-user-select: none;
}

.gallery-img {
  pointer-events: auto;
  -webkit-user-drag: none;

  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-img {
  width: 100%;
  max-width: 600px;
  border-radius: 10px;
}

.room-slider+.gallery-btn-div {
  margin-top: 40px;
}

.gallery-text-div-1,
.gallery-text-div-2 {
  max-width: 100%;
  margin: 0;
  text-align: left;
}

.gallery-text-text {
  width: 100%;
}

.gallery-text-div-1,
.gallery-text-div-2 {
  margin-block: 0;
}

.about-abs-div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas:
    "primary-text primary-image"
    "secondary-image secondary-text";
  column-gap: 60px;
  row-gap: 20px;
  align-items: start;
}

.about-text-div,
.about-abs-div > .about-img-wrap {
  min-width: 0;
}

.about-text-div-primary {
  grid-area: primary-text;
}

.about-text-div-secondary {
  grid-area: secondary-text;
}

.about-img-wrap-primary {
  grid-area: primary-image;
}

.about-img-wrap-secondary-desktop {
  grid-area: secondary-image;
}

.about-img-wrap {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

.about-img-wrap-primary {
  height: 560px;
}

.about-img-wrap-secondary {
  height: 460px;
}


.about-img {
  margin-top: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-text-3 {
  text-align: justify;
}

.about-text-3-compact {
  margin-bottom: 30px;
}

.room-slider .swiper-button-next,
.room-slider .swiper-button-prev {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid var(--primary);
  border-radius: 50%;
  background-color: transparent;
  color: var(--primary);
  font-size: 24px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  position: absolute;
  z-index: 12;
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.room-slider .swiper-button-next::before,
.room-slider .swiper-button-prev::before {
  content: "";
  position: absolute;
  inset: -14px;
}

.room-slider .swiper-button-next::after,
.room-slider .swiper-button-prev::after {
  font-family: inherit;
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
}

.room-slider .swiper-button-next::after {
  content: "\276F";
  transform: none;
  margin-left: 0;
}

.room-slider .swiper-button-prev::after {
  content: "\276E";
  transform: none;
  margin-left: 0;
}

.room-slider .swiper-button-next:hover,
.room-slider .swiper-button-prev:hover {
  background-color: var(--primary);
  color: var(--text-main);
}

.room-slider .swiper-button-next:focus-visible,
.room-slider .swiper-button-prev:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

.lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: rgba(0, 0, 0, 0.9);
  justify-content: center;
  align-items: center;
}

.lightbox-img {
  max-width: 90%;
  max-height: 90%;
}

.lightbox-close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 40px;
  color: white;
  cursor: pointer;
}

.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 40px;
  color: white;
  cursor: pointer;
  user-select: none;
  padding: 20px;
}

@media (min-width:751px) and (max-width:1366px),
       (min-device-width:751px) and (max-device-width:1366px) {
  .room-rentals-contact .contact-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 40%);
    align-items: stretch;
    column-gap: 20px;
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .room-rentals-contact .contact-left-div {
    width: auto;
    min-width: 0;
  }

  .room-rentals-contact .contact-container > div.contact-right-div {
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    align-self: stretch;
    display: block;
    position: relative;
    overflow: hidden;
  }

  .room-rentals-contact .contact-container > div.contact-right-div .contact-img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.lightbox-nav.left {
  left: 20px;
}

.lightbox-nav.right {
  right: 20px;
}

@media (max-width: 980px) {
  .about-abs-div {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
  }

  .about-img-wrap-primary,
  .about-img-wrap-secondary {
    height: auto;
  }

  .gallery-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .room-slider .swiper-button-next,
  .room-slider .swiper-button-prev {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
    font-size: 22px;
    border-width: 2px;
  }

  .room-slider .swiper-button-next::after,
  .room-slider .swiper-button-prev::after {
    font-size: 22px;
  }
}

@media (max-width:750px), (max-device-width:750px) {
  .about-decor-1,
  .about-decor-2 {
    width: clamp(250px, 64vw, 340px);
    max-width: 340px;
    opacity: 0.86;
  }

  .about-decor-1 {
    left: -18%;
    top: 10px;
  }

  .about-decor-2 {
    right: -18%;
    top: 10px;
  }

  .room-slider {
    touch-action: pan-y pinch-zoom;
  }

  .room-slider .swiper-button-next,
  .room-slider .swiper-button-prev {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    border-width: 2px;
    font-size: 24px;
    background-color: rgba(255, 255, 255, 0.28);
    z-index: 25;
    pointer-events: auto;
    touch-action: manipulation;
    position: absolute;
  }

  .room-slider .swiper-button-prev {
    left: max(12px, env(safe-area-inset-left));
  }

  .room-slider .swiper-button-next {
    right: max(12px, env(safe-area-inset-right));
  }

  .room-slider .swiper-button-next::after,
  .room-slider .swiper-button-prev::after {
    font-size: 20px;
  }

  .about-abs-div {
    gap: 14px;
  }

  .about-text-div-primary .about-text-3 {
    margin-bottom: 10px;
  }

  .choose-list {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 42px;
  }

  .choose-item {
    width: 100%;
    max-width: 340px;
  }

  .choose-item-text {
    width: 100%;
  }

  .about-section {
    padding-bottom: 48px;
  }
}
