/* ════════════════════════════════════════════════════════════════
   fs-size.css — 新しい共通デザインの「大きさ」（本文 16px・補足 14px・ボタンと入力欄の高さ 48px）
   ─ 元: docs/design_proposals/theme-a2.css の、大きさに関わる部分。色は fs-color.css。
   ─ デザインの決まり（確定版・第2版）のとおり: 本文 16px／補足 14px／大見出し 24px／
     カードの名前 19px／枠の見出し 17px／ボタンと入力欄の高さ 48px。
     旧案（本文 18px・ボタン 56px）は 2026-10-02 にやめた。
   ─ 効くのは <body class="... fs-size"> の画面だけ。目印は画面ごとに
       {% block fs_body_class %}fs-size{% endblock %}
     で付ける（今はログイン・招待・パスワード変更・ホーム）。
   ─ 今ある機能の画面には付けない: 小さいボタン（btn-sm）146 か所・小さい入力欄 45 か所・
     詰めた表（table-sm）21 か所が全部大きくなり、表が崩れるため。機能ごとに 1 画面ずつ
     目印を付けて確かめる（計画の STEP4）。
   ─ いちばん後ろに読み込む（style.css の .table th などに勝つため）。
   ─ 変更の一覧: docs/DESIGN_SHARED_PARTS.md
   ════════════════════════════════════════════════════════════════ */

body.fs-size {
  --bs-body-font-size: 1rem;          /* 本文 16px */
  --bs-body-line-height: 1.65;
  font-size: var(--bs-body-font-size);
  line-height: var(--bs-body-line-height);
}

.fs-size h1, .fs-size .h1 { font-size: 1.5rem; font-weight: 700; }                        /* 大見出し 24px */
.fs-size h2, .fs-size .h2 { font-size: 1.1875rem; font-weight: 700; }                     /* カードの名前 19px（枠の見出しは 17px・fs-home.css） */
.fs-size h3, .fs-size .h3 { font-size: 1.0625rem; font-weight: 700; }                     /* 小見出し 17px */
.fs-size small, .fs-size .small, .fs-size .form-text { font-size: .875rem; }              /* 補足 14px */

/* ボタン：高さ 48px・文字 16px */
.fs-size .btn { --bs-btn-font-weight: 700; --bs-btn-padding-y: .5rem; --bs-btn-padding-x: 1.25rem; --bs-btn-font-size: 1rem; --bs-btn-border-radius: 8px; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; white-space: nowrap; }
.fs-size .btn-lg { --bs-btn-padding-y: .625rem; --bs-btn-padding-x: 1.75rem; --bs-btn-font-size: 1.125rem; min-height: 56px; }
/* 枠の中の小さめのボタン（見本の .btn-sm-56）。それでも 40px は確保する。 */
.fs-size .btn-sm, .fs-size .btn-sm-56 { --bs-btn-padding-y: .375rem; --bs-btn-padding-x: .875rem; --bs-btn-font-size: .9375rem; min-height: 40px; }
.fs-size .btn-close { min-height: 0; }

/* 入力欄：高さ 48px・文字 16px */
.fs-size .form-label { font-weight: 700; font-size: 1rem; margin-bottom: .375rem; }
.fs-size .form-control, .fs-size .form-select, .fs-size .input-group-text { min-height: 48px; font-size: 1rem; }
.fs-size .form-check-input { width: 1.25em; height: 1.25em; margin-top: .22em; }
.fs-size .form-check-label { padding-left: .25rem; }

/* 表・バッジ・お知らせ枠 */
.fs-size .table { font-size: 1rem; }
.fs-size .table > thead th { font-size: 1rem; font-weight: 700; padding: .75rem; }
.fs-size .table td { padding: .75rem; vertical-align: middle; }
.fs-size .badge { font-size: .875rem; font-weight: 700; padding: .35em .7em; border-radius: 4px; display: inline-flex; align-items: center; gap: .3em; }
.fs-size .alert { border-width: 1px 1px 1px 6px; border-radius: 8px; font-size: 1rem; display: flex; gap: 12px; align-items: flex-start; }
.fs-size .alert > .bi { font-size: 1.25rem; line-height: 1.3; }
