/* 힐링 프로그램 최종 캐러셀 레이아웃 */
.special-offers .special-offers-list {
  position: relative !important;
  box-sizing: border-box;
  width: min(calc(100% - 40px), 1440px) !important;
  max-width: 1440px !important;
  padding: 0 72px 80px !important;
  overflow: hidden !important;
}

.special-offers .special-offers-list .swiper-wrapper {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 32px !important;
  width: 100% !important;
  height: auto !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory;
  transform: none !important;
  scrollbar-width: none;
}

.special-offers .special-offers-list .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.special-offers .special-offers-item {
  box-sizing: border-box;
  flex: 0 0 calc((100% - 64px) / 3) !important;
  width: calc((100% - 64px) / 3) !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.special-offers .special-offers-item > a {
  display: block !important;
}

.special-offers .special-offers-item-img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden;
  border-radius: 16px !important;
}

.special-offers .special-offers-item-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.special-offers .special-offers-item-content {
  box-sizing: border-box;
  min-height: 230px !important;
  padding: 22px 2px 0 !important;
}

.special-offers .special-offers-item-content .title {
  margin-bottom: 12px !important;
  font-size: 27px !important;
  line-height: 1.25 !important;
}

.special-offers .special-offers-item-content .offer-desc,
.special-offers .special-offers-item-content > .description {
  display: block !important;
  min-height: 58px !important;
  margin-bottom: 12px !important;
  overflow: visible !important;
  color: #4f5752 !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  white-space: normal !important;
  text-overflow: clip !important;
  word-break: keep-all;
}

.special-offers .special-offers-item-content .offer-tag {
  display: flex !important;
  flex-wrap: wrap;
  gap: 4px 10px;
  min-height: 0 !important;
  white-space: normal !important;
}

.special-offers .special-offers-list > .swiper-button-prev,
.special-offers .special-offers-list > .swiper-button-next {
  display: grid !important;
  position: absolute !important;
  z-index: 20;
  top: 34% !important;
  width: 54px !important;
  height: 54px !important;
  margin: 0 !important;
  border: 0;
  border-radius: 50%;
  place-items: center;
  background: rgba(24, 24, 24, .82) !important;
  color: #fff !important;
  transform: translateY(-50%);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
}

.special-offers .special-offers-list > .swiper-button-prev { left: 8px !important; }
.special-offers .special-offers-list > .swiper-button-prev { right: auto !important; }
.special-offers .special-offers-list > .swiper-button-next { right: 8px !important; left: auto !important; }
.special-offers .special-offers-list > .swiper-button-prev::after { content: "‹" !important; }
.special-offers .special-offers-list > .swiper-button-next::after { content: "›" !important; }
.special-offers .special-offers-list > .swiper-button-prev::after,
.special-offers .special-offers-list > .swiper-button-next::after {
  font-size: 34px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

.special-offers .special-offers-list > .swiper-button-disabled {
  opacity: .35 !important;
}

.special-offers .swiper-scrollbar {
  display: none !important;
}

@media (max-width: 1206px) {
  .special-offers .special-offers-item {
    flex-basis: calc((100% - 32px) / 2) !important;
    width: calc((100% - 32px) / 2) !important;
  }
}

@media (max-width: 767px) {
  .aside-mobile-copy .special-offers .special-offers-list {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 0 56px !important;
    overflow: hidden !important;
  }

  .aside-mobile-copy .special-offers .special-offers-list .swiper-wrapper {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 20px !important;
    overflow-x: auto !important;
  }

  .aside-mobile-copy .special-offers .special-offers-item {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .aside-mobile-copy .special-offers .special-offers-item-img {
    aspect-ratio: 4 / 3 !important;
  }

  .aside-mobile-copy .special-offers .special-offers-item-content {
    min-height: 220px !important;
    padding-top: 20px !important;
  }

  .aside-mobile-copy .special-offers .special-offers-list > .swiper-button-prev,
  .aside-mobile-copy .special-offers .special-offers-list > .swiper-button-next {
    top: 30% !important;
    width: 44px !important;
    height: 44px !important;
  }
}

/* 모든 대형 캐러셀의 이전/다음 화살표를 양쪽 끝에 분리 고정 */
.facilities .facilities-list > .swiper-button-prev,
.attraction .attraction-list > .swiper-button-prev {
  right: auto !important;
  left: 24px !important;
}

.facilities .facilities-list > .swiper-button-next,
.attraction .attraction-list > .swiper-button-next {
  right: 24px !important;
  left: auto !important;
}

@media (max-width: 767px) {
  .aside-mobile-copy .facilities .facilities-list > .swiper-button-prev,
  .aside-mobile-copy .attraction .attraction-list > .swiper-button-prev {
    right: auto !important;
    left: 8px !important;
  }

  .aside-mobile-copy .facilities .facilities-list > .swiper-button-next,
  .aside-mobile-copy .attraction .attraction-list > .swiper-button-next {
    right: 8px !important;
    left: auto !important;
  }
}

/* 체험 프로그램 화살표도 힐링 프로그램과 같은 디자인으로 통일 */
.events-promotions .event-promotion-list {
  padding-right: 72px !important;
  padding-left: 72px !important;
}

.events-promotions .event-promotion-list > .swiper-button-prev,
.events-promotions .event-promotion-list > .swiper-button-next {
  display: grid !important;
  position: absolute !important;
  z-index: 20;
  top: 34% !important;
  bottom: auto !important;
  width: 54px !important;
  height: 54px !important;
  margin: 0 !important;
  border: 0;
  border-radius: 50%;
  place-items: center;
  background: rgba(24, 24, 24, .82) !important;
  color: #fff !important;
  transform: translateY(-50%);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
  opacity: 1 !important;
  cursor: pointer !important;
}

.events-promotions .event-promotion-list > .swiper-button-prev {
  right: auto !important;
  left: 8px !important;
}

.events-promotions .event-promotion-list > .swiper-button-next {
  right: 8px !important;
  left: auto !important;
}

.events-promotions .event-promotion-list > .swiper-button-prev::after,
.events-promotions .event-promotion-list > .swiper-button-next::after {
  font-size: 34px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

/* 순환 캐러셀은 양 끝에서도 화살표를 비활성화하지 않음 */
.events-promotions .event-promotion-list > .swiper-button-disabled,
.special-offers .special-offers-list > .swiper-button-disabled {
  opacity: 1 !important;
  cursor: pointer !important;
}

@media (max-width: 767px) {
  .aside-mobile-copy .events-promotions .event-promotion-list {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .aside-mobile-copy .events-promotions .event-promotion-list > .swiper-button-prev,
  .aside-mobile-copy .events-promotions .event-promotion-list > .swiper-button-next {
    top: 30% !important;
    width: 44px !important;
    height: 44px !important;
  }
}
