/* ============================================================
   약관 · 방침 문서
   ------------------------------------------------------------
   길게 읽는 글이라 본문 폭을 좁히고 줄간격을 넉넉히 둔다.
   조 번호와 표가 많아 목록·표 규칙을 따로 잡는다.
   ============================================================ */

.doc-page{background:var(--bg)}

.doc-head{
  background:#1B444C;color:#F4F9F8;
  padding:calc(var(--top-h) + 44px) 0 34px;
}
.doc-head h1{
  margin:0 0 8px;font-size:clamp(1.5rem,3.4vw,2rem);
  font-weight:700;letter-spacing:-.03em;
}
.doc-head p{
  margin:0;font-size:.87rem;color:rgba(255,255,255,.72);font-weight:300;
}
.doc-head .doc-alt{
  margin-top:16px;display:flex;gap:8px;flex-wrap:wrap;
}
.doc-head .doc-alt a{
  padding:7px 14px;border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  color:rgba(255,255,255,.86);text-decoration:none;
  font-size:.83rem;font-weight:600;
}
.doc-head .doc-alt a:hover{background:rgba(255,255,255,.12);color:#fff}
.doc-head .doc-alt a.on{background:#fff;border-color:#fff;color:#123A42}

.doc-main{max-width:820px;margin:0 auto;padding:34px 28px 90px}

/* 초안 안내 — 사업자 정보가 채워지기 전까지 띄운다 */
.doc-draft{
  margin:0 0 30px;padding:15px 18px;border-radius:var(--radius-sm);
  background:var(--warning-weak);color:var(--warning-ink);
  font-size:.84rem;line-height:1.65;
}
.doc-draft b{font-weight:700}

.doc-toc{
  margin:0 0 34px;padding:18px 20px;border-radius:var(--radius);
  background:var(--surface);border:1px solid var(--border);
}
.doc-toc h2{margin:0 0 10px;font-size:.78rem;font-weight:700;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}
.doc-toc ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:5px 20px}
.doc-toc a{color:var(--ink-2);text-decoration:none;font-size:.86rem;line-height:1.6}
.doc-toc a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}

.doc-sec{margin:0 0 34px;scroll-margin-top:calc(var(--top-h) + 20px)}
.doc-sec h2{
  margin:0 0 12px;font-size:1.05rem;font-weight:700;letter-spacing:-.02em;
  padding-bottom:9px;border-bottom:1px solid var(--border);
}
.doc-sec h3{margin:20px 0 8px;font-size:.92rem;font-weight:700;letter-spacing:-.01em}
.doc-sec p{margin:0 0 12px;font-size:.89rem;line-height:1.8;color:var(--ink-2);font-weight:300}
.doc-sec p b,.doc-sec li b{color:var(--ink);font-weight:600}
.doc-sec ol,.doc-sec ul{margin:0 0 12px;padding-left:20px}
.doc-sec li{font-size:.89rem;line-height:1.8;color:var(--ink-2);font-weight:300;margin-bottom:4px}
.doc-sec ol > li{padding-left:2px}
.doc-sec ul{list-style:none;padding-left:0}
.doc-sec ul > li{position:relative;padding-left:15px}
.doc-sec ul > li::before{
  content:"";position:absolute;left:2px;top:.72em;
  width:5px;height:5px;border-radius:50%;background:var(--brand);opacity:.65;
}

.doc-note{
  margin:0 0 12px;padding:13px 16px;border-radius:var(--radius-sm);
  background:var(--surface-3);
  font-size:.84rem;line-height:1.7;color:var(--ink-2);font-weight:300;
}

/* 표 — 수집 항목, 보유 기간, 제3자 제공 */
.doc-table-wrap{overflow-x:auto;margin:0 0 14px}
.doc-table{
  width:100%;min-width:520px;border-collapse:collapse;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
}
.doc-table th,.doc-table td{
  padding:11px 13px;text-align:left;vertical-align:top;
  font-size:.83rem;line-height:1.65;border-bottom:1px solid var(--border);
}
.doc-table thead th{
  background:var(--surface-3);color:var(--ink-2);
  font-weight:700;font-size:.78rem;white-space:nowrap;
}
.doc-table tbody tr:last-child th,.doc-table tbody tr:last-child td{border-bottom:0}
.doc-table tbody th{
  width:130px;color:var(--ink);font-weight:600;white-space:nowrap;
  background:var(--surface-2);
}
.doc-table td{color:var(--ink-2);font-weight:300}

.doc-fill{
  background:var(--warning-weak);color:var(--warning-ink);
  padding:1px 6px;border-radius:4px;font-weight:600;
  font-family:"IBM Plex Mono",monospace;font-size:.9em;
}

.doc-foot{
  margin-top:44px;padding-top:22px;border-top:1px solid var(--border);
  font-size:.83rem;color:var(--ink-3);font-weight:300;line-height:1.8;
}
.doc-foot a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.doc-foot a:hover{color:var(--brand)}

@media (max-width:640px){
  .doc-main{padding:26px 18px 70px}
  .doc-head{padding:calc(var(--top-h) + 32px) 0 26px}
  .doc-table tbody th{width:96px}
}
