.kc-faq { margin: 48px 0; padding: clamp(20px, 3vw, 40px); border: 1px solid #e2e8f0; border-radius: 16px; background: #f8fafc; color: #0f172a; }
.kc-faq > h2 { margin: 0 0 24px; font-size: clamp(24px, 2.5vw, 30px); font-weight: 650; letter-spacing: -.025em; line-height: 1.3; color: inherit; }
.kc-faq-item { margin: 0 0 12px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; overflow: hidden; transition: border-color .15s ease; }
.kc-faq-item:last-child { margin-bottom: 0; }
.kc-faq-item:hover { border-color: #94a3b8; }
.kc-faq-item h3 { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.5; color: inherit; }
.kc-faq-item button { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; padding: 18.4px 20.8px; background: transparent; color: inherit; border: 0; border-radius: 0; box-shadow: none; cursor: pointer; font: inherit; text-align: start; }
.kc-faq-item button:hover { background: #f8fafc; }
.kc-faq-item button:focus-visible { outline: 2px solid #2563eb; outline-offset: -3px; border-radius: 9px; }
.kc-faq-question { flex: 1; }
.kc-faq-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; background: #f1f5f9; border-radius: 50%; color: #475569; }
.kc-faq-icon svg { width: 18.4px; height: 18.4px; transition: transform .2s ease; }
.kc-faq-item button[aria-expanded="true"] .kc-faq-icon { background: #e2e8f0; color: #0f172a; }
.kc-faq-item button[aria-expanded="true"] .kc-faq-icon svg { transform: rotate(180deg); }
.kc-faq-answer { padding: 2.4px 20.8px 20.8px; color: #475569; font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.kc-faq-answer[hidden] { display: none; }
.kc-faq-answer > :last-child { margin-bottom: 0; }
.kc-faq-answer p { margin: 0 0 12px; }
.kc-faq-answer ul { list-style: disc; padding-inline-start: 24px; margin: 8px 0 16px; }
.kc-faq-answer ol { list-style: decimal; padding-inline-start: 24px; margin: 8px 0 16px; }
.kc-faq-answer a { color: #1d4ed8; text-decoration: underline; text-underline-offset: .15em; }
.kc-faq:not([data-kc-faq]) .kc-faq-item h3 { padding: 18.4px 20.8px 11.2px; }
@media (prefers-reduced-motion: reduce) { .kc-faq-item, .kc-faq-icon svg { transition: none; } }
