/* ── 법적 문서 (개인정보 처리방침 · 이용약관) 공용 스타일 ──
   styles.css(디자인 시스템) 뒤에 로드한다. 문서 타이포그래피만 담당. */

.legal-main { padding-block: clamp(40px, 7vw, 88px); }
.legal-wrap { max-width: 820px; }

.legal-head { margin-bottom: clamp(28px, 4vw, 44px); }
.legal-eyebrow {
  display: inline-block; font-size: .85rem; font-weight: 700; letter-spacing: .06em;
  color: var(--coral-600); text-transform: uppercase; margin-bottom: 10px;
}
.legal-title { font-size: clamp(1.9rem, 4.2vw, 2.6rem); margin-bottom: 14px; }
.legal-meta { color: var(--muted-2); font-size: .95rem; }
.lang-switch { margin-top: 18px; display: inline-flex; gap: 6px; align-items: center; font-size: .95rem; }
.lang-switch a, .lang-switch span { padding: 6px 14px; border-radius: var(--pill); font-weight: 600; }
.lang-switch span[aria-current] { background: var(--navy); color: #fff; }
.lang-switch a { border: 1.5px solid var(--line-2); color: var(--muted); }
.lang-switch a:hover { border-color: var(--navy); color: var(--navy); background: #fff; }

.legal-toc {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: 22px 26px; margin-bottom: clamp(28px, 4vw, 44px); box-shadow: var(--shadow-sm);
}
.legal-toc h2 { font-size: 1.02rem; margin-bottom: 10px; }
.legal-toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 32px; }
.legal-toc li { margin-block: 4px; font-size: .93rem; break-inside: avoid; }
.legal-toc a { color: var(--muted); }
.legal-toc a:hover { color: var(--navy); text-decoration: underline; }

.legal-doc { line-height: 1.75; color: var(--ink); }
.legal-doc section { margin-bottom: clamp(30px, 4vw, 42px); }
.legal-doc h2 {
  font-size: 1.22rem; margin-bottom: 12px; padding-top: 8px;
  scroll-margin-top: 92px;
}
.legal-doc h3 { font-size: 1.02rem; margin: 18px 0 8px; }
.legal-doc p { margin-bottom: 10px; }
.legal-doc ol, .legal-doc ul { padding-left: 22px; margin-bottom: 10px; }
.legal-doc li { margin-block: 5px; }
.legal-doc ol ol, .legal-doc ol ul { margin-top: 6px; }

.legal-doc .table-scroll { overflow-x: auto; margin-block: 14px; border-radius: var(--r-sm); }
/* border-collapse: collapse 는 border-radius 를 무시하므로 separate + spacing 0 으로 구성.
   외곽선·모서리는 table 이 그리고, 셀은 right/bottom 내부 선만 그려 이중선을 방지한다. */
.legal-doc table {
  width: 100%; border-collapse: separate; border-spacing: 0; font-size: .92rem;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-sm);
  overflow: hidden;
}
.legal-doc th, .legal-doc td { border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); padding: 10px 14px; text-align: left; vertical-align: top; }
.legal-doc th:last-child, .legal-doc td:last-child { border-right: none; }
.legal-doc tbody tr:last-child > th, .legal-doc tbody tr:last-child > td { border-bottom: none; }
.legal-doc th { background: var(--bg-2); color: var(--navy); font-weight: 700; white-space: nowrap; }

.legal-doc .placeholder { background: var(--coral-tint); border-radius: 4px; padding: 1px 5px; font-weight: 600; }

.legal-doc .addendum { border-top: 1px solid var(--line-2); padding-top: 20px; }

@media (max-width: 720px) {
  .legal-toc ol { columns: 1; }
}

@media print {
  .site-header, .site-footer, .lang-switch, .skip-link { display: none !important; }
  .legal-main { padding-block: 0; }
  body { background: #fff; }
}
