/**
 * Policy View — 약관·정책 열람. 읽기 폭(--container-narrow)에 왼쪽 정렬 머리 + 2px 선.
 * 본문은 관리자 편집기 HTML 이라 제목·목록·표의 기본 결만 잡는다.
 */
.policy-view-wrapper {
    max-width: var(--container-narrow, 960px);
    margin: 0 auto;
    padding-block: clamp(32px, 3vw, 56px) clamp(64px, 6vw, 120px);
}
.policy-head { padding-bottom: 20px; margin-bottom: 0; border-bottom: 2px solid var(--foreground); }
.policy-meta { display: flex; gap: 16px; font-size: var(--text-caption); }

.policy-body {
    padding: 32px 0 40px;
    font-size: var(--text-body-sm);
    line-height: 1.85;
    color: var(--foreground);
    word-break: keep-all;
}
.policy-body h1,
.policy-body h2 { margin: 40px 0 12px; font-size: var(--text-heading-3); font-weight: 700; }
.policy-body h3,
.policy-body h4 { margin: 28px 0 8px; font-size: var(--text-body); font-weight: 700; }
.policy-body > :first-child { margin-top: 0; }
.policy-body p { margin: 0 0 10px; }
.policy-body ol,
.policy-body ul { margin: 0 0 12px; padding-left: 1.4em; }
.policy-body ol { list-style: decimal; }
.policy-body ul { list-style: disc; }
.policy-body li { margin-bottom: 4px; }
.policy-body table { width: 100%; margin: 12px 0 20px; border-collapse: collapse; border-top: 2px solid var(--foreground); }
.policy-body th,
.policy-body td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.policy-body th { background: var(--surface); font-weight: 600; }

.policy-footer { padding-top: 24px; border-top: 1px solid var(--border); text-align: center; }
.policy-footer .btn { min-width: 160px; }
