/* SKYLINE GRADIENT — responsive.css : モバイル情報順序を設計（縦積みの単純化はしない） */

/* ===== ~1024px : タブレット ===== */
@media (max-width: 1024px) {
  .footer__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .footer__brand { grid-column: 1 / -1; }
  .cast-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .detail { grid-template-columns: minmax(0, 1fr); }
  .rc-hero { grid-template-columns: minmax(0, 1fr); }
}

/* ===== ~900px : ナビ→ドロワー・固定CTA表示 ===== */
@media (max-width: 900px) {
  .nav, .header__cta { display: none; }
  .burger { display: inline-flex; }
  .cta-bar { display: block; }
  /* 固定CTA分の余白（フッター末行を隠さない） */
  body { padding-bottom: calc(var(--cta-h) + env(safe-area-inset-bottom)); }
  .pagetop { bottom: calc(var(--cta-h) + 14px + env(safe-area-inset-bottom)); }

  .hero__in { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .skyswitch { justify-self: start; }

  .status { margin-top: calc(var(--sec-py) * -0.35); }
  .status__panel { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .status__item { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; padding-top: 1rem; }

  .seats__grid { grid-template-columns: minmax(0, 1fr); }
  .seattabs { grid-auto-flow: column; grid-auto-columns: minmax(180px, 1fr); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .4rem; }
  .seattab { scroll-snap-align: start; }

  .ds { grid-template-columns: minmax(0, 1fr); }
  .access { grid-template-columns: minmax(0, 1fr); }
  .news-list { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .cast-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ===== ~600px : スマホ ===== */
@media (max-width: 600px) {
  .cast-grid, .cast-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .news-list { grid-template-columns: minmax(0, 1fr); }
  .prof { grid-template-columns: minmax(0, 1fr); }
  .related__list { grid-template-columns: minmax(0, 1fr); }
  .field--row { grid-template-columns: minmax(0, 1fr); }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-cell:nth-child(5) { grid-column: span 2; }
  .footer__in { grid-template-columns: minmax(0, 1fr); }
  .access__info dl { grid-template-columns: 5rem 1fr; }
  .hero__actions .btn { flex: 1 1 auto; }
  .skyswitch { width: 100%; }
  .skyswitch__row { justify-content: space-between; }
  .today__scroll { grid-auto-columns: minmax(140px, 72%); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .4rem; }
  .today-card { scroll-snap-align: start; }
  .status__flag { font-size: 1.2rem; }
}

/* ===== ~380px : 最小 ===== */
@media (max-width: 380px) {
  .cta-bar a { font-size: .8125rem; }
  .brand__sub { display: none; }
}
