/* 이용약관·개인정보 처리방침 (terms.html, privacy.html) */
.legal-page .hero { max-width: 800px; margin-bottom: 22px; }
.legal-page .legal-meta { min-height: 1.6em; margin: 12px 0 0; color: var(--home-muted); font-size: .92rem; }

.legal-page .legal-doc {
  min-width: 0;
  padding: clamp(20px, 4vw, 32px);
  border: 1px solid var(--home-line);
  border-radius: 18px;
  color: #334155;
  background: var(--home-surface);
  box-shadow: var(--home-shadow);
  font-size: .95rem;
  line-height: 1.8;
  word-break: keep-all;
}

.legal-page .legal-section + .legal-section { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--home-line); }
.legal-page .legal-doc h2 { margin: 0 0 10px; color: var(--home-ink); font-size: 1.12rem; line-height: 1.4; letter-spacing: -.02em; scroll-margin-top: 16px; }
.legal-page .legal-doc h3 { margin: 18px 0 8px; color: var(--home-ink); font-size: 1rem; }
.legal-page .legal-doc h4 { margin: 14px 0 6px; color: var(--home-ink); font-size: .95rem; }
.legal-page .legal-doc p { margin: 0 0 12px; overflow-wrap: anywhere; }
.legal-page .legal-doc ol,
.legal-page .legal-doc ul { margin: 0 0 12px; padding-left: 1.4rem; }
.legal-page .legal-doc li { margin: 4px 0; overflow-wrap: anywhere; }
.legal-page .legal-doc li > ol,
.legal-page .legal-doc li > ul { margin: 4px 0 0; }
.legal-page .legal-doc > :last-child > :last-child { margin-bottom: 0; }
.legal-page .legal-doc strong { color: var(--home-ink); }
.legal-page .legal-doc a,
.legal-page .legal-source a { color: var(--home-primary); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-page .legal-doc code { padding: 1px 5px; border-radius: 5px; color: var(--home-ink); background: var(--home-surface-soft); font-size: .88em; }
.legal-page .legal-doc blockquote { margin: 0 0 12px; padding: 12px 16px; border-left: 4px solid var(--home-primary); border-radius: 0 10px 10px 0; background: var(--home-surface-soft); }
.legal-page .legal-doc blockquote p:last-child { margin-bottom: 0; }

.legal-page .legal-table { margin: 4px 0 14px; overflow: hidden; border: 1px solid var(--home-line); border-radius: 12px; }
.legal-page .legal-table table { width: 100%; border-collapse: collapse; font-size: .9rem; line-height: 1.65; }
.legal-page .legal-table th,
.legal-page .legal-table td { padding: 10px 12px; border-bottom: 1px solid var(--home-line); text-align: left; vertical-align: top; }
.legal-page .legal-table td:first-child { min-width: 8em; color: var(--home-ink); font-weight: 650; }
.legal-page .legal-table th { color: #243047; background: #edf4fb; font-weight: 750; white-space: nowrap; }
.legal-page .legal-table tbody tr:last-child td { border-bottom: 0; }
.legal-page .legal-table tbody tr:nth-child(even) { background: #f8fafc; }

.legal-page .legal-toc { margin: 0 0 24px; padding: 14px 16px; border-radius: 12px; background: var(--home-surface-soft); }
.legal-page .legal-toc p { margin: 0 0 6px; color: var(--home-ink); font-size: .9rem; font-weight: 800; }
.legal-page .legal-toc ul { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 2px 16px; margin: 0; padding: 0; list-style: none; }
.legal-page .legal-toc li { margin: 0; }
.legal-page .legal-toc a { color: var(--home-primary); font-size: .9rem; text-decoration: none; }
.legal-page .legal-toc a:hover { text-decoration: underline; }

.legal-page .legal-status { margin: 0; color: var(--home-muted); }
.legal-page .legal-notice { margin: 0 0 16px; padding: 12px 14px; border: 1px solid #f3d27a; border-radius: 10px; color: #6b4a00; background: #fffbeb; }
.legal-page .legal-source { margin: 14px 4px 0; color: var(--home-muted); font-size: .85rem; }

@media (max-width: 620px) {
  .legal-page .legal-doc { font-size: .93rem; }
  .legal-page .legal-table thead { display: none; }
  .legal-page .legal-table table,
  .legal-page .legal-table tbody,
  .legal-page .legal-table tr,
  .legal-page .legal-table td { display: block; width: 100%; }
  .legal-page .legal-table tr { padding: 10px 12px; border-bottom: 1px solid var(--home-line); }
  .legal-page .legal-table tbody tr:last-child { border-bottom: 0; }
  .legal-page .legal-table td { padding: 2px 0; border: 0; }
  .legal-page .legal-table td::before { content: attr(data-label); display: block; color: var(--home-muted); font-size: .76rem; font-weight: 750; }
}

@media print {
  .legal-page .site-header,
  .legal-page .site-footer,
  .legal-page .legal-toc,
  .legal-page .legal-source { display: none; }
  body.legal-page { background: #fff; }
  .legal-page .home-main { padding-top: 0; }
  .legal-page .legal-doc { padding: 0; border: 0; box-shadow: none; }
}
