/* BOTANICAL NIGHT — responsive.css : カラム削減→縦積み（文字は縮小しない） */

/* ===== タブレット（〜1024px） ===== */
@media (max-width: 1024px) {
  .gallery-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .castfade { grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: 1.8rem; }
}

/* ===== モバイル（〜900px）：ドロワー化・縦積み・円形固定CTA ===== */
@media (max-width: 900px) {
  :root { --header-h: 62px; }
  .nav, .header__side .btn { display: none; }
  .hamburger { display: inline-flex; }

  .hero { align-items: flex-end; }
  .hero__copy { padding-top: calc(var(--header-h) + 3rem); padding-bottom: clamp(3rem, 12vw, 5rem); }
  .hero .botany--front-r { width: min(52vw, 300px); opacity: .7; }
  .hero .botany--front-l { width: min(58vw, 340px); opacity: .8; }
  .hero__scroll { display: none; }

  /* CAST フェード：ステージを上、情報を下に縦積み */
  .castfade { grid-template-columns: minmax(0,1fr); gap: 1.6rem; }
  .castfade__stage { max-width: 460px; margin-inline: auto; width: 100%; }

  /* CONCEPT 重ね：カードは写真の下にずらして重ねる */
  .overlap__media { width: 100%; }
  .overlap__card { margin: -3rem auto 0; width: min(100%, 560px); }

  /* MENU/SYSTEM・EVENT・ACCESS 縦積み */
  .mensys, .event, .access-grid { grid-template-columns: minmax(0,1fr); gap: 1.8rem; }
  .recruit__inner { grid-template-columns: minmax(0,1fr); gap: 1.4rem; }
  .footer__grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .footer__brand { grid-column: 1 / -1; }

  /* 固定CTA 表示・本文末尾に余白 */
  .cta-orbit { display: flex; }
  body { padding-bottom: var(--cta-h); }
}

/* ===== スモール（〜600px） ===== */
@media (max-width: 600px) {
  .gallery-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } /* 写真は2列を維持 */
  .footer__grid { grid-template-columns: minmax(0,1fr); }
  .footer__brand { grid-column: auto; }
  .castfade__profile div { grid-template-columns: 5.5rem minmax(0,1fr); }
  .access-dl > div { grid-template-columns: 6rem minmax(0,1fr); }
  .lightbox__nav--prev { left: 0; } .lightbox__nav--next { right: 0; }
  .lightbox__close { top: -3.4rem; }
  .today-strip { grid-auto-columns: minmax(168px, 78%); }
}

@media (max-width: 400px) {
  .cta-orbit { gap: .4rem; }
  .cta-orbit a { min-width: 50px; }
  .cta-orbit__ico { width: 48px; height: 48px; }
}

/* ===== 下層ページ：縦積み ===== */
@media (max-width: 900px) {
  .cd, .split2, .field-row { grid-template-columns: minmax(0,1fr); }
  .cd__pager { gap: .6rem; }
}
@media (max-width: 600px) {
  .castbig-grid { grid-template-columns: minmax(0,1fr); }
  .filters { gap: .4rem; }
  .cd__pager-link { font-size: .82rem; }
}

/* ===== デスクトップ：ドロワーとCTAは隠す（保険）・ページトップ位置 ===== */
@media (min-width: 901px) {
  .drawer { display: none; }
  .cta-orbit { display: none; }
  .pagetop { bottom: 1.4rem; }
}
