/* 약관·동의서(/legal/) 공통 스타일 — style.css 위에 얹는다.
   privacy.html 인라인 스타일과 같은 본문 축(760px)·색·글자 크기를 쓴다. 빌드 도구 없음. */
.doc-wrap { max-width: 760px; margin: 0 auto; padding: 0 var(--pad); }
.site-head .wrap, .site-foot .wrap { max-width: 760px; }
main.band { padding-top: 44px; }
@media (max-width: 720px) { main.band { padding-top: 28px; } }
.back { display: inline-block; margin-bottom: 26px; font-size: 14px; }

main h1 { font-size: clamp(26px, 4vw, 34px); margin: 0 0 14px; word-break: keep-all; }
main h2 { font-size: 21px; margin: 36px 0 10px; line-height: 1.35; font-family: var(--f-display); font-weight: 700; letter-spacing: -0.02em; scroll-margin-top: 80px; }
main h3 { font-size: 18px; margin: 34px 0 8px; line-height: 1.4; scroll-margin-top: 80px; }
main p, main li, main th, main td { word-break: keep-all; overflow-wrap: break-word; }
main p, main li { color: var(--c-ink-2); line-height: 1.75; margin: 0 0 10px; }

main ol, main ul { margin: 6px 0 14px; padding-left: 1.6em; }
main li { margin: 0 0 6px; }
main li > ol, main li > ul { margin-top: 6px; margin-bottom: 4px; }
main ol.ol-d0 { list-style: decimal; }
main ol.ol-d1 { list-style: lower-alpha; }
main ol.ol-d2 { list-style: lower-roman; }
main ul.ul-d0 { list-style: disc; }
main ul.ul-d1 { list-style: circle; }
main ul.ul-d2 { list-style: square; }

/* 표: 좁은 화면에서는 줄이지 않고 가로로 밀어 본다(열이 많은 표가 있다). */
/* position: relative — 표 안의 .sr-only(절대 위치)가 문서 폭을 밀지 않게 스크롤 칸 안에 가둔다. */
.table-scroll { position: relative; overflow-x: auto; margin: 12px 0 18px; -webkit-overflow-scrolling: touch; }
.table-scroll:focus-visible { outline: 2px solid var(--c-navy); outline-offset: 2px; }
main table { width: 100%; border-collapse: collapse; font-size: 14px; }
main th, main td { border: 1px solid var(--c-line-2); padding: 10px 12px; text-align: left; vertical-align: top; color: var(--c-ink-2); line-height: 1.6; }
main thead th { background: var(--c-field); color: var(--c-ink); font-weight: 600; }
.t-c3 { min-width: 460px; }
.t-c4 { min-width: 600px; }
.t-c5 { min-width: 760px; }
.t-c6 { min-width: 900px; }

/* 클래스 이름이 style.css의 .doc-note(랜딩용 알약 모양)와 겹쳐 .legal-note로 한다. */
.legal-note { margin: 0 0 22px; padding: 12px 16px; background: var(--c-field); border-left: 4px solid var(--c-navy); border-radius: 4px; font-size: 14px; color: var(--c-ink-2); line-height: 1.7; }
.doc-history { margin-top: 44px; padding-top: 20px; border-top: 1px solid var(--c-line-2); }
.doc-history h2 { font-size: 17px; margin: 0 0 10px; }
.doc-history table { min-width: 0; }
.doc-history th { width: 8.5em; background: var(--c-field); color: var(--c-ink); font-weight: 600; white-space: nowrap; }
.doc-history p { font-size: 14px; margin-top: 10px; }

.legal-list { list-style: none; padding: 0; margin: 22px 0; }
.legal-list li { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 16px 0; border-top: 1px solid var(--c-line-2); }
.legal-list li:last-child { border-bottom: 1px solid var(--c-line-2); }
.legal-list a { font-weight: 700; font-size: 17px; }
.legal-list span { color: var(--c-ink-3); font-size: 14px; }

@media print {
  .site-head, .site-foot, .back { display: none; }
  main.band { padding: 0; }
  .table-scroll { overflow: visible; }
  main table { min-width: 0 !important; font-size: 11px; }
  main tr { break-inside: avoid; }
  main h2, main h3 { break-after: avoid; }
}
