:root{--cfm-primary:#6366f1;--cfm-hover:#4f46e5;--cfm-q-color:#1e293b;--cfm-q-size:18px;--cfm-a-color:#475569;--cfm-a-size:16px;--cfm-font-family:inherit}
.cfm-section-title{font-weight:700;margin-bottom:16px;color:var(--cfm-q-color);}
.cfm-faq-wrapper{font-family:var(--cfm-font-family,inherit);padding:0}
.cfm-faq-grid{display:grid;grid-template-columns:1fr;gap:18px}
.cfm-faq-item{background:#fff;border:1px solid #e6e6e6;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.06);transition:transform .22s,box-shadow .22s}
.cfm-faq-item:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,0.08)}
.cfm-faq-item.cfm-active{border-color:var(--cfm-primary);background:#f8fbff}
.cfm-faq-question{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;cursor:pointer}
.cfm-qtext{font-size:var(--cfm-q-size);color:var(--cfm-q-color);margin:0;flex:1}
.cfm-icon{width:30px;height:30px;border-radius:50%;background:var(--cfm-primary);flex:0 0 30px;position:relative;transition:transform .3s ease}
.cfm-icon::before,.cfm-icon::after{content:'';position:absolute;background:#fff;transition:transform .25s ease}
.cfm-icon::before{height:2px;left:9px;right:9px;top:14px}
.cfm-icon::after{width:2px;top:8px;bottom:8px;left:14px}
.cfm-faq-panel{max-height:0;overflow:hidden;transition:max-height .45s ease,padding .35s}
.cfm-faq-panel .cfm-faq-content{padding:16px 18px;border-top:1px solid rgba(0,0,0,0.04);background:#fbfdff;color:var(--cfm-a-color);font-size:var(--cfm-a-size);line-height:1.7}
.cfm-faq-item.cfm-active .cfm-faq-panel{padding:16px 0;max-height:800px}
.cfm-faq-item.cfm-active .cfm-icon{transform:rotate(180deg)}
.cfm-faq-item.cfm-active .cfm-icon::after { opacity: 0; transform: scaleY(0); }
@media(max-width:768px){.cfm-qtext{font-size:calc(var(--cfm-q-size) - 2px)}}
