/* =========================================================
   SITE 53 AURORA PRISM — responsive
   確認幅: 360/390/430/768/1024/1280/1440/1920
   モバイルは縦積み・横スクロール禁止・本文16px維持・タップ44px以上
   ========================================================= */

/* タブレット以下: グローバルナビをドロワーへ */
@media (max-width: 960px) {
  .nav, .header-cta { display: none; }
  .hamburger { display: inline-flex; }

  .event__feature { grid-template-columns: minmax(0, 1fr); }
  .event__media { order: -1; }
  .concept__grid { grid-template-columns: minmax(0, 1fr); }
  .concept__media { order: -1; }
  .access__grid { grid-template-columns: minmax(0, 1fr); }
  .access__media { order: -1; }
}

/* 中間帯（1024付近）でも席・料金が詰まらないよう検証済み */
@media (min-width: 961px) and (max-width: 1120px) {
  .nav { gap: 14px; }
  .nav__link { font-size: 0.875rem; }
}

/* 大画面: ヒーローのコピー幅に上限 */
@media (min-width: 1440px) {
  .hero__inner { max-width: 900px; }
}

/* スマホ */
@media (max-width: 640px) {
  :root { --header-h: 64px; }

  .gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .hero { min-height: 92svh; align-items: flex-end; }
  .hero__scroll { display: none; }

  .today__list { grid-template-columns: minmax(0, 1fr); }

  .event__switch { gap: 8px; }
  .event__tab { font-size: 0.875rem; padding: 0 14px; }

  .news__item { gap: 8px 14px; }
  .news__date { min-width: 100px; }

  .footer__top { flex-direction: column; gap: 24px; }

  /* 固定CTA: 小型フローティングを画面下・横並びの小型ピルに */
  .fab { right: 8px; left: 8px; bottom: 10px; flex-direction: row; justify-content: space-between; gap: 6px; }
  .fab__btn { flex: 1 1 0; min-width: 0; height: 50px; justify-content: center; padding: 0 6px; font-size: 0.75rem; letter-spacing: 0.02em; }
  .fab__btn .ico { display: none; }
  .to-top { display: none; }

  /* 固定CTA分、フッター末尾に余白を確保して本文を隠さない */
  .site-footer { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
}

/* 極小幅（360）でもレール1枚が破綻しない */
@media (max-width: 380px) {
  .rail__card { flex-basis: 78vw; }
  .hero__brand { font-size: 2.4rem; }
}
