/* 본문(prose) — 그누보드: theme/classpick/css/prose.css (head.sub.php가 모든 화면에 붙임)
   에디터(page-ai-editor)로 쓴 본문이 base.css 리셋(ul,ol 기호 없음, p 여백 0) 때문에 글머리 기호와 문단 간격을 잃는 것을 되돌립니다.
   대상: 게시글·1:1 문의 질문 보기 #bo_v_con, 1:1 문의 답변 #ans_con, FAQ 답변과 새 화면 .prose, 내용 관리 .ctt-doc
   - 바깥 상자는 :where()로 감싸 명시도를 요소 수준으로 둡니다. 화면별 디자인 규칙(.ctt-art p, .bv-body > ul …)이 늘 이깁니다
   - 간격·목록은 class가 없는 요소(에디터가 낸 마크업)에만 겁니다. 목록은 id·data-type도 없어야 합니다. 디자인 목록(.ctt-ul, #tocM)과 에디터 할 일 목록(ul[data-type=taskList])은 그대로입니다
   - 이미지 정렬·할 일 목록·형광펜·YouTube·표는 plugin/editor/page-ai-editor/content.css가 맡습니다. 여기서는 다루지 않습니다 */

/* 블록 사이 간격 */
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) :is(p, ul, ol, blockquote, pre, figure, table, div):where(:not([class])) + :is(p, ul, ol, blockquote, pre, figure, table):where(:not([class])){margin-top:.85em}
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) * + :is(h2, h3, h4):where(:not([class])){margin-top:1.6em}
:where(#bo_v_con, #ans_con, .prose) :is(h2, h3, h4) + *{margin-top:.5em}

/* 제목 */
:where(#bo_v_con, #ans_con, .prose) h2{font-size:19px;line-height:1.4;font-weight:700;letter-spacing:-.025em;color:var(--text)}
:where(#bo_v_con, #ans_con, .prose) h3{font-size:16px;line-height:1.45;font-weight:700;letter-spacing:-.02em;color:var(--text)}
:where(#bo_v_con, #ans_con, .prose) h4{font-size:15px;line-height:1.5;font-weight:700;color:var(--text)}

/* 목록 */
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) ul:where(:not([class], [id], [data-type])){list-style:disc;padding-left:1.4em}
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) ol:where(:not([class], [id], [data-type])){list-style:decimal;padding-left:1.5em}
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) :is(ul, ol):where(:not([class], [id], [data-type])) :is(ul, ol){margin-top:.3em}
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) :is(ul, ol):where(:not([class], [id], [data-type])) ul:where(:not([class], [data-type])){list-style:circle}
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) :is(ul, ol):where(:not([class], [id], [data-type])) > li + li{margin-top:.3em}
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) :is(ul, ol):where(:not([class], [id], [data-type])) > li::marker{color:var(--ink-500)}
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) li > p + p{margin-top:.3em}

/* 인용·구분선·코드 */
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) blockquote{margin:0;padding:2px 0 2px 1em;border-left:3px solid var(--border-strong);color:var(--text-2)}
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) hr{margin:1.6em 0}
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) code{font-family:var(--font-mono);font-size:.9em;padding:1px 5px;border-radius:var(--r-xs);background:var(--ink-100)}
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) pre{margin:0;padding:14px 16px;border-radius:var(--r-md);background:var(--ink-50);border:1px solid var(--border);overflow-x:auto;font-size:13.5px;line-height:1.6}
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) pre code{padding:0;background:none;font-size:inherit}

/* 글자·링크·그림 */
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) :is(strong, b){font-weight:700;color:var(--text)}
:where(#bo_v_con, #ans_con, .prose) a:where(:not([class])){text-decoration:underline;text-underline-offset:2px}
:where(#bo_v_con, #ans_con, .ctt-doc, .prose) img{height:auto}

