/* ==========================================================
   Summit Solutions - testimonials-modern.css
   Modern 3 Column / 2 Visible Row Scrollable Testimonials
   ========================================================== */

.testimonials-hero{
    position:relative;
    overflow:hidden;
}
.testimonials-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 22% 24%,rgba(36,157,255,.24),transparent 34%),
        radial-gradient(circle at 82% 28%,rgba(107,215,255,.11),transparent 34%);
    pointer-events:none;
}

.testimonials-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:28px;
    margin-bottom:30px;
}

.testimonials-heading h2{
    max-width:760px;
}

.scroll-hint{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--muted);
    font-weight:800;
}

.scroll-arrow{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:1px solid var(--line);
    background:rgba(255,255,255,.04);
    color:var(--accent-2);
    animation:bob 1.7s infinite;
}

.reviews-shell{
    position:relative;
    padding:20px;
    border-radius:32px;
    border:1px solid rgba(107,215,255,.26);
    background:linear-gradient(180deg,rgba(13,28,49,.92),rgba(6,14,25,.96));
    box-shadow:0 32px 100px rgba(0,0,0,.42);
    overflow:hidden;
}

.reviews-shell::before,
.reviews-shell::after{
    content:"";
    position:absolute;
    left:20px;
    right:20px;
    height:60px;
    pointer-events:none;
    z-index:3;
}

.reviews-shell::before{
    top:20px;
    background:linear-gradient(180deg,rgba(8,19,34,.98),transparent);
}

.reviews-shell::after{
    bottom:20px;
    background:linear-gradient(0deg,rgba(5,11,20,.98),transparent);
}

.testimonial-scroll-grid{
    height:760px;
    overflow-y:auto;
    overflow-x:hidden;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-auto-rows:minmax(330px,auto);
    gap:22px;
    padding:14px 12px 36px 4px;
    scroll-behavior:smooth;
    scrollbar-width:thin;
    scrollbar-color:rgba(36,157,255,.75) rgba(255,255,255,.04);
}

.testimonial-scroll-grid::-webkit-scrollbar{
    width:10px;
}
.testimonial-scroll-grid::-webkit-scrollbar-track{
    background:rgba(255,255,255,.04);
}
.testimonial-scroll-grid::-webkit-scrollbar-thumb{
    background:linear-gradient(var(--accent-2),var(--accent));
    border-radius:999px;
}

.testimonial-card{
    overflow:hidden;
    border-radius:24px;
    border:1px solid rgba(107,215,255,.18);
    background:linear-gradient(180deg,rgba(18,37,62,.95),rgba(9,20,35,.98));
    box-shadow:0 20px 55px rgba(0,0,0,.28);
    transition:.25s ease;
}

.testimonial-card:hover{
    transform:translateY(-6px);
    border-color:rgba(107,215,255,.55);
    box-shadow:0 28px 72px rgba(0,0,0,.35);
}

.testimonial-media{
    position:relative;
    height:175px;
    overflow:hidden;
}

.testimonial-image{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .4s;
}

.testimonial-card:hover .testimonial-image{
    transform:scale(1.04);
}

.media-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 40%,rgba(5,11,20,.85));
}

.service-pill{
    position:absolute;
    left:18px;
    bottom:16px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(5,11,20,.75);
    border:1px solid rgba(107,215,255,.35);
    color:var(--accent-2);
    font-size:.75rem;
    font-weight:800;
    text-transform:uppercase;
}

.testimonial-body{padding:22px;}

.stars{
    color:var(--accent-2);
    font-weight:900;
    letter-spacing:2px;
}

.testimonial-text{
    margin:16px 0 20px;
    min-height:90px;
    color:var(--soft);
    line-height:1.7;
}

.testimonial-footer{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    padding-top:18px;
    border-top:1px solid rgba(107,215,255,.12);
}

.customer-details{
    display:grid;
    gap:4px;
}

.customer-details strong{
    color:var(--text);
}

.customer-details span{
    color:var(--muted);
    font-size:.9rem;
}

.verified-review{
    padding:7px 10px;
    border-radius:999px;
    border:1px solid rgba(126,240,165,.25);
    background:rgba(126,240,165,.08);
    color:#7ef0a5;
    font-size:.78rem;
    font-weight:800;
}

.empty-review-state{
    min-height:300px;
    display:grid;
    place-items:center;
    text-align:center;
}

@keyframes bob{
    0%,100%{transform:translateY(-2px);}
    50%{transform:translateY(3px);}
}

@media (max-width:1200px){
    .testimonial-scroll-grid{
        grid-template-columns:repeat(2,1fr);
        height:900px;
    }
}

@media (max-width:768px){
    .testimonials-heading{
        flex-direction:column;
        align-items:flex-start;
    }

    .testimonial-scroll-grid{
        grid-template-columns:1fr;
        height:900px;
    }

    .testimonial-footer{
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
    }
}