/* TANKZONE_REVIEWS_SLIDER_V1 */

.tz-reviews-slider-active{
    overflow:hidden;
}

.tz-reviews-slider-active .tz-reviews-slider-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
}

.tz-reviews-slider-active .tz-reviews-slider-rail{
    position:relative;
}

.tz-reviews-slider-active .tz-reviews-slider-track{
    display:flex !important;
    gap:16px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    padding:8px 2px 6px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    cursor:grab;
}

.tz-reviews-slider-active .tz-reviews-slider-track::-webkit-scrollbar{
    display:none;
}

.tz-reviews-slider-active .tz-reviews-slider-track.is-dragging{
    cursor:grabbing;
    scroll-snap-type:none;
    user-select:none;
}

.tz-reviews-slider-active .tz-reviews-slider-card{
    flex:0 0 calc(33.333% - 11px);
    min-width:calc(33.333% - 11px);
    scroll-snap-align:start;
}

.tz-reviews-slider-active .tz-reviews-slider-card > *{
    height:100%;
}

/* Dots */
.tz-reviews-slider-dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:16px;
}

.tz-reviews-slider-dot{
    width:8px;
    height:8px;
    border-radius:999px;
    background:#d6d6d0;
    border:0;
    padding:0;
    transition:all .18s ease;
    cursor:pointer;
}

.tz-reviews-slider-dot.is-active{
    width:22px;
    background:#111;
}

/* Optional nav buttons */
.tz-reviews-slider-nav{
    display:flex;
    align-items:center;
    gap:8px;
}

.tz-reviews-slider-btn{
    width:36px;
    height:36px;
    border:1px solid #d5d5cf;
    border-radius:999px;
    background:#fff;
    color:#111;
    font-size:1rem;
    line-height:1;
    display:grid;
    place-items:center;
    cursor:pointer;
    transition:border-color .18s ease, transform .18s ease;
}

.tz-reviews-slider-btn:hover{
    border-color:#111;
    transform:translateY(-1px);
}

.tz-reviews-slider-btn[disabled]{
    opacity:.35;
    cursor:not-allowed;
    transform:none;
}

/* Tablet */
@media(max-width:1024px){
    .tz-reviews-slider-active .tz-reviews-slider-card{
        flex:0 0 calc(50% - 8px);
        min-width:calc(50% - 8px);
    }
}

/* Mobile: 1 big card + peek of next */
@media(max-width:640px){
    .tz-reviews-slider-active .tz-reviews-slider-track{
        gap:12px;
        padding-bottom:4px;
    }

    .tz-reviews-slider-active .tz-reviews-slider-card{
        flex:0 0 min(86vw, 340px);
        min-width:min(86vw, 340px);
    }

    .tz-reviews-slider-active .tz-reviews-slider-header{
        align-items:center;
    }

    .tz-reviews-slider-nav{
        display:none;
    }

    .tz-reviews-slider-dots{
        margin-top:12px;
    }
}

/*
 * TANKZONE_REVIEWS_SLIDER_V11_ONE_PER_SLIDE
 * One review = one full slide.
 */

/*
 * Override V1's 3-column / 2-column behavior.
 * The customer sees one review, then swipes to the next.
 */
.tz-reviews-slider-active .tz-reviews-slider-track{
    gap:0 !important;
    align-items:stretch !important;
    overflow-y:visible !important;
    padding:10px 0 8px !important;
}

.tz-reviews-slider-active .tz-reviews-slider-card{
    box-sizing:border-box !important;
    flex:0 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    scroll-snap-align:center !important;
    scroll-snap-stop:always;
    overflow:visible !important;
}

/*
 * V1 forced the direct child to height:100%.
 * That can make the site's original review content sit outside its box.
 */
.tz-reviews-slider-active .tz-reviews-slider-card > *{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
}

/*
 * Generic safety for the actual review/testimonial content.
 */
.tz-reviews-slider-active .tz-reviews-slider-card p,
.tz-reviews-slider-active .tz-reviews-slider-card blockquote,
.tz-reviews-slider-active .tz-reviews-slider-card h3,
.tz-reviews-slider-active .tz-reviews-slider-card h4{
    max-height:none !important;
    overflow:visible !important;
    white-space:normal !important;
    text-overflow:clip !important;
    -webkit-line-clamp:unset !important;
}

/*
 * Give a single review a premium centered reading width while its slide
 * still occupies the full rail. This keeps long reviews comfortable.
 */
.tz-reviews-slider-active .tz-reviews-slider-card{
    padding-inline:clamp(0px, 7vw, 90px);
}

/*
 * Do not let legacy grid width rules shrink the review card.
 */
@media(max-width:1024px){
    .tz-reviews-slider-active .tz-reviews-slider-card{
        flex-basis:100% !important;
        min-width:100% !important;
    }
}

@media(max-width:640px){
    .tz-reviews-slider-active .tz-reviews-slider-card{
        flex-basis:100% !important;
        min-width:100% !important;
        padding-inline:0;
    }

    .tz-reviews-slider-active .tz-reviews-slider-track{
        gap:0 !important;
    }
}

/*
 * Make dots slightly more explicit now that each dot maps 1:1 to a review.
 */
.tz-reviews-slider-dots{
    margin-top:20px;
}

.tz-reviews-slider-dot{
    width:9px;
    height:9px;
}

.tz-reviews-slider-dot.is-active{
    width:26px;
}

/*
 * Keep the arrows close to the review section but visually secondary.
 */
.tz-reviews-slider-nav{
    gap:7px;
}

.tz-reviews-slider-btn{
    width:34px;
    height:34px;
}

/*
 * TANKZONE_REVIEWS_SLIDER_V12_THREE_PER_PAGE
 * Desktop 3 cards together, tablet 2, mobile 1.
 */
.tz-reviews-slider-active .tz-reviews-slider-track{
    gap:16px !important;
    align-items:stretch !important;
    overflow-y:visible !important;
    padding:10px 2px 8px !important;
    scroll-snap-type:x mandatory !important;
}

.tz-reviews-slider-active .tz-reviews-slider-card{
    box-sizing:border-box !important;
    flex:0 0 calc((100% - 32px) / 3) !important;
    width:calc((100% - 32px) / 3) !important;
    min-width:calc((100% - 32px) / 3) !important;
    max-width:calc((100% - 32px) / 3) !important;
    min-height:0 !important;
    height:auto !important;
    padding-inline:0 !important;
    overflow:visible !important;
    scroll-snap-align:start !important;
}

.tz-reviews-slider-active .tz-reviews-slider-card > *{
    height:auto !important;
    min-height:100% !important;
    max-height:none !important;
    overflow:visible !important;
}

.tz-reviews-slider-active .tz-reviews-slider-card p,
.tz-reviews-slider-active .tz-reviews-slider-card blockquote,
.tz-reviews-slider-active .tz-reviews-slider-card h3,
.tz-reviews-slider-active .tz-reviews-slider-card h4{
    max-height:none !important;
    overflow:visible !important;
    white-space:normal !important;
    text-overflow:clip !important;
    -webkit-line-clamp:unset !important;
}

@media(max-width:1024px){
    .tz-reviews-slider-active .tz-reviews-slider-card{
        flex-basis:calc((100% - 16px) / 2) !important;
        width:calc((100% - 16px) / 2) !important;
        min-width:calc((100% - 16px) / 2) !important;
        max-width:calc((100% - 16px) / 2) !important;
    }
}

@media(max-width:640px){
    .tz-reviews-slider-active .tz-reviews-slider-track{
        gap:12px !important;
    }

    .tz-reviews-slider-active .tz-reviews-slider-card{
        flex-basis:100% !important;
        width:100% !important;
        min-width:100% !important;
        max-width:100% !important;
    }
}

/*
 * TANKZONE_REVIEWS_SLIDER_V141_CONTENT_FIX
 *
 * Preserve V1.2 page sizing. Do not rewrite the positioning of review
 * descendants. Only provide enough usable vertical room for the existing
 * review text and customer name.
 */
.tz-reviews-slider-active .tz-reviews-slider-track{
    align-items:stretch !important;
    height:auto !important;
    min-height:0 !important;
    overflow-y:visible !important;
}

.tz-reviews-slider-active .tz-reviews-slider-card{
    box-sizing:border-box !important;
    height:auto !important;
    min-height:220px !important;
    max-height:none !important;
    padding-bottom:52px !important;
    overflow:visible !important;
}

/*
 * V1 had a direct-child height fill rule. Cancel only that sizing rule.
 * Intentionally do NOT touch position, inset or transform.
 */
.tz-reviews-slider-active .tz-reviews-slider-card > *{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
}

.tz-reviews-slider-active .tz-reviews-slider-card p,
.tz-reviews-slider-active .tz-reviews-slider-card blockquote,
.tz-reviews-slider-active .tz-reviews-slider-card cite,
.tz-reviews-slider-active .tz-reviews-slider-card small{
    max-height:none !important;
    overflow:visible !important;
    white-space:normal !important;
    text-overflow:clip !important;
    -webkit-line-clamp:unset !important;
}

@media(max-width:1024px){
    .tz-reviews-slider-active .tz-reviews-slider-card{
        min-height:210px !important;
        padding-bottom:48px !important;
    }
}

@media(max-width:640px){
    .tz-reviews-slider-active .tz-reviews-slider-card{
        min-height:200px !important;
        padding-bottom:44px !important;
    }
}
