.faq-section{padding:var(--section-py) 0}.faq-bg--white{background-color:var(--color-white)}.faq-bg--light{background-color:var(--color-surface)}.faq-bg--dark{background-color:var(--color-text);color:var(--color-white)}.faq-bg--dark .section-title{color:var(--color-white)}.faq-bg--dark .section-subtitle{color:var(--color-text-muted)}.faq-bg--dark .faq-question{color:var(--color-text)}.faq-bg--dark .faq-answer-content{color:var(--color-text-muted)}.faq-bg--dark .faq-item{border-color:var(--color-border-light)}.faq-bg--dark .faq-icon,.faq-bg--dark .faq-number{color:var(--color-text-muted)}.faq-wrapper{margin:0 auto;padding:0 var(--container-padding)}.faq-width--narrow{max-width:1000px}.faq-width--medium{max-width:1400px}.faq-width--wide{max-width:var(--container-max)}.faq-container{display:flex;flex-direction:column;gap:0}.faq-layout--one-column{flex-direction:column}.faq-style--boxed.faq-layout--one-column{gap:var(--spacing-md)}.faq-layout--two-columns{display:block;column-count:2;column-gap:var(--spacing-xl)}.faq-layout--two-columns .faq-item{width:100%;break-inside:avoid;-webkit-column-break-inside:avoid}.faq-style--boxed.faq-layout--two-columns .faq-item{margin-bottom:var(--spacing-md)}@media (max-width: 768px){.faq-layout--two-columns{column-count:1}}.faq-style--minimal .faq-item{border-bottom:1px solid var(--color-border)}.faq-style--boxed .faq-item{border:1px solid var(--color-border);background:var(--color-card-bg);border-radius:var(--radius-lg);transition:border-color var(--transition-base),transform var(--transition-base)}.faq-bg--white .faq-style--boxed .faq-item{border-color:var(--color-border-light)}.faq-style--boxed .faq-item:hover{border-color:var(--primary-color, var(--color-accent))}.faq-style--boxed .faq-item.is-open{border-color:var(--primary-color, var(--color-accent));transform:none}.faq-style--boxed .faq-item.is-open .faq-question{border-bottom:1px solid var(--color-border-light);margin-bottom:var(--spacing-sm)}.faq-style--boxed .faq-question{padding:var(--spacing-xl)}.faq-style--boxed .faq-answer-content{padding:0 var(--spacing-2xl) var(--spacing-xl)}.faq-style--boxed .faq-answer-actions{padding-inline:var(--spacing-xl)}.faq-bg--dark .faq-style--boxed .faq-item{border-color:#ffffff1f;background:#ffffff0a}.faq-bg--dark .faq-style--boxed .faq-item:hover,.faq-bg--dark .faq-style--boxed .faq-item.is-open{border-color:#ffffff4d;background:#ffffff0f}.faq-item{overflow:hidden}.faq-question{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) 0;background:none;border:none;text-align:left;cursor:pointer;font-family:var(--font-primary);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--color-text);transition:color var(--transition-fast);line-height:1.4}.faq-question:hover{color:var(--primary-color, var(--color-accent-hover))}.faq-question:focus-visible{outline:2px solid var(--primary-color, var(--color-accent));outline-offset:-2px}.faq-question-text{flex:1}.faq-number{flex-shrink:0;font-family:var(--font-heading);font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--color-text);margin-inline-end:.5rem;min-width:24px}.faq-icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);transition:transform var(--transition-base),color var(--transition-base)}.faq-icon svg{width:18px;height:18px;transition:transform var(--transition-base)}.faq-question[aria-expanded=true] .faq-icon{color:var(--primary-color, var(--color-accent))}.faq-question[aria-expanded=true] .faq-icon svg line:first-child{opacity:0;transform:rotate(90deg);transform-origin:center}.faq-answer{height:0;overflow:hidden;opacity:0;transition:height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease}.faq-answer.is-visible{opacity:1}.faq-answer-content{padding-bottom:var(--spacing-lg);color:var(--color-text-muted);font-size:var(--fs-base);line-height:1.8}.faq-answer-actions{display:flex;padding-bottom:var(--spacing-lg)}.faq-btn-align--start{justify-content:flex-start}.faq-btn-align--center{justify-content:center}.faq-btn-align--end{justify-content:flex-end}.faq-question:has(.faq-number)+.faq-answer .faq-answer-actions:not(.faq-btn-align--center){padding-left:calc(28px + var(--spacing-md))}[dir=rtl] .faq-question:has(.faq-number)+.faq-answer .faq-answer-actions:not(.faq-btn-align--center){padding-left:0;padding-right:calc(28px + var(--spacing-md))}.faq-answer-content p{margin-bottom:var(--spacing-sm)}.faq-answer-content p:last-child{margin-bottom:0}.faq-answer-content a{color:var(--primary-color, var(--color-accent));text-decoration:underline;text-underline-offset:2px}.faq-answer-content a:hover{opacity:.7}.faq-question:has(.faq-number)+.faq-answer .faq-answer-content{padding-left:calc(28px + var(--spacing-md))}[dir=rtl] .faq-question{text-align:right}[dir=rtl] .faq-question:has(.faq-number)+.faq-answer .faq-answer-content{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}@media (max-width: 768px){.faq-section{padding-top:var(--spacing-md)!important;padding-bottom:var(--spacing-md)!important}.faq-question{font-size:var(--fs-base);padding:var(--spacing-md) 0}.faq-style--boxed .faq-question{padding:var(--spacing-md) var(--spacing-lg)}.faq-style--boxed .faq-answer-content{padding:0 var(--spacing-lg) var(--spacing-md)}}.faq-page-title{font-family:var(--font-heading);font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--color-text);text-align:center;margin-bottom:var(--spacing-2xl)}.faq-empty-state{text-align:center;color:var(--color-text-muted);padding:var(--spacing-3xl) 0}.faq-loading{display:flex;justify-content:center;align-items:center;padding:var(--spacing-3xl) 0;grid-column:1 / -1}.faq-loading-spinner{width:32px;height:32px;border:2px solid var(--color-border, #e5e5e5);border-top-color:var(--color-text, #333);border-radius:var(--radius-full);animation:faqSpin .7s linear infinite}.faq-bg--dark .faq-loading-spinner{border-color:#ffffff26;border-top-color:#fffc}@keyframes faqSpin{to{transform:rotate(360deg)}}
