/* ==========================================================================
   アクロトーキョー。× OISHII.inc — SHINJUKU COLLECTION vol.01
   共通フォーマット LP スタイル

   トークン設計:
   --ink      : ベースの背景（黒に近い）
   --paper    : 明色テキスト / カード地
   --signal   : 全体を貫く赤いアクセントライン（"新宿コレクション"共通の糸）
   --gold     : 値札・価格まわりの金属アクセント
   各グループは --g1 / --g2 / --g-soft をセクション単位で上書きする
   ========================================================================== */

:root{
  --ink: #0b0b0d;
  --ink-2: #131316;
  --paper: #f5f1ea;
  --paper-dim: #cfc9bd;
  --signal: #ff2d55;
  --signal-dim: #ff2d5566;
  --gold: #cdb87a;
  --radius-s: 2px;
  --radius-m: 4px;
  --ease: cubic-bezier(.22,.61,.36,1);

  --font-display: "Shippori Mincho", serif;
  --font-eyebrow: "Zen Kaku Gothic New", sans-serif;
  --font-body: "Noto Sans JP", sans-serif;
  --font-tag: "JetBrains Mono", monospace;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

body{
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }
button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; -webkit-tap-highlight-color:transparent; }
a{ color:inherit; text-decoration:none; }
:focus-visible{ outline:2px solid var(--signal); outline-offset:3px; }

/* --------------------------------------------------------------------
   プレースホルダー素材（納品時点で仮画像が無いための共通表現）
-------------------------------------------------------------------- */
.placeholder-media{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 2px, transparent 2px 14px),
    linear-gradient(160deg, var(--g1, #333), var(--g2, #111));
  border:1px dashed rgba(245,241,234,.35);
  border-radius:var(--radius-m);
}
.placeholder-tag{
  position:absolute;
  bottom:.6em; left:50%;
  transform:translateX(-50%);
  font-family:var(--font-tag);
  font-size:.62rem;
  letter-spacing:.06em;
  padding:.4em .8em;
  background:rgba(11,11,13,.55);
  border:1px solid rgba(245,241,234,.35);
  border-radius:20px;
  white-space:nowrap;
  color:var(--paper-dim);
}

/* ==========================================================================
   ヘッダー（グループ切り替えタブ）
   ========================================================================== */
.gnav{
  position:sticky; top:0; z-index:40;
  display:flex; align-items:center; gap:clamp(.6rem,2vw,2rem);
  padding:.7rem clamp(1rem,3vw,2.2rem);
  background:rgba(11,11,13,.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(245,241,234,.12);
}
.gnav__lockup{
  display:flex; align-items:baseline; gap:.35em;
  font-family:var(--font-display);
  font-size:clamp(.7rem,1.6vw,.95rem);
  white-space:nowrap;
  flex:0 0 auto;
}
.gnav__lockup-x{ color:var(--signal); font-weight:700; }
.gnav__lockup-oishii i{ font-style:normal; opacity:.7; }

.gnav__tabs{
  display:flex; gap:.35rem;
  flex:1 1 auto;
  overflow-x:auto;
  scrollbar-width:none;
}
.gnav__tabs::-webkit-scrollbar{ display:none; }

.gnav__tab{
  position:relative;
  display:flex; align-items:center; gap:.5em;
  padding:.45em .8em;
  border-radius:30px;
  font-family:var(--font-eyebrow);
  font-size:.72rem;
  font-weight:700;
  color:var(--paper-dim);
  border:1px solid rgba(245,241,234,.16);
  white-space:nowrap;
  transition:color .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
}
.gnav__tab-mark{
  display:grid; place-items:center;
  width:1.5em; height:1.5em;
  border-radius:50%;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.85em;
  background:rgba(245,241,234,.1);
}
.gnav__tab[data-group="aimai"] .gnav__tab-mark{ color:#f7b7cd; }
.gnav__tab[data-group="mizutama"] .gnav__tab-mark{ color:#8fe4f5; }
.gnav__tab[data-group="shokuzai"] .gnav__tab-mark{ color:#ff8fa3; }

.gnav__tab.is-active{
  color:var(--ink);
  border-color:transparent;
}
.gnav__tab[data-group="aimai"].is-active{ background:#ec4d79; color:var(--paper); }
.gnav__tab[data-group="mizutama"].is-active{ background:#49c9e0; }
.gnav__tab[data-group="shokuzai"].is-active{ background:#8a2338; color:var(--paper); }
.gnav__tab.is-active .gnav__tab-mark{ background:rgba(11,11,13,.18); color:inherit; }

.gnav__event-link{
  flex:0 0 auto;
  font-family:var(--font-tag);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  padding:.5em .9em;
  border:1px solid var(--signal);
  border-radius:30px;
  color:var(--signal);
  white-space:nowrap;
  transition:background .2s var(--ease), color .2s var(--ease);
}
.gnav__event-link:hover{ background:var(--signal); color:var(--ink); }

@media (max-width:640px){
  .gnav__lockup-oishii, .gnav__lockup-x{ display:none; }
  .gnav__tab-label{ display:none; }
  .gnav__tab{ padding:.4em; }
  .gnav__tab-mark{ width:1.9em; height:1.9em; font-size:1rem; }
}

/* ==========================================================================
   スクロール進捗レール（PCのみ）
   ========================================================================== */
.rail{
  position:fixed; right:1.1rem; top:50%; transform:translateY(-50%);
  z-index:35;
  display:flex; flex-direction:column; gap:.85rem;
}
.rail__dot span{
  display:block; width:8px; height:8px; border-radius:50%;
  background:rgba(245,241,234,.28);
  transition:background .25s var(--ease), transform .25s var(--ease);
}
.rail__dot.is-active span{
  background:var(--signal);
  transform:scale(1.5);
}
@media (max-width:900px){ .rail{ display:none; } }

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative;
  min-height:100svh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  padding:6rem 1.5rem 5rem;
  overflow:hidden;
}
.hero__bg{
  position:absolute; inset:0;
  overflow:hidden;
}
.hero__bg-video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  object-position:center 15%;
  filter:brightness(.62) saturate(1.05) blur(.5px);
}
.hero__bg-scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(11,11,13,.6) 0%, rgba(11,11,13,.35) 38%, rgba(11,11,13,.92) 100%),
    radial-gradient(circle at 50% 85%, #7a0e2233 0%, transparent 55%);
}
.hero__eyebrow{
  position:relative;
  font-family:var(--font-tag);
  font-size:.75rem;
  letter-spacing:.28em;
  color:var(--signal);
  margin:0 0 1.4rem;
}
.hero__eyebrow span{ color:var(--paper-dim); margin-left:.5em; }
.hero__title{
  position:relative;
  margin:0 0 1.1rem;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(2.1rem,7vw,4.6rem);
  line-height:1.15;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.15em .3em;
}
.hero__title-cross{ color:var(--signal); font-size:.7em; }
.hero__title-line i{ font-style:normal; opacity:.75; font-size:.7em; }
.hero__copy{
  position:relative;
  max-width:32em;
  margin:0 0 2.2rem;
  color:var(--paper-dim);
  font-size:clamp(.9rem,1.6vw,1.05rem);
  line-height:1.9;
}
.hero__marks{
  position:relative;
  list-style:none; margin:0 0 3.2rem; padding:0;
  display:flex; gap:1.6rem; flex-wrap:wrap; justify-content:center;
  font-family:var(--font-eyebrow); font-size:.8rem; font-weight:700;
  color:var(--paper-dim);
}
.hero__marks li{ display:flex; align-items:center; gap:.5em; }
.hero__marks-dot{ width:9px; height:9px; border-radius:50%; }
.hero__marks-dot--aimai{ background:#ec4d79; }
.hero__marks-dot--mizutama{ background:#49c9e0; }
.hero__marks-dot--shokuzai{ background:#b23349; }

.hero__scroll{
  position:relative;
  display:flex; flex-direction:column; align-items:center; gap:.6rem;
  font-family:var(--font-tag); font-size:.65rem; letter-spacing:.3em;
  color:var(--paper-dim);
}
.hero__scroll i{
  width:1px; height:34px;
  background:linear-gradient(var(--paper-dim), transparent);
  animation:scrollHint 1.8s ease-in-out infinite;
}
@keyframes scrollHint{
  0%{ transform:scaleY(0); transform-origin:top; opacity:0; }
  40%{ transform:scaleY(1); transform-origin:top; opacity:1; }
  60%{ transform:scaleY(1); transform-origin:bottom; opacity:1; }
  100%{ transform:scaleY(0); transform-origin:bottom; opacity:0; }
}
.hero__event-pill{
  position:relative;
  margin-top:2.4rem;
  padding:.75em 1.4em;
  border:1px solid var(--signal-dim);
  border-radius:30px;
  font-size:.78rem;
  font-weight:700;
  color:var(--paper);
  background:linear-gradient(90deg, transparent, rgba(255,45,85,.12), transparent);
  transition:border-color .25s var(--ease), background .25s var(--ease);
}
.hero__event-pill:hover{ border-color:var(--signal); }

/* ==========================================================================
   GROUP セクション（共通フォーマット）
   ========================================================================== */
.group{
  position:relative;
  padding:clamp(4rem,9vw,7rem) clamp(1.2rem,4vw,2rem) clamp(5rem,10vw,8rem);
  background:linear-gradient(180deg, var(--ink) 0%, var(--ink-2) 100%);
  border-top:1px solid rgba(245,241,234,.08);
}
.group__inner{
  max-width:960px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
}

/* 動画 */
/* 動画（9:16 縦動画を想定した共通フォーマット） */
.group__video{
  position:relative;
  width:100%;
  max-width:340px;
  aspect-ratio:9/16;
  --g1: var(--group-c1); --g2: var(--group-c2);
  border-radius:var(--radius-m);
  overflow:hidden;
  box-shadow:0 20px 46px -20px rgba(0,0,0,.6);
}
.group__video--real{ border:1px solid rgba(245,241,234,.18); }
.group__video-el{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  background:var(--ink-2);
}
.group__video .group__video-play{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  z-index:2;
}
.group__video--real.is-playing .group__video-play{ opacity:0; pointer-events:none; }
.group__video--real::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.35) 100%);
  pointer-events:none;
  transition:opacity .3s var(--ease);
}
.group__video--real.is-playing::after{ opacity:0; }
.group__video-play{
  position:relative; z-index:1;
  width:4.2rem; height:4.2rem;
  border-radius:50%;
  background:rgba(11,11,13,.55);
  border:1px solid rgba(245,241,234,.5);
  display:grid; place-items:center;
  transition:transform .25s var(--ease), background .25s var(--ease);
}
.group__video-play:hover, .group__video-play:focus-visible{
  transform:translate(-50%,-50%) scale(1.08);
  background:rgba(11,11,13,.75);
}
.group__video-play svg{ width:1.5rem; height:1.5rem; fill:var(--paper); margin-left:3px; }

/* グループ名 */
.group__name{
  margin:1.6rem 0 .4rem;
  text-align:center;
  line-height:1.1;
}
.group__name-ja{
  display:block;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.9rem,5.2vw,3.2rem);
  color:var(--group-c1);
}
.group__name-logo{
  display:block;
  width:auto;
  max-width:min(78vw,340px);
  height:auto;
  margin:0 auto;
  filter:drop-shadow(0 6px 26px rgba(0,0,0,.45));
}
.group__name-en{
  display:block;
  margin-top:.3em;
  font-family:var(--font-tag);
  font-size:.68rem;
  letter-spacing:.35em;
  color:var(--paper-dim);
}
.group__tagline{
  margin:0 0 1.1rem;
  color:var(--paper-dim);
  font-size:.88rem;
  text-align:center;
}
.group__about{
  max-width:34em;
  margin:0 0 2.6rem;
  color:var(--paper-dim);
  font-size:.78rem;
  line-height:1.9;
  text-align:center;
  opacity:.85;
}

/* 集合カット */
.group__photo{
  width:100%;
  aspect-ratio:3/2;
  --g1: var(--group-c2); --g2: var(--group-c1);
  margin-bottom:2.8rem;
}
.group__photo--real{
  border-radius:var(--radius-m);
  overflow:hidden;
  box-shadow:0 20px 46px -20px rgba(0,0,0,.6);
}
.group__photo--real img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}

/* メンバー顔ワイプ */
.group__members{
  width:100%;
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:clamp(.6rem,1.6vw,1.1rem);
}
.group__members--2x2{ grid-template-columns:repeat(4,1fr); }

.member{
  display:flex; flex-direction:column; align-items:center; gap:.55rem;
  text-align:center;
}
.member__face{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  border-radius:50%;
  --g1: var(--group-c1); --g2: var(--group-c2);
  border:2px solid rgba(245,241,234,.5);
  transition:transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.member__face .placeholder-tag{ display:none; }
.member__face-init{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.1rem;
  color:var(--paper);
  opacity:.85;
}
.member__face--photo{ border:2px solid rgba(245,241,234,.5); background:none; }
.member__face--photo img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center 30%;
  border-radius:50%;
  display:block;
}
.member:hover .member__face, .member:focus-visible .member__face{
  transform:translateY(-4px);
  border-color:var(--group-c1);
  box-shadow:0 8px 20px -8px var(--group-c1);
}
.member__name{
  font-size:.7rem;
  font-weight:700;
  color:var(--paper);
  line-height:1.3;
}
.member__name small{
  display:block;
  font-weight:500;
  color:var(--paper-dim);
  font-size:.9em;
}

@media (max-width:760px){
  .group__members{ grid-template-columns:repeat(2,1fr); grid-auto-flow:row; }
  .group__members--2x2{ grid-template-columns:repeat(2,1fr); }
  .group__members .member{ }
}
/* SP: 2×3 (6人) / 贖罪のみ 2×2 (4人) を明示的に固定 */
@media (max-width:760px){
  .group[data-group="aimai"] .group__members,
  .group[data-group="mizutama"] .group__members{
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:repeat(3,auto);
  }
  .group[data-group="shokuzai"] .group__members{
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:repeat(2,auto);
  }
}

/* グループ固有カラー割当 */
.group--aimai{ --group-c1:#ec4d79; --group-c2:#4a0f2a; }
.group--aimai .group__name-logo{
  background:rgba(245,241,234,.92);
  padding:1.1rem 1.6rem;
  border-radius:10px;
}
.group--mizutama{ --group-c1:#49c9e0; --group-c2:#123a56; }
.group--shokuzai{ --group-c1:#b23349; --group-c2:#12060a; }
.group--shokuzai{ background:linear-gradient(180deg, var(--ink) 0%, #0e0709 100%); }
.group--shokuzai .group__name-ja{ color:#c94a5f; text-shadow:0 0 26px rgba(178,51,73,.45); }
.group--shokuzai .placeholder-media{
  background:
    repeating-linear-gradient(135deg, rgba(178,51,73,.09) 0 2px, transparent 2px 14px),
    radial-gradient(140% 110% at 50% 15%, var(--g1,#333) 0%, var(--g2,#111) 100%);
  border-color:rgba(178,51,73,.4);
}
.group--shokuzai .member__face{ border-color:rgba(178,51,73,.5); }
.group--shokuzai .member:hover .member__face,
.group--shokuzai .member:focus-visible .member__face{
  border-color:var(--group-c1);
  box-shadow:0 8px 24px -8px #6e0f22;
}

/* ==========================================================================
   EVENT DETAILS
   ========================================================================== */
.event{
  padding:clamp(4.5rem,9vw,7rem) clamp(1.2rem,4vw,2rem) clamp(5rem,9vw,7rem);
  background:var(--ink);
  border-top:1px solid rgba(245,241,234,.1);
}
.event__inner{ max-width:760px; margin:0 auto; }
.event__eyebrow{
  font-family:var(--font-tag);
  font-size:.7rem; letter-spacing:.25em;
  color:var(--signal);
  margin:0 0 .8rem;
}
.event__title{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.7rem,4.4vw,2.4rem);
  margin:0 0 .5rem;
}
.event__date{
  font-family:var(--font-tag);
  font-size:.95rem;
  font-weight:700;
  letter-spacing:.1em;
  color:var(--paper);
  margin:0 0 2.2rem;
}
.event__lead{
  font-size:.86rem;
  line-height:2;
  color:var(--paper-dim);
  margin:0 0 1.4rem;
}
.event__lead:last-of-type{
  margin-bottom:3rem;
  padding-bottom:2.4rem;
  border-bottom:1px solid rgba(245,241,234,.16);
}
.event__block{
  margin:0 0 2.6rem;
  padding-bottom:2.2rem;
  border-bottom:1px solid rgba(245,241,234,.14);
}
.event__block:last-of-type{ border-bottom:none; }
.event__block--callout{
  padding:1.6rem 1.6rem;
  background:rgba(255,45,85,.06);
  border:1px solid rgba(255,45,85,.3);
  border-bottom:1px solid rgba(255,45,85,.3);
  border-radius:6px;
}
.event__block--callout .event__block-label{ color:var(--paper); }
.event__block-label{
  font-family:var(--font-tag);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.2em;
  color:var(--signal);
  margin:0 0 .5rem;
}
.event__block-venue{
  font-family:var(--font-eyebrow);
  font-weight:700;
  font-size:1rem;
  margin:0 0 .8rem;
}
.event__block-desc{
  font-size:.85rem;
  line-height:1.9;
  color:var(--paper-dim);
  margin:0 0 1.2rem;
}
.event__block-sub{
  font-family:var(--font-eyebrow);
  font-weight:700;
  font-size:.78rem;
  color:var(--paper);
  margin:1.4rem 0 .6rem;
}
.event__timetable{
  width:100%;
  border-collapse:collapse;
  margin:0 0 .8rem;
  font-size:.85rem;
}
.event__timetable td{
  padding:.55rem 0;
  border-bottom:1px solid rgba(245,241,234,.12);
}
.event__timetable td:first-child{
  font-family:var(--font-tag);
  color:var(--paper-dim);
  width:9em;
}
.event__block-note{
  font-size:.72rem;
  line-height:1.8;
  color:var(--paper-dim);
  opacity:.8;
  margin:0 0 .4rem;
}
.event__bullets{
  margin:0 0 .4rem;
  padding-left:1.2rem;
  font-size:.85rem;
  line-height:1.9;
  color:var(--paper-dim);
}
.event__bullets li{ margin-bottom:.3rem; }
.event__bullets--prize li{ list-style:none; margin-left:-1.2rem; padding-left:0; }
.event__prize-tag{
  display:inline-block;
  margin-right:.6em;
  padding:.15em .6em;
  font-family:var(--font-tag);
  font-weight:700;
  font-size:.72rem;
  color:var(--ink);
  background:var(--gold);
  border-radius:3px;
}
.event__note-strong{
  font-size:.85rem;
  line-height:1.9;
  color:var(--paper);
  margin:0 0 2.4rem;
}
.event__contact{
  font-size:.78rem;
  line-height:2;
  color:var(--paper-dim);
  margin:0 0 1.4rem;
  padding-top:1.6rem;
  border-top:1px solid rgba(245,241,234,.16);
}
.event__note{
  font-size:.75rem;
  color:var(--paper-dim);
  line-height:1.8;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.ftr{
  padding:2.6rem 1.5rem 3.2rem;
  text-align:center;
  background:var(--ink);
}
.ftr__logos{
  font-family:var(--font-display);
  font-size:1rem; font-weight:700;
  margin-bottom:.6rem;
}
.ftr__x{ color:var(--signal); margin:0 .4em; }
.ftr__copy{ font-size:.7rem; color:var(--paper-dim); }

/* ==========================================================================
   LIGHTBOX（顔タップ→拡大＋商品タグ）
   ========================================================================== */
.lightbox{
  position:fixed; inset:0; z-index:100;
  display:flex; align-items:center; justify-content:center;
  padding:1.4rem;
  opacity:0; pointer-events:none;
  transition:opacity .25s var(--ease);
}
.lightbox.is-open{ opacity:1; pointer-events:auto; }
.lightbox__scrim{
  position:absolute; inset:0;
  background:rgba(6,6,8,.86);
  backdrop-filter:blur(6px);
}
.lightbox__panel{
  position:relative;
  width:min(560px,100%);
  max-height:92svh;
  overflow-y:auto;
  background:var(--ink-2);
  border:1px solid rgba(245,241,234,.18);
  border-radius:8px;
  transform:translateY(14px) scale(.98);
  transition:transform .3s var(--ease);
}
.lightbox.is-open .lightbox__panel{ transform:translateY(0) scale(1); }
.lightbox__close{
  position:absolute; top:.7rem; right:.9rem; z-index:2;
  width:2.2rem; height:2.2rem;
  border-radius:50%;
  background:rgba(11,11,13,.6);
  font-size:1.3rem; line-height:1;
  display:grid; place-items:center;
}
.lightbox__media{
  position:relative;
  width:100%; aspect-ratio:2/3;
  overflow:hidden;
  border-radius:8px 8px 0 0;
  background:var(--ink-2);
}
.lightbox__track{
  display:flex;
  width:100%; height:100%;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
}
.lightbox__track::-webkit-scrollbar{ display:none; }
.lightbox__slide{
  flex:0 0 100%;
  width:100%; height:100%;
  scroll-snap-align:start;
  --g1: var(--group-c1); --g2: var(--group-c2);
}
.lightbox__slide img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.lightbox__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:2.4rem; height:2.4rem;
  border-radius:50%;
  background:rgba(11,11,13,.55);
  border:1px solid rgba(245,241,234,.4);
  color:var(--paper);
  font-size:1.4rem;
  line-height:1;
  display:grid; place-items:center;
  transition:background .2s var(--ease), opacity .2s var(--ease);
  z-index:2;
}
.lightbox__nav:hover{ background:rgba(11,11,13,.8); }
.lightbox__nav--prev{ left:.7rem; }
.lightbox__nav--next{ right:.7rem; }
.lightbox__media.is-start .lightbox__nav--prev,
.lightbox__media.is-end .lightbox__nav--next{ opacity:0; pointer-events:none; }
.lightbox__media.is-single .lightbox__nav{ display:none; }
.lightbox__dots{
  position:absolute; bottom:.8rem; left:50%; transform:translateX(-50%);
  display:flex; gap:.4rem;
  z-index:2;
}
.lightbox__media.is-single .lightbox__dots{ display:none; }
.lightbox__dot{
  width:6px; height:6px;
  border-radius:50%;
  background:rgba(245,241,234,.4);
  transition:background .2s var(--ease), transform .2s var(--ease);
}
.lightbox__dot.is-active{ background:var(--paper); transform:scale(1.3); }
.lightbox__info{ padding:1.4rem 1.4rem 1.6rem; }
.lightbox__group{
  font-family:var(--font-tag);
  font-size:.65rem; letter-spacing:.2em;
  color:var(--paper-dim);
  margin:0 0 .3rem;
}
.lightbox__name{
  font-family:var(--font-display);
  font-size:1.5rem; font-weight:800;
  margin:0 0 1.1rem;
}
.lightbox__name small{
  display:inline-block; margin-left:.6em;
  font-family:var(--font-body);
  font-weight:500; font-size:.55em;
  color:var(--paper-dim);
}
.lightbox__tags{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6rem; }

/* 値札モチーフ：商品の回し込み表示 */
.tag{
  position:relative;
  display:flex; align-items:center; gap:.7rem;
  padding:.6rem .9rem .6rem 1.4rem;
  background:var(--paper);
  color:var(--ink);
  border-radius:2px;
  transform:rotate(-1deg);
}
.tag:nth-child(even){ transform:rotate(1deg); }
.tag::before{
  content:"";
  position:absolute; left:.55rem; top:50%; transform:translateY(-50%);
  width:7px; height:7px;
  border-radius:50%;
  border:1.5px solid var(--ink);
  background:transparent;
}
.tag__label{
  font-family:var(--font-eyebrow);
  font-weight:700;
  font-size:.72rem;
}
.tag__price{
  margin-left:auto;
  font-family:var(--font-tag);
  font-weight:700;
  font-size:.82rem;
  color:#6b5b1f;
}
.tag__price small{ font-family:var(--font-body); font-weight:500; margin-left:.2em; }
