/* 자박자박 정책 페이지 (처리방침 · 삭제 안내 · 고객 지원). site.css 위에 얹어 씁니다. */

.hdr-link { font-size: .94rem; font-weight: 600; color: var(--ink-2); padding: 8px 0; }
.hdr-link:hover { color: var(--ink); }

.legal { padding-block: clamp(48px, 7vw, 96px) clamp(72px, 9vw, 128px); }
.doc { max-width: 780px; }
.doc .kicker { display: block; color: var(--accent); font-weight: 600; font-size: .95rem; margin-bottom: 14px; }
.doc h1 { font-size: clamp(2rem, 4.4vw, 2.9rem); line-height: 1.2; letter-spacing: -.04em; }
.doc .intro { margin-top: 22px; color: var(--ink-2); }
.doc .intro + .intro { margin-top: 12px; }

.doc-meta { margin-top: 30px; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 22px; padding: 20px 24px; background: var(--bg-2); border-radius: 14px; font-size: .95rem; line-height: 1.6; }
.doc-meta dt { color: var(--ink-3); }
.doc-meta dd { font-weight: 500; }
.doc-meta a, .doc a.u, .doc p a, .doc li a, .doc td a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; word-break: break-all; }

.toc { margin-top: 36px; padding: 22px 24px; border: 1px solid var(--line); border-radius: 14px; }
.toc h2 { font-size: .95rem; letter-spacing: 0; margin: 0 0 10px; padding: 0; border: 0; color: var(--ink-3); font-weight: 600; }
.toc ol { columns: 2; column-gap: 32px; font-size: .93rem; }
.toc li { break-inside: avoid; padding: 3px 0; }
.toc a { color: var(--ink-2); }
.toc a:hover { color: var(--accent); }

.doc section { scroll-margin-top: calc(var(--header-h) + 16px); }
.doc section > h2 { font-size: clamp(1.3rem, 2.3vw, 1.6rem); letter-spacing: -.03em; margin-top: 60px; padding-top: 28px; border-top: 1px solid var(--line); }
.doc section > * + * { margin-top: 14px; }
.doc section > h2 + * { margin-top: 18px; }
.doc h3 { font-size: 1.08rem; }
.doc section > h3 { margin-top: 30px; }
.doc ul.l, .doc ol.l { padding-left: 1.35em; }
.doc ul.l { list-style: disc; }
.doc ol.l { list-style: decimal; }
.doc .l li + li { margin-top: 6px; }
.doc .l li::marker { color: var(--ink-3); }
.doc .l .l { margin-top: 6px; }
.doc .muted { color: var(--ink-2); }

/* 표: 좁은 화면에서는 행을 카드처럼 쌓습니다 */
.ltable { width: 100%; border-collapse: collapse; font-size: .94rem; line-height: 1.65; border-top: 2px solid var(--ink); }
.ltable th, .ltable td { padding: 12px 14px 12px 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.ltable thead th { font-size: .86rem; font-weight: 600; color: var(--ink-3); padding-top: 10px; padding-bottom: 10px; }
.ltable td:first-child { font-weight: 600; white-space: nowrap; padding-right: 20px; }
.ltable.wrap1 td:first-child { white-space: normal; min-width: 7.5em; }
.ltable.plain td:first-child { font-weight: 400; white-space: normal; }

.callout { padding: 22px 24px; border-radius: 14px; background: var(--accent-tint); }
.callout b { display: block; font-size: 1.08rem; margin-bottom: 6px; }
.callout p { color: var(--ink-2); }
.callout .actions { margin-top: 16px; }

.steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.steps > div { border: 1px solid var(--line); border-radius: 14px; padding: 20px 22px; }
.steps h3 { margin-bottom: 10px; }

.qa { border-top: 1px solid var(--line); }
.qa > div { padding: 22px 0; border-bottom: 1px solid var(--line); }
.qa h3 { font-size: 1.05rem; margin-bottom: 6px; }
.qa p { color: var(--ink-2); }

/* 공개 전 표시: 공개본에는 남지 않아야 합니다 (tools/publish_legal.py가 막습니다) */
.draft-banner { background: #fff4cc; color: #7a3e00; font-size: .9rem; line-height: 1.55; padding: 10px 0; border-bottom: 1px solid #f0dc8c; }
mark.tbd { background: #fff4cc; color: #7a3e00; border-radius: 4px; padding: 1px .3em; font-weight: 500; -webkit-box-decoration-break: clone; box-decoration-break: clone; }

.site-footer .legal-links strong { color: #fff; font-weight: 700; }
.site-footer a[aria-current="page"] { color: #fff; }

@media (max-width: 640px) {
  .toc ol { columns: 1; }
  .steps { grid-template-columns: minmax(0, 1fr); }
  .doc-meta { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .doc-meta dd + dt { margin-top: 10px; }
  .ltable thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ltable tr { display: block; padding: 14px 0; border-bottom: 1px solid var(--line); }
  .ltable th, .ltable td { display: block; padding: 2px 0; border: 0; }
  .ltable td:first-child { white-space: normal; padding-right: 0; }
  .ltable td[data-label]::before { content: attr(data-label); display: block; font-size: .8rem; font-weight: 600; color: var(--ink-3); margin-top: 6px; }
}
