/* =========================================================
   policy.css — 약관/개인정보 문서 페이지 (policy.php)
   모바일: 기존 모양 유지 (구 인라인 스타일을 클래스로 이관)
   웹: 문서형 셸 — 페이지 헤드 + 좌 목차(비스티키) / 우 본문
   색·모서리·모션은 --tt-* 토큰(tokens.css)만 사용
   ========================================================= */

/* ─── 문서 공통 (구 인라인 스타일 이관 — 모바일 기준값) ─── */
.policy-doc-title {
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
}
.policy-doc-body {
  padding: 0 0.9375rem;
  font-size: 0.875rem;
  line-height: 1.7;
  text-align: left;
  color: #333;
}
.is-mobile .policy-content { padding: 1.25rem 0; }

/* ─── 웹 문서 셸 (공용 골격 → page-shell.css) ───
   body 바닥고정·셸 flex/폭/margin·헤드 패딩·헤드 타이틀 타이포·
   하단 2컬럼 그리드·목차 컨테이너 거터·목차 라벨 = 3면(mypage·cs·policy) 공용 */
.is-web .policy-toc-list a {
  display: block;
  padding: 0.375rem 0.75rem;
  margin: 0 -0.75rem;
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.45;
  letter-spacing: -0.01em;
  color: var(--tt-ink-2);
  text-decoration: none;
  transition: background-color 0.12s var(--tt-ease), color 0.12s var(--tt-ease);
}
.is-web .policy-toc-list a:hover { background: var(--tt-sunken); color: var(--tt-ink); }

/* 목차 없는 문서(요약본 등) — JS 가 부여, 본문 1열 */
.is-web .policy-body-grid--single { grid-template-columns: minmax(0, 1fr); }
.is-web .policy-body-grid--single .policy-pane { padding-left: 0; }

/* 본문 pane 거터 → page-shell.css. 가독폭 제한만 유지 (DESIGN.md measure) */
.is-web .policy-content { max-width: 42.5rem; }
.is-web .policy-doc-title { display: none; } /* 페이지 헤드 h1 이 타이틀 담당 — 본문 브래킷 타이틀 중복 숨김 */
.is-web .policy-doc-body {
  padding: 0;
  font-size: 0.9375rem;
  line-height: 1.8;
  color: var(--tt-ink);
}
/* 조항 제목 — 콘텐츠 파일의 <b>는 전수 조항 헤딩(제N조/부칙/번호).
   블록 제목화 + 뒤따르는 <br> 흡수. 모바일·웹 공통(가독), 웹은 한 단계 크게 */
.policy-doc-body b {
  display: block;
  margin: 1.875rem 0 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.4;
  color: var(--tt-ink);
}
.policy-doc-body b + br { display: none; }
.is-web .policy-doc-body b {
  margin: 2.25rem 0 0.625rem;
  font-size: 1.0625rem;
  scroll-margin-top: 1.25rem;
}
