/* faq.css */
.faq-section { background:var(--color-bg); }
.faq-filter { display:flex; flex-wrap:wrap; gap:var(--space-2); margin-bottom:var(--space-10); justify-content:center; }
.faq-filter-btn { padding:10px 20px; border-radius:var(--radius-full); font-family:var(--font-body); font-size:var(--text-sm); font-weight:600; border:2px solid var(--color-border); background:var(--color-surface); color:var(--color-text-secondary); cursor:pointer; transition:all var(--transition-fast); }
.faq-filter-btn:hover { border-color:var(--color-primary-300); color:var(--color-primary-700); }
.faq-filter-btn.active { border-color:var(--color-accent-500); background:var(--color-accent-500); color:var(--color-text-primary); }
.faq-list { display:flex; flex-direction:column; gap:var(--space-3); max-width:800px; margin:0 auto; }
.faq-item { background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-lg); overflow:hidden; transition:border-color var(--transition-fast), box-shadow var(--transition-fast); }
.faq-item.open { border-color:var(--color-accent-400); box-shadow:var(--shadow-sm); }
.faq-question { width:100%; background:none; border:none; padding:var(--space-6) var(--space-6); display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-4); cursor:pointer; text-align:left; transition:background var(--transition-fast); }
.faq-question:hover { background:var(--color-surface-2); }
.faq-item.open .faq-question { border-left:3px solid var(--color-accent-500); background:var(--color-surface-2); }
.faq-question-text { font-family:var(--font-body); font-size:var(--text-base); font-weight:600; color:var(--color-text-primary); line-height:1.5; }
.faq-item.open .faq-question-text { color:var(--color-primary-800); }
.faq-icon { width:24px; height:24px; border-radius:50%; background:var(--color-primary-100); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform var(--transition-base), background var(--transition-fast); }
.faq-icon svg { width:14px; height:14px; color:var(--color-primary-700); }
.faq-item.open .faq-icon { background:var(--color-accent-500); }
.faq-item.open .faq-icon svg { color:var(--color-text-primary); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1); }
.faq-answer-inner { padding:0 var(--space-6) var(--space-6); padding-left:calc(var(--space-6) + 3px); }
.faq-item.open .faq-question ~ .faq-answer { border-left:3px solid var(--color-accent-500); }
.faq-answer-inner p { font-size:var(--text-base); color:var(--color-text-secondary); line-height:1.75; }
.faq-cta { background:var(--color-surface-2); border-top:1px solid var(--color-border); }
