.faq-list { overflow: hidden; }
.faq-item { border-bottom: 1px solid var(--sp-line-soft); }
.faq-item:last-child { border-bottom: 0; }
.faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { background: var(--sp-soft); }
.faq-item summary i { flex-shrink: 0; color: var(--sp-muted); font-size: .8rem; transition: transform .15s ease; }
.faq-item[open] summary i { transform: rotate(180deg); }
.faq-item[open] summary { border-bottom: 1px solid var(--sp-line-soft); }
.faq-answer { padding: 1rem 1.25rem; color: var(--sp-ink-soft); line-height: 1.65; }
.faq-answer p:last-child { margin-bottom: 0; }

.faq-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.faq-actions { display: flex; justify-content: flex-end; }
.faq-actions .btn { min-width: 160px; }

@media (prefers-reduced-motion: reduce) {
    .faq-item summary i { transition: none; }
}

@media (max-width: 767.98px) {
    .faq-item summary { padding: .9rem 1rem; }
    .faq-answer { padding: .9rem 1rem; }
    .faq-actions .btn { width: 100%; min-height: 44px; }
}
