@charset "UTF-8";
/* ============================================================
   정책 페이지 (개인정보 처리방침 · 이용약관) 본문 스타일
   - sub-page.css 의 content-body 디자인 토큰을 그대로 재사용
   - 본문(POLICY_CN)은 CKEditor plain 태그(h2/h3/p/ul/table.policy-table)
     이므로 .policy-content 스코프로 토큰을 매핑한다.
   ============================================================ */

/* nolnb 레이아웃 보정 — 정책 페이지(개인정보 처리방침·이용약관) 전용 스코프.
   .sub-page .container 는 LNB(좌) + 본문(우) 2단 flex 배치를 기본으로 하지만,
   이 페이지는 LNB 없이 page-header → content-body 만 직접 자식으로 가지므로
   flex-row 때문에 헤더가 좌측으로 찌그러진다. block 으로 전환해 세로로 쌓는다.
   특이도 (0,3,0) 으로 전역 `.sub-page .container`(0,2,0)를 소스 순서와 무관하게 덮어쓴다. */
.sub-page.policy-page .container {
  display: block;
}

.policy-content {
  font-size: var(--fs-body);
  line-height: 1.7;
  color: var(--color-gray-700);
}

.policy-content > *:first-child {
  margin-top: 0;
}

/* 조문 제목 (## 제N조 → h2) — content-body__title 톤 + 하단 구분선 */
.policy-content h2 {
  font-size: var(--fs-title-sm);
  font-weight: var(--fw-bold);
  color: var(--color-gray-900);
  line-height: 1.3;
  letter-spacing: var(--ls-tight);
  margin: var(--gap-layout-h3-top, 2.5rem) 0 var(--space-4);
  padding-bottom: var(--space-2);
  border-bottom: 2px solid var(--color-gray-900);
}

.policy-content h2:first-child {
  margin-top: 0;
}

/* 소제목 (### → h3) */
.policy-content h3 {
  font-size: var(--fs-title-xs, 1.125rem);
  font-weight: var(--fw-bold);
  color: var(--color-primary-900);
  line-height: 1.4;
  margin: var(--space-6) 0 var(--space-2);
}

/* 문단 */
.policy-content p {
  margin: 0 0 var(--space-4);
}

.policy-content p:last-child {
  margin-bottom: 0;
}

/* 목록 */
.policy-content ul,
.policy-content ol {
  margin: 0 0 var(--space-4);
  padding-left: var(--space-5);
}

.policy-content ul { list-style: disc; }
.policy-content ol { list-style: decimal; }

.policy-content li {
  margin-bottom: var(--space-2);
  line-height: 1.7;
}

.policy-content li:last-child {
  margin-bottom: 0;
}

.policy-content strong {
  font-weight: var(--fw-bold);
  color: var(--color-gray-900);
}

/* 표 (table.policy-table) */
.policy-content .policy-table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-4) 0 var(--space-6);
  font-size: var(--fs-body-sm, 0.9375rem);
}

.policy-content .policy-table th,
.policy-content .policy-table td {
  border: 1px solid var(--color-gray-300, #dcdfe3);
  padding: var(--space-2) var(--space-3);
  text-align: left;
  vertical-align: top;
  line-height: 1.6;
}

.policy-content .policy-table thead th {
  background: var(--color-gray-100, #f3f5f7);
  font-weight: var(--fw-bold);
  color: var(--color-gray-900);
  white-space: nowrap;
}

.policy-content .policy-table tbody th {
  background: var(--color-gray-50, #f9fafb);
  font-weight: var(--fw-medium, 500);
}

/* 인쇄 시 헤더 액션·브레드크럼 숨김 */
@media print {
  .page-header__actions,
  .breadcrumb {
    display: none;
  }
}
