/* -----------------------------------------
   ALL ROOMS SUMMARY PAGE & GALLERY
   客室ä¸?覧・詳細まとã‚?¼ˆギャラリー完å?連動版??
----------------------------------------- */
.rooms-detail-list {
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
  gap: 8rem; /* 部屋と部屋ã?間ã?ã‚?�£たりとした余白 */
}

.room-detail-block {
  width: 100%;
  scroll-margin-top: 150px !important;
}

.room-detail-row {
  display: flex;
  align-items: center;
  gap: 5rem;
}

/* å¥?•°番目?ˆまたã?reverseクラス?‰ã?左右反転ルール */
.room-detail-row.reverse {
  flex-direction: row-reverse;
}

/* =========================================
   画像ギャラリーエリア?ˆ縦長画像も全体表示??ƒŒ景ボカシで余白を消す??
========================================= */
.room-detail-visual {
  flex: 1.2;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

/* メイン画像エリア??16:10のサイズを完å?に維持する土台?? */
.main-image-wrapper {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  border: 1px solid var(--border) !important;
  position: relative !important; /* å†??の重なりを制御するためにå¿? ? */
  background: #000 !important;
}

/* メイン画像エリア??16:10のサイズを維持する土台?? */
.main-image-wrapper {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  /* 💡 解決?š枠線を 'none' に変更して完å?に消去しました */
  border: none !important; 
  background-color: #0a0a0a !important; 
}

/* 実際に手前に表示されるメイン画像ã?設定（見å?れなã�??体表示?? */
.gallery-main {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important; /* â˜?¸¦長画像でも絶対に見å?らせずã?�上から下まで全部写しまã�? */
  object-position: center !important; 
  display: block !important;
  transition: opacity 0.2s ease !important;
  position: relative !important;
  z-index: 2 !important; /* ボカした背景より手前に表示 */
}

/* ホバー時に画像が少し拡大するラグジュアリーなエフェクãƒ? */
.room-detail-block:hover .main-image-wrapper img {
  transform: scale(1.03);
}

/* 真下に並ぶサムネイル?ˆ横並び・等間隔に修正?? */
.thumbnail-slider {
  display: flex !important;
  gap: 10px !important; /* â˜??真同士の隙間ã‚?10pxに強制固å®? */
  overflow-x: auto !important;
  white-space: nowrap !important;
  width: 100% !important;
  padding-bottom: 4px !important;
  justify-content: flex-start !important; /* 左詰めで整åˆ? */
}

/* スクロールバã??ˆ黒背景に溶け込ã‚?極細ãƒ?‚¶イン?? */
.thumbnail-slider::-webkit-scrollbar {
  height: 2px;
}
.thumbnail-slider::-webkit-scrollbar-thumb {
  background: var(--border);
}

/* サムネイル単体ã?設定（サイズを強制固定ï¼? */
.thumb-img {
  width: 75px !important; 
  height: 75px !important;
  aspect-ratio: 1 / 1 !important; /* 正方形 */
  object-fit: cover !important;
  cursor: pointer !important;
  border: 1px solid transparent !important;
  opacity: 0.5 !important;
  transition: all 0.2s ease !important;
  flex-shrink: 0 !important; /* 横に潰れるのを絶対に防ã�? */
}

.thumb-img:hover {
  opacity: 0.9 !important;
}

/* 選択中のサムネイル */
.thumb-img.active {
  border-color: var(--gold) !important;
  opacity: 1 !important;
}

/* =========================================
   ãƒ?‚­ストエリア
========================================= */
.room-detail-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  text-align: left;
}

.room-detail-cat {
  font-family: 'Cinzel', serif;
  font-size: 0.65rem;
  letter-spacing: 0.3em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 0.8rem;
}

.room-detail-name {
  font-size: 2rem;
  color: var(--white);
  margin-bottom: 1.5rem;
  font-weight: 400;
}

.room-detail-desc {
  font-size: 0.88rem;
  color: var(--text);
  line-height: 2;
  margin-bottom: 2rem;
  text-align: justify;
}

/* 部屋ごとのミニスペック表 */
.room-detail-content .room-spec-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2.5rem;
}

.room-detail-content .room-spec-table th,
.room-detail-content .room-spec-table td {
  padding: 0.8rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 0.85rem;
}

.room-detail-content .room-spec-table th {
  color: var(--gold);
  width: 25%;
  text-align: left;
  font-weight: 400;
}

.room-detail-content .room-spec-table td {
  color: var(--muted);
  font-weight: 300;
}

/* ボタンサイズを少しコンパクトに調整 */
.reserve-btn.btn-sm {
  padding: 0.7rem 2rem !important;
  font-size: 0.8rem !important;
  display: inline-block !important;
  text-decoration: none;
}

/* =========================================
   --- スマã?・タブレãƒ?ƒˆ対応ï¼?1024px以下で1列にæœ?適化ï¼? ---
========================================= */
@media screen and (max-width: 1024px) {
  .rooms-detail-list {
    gap: 5rem;
  }
  
  .room-detail-row,
  .room-detail-row.reverse {
    flex-direction: column !important; /* 強制çš?�«縦並び */
    gap: 2rem;
  }
  
  .room-detail-visual {
    width: 100%;
    flex: none;
  }
  
  .room-detail-content {
    width: 100%;
    flex: none;
  }
  
  .room-detail-name {
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
  
  .room-detail-content .room-spec-table th {
    width: 30%;
  }
}