/* FAQ Accordion */
.faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
    opacity: 0;
}

.open > .faq-content {
    max-height: 500px;
    opacity: 1;
    transition: max-height 0.4s ease-in, opacity 0.3s ease-in;
}

.faq-icon {
    transition: transform 0.3s ease;
}

.open > button > .faq-icon {
    transform: rotate(45deg);
}

/* Smooth scroll offset for anchored sections */
section[id] {
    scroll-margin-top: 80px;
}

/* Testimonials carousel */
.testimonials-track {
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.testimonials-track::-webkit-scrollbar {
    display: none;
}

.testimonials-track > article {
    scroll-snap-align: start;
}

/* Scroll reveal */
@media (prefers-reduced-motion: no-preference) {
    .fj-reveal {
        opacity: 0;
        transform: translateY(24px);
        transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        will-change: opacity, transform;
    }

    .fj-reveal.fj-revealed {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Slider (swipe + frecce) */
.fj-slider-track {
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
    cursor: grab;
}

.fj-slider-track::-webkit-scrollbar {
    display: none;
}

.fj-slider-track.fj-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
}
