/*
 * 공개 약관 문서 공용 모양 — 유료서비스 이용약관(/paid-terms) · 환불정책(/refund).
 * location.html 의 인라인 스타일과 같은 값이다(그 파일은 손대지 않았다). 운영자 약관 관리에서 발행한
 * Quill HTML(.ql-editor)과 템플릿 기본 본문이 같은 모양이 되게 한다.
 */
.legal-doc {
      max-width: 820px;
      margin: 0 auto;
      padding: 32px 20px 64px;
      font-family: Pretendard, sans-serif;
      color: #1f2937;
      line-height: 1.75;
      letter-spacing: -0.2px;
      font-size: 14.5px;
    }
    .legal-doc h1 {
      font-size: 26px;
      font-weight: 800;
      letter-spacing: -0.6px;
      color: #111827;
      margin-bottom: 8px;
    }
    .legal-doc .legal-sub {
      color: #6B7280;
      font-size: 13px;
      margin-bottom: 28px;
    }
    /* ★ 간격 벌어짐의 진짜 원인 — quill.snow.css 의 .ql-editor{white-space:pre-wrap} 때문에
       저장된 HTML 의 태그 사이 줄바꿈(\n)·공백이 빈 줄로 렌더된다. 정적 페이지에선 normal 로 덮어 collapse. */
    .legal-doc .ql-editor { white-space: normal !important; font-size: 16px; line-height: 1.7; }
    /* 본문 — 원래(정상) 약관 스타일. .legal-doc 하위(에디터 DB 본문 포함)에 적용. */
    .legal-doc h2 {
      font-size: 20px; font-weight: 600; color: #111827;
      margin: 28px 0 8px; padding-left: 10px; border-left: 4px solid #1D71FE;
    }
    /* 빈 제목 줄(<h2><br></h2>) 은 평문 줄처럼 처리(여백 폭증 방지). */
    .legal-doc h2:has(> br:only-child) {
      border-left: 0; padding-left: 0; margin: 0;
      font-size: inherit; font-weight: inherit; color: inherit; line-height: inherit;
    }
    /* 단락 간격 — 에디터와 동일하게: <p> 자체 여백은 0, 단락 사이 띄움은 본문의 빈 줄(<p><br></p>)이 담당. */
    .legal-doc .ql-editor p { margin: 0 !important; line-height: 1.7; }
    .legal-doc p  { margin: 6px 0; }
    /* 목록 — 에디터처럼 불릿(•) 기본. 마커는 ::before 로 직접(quill.js 없이도). 간격은 내부 요소까지 강제로 좁힘. */
    .legal-doc ol, .legal-doc ul { margin: 8px 0 !important; padding-left: 1.6em; list-style: none; }
    .legal-doc li { position: relative; margin: 2px 0 !important; padding-left: 1.4em; line-height: 1.7 !important; }
    .legal-doc li > * { margin: 0 !important; line-height: 1.7 !important; }   /* li 안 <p> 등의 여백 제거(벌어짐 핵심) */
    .legal-doc li::before { content: "•"; position: absolute; left: 0.3em; color: #4b5563; }
    .legal-doc ol { counter-reset: legalol; }
    .legal-doc li[data-list="ordered"] { counter-increment: legalol; }
    .legal-doc li[data-list="ordered"]::before { content: counter(legalol) ". "; left: 0; }
    /* 빈 '목록 항목'만 숨긴다. 단락 빈 줄(<p><br></p>)은 살려서 에디터처럼 간격으로 작동시킨다. */
    .legal-doc li:empty, .legal-doc li:has(> br:only-child) { display: none; }
    .legal-doc table {
      width: 100%;
      border-collapse: collapse;
      margin: 8px 0 14px;
      font-size: 13.5px;
    }
    .legal-doc th, .legal-doc td {
      border: 1px solid #E5E7EB;
      padding: 8px 10px;
      text-align: left;
      vertical-align: top;
    }
    .legal-doc th { background: #F8FAFC; font-weight: 600; color: #111827; }
    .legal-doc .legal-foot {
      margin-top: 36px;
      padding-top: 16px;
      border-top: 1px solid #E5E7EB;
      color: #6B7280;
      font-size: 12.5px;
    }
    /* 신고 전 채워야 할 값 표시(관리자에게만 의미 있는 자리표시자). 발행본에는 실제 값으로 교체. */
    .legal-doc .legal-fill { color: #B45309; background: #FFFBEB; padding: 0 3px; border-radius: 3px; }
