@charset "utf-8";

/* 서비스 이용약관 */
:root {
	--primary-color: #2563eb;
	--bg-gray: #f8fafc;
	--text-main: #1e293b;
	--text-muted: #64748b;
	--border-color: #e2e8f0;
}

body {
	font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
	background-color: var(--bg-gray);
	color: var(--text-main);
	line-height: 1.7;
	margin: 0;
	padding: 0;
}

.tos-wrapper {
	max-width: 1200px;
	margin: 40px auto;
	background: #ffffff;
	padding: 40px;
	border-radius: 12px;
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
}

/* 헤더 영역 */
.tos-header {
	border-bottom: 2px solid var(--text-main);
	padding-bottom: 20px;
	margin-bottom: 30px;
}

.tos-header h1 {
	font-size: 28px;
	margin: 0 0 10px 0;
	color: #000;
}

.tos-header .version-info {
	color: var(--text-muted);
	font-size: 14px;
}

/* 핵심 요약 영역 */
.summary-box {
	background: #eff6ff;
	border-left: 4px solid var(--primary-color);
	padding: 20px;
	margin-bottom: 30px;
	border-radius: 0 8px 8px 0;
}

.summary-box h2 {
	font-size: 16px;
	margin-top: 0;
	color: var(--primary-color);
}

.summary-box ul {
	margin: 0;
	padding-left: 20px;
	font-size: 14.5px;
}

/* 약관 본문 스타일 */
.tos-body h2 {
	font-size: 20px;
	background: #f1f5f9;
	padding: 10px 15px;
	margin: 40px 0 20px 0;
	border-radius: 6px;
}

.tos-body h3 {
	font-size: 17px;
	color: var(--primary-color);
	margin: 25px 0;
	border-bottom: 1px solid var(--border-color);
	padding-bottom: 5px;
}

.tos-body p, .tos-body li {
	font-size: 15px;
	margin-bottom: 12px;
	word-break: keep-all;
}

.tos-body p.sub{
	margin-left:10px;
}

.tos-body ul {
	list-style: none;
	padding-left: 0;
}

.tos-body ul li {
	padding-left: 15px;
	position: relative;
}

.tos-body ul li::before {
	content: "•";
	position: absolute;
	left: 0;
	color: var(--text-muted);
}

/* 부칙 스타일 */
.addendum {
	margin-top: 50px;
	padding: 20px;
	background: #f8fafc;
	border-top: 1px solid var(--border-color);
	font-size: 14px;
}

/* 반응형 모바일 대응 */
@media (max-width: 768px) {
	.tos-wrapper {
		margin: 0;
		padding: 20px;
		border-radius: 0;
	}
	.tos-header h1 { font-size: 22px; }
	.tos-body h2 { font-size: 18px; }
}


/* 개인정보 처리방침 */

.privacy-wrap { max-width: 1200px; margin: 0 auto; background: #fff; padding: 40px; border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); }

h1 { font-size: 26px; border-bottom: 2px solid #222; padding-bottom: 15px; margin-bottom: 10px; }
.ver-info { font-size: 14px; color: #64748b; margin-bottom: 30px; }

/* 라벨링 스타일 */
.labeling-table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; border-top: 2px solid var(--primary-blue); }
.labeling-table th { background: #eff6ff; padding: 12px; border: 1px solid var(--border-color); text-align: center; color: var(--primary-blue); }
.labeling-table td { padding: 12px; border: 1px solid var(--border-color); }

/* 목차 스타일 */
.toc-box { background: #f1f5f9; padding: 20px; border-radius: 8px; margin-bottom: 40px; }
.toc-box h4 { margin: 0 0 10px 0; }
.toc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 20px; font-size: 14px; }
.toc-grid a { color: var(--text-main); text-decoration: none; }
.toc-grid a:hover { text-decoration: underline; color: var(--primary-blue); }

/* 본문 스타일 */
.privacy-wrap h2 { font-size: 20px; margin: 50px 0 20px 0; border-bottom: 1px solid var(--border-color); padding-bottom: 10px; color: #000; }
.privacy-wrap h3 { font-size: 16px; margin-top: 25px; color: var(--primary-blue); }
.privacy-wrap p, li { font-size: 15px; margin-bottom: 10px; word-break: keep-all; }

.data-table { width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 13px; min-width: 600px; }
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.data-table th { background: #f8fafc; padding: 10px; border: 1px solid var(--border-color); }
.data-table td { padding: 10px; border: 1px solid var(--border-color); }

.contact-card { background: #fff; border: 1px solid var(--border-color); padding: 15px; border-radius: 6px; margin: 10px 0; }

@media (max-width: 768px) {
	.privacy-wrap { padding: 20px; }
	.toc-grid { grid-template-columns: 1fr; }
	h1 { font-size: 20px; }
}