/* 약관·개인정보 문서 공통 스타일.
   공개 페이지(templates/legal/document.html)와 회원가입 모달이 같은 본문 partial 을
   include 하므로, 본문 스타일(.legal-doc 이하)은 여기 한 곳에만 둔다. */

.legal-body { background: #f0f2f5; margin: 0; }
.legal-wrap { max-width: 860px; margin: 0 auto; padding: 40px 16px 80px; }

.legal-header { margin-bottom: 18px; }
.legal-header h1 { font-size: 1.5rem; font-weight: 700; color: #1a1a2e; margin: 0 0 6px; }
.legal-effective { color: #888; font-size: .85rem; margin: 0; }

.legal-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.legal-tab {
  padding: 7px 14px; border-radius: 999px; background: #fff; color: #555;
  font-size: .85rem; text-decoration: none; border: 1px solid #e3e6ea;
}
.legal-tab:hover { color: #1e87f0; text-decoration: none; }
.legal-tab.is-active { background: #1e87f0; border-color: #1e87f0; color: #fff; }

.legal-body-card {
  background: #fff; border-radius: 14px; padding: 28px 30px;
  box-shadow: 0 2px 20px rgba(0, 0, 0, .07);
}
.legal-back { margin-top: 18px; font-size: .85rem; }
.legal-back a { color: #1e87f0; text-decoration: none; }

/* ── 본문 (모달에서도 그대로 쓰인다) ───────────────────────────── */
.legal-doc { font-size: .89rem; line-height: 1.75; color: #333; }
.legal-doc h3 {
  font-size: .95rem; font-weight: 700; color: #1a1a2e;
  margin: 26px 0 8px; padding-top: 4px;
}
.legal-doc h3:first-of-type { margin-top: 0; }
.legal-doc p { margin: 0 0 10px; }
.legal-doc ol, .legal-doc ul { margin: 0 0 10px; padding-left: 20px; }
.legal-doc ol { list-style: decimal; }
.legal-doc ul { list-style: disc; }
.legal-doc li { margin-bottom: 4px; }
.legal-doc li > ul { margin-top: 4px; }
.legal-doc b { color: #1a1a2e; }

.legal-table { width: 100%; border-collapse: collapse; margin: 4px 0 12px; font-size: .85rem; }
.legal-table td, .legal-table th { padding: 8px 10px; vertical-align: top; text-align: left; }
.legal-table td:first-child { color: #888; width: 150px; }
.legal-table--grid td, .legal-table--grid th {
  border: 1px solid #e3e6ea; border-collapse: collapse;
}
.legal-table--grid th { background: #f7f8fa; color: #555; font-weight: 700; }
.legal-table--grid td:first-child { color: #333; width: auto; white-space: nowrap; }

.legal-meta {
  margin-top: 26px; padding-top: 16px; border-top: 1px solid #eee;
  color: #666; font-size: .84rem;
}
.legal-meta .legal-table td:first-child { width: 120px; }

@media (max-width: 640px) {
  .legal-wrap { padding: 24px 12px 60px; }
  .legal-body-card { padding: 20px 16px; border-radius: 12px; }
  .legal-table--grid { display: block; overflow-x: auto; white-space: normal; }
}
