/* SOUND FLOW — responsive.css : カラム削減→縦積み（文字は縮小しない） */

/* デスクトップ狭幅帯（901〜1180px）：ナビが密集するので詰める＋LINE(ghost)を隠す */
@media (min-width: 901px) and (max-width: 1180px) {
  .nav { gap: clamp(.7rem, 1.3vw, 1.1rem); }
  .nav a { font-size: .9rem; }
  .head-actions .btn--ghost { display: none; }
  .site-head__inner { gap: .9rem; }
}

/* タブレット以下 */
@media (max-width: 1024px) {
  .seats-grid, .gal-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .event-card { grid-template-columns: minmax(0,1fr); }
  .event-card__media { order: -1; }
  .cd { grid-template-columns: minmax(0,1fr); }
  .rec-jobs { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* ===== モバイル（〜900px）：ドロワー化・縦積み・固定CTA ===== */
@media (max-width: 900px) {
  :root { --header-h: 62px; }
  .nav, .head-actions .btn { display: none; }
  .hamburger { display: inline-flex; }

  .hero { min-height: 92svh; }
  .hero__wave { bottom: 26%; height: 110px; }

  .menu-grid { grid-template-columns: minmax(0,1fr); gap: 2.2rem; }
  .reserve-grid { grid-template-columns: minmax(0,1fr); }
  .access-grid { grid-template-columns: minmax(0,1fr); }
  .footer__grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .footer__brand { grid-column: 1 / -1; }
  .rec-jobs { grid-template-columns: minmax(0,1fr); }
  .field-row { grid-template-columns: minmax(0,1fr); }

  /* 固定CTA 表示・本文末尾に余白 */
  .dockbar { display: block; }
  body { padding-bottom: calc(var(--cta-h) + 10px); }
}

/* ===== スモール（〜600px） ===== */
@media (max-width: 600px) {
  .seats-grid, .gal-grid { grid-template-columns: minmax(0,1fr); }
  .seats-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } /* 席は2列維持 */
  .cast-grid { grid-template-columns: minmax(0,1fr); }
  .rec-treat { grid-template-columns: minmax(0,1fr); }
  .related-grid { grid-template-columns: minmax(0,1fr); }
  .cd-nav { flex-direction: column; align-items: stretch; text-align: center; }
  .tl__row { grid-template-columns: 4.6rem minmax(0,1fr); gap: .9rem; }
  .menu-row { grid-template-columns: minmax(0,1fr); gap: .2rem; }
  .menu-row dd { color: var(--cyan-soft); }
  .sched-row { grid-template-columns: 60px minmax(0,1fr) auto; gap: .7rem; }
  .footer__grid { grid-template-columns: minmax(0,1fr); }
  .footer__brand { grid-column: auto; }
  .access-dl > div { grid-template-columns: 6rem minmax(0,1fr); }
  .lightbox__nav--prev { left: 0; } .lightbox__nav--next { right: 0; }
  .lightbox__close { top: -3rem; }
  .reserve-step { grid-template-columns: auto minmax(0,1fr); }
}

@media (max-width: 400px) {
  .seats-grid { grid-template-columns: minmax(0,1fr); }
}

/* デスクトップ：ドロワーとCTAは隠す（保険） */
@media (min-width: 901px) {
  .nav-drawer { display: none; }
  .dockbar { display: none; }
}
