/* FAQ 아코디언 — 어떤 스킨에서나 쓰도록 클래스는 tc-faq 로 시작합니다.
   색을 바꾸려면 스킨 CSS 에서 변수만 다시 지정하세요. 예) .tc-faq { --faq-accent: #0a7; } */
.tc-faq {
	--faq-line: #e5e7eb; --faq-bg-open: #f7f8fa; --faq-q: #4b5563; --faq-text: #4b5563; --faq-answer: #15803d; --faq-accent: #2563eb;
	margin: 2.4em 0; font-family: inherit;
}
.tc-faq__title { margin: 0 0 14px; font-size: 20px; font-weight: 700; color: #111; letter-spacing: -.01em; }
.tc-faq__item { margin: 0 0 8px; border: 1px solid var(--faq-line); border-radius: 6px; background: #fff; overflow: hidden; transition: background .25s ease; }
.tc-faq__item.is-open { background: var(--faq-bg-open); }
.tc-faq__q { margin: 0; padding: 0; font-size: inherit; }
.tc-faq__btn {
	display: flex; align-items: center; gap: 10px; width: 100%; margin: 0; padding: 18px 20px;
	border: 0; background: none; font: inherit; text-align: left; cursor: pointer; color: var(--faq-q);
}
.tc-faq__qicon, .tc-faq__aicon { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 0 !important; margin: 0 !important; }
.tc-faq__qmark { flex: 0 0 auto; font-weight: 700; }
.tc-faq__qtext { flex: 1 1 auto; font-size: 16px; font-weight: 700; line-height: 1.5; word-break: keep-all; }
.tc-faq__chev { /* 오른쪽 꺾쇠: 닫힘 ∨ / 열림 ∧ (파란색) */
	flex: 0 0 auto; width: 10px; height: 10px; margin: 0 4px 4px 12px;
	border-right: 2px solid #374151; border-bottom: 2px solid #374151; transform: rotate(45deg); transition: transform .3s ease, border-color .3s ease;
}
.tc-faq__item.is-open .tc-faq__chev { transform: rotate(-135deg) translate(-3px, -3px); border-color: var(--faq-accent); }
.tc-faq__btn:hover .tc-faq__qtext { color: #111; }
.tc-faq__btn:focus-visible { outline: 2px solid var(--faq-accent); outline-offset: -2px; }
.tc-faq__panel { overflow: hidden; transition: height .35s ease; }
.tc-faq__panel[hidden] { display: block !important; height: 0; visibility: hidden; }   /* 닫힌 답변: 자리 없음 */
.tc-faq__inner { padding: 4px 22px 22px; border-top: 1px solid var(--faq-line); }
.tc-faq__alabel { display: flex; align-items: center; gap: 8px; margin: 18px 0 12px; font-family: Georgia, "Noto Serif KR", serif; font-size: 19px; font-weight: 700; color: var(--faq-answer); }
.tc-faq__answer { font-size: 16px; line-height: 1.9; color: var(--faq-text); word-break: keep-all; }
.tc-faq__answer > *:first-child { margin-top: 0; }
.tc-faq__answer > *:last-child { margin-bottom: 0; }
@media (max-width: 760px) {
	.tc-faq__btn { padding: 15px 14px; }
	.tc-faq__qtext { font-size: 15px; }
	.tc-faq__inner { padding: 2px 14px 16px; }
	.tc-faq__answer { font-size: 15px; }
}
