/* ── 정책 전문 페이지 (terms · privacy · refund · drawing-policy): 흑백 문서 레이아웃 ── */
.kaidim-legal { --kl-ink: #111; padding: 72px 0 96px; background: #fff; color: var(--kl-ink); }

.kl-intro { max-width: 760px; margin: 0 0 40px; }
.kl-eyebrow {
   display: inline-block; margin-bottom: 12px; padding: 4px 10px;
   border: 1px solid var(--kl-ink); font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
}
.kl-intro h1 { margin: 0 0 12px; font-family: var(--title-font); font-size: 42px; font-weight: 700; line-height: 1.2; color: var(--kl-ink); }
.kl-date { margin: 0; font-size: 14px; color: #666; }

.kl-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; align-items: start; }

/* 좌측: 정책 문서 이동 + 목차 */
.kl-side { position: sticky; top: 80px; display: flex; flex-direction: column; gap: 24px; }
.kl-side-block { border: 2px solid var(--kl-ink); }
.kl-side-title {
   margin: 0; padding: 12px 18px; background: var(--kl-ink); color: #fff;
   font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
}
.kl-side ul { margin: 0; padding: 0; list-style: none; }
.kl-side li + li { border-top: 1px solid rgba(17,17,17,.15); }
.kl-side a { display: block; padding: 11px 18px; font-size: 14px; font-weight: 600; line-height: 1.45; color: var(--kl-ink); transition: background .2s; }
.kl-side a:hover { background: #F7F7F5; color: var(--kl-ink); }
.kl-side a[aria-current="page"] { background: #F7F7F5; box-shadow: inset 4px 0 0 var(--kl-ink); }
.kl-toc { max-height: calc(100vh - 320px); overflow-y: auto; }
.kl-toc a { font-weight: 500; color: #444; }
.kl-toc a.is-active { color: var(--kl-ink); font-weight: 700; box-shadow: inset 4px 0 0 var(--theme2); }

/* 우측: 문서 본문 */
.kl-doc { border: 2px solid var(--kl-ink); padding: 48px 56px 56px; font-size: 15px; line-height: 1.85; color: #333; }
.kl-doc > p:first-child { margin-top: 0; }
.kl-doc p { margin: 0 0 14px; }
.kl-doc .kl-lead { font-size: 16px; color: #222; }
.kl-doc h2 {
   scroll-margin-top: 80px;
   margin: 44px 0 16px; padding-top: 28px; border-top: 1px solid var(--kl-ink);
   font-family: var(--title-font); font-size: 21px; font-weight: 700; line-height: 1.4; color: var(--kl-ink);
}
.kl-doc h3 { margin: 24px 0 10px; font-family: var(--title-font); font-size: 17px; font-weight: 700; color: var(--kl-ink); }
.kl-doc ol, .kl-doc ul { margin: 0 0 14px; padding-left: 22px; }
.kl-doc li { margin-bottom: 8px; }
.kl-doc li > ol, .kl-doc li > ul { margin: 10px 0 4px; }
.kl-doc strong { color: var(--kl-ink); }
.kl-doc a { color: var(--kl-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.kl-doc a:hover { color: var(--theme2); }
.kl-doc code { padding: 1px 6px; background: #F7F7F5; border: 1px solid rgba(17,17,17,.15); color: var(--kl-ink); font-size: 13px; }

.kl-callout { margin: 16px 0; padding: 16px 20px; background: #F7F7F5; border-left: 4px solid var(--kl-ink); color: #222; }
.kl-note { font-size: 14px; color: #666; }

.kl-table-wrap { margin: 12px 0 16px; overflow-x: auto; }
.kl-doc table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 14px; line-height: 1.6; }
.kl-doc th { padding: 12px 14px; background: var(--kl-ink); color: #fff; font-weight: 700; text-align: left; border: 1px solid var(--kl-ink); }
.kl-doc td { padding: 12px 14px; border: 1px solid rgba(17,17,17,.25); vertical-align: top; }
.kl-doc tbody tr:nth-child(even) td { background: #FAFAF8; }

@media (max-width: 991px) {
   .kaidim-legal { padding: 48px 0 64px; }
   .kl-intro h1 { font-size: 32px; }
   .kl-layout { grid-template-columns: 1fr; gap: 24px; }
   .kl-side { position: static; }
   .kl-toc-block { display: none; }
   .kl-side-docs ul { display: flex; overflow-x: auto; scrollbar-width: none; }
   .kl-side-docs ul::-webkit-scrollbar { display: none; }
   .kl-side-docs li { flex: 0 0 auto; }
   .kl-side-docs li + li { border-top: 0; border-left: 1px solid rgba(17,17,17,.15); }
   .kl-side-docs a { white-space: nowrap; }
   .kl-side-docs a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--kl-ink); }
   .kl-doc { padding: 28px 22px 36px; font-size: 14px; }
   .kl-doc h2 { font-size: 18px; margin-top: 32px; padding-top: 22px; }
}
