/* Native disclosure keeps answers usable with keyboard input and without scripts. */
.affiliate-faq-item summary {
    cursor: pointer;
    list-style: none;
    gap: 1rem;
    min-height: 3rem;
}

.affiliate-faq-item summary::-webkit-details-marker {
    display: none;
}

.affiliate-faq-item summary:focus-visible {
    outline: 3px solid var(--brand-navy);
    outline-offset: -3px;
}

.affiliate-faq-item summary .material-icons {
    flex-shrink: 0;
}

.affiliate-faq-item[open] > summary .material-icons {
    transform: rotate(180deg);
}

.affiliate-faq-item code {
    overflow-wrap: anywhere;
}

/* FAQ shares the public program typography, with a narrower reading column. */
.affiliate-program.affiliate-faq-page { max-width: 980px; }
.affiliate-faq-header { margin: 2.5rem 0 2rem; }
.affiliate-faq-page .affiliate-faq-header h1 { max-width: 22ch; }
.affiliate-faq-page .affiliate-program-lead { max-width: 65ch; }
.affiliate-faq-topics {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--brand-gray);
    margin-bottom: 2.5rem;
}
.affiliate-faq-topics a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: .5rem .85rem;
    border: 1px solid var(--brand-gray);
    border-radius: .5rem;
    background: var(--bg-surface, #fff);
    font-size: .9rem;
}
.affiliate-faq-group { scroll-margin-top: 2rem; }
.affiliate-faq-group + .affiliate-faq-group { margin-top: 3rem; }
.affiliate-faq-page .affiliate-faq-item summary + div p + p { margin-top: .75rem; }
.affiliate-faq-page .affiliate-faq-item summary + div { line-height: 1.75; }
.affiliate-faq-page .affiliate-faq-item a { overflow-wrap: anywhere; }
.affiliate-faq-page .affiliate-faq-item ul,
.affiliate-faq-page .affiliate-faq-item ol { padding-left: 1.5rem; margin: .75rem 0; }
.affiliate-faq-footer-actions { justify-content: center; }
