@charset "utf-8";
/* faq.css -- FAQ 아코디언 스타일 (communication/faq.html) */

.faq_wrap { max-width: 960px; margin: 0 auto; padding: 20px 15px; }
.faq_wrap h2 { font-size: 24px; margin-bottom: 20px; }

/* 카테고리 탭 */
.faq_tabs { list-style: none; padding: 0; margin: 0 0 20px; display: flex; flex-wrap: wrap; border-bottom: 2px solid #333; }
.faq_tabs li { margin: 0; }
.faq_tabs li a {
    display: block; padding: 10px 20px; text-decoration: none;
    color: #666; font-size: 14px; border: 1px solid #ddd;
    border-bottom: none; margin-right: -1px; background: #f9f9f9;
}
.faq_tabs li a:hover { background: #eee; color: #333; }
.faq_tabs li.active a { background: #333; color: #fff; border-color: #333; }

/* 검색 폼 */
.faq_search { margin-bottom: 25px; }
.faq_search form { display: flex; max-width: 400px; }
.faq_search input[type="text"] {
    flex: 1; padding: 8px 12px; border: 1px solid #ccc;
    border-right: none; font-size: 14px; border-radius: 3px 0 0 3px;
}
.faq_search button {
    padding: 8px 16px; background: #333; color: #fff; border: 1px solid #333;
    cursor: pointer; font-size: 14px; border-radius: 0 3px 3px 0;
}
.faq_search button:hover { background: #555; }

/* FAQ 항목 */
.faq_list { margin-bottom: 25px; }
.faq_item { border-bottom: 1px solid #e5e5e5; }
.faq_item:first-child { border-top: 1px solid #e5e5e5; }
.faq_q {
    margin: 0; padding: 15px 40px 15px 15px; font-size: 15px;
    font-weight: normal; cursor: pointer; position: relative;
    color: #333; line-height: 1.5;
}
.faq_q:hover { background: #fafafa; }
.faq_q::before { content: "Q."; font-weight: bold; color: #2a6496; margin-right: 8px; }
.faq_q::after {
    content: "\f107"; font-family: FontAwesome; position: absolute;
    right: 15px; top: 50%; transform: translateY(-50%);
    font-size: 18px; color: #999; transition: transform 0.3s;
}
.faq_q.active::after { transform: translateY(-50%) rotate(180deg); }
.faq_a {
    display: none; padding: 15px 15px 15px 38px; background: #f8f9fa;
    color: #555; line-height: 1.7; font-size: 14px;
}
.faq_a::before { content: "A."; font-weight: bold; color: #c9302c; margin-right: 8px; }

/* 비어있는 목록 */
.faq_empty { padding: 60px 20px; text-align: center; color: #999; font-size: 15px; }

/* 페이지네이션 */
.faq_wrap .pg_wrap { text-align: center; margin: 25px 0; }
.faq_wrap .pagination { display: inline-flex; list-style: none; padding: 0; margin: 0; }
.faq_wrap .pagination li { margin: 0 2px; }
.faq_wrap .pagination li a,
.faq_wrap .pagination li span {
    display: inline-block; padding: 6px 12px; border: 1px solid #ddd;
    color: #333; text-decoration: none; font-size: 13px; border-radius: 3px;
}
.faq_wrap .pagination li a:hover { background: #eee; }
.faq_wrap .pagination li.active span { background: #333; color: #fff; border-color: #333; }
