.f2o-faq-accordion {
    --f2o-faq-accent: #af002a;
    --f2o-faq-button-bg: #f5f5f5;
    --f2o-faq-button-text: #111;
    --f2o-faq-active-text: #fff;
    --f2o-faq-border: #e0e0e0;
    --f2o-faq-answer-bg: #fff;
    --f2o-faq-answer-text: #111;
    margin: 2rem 0;
}
.f2o-faq-heading { margin: 0 0 1.25rem; }
.f2o-faq-item + .f2o-faq-item { margin-top: .75rem; }
.f2o-faq-question-heading { margin: 0; padding: 0; font: inherit; }
.f2o-faq-toggle {
    appearance: none;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid var(--f2o-faq-border);
    border-radius: 0;
    padding: 1rem 1.125rem;
    background: var(--f2o-faq-button-bg);
    color: var(--f2o-faq-button-text);
    font: inherit;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}
.f2o-faq-toggle:hover,
.f2o-faq-toggle:focus-visible { filter: brightness(.98); }
.f2o-faq-toggle[aria-expanded="true"] {
    background: var(--f2o-faq-accent);
    color: var(--f2o-faq-active-text);
    border-color: var(--f2o-faq-accent);
}
.f2o-faq-chevron { display: inline-flex; flex: 0 0 auto; transition: transform .2s ease; }
.f2o-faq-chevron svg { fill: currentColor; }
.f2o-faq-toggle[aria-expanded="true"] .f2o-faq-chevron { transform: rotate(180deg); }
.f2o-faq-panel { border: 1px solid var(--f2o-faq-border); border-top: 0; background: var(--f2o-faq-answer-bg); color: var(--f2o-faq-answer-text); }
.f2o-faq-answer { padding: 1.25rem; }
.f2o-faq-answer > :first-child { margin-top: 0; }
.f2o-faq-answer > :last-child { margin-bottom: 0; }
