/**
 * responsive.css
 * iPad mini 6 / iPhone 16 Pro を軸としたレスポンシブ調整。
 * layout.css・components.css の上書き・微調整をここで行います。
 */

/* ─────────────────────────────
   ブレークポイント定義（参考）
   Mobile:  〜767px     iPhone 16 Pro（393px）
   Tablet:  768〜1023px iPad mini 6（744px）
   Desktop: 1024px〜
   Wide:    1280px〜
───────────────────────────── */

/* ─────────────────────────────
   タッチターゲット（Apple HIG準拠）
───────────────────────────── */
button, .btn,
input[type="submit"],
input[type="button"] {
  min-height: 44px;
  min-width: 44px;
}

/* ─────────────────────────────
   Wide（1280px以上）
───────────────────────────── */
@media (min-width: 1280px) {
  .section {
    padding: var(--space-2xl) var(--gutter);
  }
}

/* ─────────────────────────────
   Tablet（768〜1023px）
   iPad mini 6 メイン
───────────────────────────── */
@media (max-width: 1023px) {

  /* ヘッダー */
  .site-header {
    padding: 0 24px;
  }

  /* セクション余白を少し縮める */
  .section {
    padding: 64px 24px;
  }

  /* Hero */
  .hero__title {
    font-size: 36px;
  }

  /* 会長カード */
  .president-card {
    padding: 36px 32px;
    gap: 32px;
  }

  /* Heritage統計 */
  .heritage-stats {
    gap: 32px;
  }

  /* フッター */
  .site-footer {
    padding: 48px 24px 24px;
  }
}

/* ─────────────────────────────
   Mobile（〜767px）
   iPhone 16 Pro メイン
───────────────────────────── */
@media (max-width: 767px) {

  /* ヘッダー */
  .site-header {
    padding: 0 16px;
    height: 60px;
  }

  /* セクション余白 */
  .section {
    padding: var(--space-lg) var(--space-sm);
  }

  /* セクションタイトル */
  .section-title {
    font-size: 22px;
  }

  /* Hero */
  .hero {
    min-height: 100svh; /* iOSアドレスバー対応 */
  }

  .hero__title {
    font-size: 28px;
    letter-spacing: 0.08em;
  }

  .hero__title-en {
    font-size: 11px;
  }

  .hero__btns {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .hero__btns .btn {
    width: 100%;
    max-width: 280px;
    justify-content: center;
  }

  /* クラブ概要 */
  .about-facts {
    grid-template-columns: 1fr;
  }

  /* 会長カード */
  .president-card {
    grid-template-columns: 1fr;
    padding: 28px 20px;
    gap: 20px;
    text-align: center;
  }

  .president-card__photo {
    margin: 0 auto;
    width: 100px;
    height: 100px;
  }

  /* Heritage */
  .heritage-stats {
    flex-direction: column;
    gap: 24px;
  }

  .heritage__title {
    font-size: 28px;
  }

  /* フッター */
  .site-footer {
    padding: 40px 16px 24px;
  }

  .site-footer__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .footer-nav {
    align-items: flex-start;
  }

  /* 管理画面入力欄（iPad Safari ズーム防止） */
  input[type="text"],
  input[type="email"],
  input[type="password"],
  textarea,
  select {
    font-size: 16px !important;
  }
}

/* ─────────────────────────────
   印刷用
───────────────────────────── */
@media print {
  .site-header,
  .site-footer,
  .hamburger,
  .btn {
    display: none !important;
  }

  body {
    color: black;
    background: white;
  }
}