/* ============================================================
   FAQ Accordion
   All values are driven by Style tab fields via CSS variables
   set inline in module.html. Fallbacks below match the field
   defaults, so the module renders correctly even if a variable
   is ever missing.
============================================================ */
.faq-accordion {
    background-color: var(--faq-accordion-bg, #F5F5F0);
    border-top: 1px solid var(--faq-accordion-border, #D9E2EC);
    border-bottom: 1px solid var(--faq-accordion-border, #D9E2EC);
}

.faq-accordion__wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--faq-accordion-pad, 72px 32px 72px 32px);
}

.faq-accordion__intro {
    text-align: center;
}

.faq-accordion__eyebrow {
    font-family: var(--faq-accordion-eyebrow-font, "Roboto Mono"), monospace;
    font-size: var(--faq-accordion-eyebrow-size, 12px);
    font-weight: var(--faq-accordion-eyebrow-weight, 500);
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--faq-accordion-eyebrow-color, #E8610A);
}

.faq-accordion__heading {
    margin: 14px 0 0;
    font-family: var(--faq-accordion-heading-font, "Barlow Condensed"), sans-serif;
    font-size: var(--faq-accordion-heading-size, 34px);
    font-weight: var(--faq-accordion-heading-weight, 700);
    line-height: 1.1;
    color: var(--faq-accordion-heading-color, #1B4F72);
}

.faq-accordion__list {
    max-width: 860px;
    margin: 40px auto 0;
}

.faq-accordion__item {
    border: 1px solid var(--faq-accordion-item-border, #D9E2EC);
    border-radius: 8px;
    margin-bottom: 14px;
    overflow: hidden;
    background: var(--faq-accordion-item-bg, #FFFFFF);
}

.faq-accordion__item:last-child {
    margin-bottom: 0;
}

.faq-accordion__q {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    width: 100%;
    text-align: left;
    font-family: var(--faq-accordion-question-font, "Inter"), sans-serif;
    font-weight: var(--faq-accordion-question-weight, 600);
    font-size: var(--faq-accordion-question-size, 16px);
    color: var(--faq-accordion-question-color, #1B4F72);
    background: none;
    border: none;
    padding: 20px 22px;
    cursor: pointer;
}

.faq-accordion__icon {
    flex-shrink: 0;
    color: var(--faq-accordion-icon, #E8610A);
    transition: transform .2s ease;
    display: inline-flex;
}

.faq-accordion__icon svg {
    width: 20px;
    height: 20px;
    display: block;
}

.faq-accordion[data-icon-type="plus"] .faq-accordion__item.is-open .faq-accordion__icon,
.faq-accordion:not([data-icon-type]) .faq-accordion__item.is-open .faq-accordion__icon {
    transform: rotate(45deg);
}

.faq-accordion[data-icon-type="plus_minus"] .faq-accordion__item.is-open .faq-accordion__icon-v {
    display: none;
}

.faq-accordion[data-icon-type="chevron"] .faq-accordion__item.is-open .faq-accordion__icon,
.faq-accordion[data-icon-type="arrow"] .faq-accordion__item.is-open .faq-accordion__icon,
.faq-accordion[data-icon-type="caret"] .faq-accordion__item.is-open .faq-accordion__icon {
    transform: rotate(180deg);
}

.faq-accordion__icon--swap {
    display: inline-flex;
}

.faq-accordion__icon--swap .faq-accordion__icon-open {
    display: none;
}

.faq-accordion__item.is-open .faq-accordion__icon--swap .faq-accordion__icon-open {
    display: inline-flex;
}

.faq-accordion__item.is-open .faq-accordion__icon--swap .faq-accordion__icon-closed {
    display: none;
}

.faq-accordion__a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .25s ease;
}

.faq-accordion__a-inner {
    padding: 0 22px 20px;
    font-family: var(--faq-accordion-answer-font, "Inter"), sans-serif;
    font-size: var(--faq-accordion-answer-size, 15px);
    font-weight: var(--faq-accordion-answer-weight, 400);
    line-height: 1.65;
    color: var(--faq-accordion-answer-color, #6B7280);
}

.faq-accordion__a-inner p:first-child {
    margin-top: 0;
}

.faq-accordion__a-inner p:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .faq-accordion__wrap {
        padding: 48px 20px;
    }

    .faq-accordion__heading {
        font-size: clamp(28px, 7vw, var(--faq-accordion-heading-size, 34px));
    }

    .faq-accordion__q {
        padding: 16px 18px;
    }

    .faq-accordion__a-inner {
        padding: 0 18px 16px;
    }
}
