/* ══════════════════════════════════════════════════════════════════════════
   법률 문서(이용약관·개인정보처리방침 ko/en) 본문 · 동의 화면 고지 표 정본 — 2026-09-28 신설

   🔴 왜 있는가 — 같은 `.legal-body` 규칙이 **템플릿 4개의 `<style>` 에 따로** 있었다(글자 크기만 0.9/0.88rem 로 갈렸고,
      그 편차는 도입 커밋 cca2ed356 에 이유가 없다 → 0.88rem 한 값). 한 곳을 고쳐도 나머지 셋이 남는 구조였다.
      `style.css` 는 19화면 범용이라 자리가 아니다("정본은 자기 파일에 산다" — content-table.css 선례).

   🔴 표 머리글(`th`)에 `white-space: nowrap` 을 걸지 않는다.
      nowrap 은 열의 최소 폭을 **라벨 길이로 고정**한다 — 폰에서 모든 열이 그 하한에 눌려, 가장 긴 본문 칸("제공 항목")이
      짧은 열과 같은 67px 를 받아 행 높이가 1,051px 까지 늘었다(2026-09-28 dev 실측 · 방침 360px). 머리글도 전역 정본
      (`keep-all` + `break-word` — 어절 단위)으로 접는다. 데이터 표 정본의 nowrap 은 **조작 열 머리**의 이야기라 이 표와 다르다.
      실측 효과: 360px 넘치는 표 5→2 · 최대 행 1,051→713px · 어절 중간 끊김 0.
   🔴 그래도 남는 넘침(띄어쓰기 없는 긴 덩어리 — `개인정보분쟁조정위원회`·URL)은 래퍼(`.table-responsive`) 가로 스크롤로 두고,
      넘칠 때만 가장자리 흐림 신호를 단다(`data-scroll-hint` → `scroll-hint.js`). 칸 `overflow-wrap:anywhere` 는 어절 중간 끊김
      130곳이라 기각, 폰 세로 쌓기는 `rowspan` 표의 묶음 머리가 사라져 기각(plan/2026-09-28/analysis_results-20260928-180559.md ④).
   규약 정본: frontend_guide §4.0-B "읽기 전용 콘텐츠 표" · 가드 `TypographyCanonGuardTest`
   ══════════════════════════════════════════════════════════════════════════ */

.legal-body h5 { margin-top: 1.75rem; }
.legal-body h5:first-of-type { margin-top: 0; }
/* [2026-10-16] 조항 바로가기(`/user/terms#refund` — 홈페이지·하단 환불 정책 링크)가 sticky 상단바 아래로 숨지 않게
   🔴 [2026-10-17] 5rem → 7rem — 로그인하면 상단이 두 줄(navbar + subnav · PC·태블릿 실측 ≈93px)이라 5rem(80px)에선 제목이 바 뒤로 숨었다
   (AI 조교 착륙 `/user/privacy#minor` 가 드러냄). 두 바 높이는 Bootstrap 여백이 정해 토큰이 없다 — 세 대역 × 로그인·로그아웃으로 잰다. */
.legal-body h5[id] { scroll-margin-top: 7rem; }
.legal-body ol { padding-left: 1.2rem; }
.legal-body ol > li { margin-bottom: 0.35rem; }
.legal-body table { font-size: 0.88rem; }
.legal-body table th { background: #f1f5f9; }
.legal-highlight { background: #fffbeb; border: 1px solid #fcd34d; border-radius: 10px; }

/* ── 동의 화면 고지 표(`.notice-table`) — 2026-09-29 이관 ─────────────────────────────────────────────
   보호자 동의 확인(guardian-consent-confirm)·연동 동의 확인(link-guardian-confirm) 두 템플릿 `<style>` 에 따로 있었고
   벌써 갈라져 있었다(머리글 폭 28% / 26%). 둘 다 머리글 nowrap 이라 위 규칙과 같은 병 — 320px 에서 36·43px,
   연동 화면은 360px 에서도 넘쳤다(dev 실측 · plan/2026-09-29 완료보고). 머리글은 어절 단위로 접고 폭 비율도 두지 않는다.
   🔴 `.notice-value` = **사용자 값만 든 칸**(상대 이메일 등)에만 국소 `anywhere` — 한국어 본문 칸에 걸면 어절 중간이
      끊긴다(같은 실측에서 6곳). 문구 안의 긴 덩어리로 남는 넘침은 래퍼 `data-scroll-hint` 로 둔다(위 규칙과 같다). */
.notice-table { font-size: 0.82rem; }
/* [2026-10-08] 학생 관리(테마 화면)도 이 표를 쓴다(공용 조각 `fragments/third-party-notice.html`) — 색은 테마 토큰, 토큰 없는 auth 화면은 폴백 값 그대로 */
.notice-table th { background: var(--t-surface-2, #f1f5f9); font-weight: 700; color: var(--t-on-surface, #475569); vertical-align: top; }
.notice-table td { color: var(--t-on-surface, #475569); }
.notice-table .notice-value { overflow-wrap: anywhere; }
