/*<style type="text/css">*/

/* 
=========================================================================
🏆 [최종 무결성] FAQ 전역 디자인 - 아이콘 완전 박멸 & 줄바꿈 최적화
=========================================================================
*/

/* 1. 기본 폰트 및 공통 요소 */
.modern-faq-wrap, .modern-faq-wrap * { font-family: 'Paperlogy', sans-serif !important; }

/* 🚫 [아이콘 박멸 - Nuclear Option] 
   사용자님이 찾으신 .fa, .fas 등 모든 아이콘 클래스를 FAQ 카드 안에서 물리적으로 삭제합니다. 
*/
.faq-card i:not(.fa-pencil):not(.arrow-icon):not(.fa-paperclip), 
.faq-card span[class^="fa-"], 
.faq-card div[class^="fa-"],
.faq-card .round-box, 
.faq-card .material-symbols-outlined, 
.faq-card .material-icons { 
    display: none !important; 
    width: 0 !important; 
    height: 0 !important; 
    opacity: 0 !important; 
    visibility: hidden !important; 
}

/* 2. FAQ 카드 레이아웃 */
.faq-card { 
    background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; 
    margin-bottom: 12px; overflow: hidden; transition: all 0.3s ease; 
}
.faq-card:hover { border-color: #00a2ff; box-shadow: 0 4px 15px rgba(0, 162, 255, 0.08); }

/* 3. 질문(Question) 영역 */
.faq-question { display: flex !important; align-items: center !important; padding: 18px 25px !important; cursor: pointer !important; gap: 15px !important; }

/* Q 배지 (텍스트로만 구성) */
.q-badge { 
    width: 28px !important; height: 28px !important; background: #00a2ff !important; color: #fff !important; 
    border-radius: 8px !important; display: flex !important; align-items: center !important; 
    justify-content: center !important; font-weight: 800; font-size: 14px; flex-shrink: 0; 
}

.q-title-area { flex-grow: 1; display: flex; align-items: center; gap: 12px; overflow: hidden; }
.q-number { color: #cbd5e0; font-size: 0.8rem; font-weight: 600; min-width: 35px; }

/* 🔥 [줄바꿈 최적화] 제목 */
.q-main-title { 
    font-size: 1.05rem !important; color: #1a202c !important; font-weight: 700 !important; 
    line-height: 1.5 !important; word-break: keep-all !important; overflow-wrap: break-word !important; 
    display: block !important;
}

/* 우리가 사용할 화살표와 수정 아이콘은 살려둡니다 */
.q-side-icons { display: flex; align-items: center; gap: 15px; flex-shrink: 0; }
.faq-btn-edit { color: #cbd5e0; font-size: 0.9rem; text-decoration: none !important; }
.faq-btn-edit i.fa-pencil { display: inline-block !important; font-family: "FontAwesome" !important; }
.arrow-icon { color: #cbd5e0; font-size: 12px; transition: transform 0.3s; display: inline-block !important; font-family: "FontAwesome" !important; }

/* 4. 답변(Answer) 영역 */
.faq-answer { 
    display: none; 
    padding: 25px 25px 25px 68px !important; 
    background: #fcfdfe !important; 
    border-top: 1px solid #f1f5f9 !important; 
    position: relative !important; 
}
.faq-card.active { border-color: #00a2ff !important; }
.faq-card.active .faq-answer { display: block !important; }
.faq-card.active .arrow-icon { transform: rotate(180deg); color: #00a2ff; }

/* A 배지 */
.a-badge { 
    position: absolute !important; left: 25px; top: 25px; width: 28px; height: 28px; 
    background: #f1f5f9 !important; color: #718096 !important; border-radius: 8px !important; 
    display: flex !important; align-items: center !important; justify-content: center !important; 
    font-weight: 800; font-size: 14px; 
}

/* 🔥 [에디터와 100% 동기화] 답변 본문 폰트 및 줄간격 */
.faq-text-body { 
    /* 에디터 설정값(11pt, 1.6)과 완벽 일치 */
    font-size: 11pt !important; 
    line-height: 1.6 !important; 
    font-weight: 400 !important; /* 기본 굵기로 고정 */
    color: #2d3748 !important; 
    
    /* 줄바꿈 설정 */
    word-break: keep-all !important; 
    overflow-wrap: break-word !important; 
}

/* 본문 내의 모든 하위 요소(p, span 등)에도 폰트 굵기 강제 적용 */
.faq-text-body * {
    font-size: inherit; /* 기본 크기 상속 */
    line-height: inherit; /* 기본 줄간격 상속 */
    font-weight: inherit; /* 에디터에서 별도로 굵게 하지 않은 이상 400 유지 */
}

/* 에디터에서 '굵게'를 직접 누른 경우만 굵게 표시되도록 허용 */
.faq-text-body strong, 
.faq-text-body b {
    font-weight: 700 !important;
}

/* 에디터에서 개별 폰트 사이즈를 정한 경우 존중 (예외 처리) */
.faq-text-body [style*="font-size"] {
    font-size: auto !important;
}

/* 첨부파일 영역 */
.faq-file-box { margin-top: 20px; padding-top: 15px; border-top: 1px dotted #e2e8f0; font-size: 0.85rem; display: flex; gap: 10px; }
.file-label { font-weight: 700; color: #a0aec0; }
.file-label i.fa-paperclip { display: inline-block !important; font-family: "FontAwesome" !important; }

/* 📱 모바일 최적화 */
@media screen and (max-width: 768px) {
    .faq-question { padding: 15px !important; gap: 10px !important; }
    .q-main-title { font-size: 0.95rem !important; }
    .faq-answer { padding: 20px 15px 20px 50px !important; }
    .a-badge, .q-badge { width: 24px !important; height: 24px !important; font-size: 12px !important; border-radius: 6px !important; }
    .a-badge { left: 15px; top: 20px; }
    .q-number { display: none !important; }
}

.no-data-msg { text-align: center; padding: 80px; color: #a0aec0; background: #f8fafc; border-radius: 12px; border: 1px dashed #e2e8f0; }

/* 하단 버튼 */
.btn-renewal { 
    background-color: #fff !important; color: #00a2ff !important; border: 1px solid #00a2ff !important; 
    padding: 7px 20px !important; border-radius: 25px !important; font-weight: 700 !important; 
    font-size: 0.9em !important; text-decoration: none !important; display: inline-flex !important; 
    align-items: center; justify-content: center; transition: all 0.2s !important; 
}
.btn-renewal:hover { background-color: #00a2ff !important; color: #fff !important; }