/*
 * 약관·방침(legal-doc) 공통 본문 스타일 — 단일 원본 (CDN _DIV/legal-doc-1.0.0).
 *
 * 바꿀 때는 이 파일을 고치지 말고 새 버전 폴더(legal-doc-1.0.1 …)로 올린 뒤 각 서비스의 주소 상수를 옮긴다.
 * 옛 버전이 남아 있어야 서비스를 하나씩 옮겨도 깨지지 않는다.
 *
 * TCMS 편집기(CKEditor contentsCss)·TCMS 미리보기·모든 서비스 약관 화면이 이 파일 하나를 쓴다.
 * 그래야 운영자가 TCMS 에서 본 모양 그대로 서비스에 나간다. 본문 마크업 표준은 아래 태그만 쓴다
 * (TCMS 가 저장할 때 걸러낸다): h2 h3 h4 · p(.indent .indent-2) · ul ol li · table thead tbody tr th td · strong em u br hr · a
 * 정렬(text-align)은 제목·문단·표 칸에 인라인으로 붙는다(편집기 정렬 버튼) — 여기서 덮어쓰지 않는다.
 *
 * 서비스별 차이는 바깥에서 아래 CSS 변수만 덮어쓴다. 이 파일 안의 규칙은 서비스마다 고치지 않는다.
 * 모든 규칙은 .legal-doc 안으로 가둔다 — 사이트 CSS 와 서로 새지 않게.
 */
.legal-doc {
	--legal-doc-font-size: 14px;
	--legal-doc-line-height: 1.75;
	--legal-doc-color: #1f2933;
	--legal-doc-heading: #111827;
	--legal-doc-link: #2563eb;
	--legal-doc-border: #cbd2d9;
	--legal-doc-th-bg: #f3f4f6;

	font-size: var(--legal-doc-font-size);
	line-height: var(--legal-doc-line-height);
	color: var(--legal-doc-color);
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.legal-doc > :first-child { margin-top: 0; }

/* h2 — 문서 제목 · 장 */
.legal-doc h2 {
	margin: 0 0 1.2em;
	font-size: 1.3em;
	font-weight: 700;
	line-height: 1.4;
	color: var(--legal-doc-heading);
	text-align: center;
}

/* h3 — 조 · 항목 */
.legal-doc h3 {
	margin: 1.8em 0 0.6em;
	font-size: 1.08em;
	font-weight: 700;
	line-height: 1.5;
	color: var(--legal-doc-heading);
}

/* h4 — 세부 항목 */
.legal-doc h4 {
	margin: 1.2em 0 0.4em;
	font-size: 1em;
	font-weight: 700;
	color: var(--legal-doc-heading);
}

.legal-doc p { margin: 0.5em 0; }
.legal-doc p.indent { padding-left: 1em; }
.legal-doc p.indent-2 { padding-left: 2em; }

/* 약관은 번호를 글자로 적는다(①, 1., 가.) — ul 은 기호 없이 들여쓰기만(기호를 찍으면 번호가 두 번 보인다).
   자동 번호가 필요하면 ol 을 쓴다(번호가 들어갈 자리만큼 더 들인다). */
.legal-doc ul,
.legal-doc ol { margin: 0.5em 0; }
.legal-doc ul { list-style: none; padding-left: 1em; }
.legal-doc ol { list-style: decimal; padding-left: 1.4em; }
.legal-doc li { margin: 0.25em 0; }
.legal-doc li > ul,
.legal-doc li > ol { margin: 0.25em 0; }

.legal-doc table {
	width: 100%;
	margin: 0.8em 0;
	border-collapse: collapse;
	table-layout: auto;
	font-size: 0.93em;
}

.legal-doc th,
.legal-doc td {
	padding: 6px 9px;
	border: 1px solid var(--legal-doc-border);
	vertical-align: top;
	text-align: left;
}

.legal-doc th {
	background-color: var(--legal-doc-th-bg);
	font-weight: 700;
	text-align: center;
	vertical-align: middle;
}

.legal-doc a {
	color: var(--legal-doc-link);
	text-decoration: underline;
}

.legal-doc hr {
	margin: 1.4em 0;
	border: 0;
	border-top: 1px solid var(--legal-doc-border);
}

.legal-doc strong { font-weight: 700; }
.legal-doc em { font-style: italic; }
.legal-doc u { text-decoration: underline; }

/* 좁은 화면 — 표 글자·여백을 줄인다. 긴 낱말은 .legal-doc 의 overflow-wrap 으로 칸 안에서 접힌다 */
@media (max-width: 640px) {
	.legal-doc table { font-size: 0.86em; }
	.legal-doc th,
	.legal-doc td { padding: 5px 6px; }
}
