/* =========================================================
 * 자주 묻는 질문 (Support/FAQ/index.php) — 그린 테마
 * pages.css 가 이 페이지에 로드되지 않으므로 자급 정의
 * ========================================================= */

.kh-sup {
	--kh-teal-1: #eaf7f1;
	--kh-teal-2: #cfede0;
	--kh-teal-3: #7fcbae;
	--kh-teal-4: #28a77b;
	--kh-teal-5: #15835e;
	--kh-ink: #1d2533;
	--kh-ink-2: #33425a;
	--kh-ink-3: #5b6579;
	--line: #eae3d8;
	--line-2: #f0ece4;

	color: var(--kh-ink);
	font-family: var(--font-pretendard);
}

/* ---------- 상단 헤더 ---------- */
.kh-sup .content-section-top {
	padding: 0 30px;
	display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 16px;
	text-align: center;
}
.kh-sup .content-section-top > span {
	padding: 6px 14px;
	width: auto;
	color: var(--kh-teal-5);
	font-size: 0.9rem; font-weight: 700; line-height: 1;
	background: var(--kh-teal-2);
	border-radius: 999px;
}
.kh-sup .content-section-top > div {
	color: var(--kh-teal-5);
	font-family: var(--font-jua); font-size: clamp(2.2rem, 4vw, 3.0rem); font-weight: 400;
	line-height: 1.2;
}
.kh-sup .content-section-top > p {
	margin: 0;
	color: var(--kh-ink-3);
	font-size: 1.0rem;
}

/* ---------- 레이아웃 ---------- */
.kh-sup.kh-section, .kh-sup .kh-section { padding: 44px 0 80px; }
.kh-sup .kh-container {
	width: 100%; max-width: 1000px;
	margin: 0 auto;
	padding: 0 24px;
}

/* ---------- 탭 ---------- */
.kh-sup .kh-support-tabs {
	margin-bottom: 28px;
	display: flex; flex-direction: row; justify-content: center; gap: 10px;
}
.kh-sup .kh-support-tab {
	padding: 12px 28px;
	color: var(--kh-ink-2);
	font-family: var(--font-pretendard); font-size: 0.95rem; font-weight: 600;
	text-decoration: none;
	background: #fff;
	border: 1.5px solid var(--line); border-radius: 999px;
	display: inline-flex; align-items: center;
	cursor: pointer;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.kh-sup .kh-support-tab:hover { border-color: var(--kh-teal-3); }
.kh-sup .kh-support-tab.active {
	color: #fff;
	background: var(--kh-teal-4);
	border-color: var(--kh-teal-4);
	box-shadow: 0 8px 18px rgba(40, 167, 123, 0.25);
}

/* ---------- FAQ 아코디언 ---------- */
.kh-sup .kh-faq-list { display: flex; flex-direction: column; gap: 12px; }
.kh-sup .kh-faq-item {
	background: #fff;
	border: 1px solid var(--line-2); border-radius: 14px;
	overflow: hidden;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.kh-sup .kh-faq-item.open {
	border-color: var(--kh-teal-3);
	box-shadow: 0 8px 22px rgba(40, 167, 123, 0.1);
}

.kh-sup .kh-faq-q {
	width: 100%;
	padding: 22px 24px;
	background: none;
	border: 0;
	display: flex; flex-direction: row; align-items: center; gap: 14px;
	text-align: left;
	cursor: pointer;
}
.kh-sup .kh-faq-icon {
	width: 26px; min-width: 26px; height: 26px;
	color: #fff;
	font-size: 0.78rem; font-weight: 700;
	background: var(--kh-teal-4);
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
}
.kh-sup .kh-faq-question {
	flex: 1;
	color: var(--kh-ink);
	font-size: 1.0rem; font-weight: 700;
}
.kh-sup .kh-faq-toggle {
	min-width: 22px;
	color: var(--kh-ink-3);
	font-size: 1.4rem; font-weight: 400; line-height: 1;
	text-align: center;
}
.kh-sup .kh-faq-toggle::before { content: "+"; }
.kh-sup .kh-faq-item.open .kh-faq-toggle { color: var(--kh-teal-5); }
.kh-sup .kh-faq-item.open .kh-faq-toggle::before { content: "\2212"; }

.kh-sup .kh-faq-a {
	padding: 0 24px 22px;
	display: none; flex-direction: row; align-items: flex-start; gap: 14px;
}
.kh-sup .kh-faq-item.open .kh-faq-a { display: flex; }
.kh-sup .kh-faq-icon-a { background: var(--kh-teal-3); }
.kh-sup .kh-faq-answer {
	flex: 1;
	margin: 0;
	color: var(--kh-ink-2);
	font-size: 0.95rem; line-height: 1.65;
}

/* ---------- 반응형 ---------- */
@media (max-width: 560px) {
	.kh-sup .kh-faq-q { padding: 18px 16px; }
	.kh-sup .kh-faq-a { padding: 0 16px 18px; }
	.kh-sup .kh-faq-question { font-size: 0.95rem; }
}
