/**
 * カスタムスライダー用CSS
 * Slickスライダーのカスタムスタイルをここで管理
 */

/* ===================================
 * FV（ファーストビュー）スライダー
 * 横スクロール、無限ループ
 * =================================== */
.fv-slider {
  /* Slick初期化前のちらつき防止 */
  visibility: visible;
}

.fv-slider.slick-initialized {
  visibility: visible;
}

/* スライドトラックと親要素の高さ設定 */
.fv-slider.slick-slider,
.fv-slider .slick-list,
.fv-slider .slick-track {
  height: 100vh;
}

/* 各スライド要素のスタイル */
.fv-slider .slick-slide {
  position: relative;
  outline: none;
  height: 100vh;
  /* 横スクロール用：幅を維持 */
  float: left;
}

.fv-slider .slick-slide > div {
  height: 100vh;
  width: 50vw;
}

.fv-slider .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* スライドトラックの表示を最適化 */
.fv-slider .slick-track {
  display: flex;
  align-items: center;
}

/* ===================================
 * プランスライダー
 * 宿泊プランのカルーセル表示
 * =================================== */
.plan-slider {
  position: relative;
}

.plan-slider .slick-slide {
  outline: none;
}

/* 矢印のカスタムスタイル */
.plan-slider .slick-prev,
.plan-slider .slick-next {
  width: 100px;
  height: 100px;
  z-index: 10;
  border: 1px solid #F4F1EC; /* mastay-cream */
  border-radius: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  transition: all 0.3s ease;
}

.plan-slider .slick-prev {
  left: 0px;
  background-image: url('../images/arrow-right-white.svg');
  background-size: 40px 40px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
}

.plan-slider .slick-next {
  right: 0px;
  background-image: url('../images/arrow-right-white.svg');
  background-size: 40px 40px;
  top: 50%;
  transform: translateY(-50%);
}

.plan-slider .slick-prev:before,
.plan-slider .slick-next:before {
  content: '';
  display: none;
}

.plan-slider .slick-prev:hover,
.plan-slider .slick-next:hover {
  border-color: #F4F1EC;
  opacity: 1;
}

/* ドットナビゲーションのカスタムスタイル */
.plan-slider .slick-dots {
  bottom: -60px;
}

.plan-slider .slick-dots li button:before {
  font-size: 14px;
  color: #F4F1EC; /* mastay-cream */
  opacity: 0.4;
}

.plan-slider .slick-dots li.slick-active button:before {
  color: #F4F1EC; /* mastay-cream */
  opacity: 1;
}

/* レスポンシブ調整 */
@media (max-width: 1024px) {
  .plan-slider .slick-prev {
    left: -20px;
  }
  
  .plan-slider .slick-next {
    right: -20px;
  }

  .plan-slider .slick-prev,
  .plan-slider .slick-next {
    width: 48px;
    height: 48px;
    background-size: 20px 20px;
  }

  .plan-slider .slick-prev {
    left: 0px;
    background-image: url('../images/arrow-right-white.svg');
    background-size: 24px 24px;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
  }
  
  .plan-slider .slick-next {
    right: 0px;
    background-image: url('../images/arrow-right-white.svg');
    background-size: 24px 24px;
    top: 50%;
    transform: translateY(-50%);
  }

  .plan-slider .slick-dots li button:before {
    font-size: 8px;
    color: #F4F1EC; /* mastay-cream */
    opacity: 0.4;
  }
    /* ドットナビゲーションのカスタムスタイル */
  .plan-slider .slick-dots {
    bottom: -32px;
  }
}

/* ===================================
 * 客室画像スライダー
 * 客室詳細ページの画像スライダー
 * =================================== */
.room-image-slider {
  position: relative;
}

.room-image-slider .slick-slide {
  outline: none;
  padding: 0 20px;
}

/* 矢印のカスタムスタイル */
.room-image-slider .slick-prev,
.room-image-slider .slick-next {
  width: 50px;
  height: 50px;
  z-index: 10;
  top: unset;
  bottom: -76px;
}

.room-image-slider .slick-prev {
  left: 20px;
}

.room-image-slider .slick-next {
  right: 20px;
}

.room-image-slider .slick-prev:before,
.room-image-slider .slick-next:before {
  font-size: 1rem;
  color: #2D2D2D; /* mastay-dark */
  font-weight: 600;
}

.room-image-slider .slick-prev:before{
  content: 'PREV';
}

.room-image-slider .slick-next:before{
  content: 'NEXT';
}

/* ドットナビゲーションのカスタムスタイル */
.room-image-slider .slick-dots {
  bottom: -40px;
}

.room-image-slider .slick-dots li button:before {
  font-size: 12px;
  color: #4A596A; /* mastay-dark */
  opacity: 0.4;
}

.room-image-slider .slick-dots li.slick-active button:before {
  color: #4A596A; /* mastay-dark */
  opacity: 1;
}

/* レスポンシブ調整 */
@media (max-width: 768px) {
  .room-image-slider .slick-dots {
    bottom: -32px;
  }
  .room-image-slider .slick-prev,
  .room-image-slider .slick-next {
    bottom: -72px;
  }
}


.slick-initialized .flex.slick-slide{
  display: flex;
}

/* ===================================
 * ステイガイドスライダー
 * ステイガイド一覧ページのスライダー
 * =================================== */
.stayguide-slider {
  position: relative;
}

.stayguide-slider .slick-slide {
  outline: none;
  padding: 0 20px;
}

/* 矢印のカスタムスタイル */
.stayguide-slider .slick-prev,
.stayguide-slider .slick-next {
  width: 50px;
  height: 50px;
  z-index: 10;
  top: unset;
  bottom: -96px;
}

.stayguide-slider .slick-prev {
  left: 20px;
}

.stayguide-slider .slick-next {
  right: 20px;
}

.stayguide-slider .slick-prev:before,
.stayguide-slider .slick-next:before {
  font-size: 1rem;
  color: #2D2D2D; /* mastay-dark */
  font-weight: 600;
}

.stayguide-slider .slick-prev:before{
  content: 'PREV';
}

.stayguide-slider .slick-next:before{
  content: 'NEXT';
}

/* ドットナビゲーションのカスタムスタイル */
.stayguide-slider .slick-dots {
  bottom: -60px;
}

.stayguide-slider .slick-dots li button:before {
  font-size: 12px;
  color: #4A596A; /* mastay-dark */
  opacity: 0.4;
}

.stayguide-slider .slick-dots li.slick-active button:before {
  color: #4A596A; /* mastay-dark */
  opacity: 1;
}

/* レスポンシブ調整 */
@media (max-width: 767px) {
  .stayguide-slider .slick-dots {
    bottom: -60px;
  }
  .stayguide-slider .slick-prev,
  .stayguide-slider .slick-next {
    bottom: -96px;
  }
}