/* ===== FAQ ===== */
.faq-wrap { margin: 60px auto 160px; padding: 0 20px; }

/* °Ë»ö */
.faq-search-wrap { margin-bottom: 40px; }
.faq-search-form { max-width: 600px; margin: 0 auto; }
.faq-search-bar { display: flex; align-items: center; border: 1.5px solid #e0e0e0; border-radius: 100px; overflow: hidden; padding: 6px 6px 6px 20px; background: #fff; transition: border-color 0.2s; box-shadow: 0 2px 12px rgba(0,0,0,0.06); }
.faq-search-bar:focus-within { border-color: #e40c0c; }
.faq-search-icon { color: #ccc; flex-shrink: 0; }
.faq-search-input { flex: 1; border: none; outline: none; font-size: 15px; color: #333; padding: 6px 12px; background: transparent; }
.faq-search-input::placeholder { color: #bbb; }
.faq-search-btn { flex-shrink: 0; background: #e40c0c; color: #fff; border: none; border-radius: 100px; padding: 10px 24px; font-size: 14px; font-weight: 600; cursor: pointer; transition: background 0.2s; white-space: nowrap; }
.faq-search-btn:hover { background: #c00; }

/* Ä«Å×°í¸® */
.faq-cate-nav { margin-bottom: 36px; }
.faq-cate-list { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.faq-cate-btn { display: inline-block; padding: 9px 22px; border: 1.5px solid #e0e0e0; border-radius: 100px; font-size: 14px; font-weight: 500; color: #555; text-decoration: none; transition: all 0.2s; }
.faq-cate-btn:hover { border-color: #e40c0c; color: #e40c0c; }
.faq-cate-btn.active { background: #e40c0c; border-color: #e40c0c; color: #fff; font-weight: 700; box-shadow: none; }

/* FAQ ¸ñ·Ï */
.faq-list { list-style: none; border-top: 2px solid #111; }

/* ¾ÆÀÌÅÛ */
.faq-item { border-bottom: 1px solid #ebebeb; }

/* Q */
.faq-q { display: flex; align-items: center; gap: 16px; padding: 22px 20px; cursor: pointer; min-height: auto; line-height: 1.6; position: relative; }
.faq-q-badge { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: #e40c0c; color: #fff; font-size: 15px; font-weight: 700; border-radius: 8px; flex-shrink: 0; }
.faq-item.faq-open .faq-q-badge { background: #111; }
.faq-q-text { flex: 1; font-size: 16px; font-weight: 500; color: #222; text-decoration: none; line-height: 1.6; word-break: keep-all; }
.faq-item.faq-open .faq-q-text { color: #e40c0c; font-weight: 600; }
.faq-toggle-btn { flex-shrink: 0; width: 32px; height: 32px; border: 1.5px solid #e0e0e0; border-radius: 50%; background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; }
.faq-toggle-btn:hover { border-color: #e40c0c; color: #e40c0c; }
.faq-item.faq-open .faq-toggle-btn { background: #e40c0c; border-color: #e40c0c; color: #fff; }
.faq-icon-minus { display: none; }
.faq-item.faq-open .faq-icon-plus { display: none; }
.faq-item.faq-open .faq-icon-minus { display: block; }

/* A */
.con_inner { display: none; }
.faq-a { padding: 0 20px 24px 68px; position: relative; background: #fafafa; }
.faq-a-badge { position: absolute; left: 20px; top: 20px; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: #f0f0f0; color: #888; font-size: 15px; font-weight: 700; border-radius: 8px; }
.faq-a-content { padding-top: 20px; font-size: 15px; color: #555; line-height: 1.85; word-break: keep-all; }
.faq-a-content img { max-width: 100%; height: auto; }
.faq-close-btn { display: inline-flex; align-items: center; gap: 4px; margin-top: 16px; background: none; border: 1px solid #e0e0e0; border-radius: 4px; padding: 6px 12px; font-size: 13px; color: #aaa; cursor: pointer; transition: all 0.2s; }
.faq-close-btn:hover { border-color: #e40c0c; color: #e40c0c; }

/* ºó ¸ñ·Ï */
.faq-empty { text-align: center; padding: 80px 0; display: flex; flex-direction: column; align-items: center; gap: 16px; color: #bbb; }
.faq-empty p { font-size: 15px; }
.faq-empty a { color: #e40c0c; text-decoration: underline; }

/* °ü¸®ÀÚ */
.faq-admin { text-align: right; margin-top: 20px; }

/* ÆäÀÌÁö */
.faq-wrap .pg_wrap { display: flex; align-items: center; justify-content: center; gap: 4px; flex-wrap: wrap; margin: 32px 0; }
.faq-wrap .pg_wrap a,
.faq-wrap .pg_wrap strong,
.faq-wrap .pg_wrap span { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 10px; border-radius: 8px; border: 1px solid #e8e8e8; font-size: 14px; color: #555; text-decoration: none; transition: all 0.2s; background: #fff; }
.faq-wrap .pg_wrap strong { background: #e40c0c; border-color: #e40c0c; color: #fff; font-weight: 700; }
.faq-wrap .pg_wrap a:hover { border-color: #e40c0c; color: #e40c0c; }

/* ¹ÝÀÀÇü */
@media all and (max-width:820px) {
    .faq-wrap { margin: 32px auto 80px; }
    .faq-q { padding: 18px 14px; gap: 12px; }
    .faq-q-text { font-size: 14px; }
    .faq-a { padding: 0 14px 20px 58px; }
    .faq-a-content { font-size: 14px; }
    .faq-cate-list { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
    .faq-cate-list::-webkit-scrollbar { display: none; }
    .faq-cate-btn { white-space: nowrap; font-size: 13px; padding: 7px 16px; }
    .faq-search-bar { padding: 4px 4px 4px 16px; }
    .faq-search-input { font-size: 14px; }
    .faq-search-btn { padding: 9px 16px; font-size: 13px; }
}
@media all and (max-width:520px) {
    .faq-q-badge, .faq-a-badge { width: 28px; height: 28px; font-size: 13px; border-radius: 6px; }
    .faq-a { padding-left: 50px; }
    .faq-a-badge { left: 14px; }
}