/* 법적 고지: 개인정보처리방침 · 이용약관 · Impressum */
.legal-page { padding-block:24px 120px }
.legal-page .container { max-width:960px }
.legal-page__inner { display:grid; gap:48px; counter-reset:legal }
.legal-page__date { margin-bottom:-32px; font-size:15px; line-height:24px; color:var(--color-muted) }
.legal-page__intro { font-size:18px; line-height:32px; color:var(--text-body) }

/* ---------- 목차 ---------- */
.legal-toc { padding:28px; background:var(--surface) }
.legal-toc__title { font-size:17px; line-height:24px; color:var(--color-black) }
.legal-toc ol { columns:2; column-gap:32px; margin-top:12px; padding-left:22px; list-style:decimal; color:var(--text-body) }
.legal-toc li { padding-block:4px; break-inside:avoid; line-height:24px }
.legal-toc a { color:var(--text-body); transition:color .2s }
.legal-toc a:focus-visible { color:var(--action-primary) }
@media(hover:hover) {
    .legal-toc a:hover { color:var(--action-primary) }
}

/* ---------- 본문 ---------- */
.legal-section { display:grid; gap:20px; min-width:0; counter-increment:legal }
.legal-section__title { font-size:24px; line-height:34px; color:var(--color-black) }
.legal-section__title::before { content:counter(legal) ". " }
.legal-page__inner:has(.legal-section:only-of-type) .legal-section__title::before { content:none }
.legal-section__body { display:grid; gap:14px; min-width:0; font-size:16px; line-height:28px; color:var(--text-body) }
.legal-section__body ul { display:grid; gap:6px; padding-left:22px; list-style:disc }
.legal-table { width:100%; border-collapse:collapse; border-top:2px solid var(--color-black); font-size:15px; line-height:24px }
.legal-table th,.legal-table td { padding:14px 12px; border-bottom:1px solid var(--border); text-align:left; vertical-align:top }
.legal-table th { background:var(--surface); font-weight:500; color:var(--color-black) }
.legal-table td:first-child { width:32%; font-weight:500; color:var(--color-black) }

/* ---------- 반응형: 1199px 이하 (태블릿) ---------- */
@media(max-width:1199px) {
    .legal-page { padding-block:16px 96px }
}

/* ---------- 반응형: 767px 이하 (모바일): 표를 세로 목록으로 표시 ---------- */
@media(max-width:767px) {
    .legal-page { padding-block:8px 72px }
    .legal-page__inner { gap:36px }
    .legal-page__date { margin-bottom:-24px; font-size:14px }
    .legal-page__intro { font-size:16px; line-height:28px }
    .legal-toc { padding:20px }
    .legal-toc ol { columns:1 }
    .legal-section { gap:16px }
    .legal-section__title { font-size:20px; line-height:30px }
    .legal-section__body { font-size:15px; line-height:26px }
    .legal-table,.legal-table tbody,.legal-table tr,.legal-table td { display:block; width:100% }
    .legal-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%) }
    .legal-table tr { padding-block:12px; border-bottom:1px solid var(--border) }
    .legal-table td,.legal-table td:first-child { width:100%; padding:2px 0; border:0 }
    .legal-table td::before { content:attr(data-label); display:block; font-size:12px; line-height:18px; font-weight:400; color:var(--color-muted) }
}
