/* ============================================================
   policy.css — 약관/정책 문서 페이지 (이용약관·별표·통신과금·개인정보)
   공통 토큰/리셋 = base.css, 헤더/푸터 = layout.css
   ============================================================ */

.policy{padding-bottom:56px}

/* 페이지 타이틀 */
.policy-head{padding:40px 0 4px}
.policy-head h1{font-size:clamp(1.7rem,4vw,2.3rem);font-weight:800;letter-spacing:-.03em;line-height:1.3}

/* 문서 탭 내비 (알약형) */
.policy-nav{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 20px}
.policy-nav a{
  padding:11px 20px;font-weight:700;font-size:.94rem;color:var(--muted);
  background:#fff;border:1px solid var(--line);border-radius:999px;white-space:nowrap;
  transition:color .18s,border-color .18s,background .18s,box-shadow .18s;
}
.policy-nav a:hover{border-color:#c9d8fb;color:var(--ink)}
.policy-nav a.on{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 4px 12px rgba(43,92,245,.22)}

/* 문서 본문 카드 */
.policy-doc{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:36px 40px 46px;box-shadow:var(--shadow-sm);
  color:var(--ink-soft);line-height:1.85;font-size:.96rem;
}
.policy-doc > :first-child{margin-top:0}
.policy-doc > :last-child{margin-bottom:0}

/* 시행일/개정 안내 */
.policy-doc .pol-updated{color:var(--muted);font-size:.9rem;margin:0 0 22px}
.policy-doc .pol-note{background:var(--mist);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:0 0 18px}

/* 장/조 제목 */
.policy-doc h2{font-size:1.16rem;font-weight:800;color:var(--ink);margin:38px 0 14px;padding-bottom:9px;border-bottom:1px solid var(--line);letter-spacing:-.02em;line-height:1.4}
.policy-doc h3{font-size:1.02rem;font-weight:700;color:var(--ink);margin:24px 0 8px;letter-spacing:-.01em;line-height:1.5}
.policy-doc h4{font-size:.98rem;font-weight:700;color:var(--ink);margin:18px 0 6px}

/* 문단·목록 */
.policy-doc p{margin:0 0 12px}
.policy-doc ol,.policy-doc ul{margin:0 0 14px;padding-left:22px}
.policy-doc ol{list-style:decimal}
.policy-doc ul{list-style:disc}
.policy-doc li{margin:0 0 6px;line-height:1.8}
.policy-doc li > ol,.policy-doc li > ul{margin-top:6px}
/* 원문이 ①②③… 마커를 직접 포함한 목록(통신과금 약관 등)은 자동 번호를 끄고 원문 마커를 살린다 */
.policy-doc ol:has(> li > .num){list-style:none;padding-left:0}
.policy-doc ol:has(> li > .num) > li{position:relative;padding-left:2em}
.policy-doc .num{position:absolute;left:0;top:0;color:var(--ink);font-weight:600}
.policy-doc strong{color:var(--ink);font-weight:700}
.policy-doc a{color:var(--blue);text-decoration:underline;word-break:break-all}

/* 표 (별표 등) — 넓으면 가로 스크롤 */
.policy-doc .table-wrap{overflow-x:auto;margin:10px 0 22px}
.policy-doc table{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.6}
.policy-doc .table-wrap > table{margin:0}
.policy-doc table:not(.table-wrap table){margin:10px 0 22px}
.policy-doc th,.policy-doc td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.policy-doc thead th{background:var(--mist);font-weight:700;color:var(--ink);white-space:nowrap}

/* 이용약관 별표: PDF 다운로드 게시판 */
.policy-doc .pol-files{width:100%;border-collapse:collapse;font-size:.95rem}
.policy-doc .pol-files th,.policy-doc .pol-files td{border:0;border-bottom:1px solid var(--line);padding:16px 14px;vertical-align:middle}
.policy-doc .pol-files thead th{background:var(--mist);color:var(--muted);font-weight:700;font-size:.9rem;border-top:1px solid var(--line);text-align:center;white-space:nowrap}
.policy-doc .pol-files .c-no{width:76px;text-align:center;color:var(--muted)}
.policy-doc .pol-files .c-title{text-align:left;font-weight:600;color:var(--ink)}
.policy-doc .pol-files .c-date{width:140px;text-align:center;color:var(--muted);white-space:nowrap}
.policy-doc .pol-files .c-dl{width:110px;text-align:center}
.policy-doc .pol-files tbody tr{transition:background .15s}
.policy-doc .pol-files tbody tr:hover{background:var(--mist)}
.policy-doc .pol-files .dl-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:10px;color:var(--muted);transition:background .18s,color .18s}
.policy-doc .pol-files .dl-btn:hover{background:var(--blue-100);color:var(--blue)}
.policy-doc .pol-files .dl-btn svg{width:22px;height:22px}
.policy-doc .pol-files .c-title a{color:var(--ink);font-weight:600;text-decoration:none}
.policy-doc .pol-files .c-title a:hover{color:var(--blue);text-decoration:underline}
.policy-doc .pol-files tbody tr:hover .c-title a{color:var(--blue)}

/* 별표 상세 페이지 */
.pol-view-head{padding-bottom:18px;border-bottom:2px solid var(--line)}
.policy-doc .pol-view-head h2{margin:0;padding:0;border:0;font-size:1.3rem}
.pol-view-meta{margin-top:10px;color:var(--muted);font-size:.9rem}
.pol-view-file{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0;padding:14px 16px;background:var(--mist);border:1px solid var(--line);border-radius:10px;font-size:.94rem}
.pol-view-file > span{font-weight:700;color:var(--ink);flex:none}
.pol-view-file a{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-weight:600;text-decoration:none;word-break:break-all}
.pol-view-file a:hover{text-decoration:underline}
.pol-view-file svg{width:18px;height:18px;flex:none}
.pol-view-body{padding:8px 0 4px;line-height:1.9}
.pol-view-body p{margin:0 0 6px}
.pol-view-actions{margin-top:28px;text-align:center}
.pol-back{display:inline-block;padding:11px 34px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:700;font-size:.94rem;transition:color .18s,border-color .18s}
.pol-back:hover{border-color:var(--blue);color:var(--blue)}

@media(max-width:720px){
  .policy-doc{padding:24px 18px 34px;font-size:.93rem;border-radius:16px}
  .policy-nav{gap:6px;margin:18px 0 16px}
  .policy-nav a{padding:9px 15px;font-size:.85rem}
  .policy-doc h2{font-size:1.08rem}
  .policy-doc .pol-files th,.policy-doc .pol-files td{padding:13px 8px}
  .policy-doc .pol-files .c-no{width:44px}
  .policy-doc .pol-files .c-date{width:96px;font-size:.85rem}
  .policy-doc .pol-files .c-dl{width:60px}
}
