/* ========= Base ========= */
.testimonial-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.testimonial-track {
    display: flex;
    flex-direction: row;
    width: 100%;
    flex: 1 1 auto;
    align-items: stretch;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

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

.testimonial-item {
    box-sizing: border-box;
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    display: flex;
    align-self: stretch;
    justify-content: flex-start;
    align-items: flex-start;
}

.testimonial-item .testimonial-card,
.testimonial-item>.gb-container,
.testimonial-item>.gb-container>.gb-inside-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-start;
    align-items: flex-start;
}

.testimonial-wrapper.carousel-disabled .arrow-left,
.testimonial-wrapper.carousel-disabled .arrow-right {
    display: none;
}

/* ===== Desktop/Tablet > 768px (arrows + clones) ===== */
@media (min-width: 769px) {
    .testimonial-wrapper {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .arrow-left,
    .arrow-right {
        flex: 0 0 auto;
        display: block;
    }

    .testimonial-track {
        gap: 20px;
        padding-inline: 10px;
        overflow-x: auto;
        scroll-padding-inline: 10px;
    }

    .testimonial-item {
        flex: 0 0 calc((100% - 20px) / 2);
    }

    @media (max-width: 1024px) {
        .testimonial-item {
            flex-basis: 100%;
        }
    }

    .testimonial-dots {
        display: none !important;
    }

    /* hide dots on desktop */
}

/* ===== Mobile ≤ 768px (dots + swipe, 1-up) ===== */
@media (max-width: 768px) {
    .testimonial-wrapper {
        padding-top: 30px;
    }

    .arrow-left,
    .arrow-right {
        display: none !important;
    }

    .testimonial-track {
        gap: 0 !important;
        padding-inline: 0 !important;
        overflow: hidden;
        touch-action: pan-y;
        user-select: none;
        cursor: grab;
    }

    .testimonial-track:active {
        cursor: grabbing;
    }

    .testimonial-item {
        flex: 0 0 100% !important;
        min-width: 100% !important;
    }

    /* Dots (match your image: 6x6, inactive #C9CCD1, active #F37021) */
    .testimonial-dots {
        position: absolute;
        top: 8px;
        left: 0;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 16px;
        z-index: 2;
    }

    .testimonial-dot {
        width: 6px;
        height: 6px;
        background: #C9CCD1;
        border-radius: 50%;
        flex: 0 0 auto;
        cursor: pointer;
    }

    .testimonial-dot.is-active {
        background: #F37021;
    }
}

/* Read-more / less button */
.testimonial-item .testimonial-text .tt-more {
    background: none;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
    color: #0a58ca;
    /* adjust to brand color */
}

.tt-more {
    white-space: nowrap;
}

.tt-rest[hidden] {
    display: none !important;
}

.tt-ellipsis {
    /* the “…” before the link */
}

@media (max-width: 768px) {
    .tt-more {
        touch-action: manipulation;
    }
}