/* =============================================
   Xcompetition 2026 LP — sp.css
   スマートフォン用レスポンシブ（〜600px）
   ============================================= */

@media (max-width: 600px) {
  /* ----- Header / Nav ----- */
  /* ▼ ロゴサイズ（スマホ） */
  .logo { width: 65%; height: auto; }
  .logo img { width: 100%; }

  /* ----- Hero ----- */
  .hero { padding: 82px 20px 48px; min-height: 100svh; }

  /* 1カラムに切り替え：上=キャッチ、下=バッジ+日程 */
  .hero-inner { grid-template-columns: 1fr; gap: 16px; }

  .hero-headline { font-size: 1.75rem; }

  /* SP では hero-right を横並びにしてバッジ＋日程を並列表示 */
  .hero-right {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
  }

  /* バッジを通常フローに戻す（黒背景・金枠・金文字は style.css から継承） */
  .hero-badge {
    position: static;
    width: 88px;
    height: 88px;
    font-size: 1.05rem;
    border-width: 2px;
    flex-shrink: 0;
  }

  /* SP のみラベルを表示 */
  .hero-label { display: block; }

  .hero-day     { font-size: 1.5rem; }
  .hero-time    { font-size: 1rem; }

  /* フィーチャーボックス: SP でも横並び維持・コンパクト化 */
  .hero-features { margin-top: 20px; border-radius: 8px; }
  .feature-item  { padding: 14px 8px; gap: 8px; }
  .feature-icon  { width: 28px; height: 28px; }
  .feature-item p { font-size: 0.7rem; }

  .hero-venue { margin-top: 8px; font-size: 0.72rem; }

  .hero-scroll-hint { display: none; }

  /* ----- Main Stage ----- */
  .speakers-grid { grid-template-columns: 1fr; gap: 16px; }
  .speakers-grid .speaker-card:nth-child(n) { grid-column: auto; }
  .speaker-card {
    display: grid;
    grid-template-columns: 150px 1fr;
    grid-template-rows: auto 1fr;
  }
  .speaker-time  { grid-column: 1 / 3; }
  .speaker-photo { aspect-ratio: auto; height: 160px; min-height: unset; }

  /* ----- Sponsor Booth ----- */
  .booth-calendar { flex-direction: column; gap: 12px; }
  .cal-day        { min-width: auto; }

  /* ----- Sponsor Listings ----- */
  .sponsor-grid { grid-template-columns: repeat(2, 1fr); gap: 5px; }
  .sponsor-logo { font-size: 0.85rem; }

  /* ----- Reasons ----- */
  .reason-card { grid-template-columns: auto 1fr; grid-template-rows: auto auto; }
  .reason-num  { padding:10px; font-size: 1.5rem; }
  .reason-img  { grid-column: 1 / 3; width: 100%;}

  /* ----- Schedule ----- */
  .schedule-list { flex-direction: column; gap: 0; }
  .schedule-item { padding: 24px 16px; border-bottom: 1px solid rgba(201,168,76,0.15); }
  .schedule-item:last-child { border-bottom: none; }
  .schedule-item + .schedule-item::before { display: none; }
  .schedule-time { font-size: 1.6rem; }

  /* ----- CTA ----- */
  .cta-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 48px 0 40px;
    gap: 20px;
  }
  .cta-left { width: 100%; }
  .cta-headline { white-space: normal; font-size: 1.45rem; }
  .cta-badge {
    position: absolute;
    top: 16px; left: 16px;
    width: 72px; height: 72px;
    font-size: 0.7rem;
  }
  .cta-btn { font-size: 1rem; padding: 16px 28px; width: 100%; justify-content: center; }

  /* ----- Model Wanted ----- */
  .model-slide img { height: 260px; }
  .model-cards-wrap { grid-template-columns: 1fr; gap: 24px; }
  .model-card-inner { padding: 24px 16px 20px; }
  .model-box--row { flex-direction: column; gap: 12px; }
  .model-flow-pair { grid-template-columns: 1fr; }
  .model-conditions-grid { grid-template-columns: 1fr; gap: 8px; }

  /* ----- Event Overview ----- */
  .overview-table th { width: 80px; padding: 14px 12px; font-size: 0.78rem; }
  .overview-table td { padding: 14px 12px; font-size: 0.82rem; }

  /* ----- Past Events ----- */
  .img-past { height: 240px; }

  /* ----- Section padding ----- */
  .section-stage,
  .section-reasons,
  .section-overview,
  .section-past,
  .section-access,
  .section-sponsors,
  .section-booth { padding: 56px 0; }
}
