/*
 * 개인정보처리방침 등 법적 고지 문서 (legal-document.php).
 *
 * The body is the editor's own block content, reshaped at render time by
 * inc/legal-page.php: .lg-sec (numbered section) / .lg-sub / .lg-clauses
 * (one line per clause, marker hung) / .lg-table (thead + data-label cells).
 * Prefix `lg-`, every selector scoped under .corp-converted.
 */

/* ============ 머리말 ============ */
.corp-converted .lg-head {
	padding: 56px 0 44px;
	background: var(--corp-subtle);
	border-bottom: 1px solid var(--corp-border);
}

.corp-converted .lg-eyebrow {
	display: block;
	margin-bottom: 12px;
	font-size: 13.5px;
	font-weight: 800;
	letter-spacing: 0.02em;
	color: var(--corp-accent-label);
}

.corp-converted .lg-title {
	font-size: clamp(30px, 3.6vw, 42px);
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: -0.03em;
}

.corp-converted .lg-meta {
	margin-top: 14px;
	font-size: 15.5px;
	color: var(--corp-body);
}

.corp-converted .lg-meta strong {
	margin-left: 6px;
	font-weight: 700;
	color: var(--corp-ink);
}

.corp-converted .lg-notice {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	margin-top: 20px;
	padding: 12px 16px;
	border: 1px solid var(--corp-accent-200);
	border-radius: 12px;
	background: var(--corp-accent-050);
	font-size: 15px;
	line-height: 1.6;
	color: var(--corp-ink);
}

.corp-converted .lg-notice a {
	font-weight: 800;
	color: var(--corp-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ============ 목차 | 본문 ============ */
.corp-converted .lg-layout {
	display: grid;
	grid-template-columns: 236px minmax(0, 800px);
	column-gap: 64px;
	align-items: start;
	padding: 48px 0 104px;
}

.corp-converted .lg-layout--no-toc {
	grid-template-columns: minmax(0, 800px);
}

/* 그리드 칸 높이 전체를 써야 안쪽 sticky 가 본문 끝까지 따라 내려온다. */
.corp-converted .lg-toc {
	align-self: stretch;
}

.corp-converted .lg-toc__sticky {
	position: sticky;
	top: 104px;
	max-height: calc(100vh - 128px);
	overflow-y: auto;
	overscroll-behavior: contain;
}

.corp-converted .lg-toc__title {
	display: block;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: var(--corp-accent-label);
}

.corp-converted .lg-toc__list {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
	border-left: 2px solid var(--corp-border);
}

.corp-converted .lg-toc__list li {
	margin: 0;
}

.corp-converted .lg-toc__list a {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	margin-left: -2px;
	padding: 8px 0 8px 14px;
	border-left: 2px solid transparent;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--corp-body);
	text-decoration: none;
	transition: color 0.16s ease, border-color 0.16s ease;
}

.corp-converted .lg-toc__num {
	font-size: 12.5px;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	color: #9a8f78;
}

.corp-converted .lg-toc__list a:hover,
.corp-converted .lg-toc__list a.is-active {
	border-left-color: var(--corp-ink);
	color: var(--corp-ink);
}

.corp-converted .lg-toc__list a.is-active {
	font-weight: 800;
}

.corp-converted .lg-toc__list a.is-active .lg-toc__num {
	color: #7a5c0e;
}

.corp-converted .lg-toc__top {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	font-size: 14px;
	font-weight: 700;
	color: var(--corp-ink);
	text-decoration: none;
}

.corp-converted .lg-toc-m {
	display: none;
}

/* ---- 본문 ---- */
.corp-converted .lg-prose {
	min-width: 0;
	font-size: 16.5px;
	line-height: 1.8;
	color: #2b2924;
}

.corp-converted .lg-prose p {
	margin: 0 0 14px;
}

/* 첫 문단 = 문서의 취지(누가·무엇을·어떤 근거로) — 박스로 따로 세운다. */
.corp-converted .lg-prose > p:first-child {
	margin-bottom: 8px;
	padding: 22px 24px;
	border-radius: 16px;
	background: var(--corp-subtle);
	font-size: 16px;
	line-height: 1.75;
}

.corp-converted .lg-prose a {
	color: var(--corp-ink);
	text-decoration: underline;
	text-decoration-color: #c9bfa6;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.corp-converted .lg-prose a:hover {
	text-decoration-color: currentColor;
}

.corp-converted .lg-prose strong,
.corp-converted .lg-prose b {
	font-weight: 700;
	color: var(--corp-ink);
}

/* 섹션 제목 = 목차 항목 */
.corp-converted .lg-prose .lg-sec {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 12px;
	align-items: start;
	margin: 48px 0 18px;
	padding-top: 40px;
	border-top: 1px solid var(--corp-border);
	font-size: 23px;
	font-weight: 800;
	line-height: 1.45;
	letter-spacing: -0.02em;
	color: var(--corp-ink);
	scroll-margin-top: 96px;
}

.corp-converted .lg-sec__num {
	margin-top: 3px;
	padding: 3px 8px;
	border-radius: 8px;
	background: var(--corp-accent-100);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: 0.02em;
	font-variant-numeric: tabular-nums;
	color: #7a5c0e;
}

.corp-converted .lg-prose .lg-sub {
	margin: 30px 0 12px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: -0.015em;
	color: var(--corp-ink);
}

.corp-converted .lg-prose .lg-sec + .lg-sub {
	margin-top: 0;
}

/* 테마 리셋(tailwind preflight)이 목록 표식을 지운다 — 본문 목록만 되살린다. */
.corp-converted .lg-prose ul,
.corp-converted .lg-prose ol {
	margin: 0 0 16px;
	padding-left: 1.3em;
}

.corp-converted .lg-prose ul {
	list-style: disc;
}

.corp-converted .lg-prose ol {
	list-style: decimal;
}

.corp-converted .lg-prose li {
	margin: 6px 0;
	padding-left: 2px;
}

.corp-converted .lg-prose li::marker {
	color: var(--corp-accent-label);
}

/* ---- 조항 줄: 번호는 왼쪽에 걸고 본문은 번호 뒤로 정렬 ---- */
.corp-converted .lg-clauses {
	margin: 0 0 16px;
}

.corp-converted .lg-prose .lg-clause {
	display: flex;
	gap: 0.5em;
	margin: 0 0 6px;
}

.corp-converted .lg-clause__mk {
	flex: none;
	min-width: 1.3em;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--corp-ink);
}

.corp-converted .lg-clause__tx {
	min-width: 0;
}

.corp-converted .lg-prose .lg-clause--num:not(:first-child) {
	margin-top: 12px;
}

/* "2. 다음의 방법으로 파기합니다." 바로 뒤의 목록은 그 항의 하위 목록 */
.corp-converted .lg-prose .lg-clauses:has(> .lg-clause--num:last-child) + ul {
	margin-left: 1.8em;
}

.corp-converted .lg-clause--sub,
.corp-converted .lg-clause--num ~ .lg-clause--dash {
	padding-left: 1.8em;
}

.corp-converted .lg-clause--sub .lg-clause__mk {
	min-width: 1.6em;
	font-weight: 600;
	color: var(--corp-body);
}

.corp-converted .lg-clause--dash .lg-clause__mk {
	min-width: 0.9em;
}

.corp-converted .lg-clause--dash .lg-clause__mk::before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--corp-accent-label);
	vertical-align: middle;
	transform: translateY(-2px);
}

.corp-converted .lg-prose .lg-clause--note {
	font-size: 15px;
	color: var(--corp-body);
}

.corp-converted .lg-clause--note .lg-clause__mk {
	min-width: 0;
	font-weight: 400;
	color: var(--corp-body);
}

/* ---- 표 ---- */
.corp-converted .lg-prose .lg-table {
	margin: 18px 0 28px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.corp-converted .lg-prose .lg-table table {
	width: 100%;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--corp-border);
	border-radius: 14px;
	font-size: 14.5px;
	line-height: 1.65;
}

.corp-converted .lg-prose .lg-table--c5 table,
.corp-converted .lg-prose .lg-table--c6 table,
.corp-converted .lg-prose .lg-table--c7 table {
	min-width: 760px;
}

.corp-converted .lg-prose .lg-table th,
.corp-converted .lg-prose .lg-table td {
	padding: 13px 16px;
	border: 0;
	text-align: left;
	vertical-align: top;
}

/* 레거시 hello-elementor 의 홀수 행 줄무늬·hover 음영을 끈다 — 행 구분은 선으로. */
.corp-converted .lg-prose .lg-table td {
	background: transparent;
}

.corp-converted .lg-prose .lg-table th {
	background: var(--corp-subtle);
	border-bottom: 1px solid var(--corp-border);
	font-size: 13.5px;
	font-weight: 800;
	white-space: nowrap;
	color: var(--corp-ink);
}

.corp-converted .lg-prose .lg-table th:first-child {
	border-top-left-radius: 13px;
}

.corp-converted .lg-prose .lg-table th:last-child {
	border-top-right-radius: 13px;
}

.corp-converted .lg-prose .lg-table th + th,
.corp-converted .lg-prose .lg-table td + td {
	border-left: 1px solid var(--corp-border-2);
}

.corp-converted .lg-prose .lg-table tr + tr td {
	border-top: 1px solid var(--corp-border-2);
}

.corp-converted .lg-prose .lg-table td:first-child {
	font-weight: 700;
	color: var(--corp-ink);
}

/* 2열 표(구분 | 내용, 수탁업체 | 위탁내용)는 첫 칸이 라벨 — 한 줄로 두고 나머지를 본문에. */
@media (min-width: 768px) {
	.corp-converted .lg-prose .lg-table--c2 td:first-child {
		width: 1%;
		white-space: nowrap;
	}
}

/* ============ Tablet / mobile ============ */
@media (max-width: 1024px) {
	.corp-converted .lg-layout,
	.corp-converted .lg-layout--no-toc {
		grid-template-columns: minmax(0, 1fr);
		padding-top: 28px;
	}

	.corp-converted .lg-toc {
		display: none;
	}

	.corp-converted .lg-toc-m {
		display: block;
		margin-bottom: 8px;
		border: 1px solid var(--corp-border);
		border-radius: 14px;
		background: var(--corp-white);
	}

	.corp-converted .lg-toc-m summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 54px;
		padding: 0 18px;
		font-size: 15.5px;
		font-weight: 800;
		cursor: pointer;
		list-style: none;
	}

	.corp-converted .lg-toc-m summary::-webkit-details-marker {
		display: none;
	}

	.corp-converted .lg-toc-m[open] summary svg {
		transform: rotate(180deg);
	}

	.corp-converted .lg-toc-m__count {
		margin-left: 6px;
		font-size: 13.5px;
		font-weight: 600;
		color: var(--corp-body);
	}

	.corp-converted .lg-toc-m ol {
		margin: 0;
		padding: 0 18px 14px;
		list-style: none;
		border-top: 1px solid var(--corp-border-2);
	}

	.corp-converted .lg-toc-m li {
		margin: 0;
	}

	.corp-converted .lg-toc-m a {
		display: grid;
		grid-template-columns: 28px minmax(0, 1fr);
		padding: 9px 0;
		font-size: 15px;
		line-height: 1.5;
		color: var(--corp-ink);
		text-decoration: none;
	}

	.corp-converted .lg-prose > p:first-child {
		margin-top: 20px;
	}
}

@media (max-width: 767px) {
	.corp-converted .lg-head {
		padding: 36px 0 28px;
	}

	.corp-converted .lg-meta {
		margin-top: 10px;
		font-size: 14.5px;
	}

	.corp-converted .lg-notice {
		font-size: 14px;
	}

	.corp-converted .lg-prose {
		font-size: 16px;
		line-height: 1.78;
	}

	.corp-converted .lg-prose > p:first-child {
		padding: 18px;
		font-size: 15px;
	}

	.corp-converted .lg-prose .lg-sec {
		margin-top: 36px;
		padding-top: 30px;
		font-size: 20px;
		column-gap: 10px;
		scroll-margin-top: 80px;
	}

	.corp-converted .lg-sec__num {
		margin-top: 2px;
		font-size: 12px;
	}

	.corp-converted .lg-prose .lg-sub {
		margin-top: 26px;
		font-size: 17px;
	}

	.corp-converted .lg-clause--sub,
	.corp-converted .lg-clause--num ~ .lg-clause--dash {
		padding-left: 1.4em;
	}

	.corp-converted .lg-prose .lg-table table {
		font-size: 14px;
	}

	.corp-converted .lg-prose .lg-table th,
	.corp-converted .lg-prose .lg-table td {
		padding: 11px 12px;
	}

	.corp-converted .lg-prose .lg-table th {
		white-space: normal;
	}

	/* 3열 이상 표는 행마다 카드로 — 첫 칸이 카드 제목, 나머지는 「항목명 | 값」. */
	.corp-converted .lg-prose .lg-table--stack {
		overflow: visible;
	}

	.corp-converted .lg-prose .lg-table--stack table,
	.corp-converted .lg-prose .lg-table--stack tbody,
	.corp-converted .lg-prose .lg-table--stack tr,
	.corp-converted .lg-prose .lg-table--stack td {
		display: block;
		min-width: 0;
	}

	.corp-converted .lg-prose .lg-table--stack table {
		border: 0;
		border-radius: 0;
	}

	.corp-converted .lg-prose .lg-table--stack thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.corp-converted .lg-prose .lg-table--stack tr {
		margin-bottom: 12px;
		padding: 4px 16px 6px;
		border: 1px solid var(--corp-border);
		border-radius: 14px;
	}

	.corp-converted .lg-prose .lg-table--stack tr + tr td,
	.corp-converted .lg-prose .lg-table--stack td + td {
		border-left: 0;
		border-top: 0;
	}

	.corp-converted .lg-prose .lg-table--stack td {
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr);
		column-gap: 14px;
		padding: 10px 0;
		font-weight: 400;
		color: #2b2924;
	}

	.corp-converted .lg-prose .lg-table--stack td + td {
		border-top: 1px dashed var(--corp-border);
	}

	.corp-converted .lg-prose .lg-table--stack td::before {
		content: attr(data-label);
		font-size: 13px;
		font-weight: 700;
		line-height: 1.75;
		color: var(--corp-body);
	}

	.corp-converted .lg-prose .lg-table--stack td:first-child {
		display: block;
		padding: 12px 0 10px;
		font-size: 16px;
		font-weight: 800;
		line-height: 1.5;
		color: var(--corp-ink);
	}

	.corp-converted .lg-prose .lg-table--stack td:first-child::before {
		content: none;
	}
}

/* ============ 인쇄 ============ */
@media print {
	.corp-hdr,
	.corp-foot,
	.corp-converted .lg-toc,
	.corp-converted .lg-toc-m {
		display: none !important;
	}

	.corp-converted .lg-head {
		padding: 0 0 16px;
		background: none;
	}

	.corp-converted .lg-layout,
	.corp-converted .lg-layout--no-toc {
		display: block;
		padding: 16px 0 0;
	}

	.corp-converted .lg-prose .lg-sec {
		break-after: avoid;
	}

	.corp-converted .lg-prose .lg-table tr {
		break-inside: avoid;
	}
}
