/* =========================================================
   REVIEWS CAROUSEL — MOBILE CENTER FIX
   ========================================================= */

/* Keep carousel centered */
.reviews-carousel-wrapper {
    position: relative;
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.reviews-viewport {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 0;
}

.reviews-track {
    display: flex;
    align-items: stretch;
    gap: 32px;
    width: max-content;
    margin: 0;
    padding: 0;
    will-change: transform;
}

/* =========================================================
   MOBILE REVIEW CAROUSEL — CLEAN CENTERED DESIGN
   ========================================================= */

@media (max-width: 768px) {

    .reviews-carousel-wrapper {
        width: 100%;
        max-width: 100%;
        margin: 30px auto;
    }

    .reviews-viewport {
        width: 100%;
        overflow: hidden;
        padding: 20px 0 15px;
    }

    .reviews-track {
        gap: 12px;
    }

    /*
     * One card centered on screen
     */
    .reviews-card {
        flex: 0 0 calc(100vw - 70px);
        width: calc(100vw - 70px);
        max-width: 340px;
        box-sizing: border-box;
        opacity: 0 !important;
        filter: none !important;
        transform: scale(.92) !important;
        pointer-events: none;
    }

    /*
     * Only active card is visible.
     */
    .reviews-card.active {
        opacity: 1 !important;
        filter: none !important;
        /* transform: scale(1) !important; */
        pointer-events: auto;
        z-index: 20;
    }

    /*
     * Don't show faded neighboring cards on mobile.
     */
    .reviews-card.prev,
    .reviews-card.next,
    .reviews-card.hidden {
        opacity: 0 !important;
        filter: none !important;
        transform: scale(.92) !important;
        pointer-events: none;
    }

    /*
     * Buttons
     */
    .reviews-control {
        width: 40px;
        height: 40px;
        z-index: 50;
    }

    .reviews-control--prev {
        left: 5px;
    }

    .reviews-control--next {
        right: 5px;
    }

    /*
     * Small elegant dots
     */
    .reviews-pagination {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 5px;
        width: 100%;
        margin: 14px auto 0;
        padding: 0;
    }

    .reviews-dot {
        width: 5px !important;
        min-width: 5px !important;
        height: 5px !important;
        min-height: 5px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        transform: none !important;
    }

    .reviews-dot.active {
        width: 15px !important;
        min-width: 15px !important;
        height: 5px !important;
        min-height: 5px !important;
        border-radius: 999px !important;
    }
}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 400px) {

    .reviews-card {
        flex-basis: calc(100vw - 55px);
        width: calc(100vw - 55px);
    }

    .reviews-control {
        width: 36px;
        height: 36px;
    }

    .reviews-control--prev {
        left: 3px;
    }

    .reviews-control--next {
        right: 3px;
    }

    .reviews-pagination {
        gap: 4px;
        margin-top: 12px;
    }

    .reviews-dot {
        width: 4px !important;
        min-width: 4px !important;
        height: 4px !important;
        min-height: 4px !important;
    }

    .reviews-dot.active {
        width: 13px !important;
        min-width: 13px !important;
        height: 4px !important;
        min-height: 4px !important;
    }
}