/* FRACT FAQ Accordion frontend styles.
   FAQ reveal animation is self-contained and intentionally does not use the
   global .animate-top / .active reveal system. */

.fract-faq-list[data-fract-faq] .fract-faq-item {
    opacity: 0;
    visibility: hidden;
    transform: translate3d(0, 28px, 0);
    animation: none;
    will-change: opacity, transform;
    transition:
        opacity .55s cubic-bezier(.22,.61,.36,1),
        transform .55s cubic-bezier(.22,.61,.36,1),
        visibility 0s linear .55s,
        background-color .3s ease;
    transition-delay:
        var(--fract-faq-stagger, 0ms),
        var(--fract-faq-stagger, 0ms),
        calc(var(--fract-faq-stagger, 0ms) + .55s),
        0s;
}

.fract-faq-list[data-fract-faq] .fract-faq-item.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0);
    transition-delay:
        var(--fract-faq-stagger, 0ms),
        var(--fract-faq-stagger, 0ms),
        0s,
        0s;
}

.fract-faq-list[data-fract-faq] .fract-faq-answer,
.fract-faq-list[data-fract-faq] .fract-faq-answer-inner,
.fract-faq-list[data-fract-faq] .fract-faq-answer p,
.fract-faq-list[data-fract-faq] .fract-faq-answer li,
.fract-faq-list[data-fract-faq] .fract-faq-answer strong,
.fract-faq-list[data-fract-faq] .fract-faq-answer em,
.fract-faq-list[data-fract-faq] .fract-faq-answer a {
    color: #000;
}

@media (prefers-reduced-motion: reduce) {
    .fract-faq-list[data-fract-faq] .fract-faq-item {
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: none !important;
        will-change: auto;
    }
}
