/* P34 정책 문서(이용약관·개인정보취급방침·환불규정) 읽기 화면. 문안은 pages/policy/*.php에만 둔다. */
.policy { max-width:860px; padding-block:56px 88px; }
.policy h1 { font-size:30px; font-weight:740; letter-spacing:-.6px; padding-bottom:24px; margin-bottom:32px; border-bottom:2px solid var(--color-heading); }
.policy-body { font-size:15px; line-height:1.75; }
.policy-body p, .policy-body ul { margin:0 0 10px; }
.policy-body ul { padding-left:0; list-style:none; }
.policy-body ul ul { padding-left:16px; margin-top:6px; }
.policy-body li { margin-bottom:6px; }
.policy-body li>p { margin:4px 0 0 18px; }
.policy-body p span, .policy-note { display:block; }
.policy-body h2 { font-size:20px; font-weight:700; letter-spacing:-.3px; margin:44px 0 14px; }
.policy-body h3 { font-size:16px; font-weight:700; margin:28px 0 8px; }
.policy-body>h2:first-child, .policy-lead+.policy-article>h2:first-child { margin-top:0; }
.policy-article { margin-top:28px; }
.policy-article>h3:first-child { margin-top:0; }
.policy-lead { padding:20px 22px; background:var(--color-soft); border-radius:var(--radius); margin-bottom:32px!important; }
.policy-bullets>li { position:relative; padding-left:12px; }
.policy-bullets>li::before { content:''; position:absolute; left:0; top:.8em; width:4px; height:4px; border-radius:50%; background:#999; }
.policy-note { color:#2f6fd0; font-size:14px; margin-top:2px; }
.policy-date { margin-top:44px!important; padding-top:20px; border-top:1px solid var(--color-border); color:var(--color-muted); font-size:14px; }
.policy-date p { margin:0 0 2px; }
.policy-date strong { color:var(--color-heading); }
.policy-body a { color:var(--color-brand); text-decoration:underline; text-underline-offset:2px; word-break:break-all; }
.table-scroll { overflow-x:auto; margin:14px 0 18px; }
.policy-body>h2 { font-size:22px; padding-bottom:12px; border-bottom:1px solid var(--color-border); margin-top:60px; }
.policy-body table { width:100%;border-collapse:collapse; border-top:2px solid var(--color-heading); font-size:14px; }
.policy-body th, .policy-body td { padding:12px 14px; border:1px solid var(--color-border); text-align:center; vertical-align:middle; }
.policy-body thead th { border-top:0; background:var(--color-soft); color:var(--color-heading); font-weight:700; }
.policy-body tbody th { background:#fbfbfb; font-weight:600; }

@media(max-width:767px) {
    .policy { padding-block:32px 56px; }
    .policy h1 { font-size:23px; padding-bottom:18px; margin-bottom:24px; }
    .policy-body { font-size:14px; line-height:1.7; }
    .policy-body h2 { font-size:17px; margin:34px 0 10px; }
    .policy-body h3 { font-size:15px; margin-top:22px; }
    .policy-lead { padding:16px; }
    .policy-body li>p { margin-left:10px; }
    .policy-body>h2 { font-size:19px; margin-top:44px; }
    .policy-body th, .policy-body td { padding:10px 8px; font-size:13px; overflow-wrap:anywhere; }
}

@media print {
    .announcement, .site-header, .site-footer, .floating-contact, .preview-modal, .skip-link { display:none!important; }
    .policy { max-width:none; width:auto; padding:0; }
    .policy-body { font-size:11pt; }
    .table-scroll { overflow:visible; }
    .policy-body a { color:inherit; }
}
