/* 약관·개인정보처리방침 문서 페이지 (TASK-096 본체, T96-D01)
   ⚠ 레이아웃 명시 목록 필수 — application.html.erb의 stylesheet_link_tag 목록에 넣어야
   로드된다 (TASK-086 H1b: :app 벌크 로드 폐기 — 구 T40-D05 전제 stale, 실누락 사고 T96-D13).
   상단 헤더 = shared/_page_header 표준(sticky 76px) — h2 앵커 착지가 헤더에 가리지 않게
   scroll-margin-top 확보 (가입 동의 화면이 #collection 등 앵커로 직링크). */

.policy-page {
  max-width: 640px;
  margin: 0 auto;
  padding: var(--space-5) var(--space-page) var(--space-10);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
  color: var(--color-fg-muted);
  word-break: keep-all;
  overflow-wrap: break-word;
}

.policy-page h2 {
  margin: var(--space-7) 0 var(--space-2);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-fg);
  scroll-margin-top: calc(var(--size-header-lg) + var(--space-2));
}

.policy-page p {
  margin: 0 0 var(--space-2);
}

.policy-page ul {
  margin: 0 0 var(--space-2);
  padding-left: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.policy-meta {
  font-size: var(--font-size-xs);
  color: var(--color-fg-subtle);
  margin-bottom: var(--space-4);
}

.policy-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--font-size-xs);
  line-height: var(--line-height-tight);
  margin: var(--space-2) 0 var(--space-3);
}

.policy-table th,
.policy-table td {
  border: 1px solid var(--color-border);
  padding: var(--space-1-5) var(--space-2);
  text-align: left;
  vertical-align: top;
}

.policy-table th {
  background: var(--color-bg-muted);
  font-weight: var(--font-weight-medium);
  color: var(--color-fg);
}

.policy-appendix {
  margin-top: var(--space-6);
  font-weight: var(--font-weight-medium);
  color: var(--color-fg);
}
