@charset "utf-8";
/* ==========================================================================
   Coffret Couleur ─ 詳細ページ PC用CSS（769px以上でのみ適用）
   base.css の土台に対し、PC専用のレイアウト（多列・横並び）を上乗せする
   HTML側で <link media="screen and (min-width:769px)"> により読み込む
   ========================================================================== */

/* ②カードグリッド：PCは3列 */
.card-grid{ grid-template-columns:repeat(3, 1fr); }

/* ------------------------------------------------------------------
   商品詳細：ギャラリー（4枚）＝ 大1枚＋サムネ、または均等4枚
   ------------------------------------------------------------------ */
/* ギャラリーv2：PC = 大窓（左）＋サムネ縦列（右） */
.gallery-v2{
  display:grid;
  grid-template-columns:1fr 160px;
  gap:16px;
  align-items:start;
}
.gallery-v2__main{
  position:relative; border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 8px 30px rgba(104,127,130,.14);
  background:var(--paper-warm);
}
.gallery-v2__main-img{
  width:100%; aspect-ratio:16/10; object-fit:cover;
  display:block;
  transition:opacity .25s ease;
}
.gallery-v2__main-img.switching{ opacity:0; }
.gallery-v2__main-label{
  position:absolute; bottom:16px; right:16px;
  font-size:10px; letter-spacing:.26em;
  color:#fff; background:rgba(40,50,50,.55);
  padding:5px 12px; border-radius:100px;
  backdrop-filter:blur(4px);
}
.gallery-v2__thumbs{
  display:flex; flex-direction:column; gap:10px;
  list-style:none; margin:0; padding:0;
}
.gallery-v2__thumbs li{
  position:relative; cursor:pointer; border-radius:12px;
  overflow:hidden;
  border:2px solid transparent;
  box-shadow:0 3px 10px rgba(104,127,130,.10);
  transition:border-color .25s ease, box-shadow .25s ease;
}
.gallery-v2__thumbs li:hover{ border-color:var(--sage-mist); }
.gallery-v2__thumbs li.active{ border-color:var(--sage-deep); box-shadow:0 4px 16px rgba(104,127,130,.22); }
.gallery-v2__thumbs li img{
  width:100%; aspect-ratio:16/10; object-fit:cover; display:block;
}
.gallery-v2__thumbs li span{
  position:absolute; bottom:0; left:0; right:0;
  font-size:9px; letter-spacing:.18em;
  text-align:center; padding:4px 0;
  background:rgba(40,50,50,.52); color:#fff;
}

/* 意味（word）セクション：左に大きな語、右に本文 */
.meaning__grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:center; }
.meaning__word .jp{ font-size:64px; }
.meaning__word .en{ font-size:30px; }

/* 料金表：2カラム（Engagement / Marriage）横並び */
.price__cols{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }

/* 店舗詳細：情報バーを横並び、アクセスは地図と情報を2列 */
.infobar{ display:flex; flex-wrap:wrap; justify-content:center; gap:0; }
.infobar__item{ flex:1; min-width:200px; padding:26px 30px; border-left:1px solid var(--line); }
.infobar__item:first-child{ border-left:0; }
.access__grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:stretch; }
.access__map{ min-height:380px; }

/* 店舗紹介：画像とテキストの横組み */
.about__grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }

/* ヘッダーはPCで常にナビ表示 */
.gnav{ display:block; }

/* セットリング4枚：PC4列 */
.setring-grid{ grid-template-columns:repeat(4,1fr); }

/* 公式価格表：PC余白 */
.price__official{ max-width:900px; margin-inline:auto; }
