#reviews-carousel{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 80px)/5);
    gap:20px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:thin;
    padding:10px 0;
}

#reviews-carousel::-webkit-scrollbar{
    height:8px;
}

#reviews-carousel::-webkit-scrollbar-thumb{
    background:#ccc;
    border-radius:10px;
}

.review-link{
    text-decoration:none;
    color:inherit;
    display:block;
}

.review-card{
    scroll-snap-align:start;
    border:1px solid #e5e5e5;
    border-radius:4px;
    padding:18px;
    background:#fff;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
    height:260px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    transition:.2s;
}

.review-card:hover{
    transform:translateY(-3px);
    box-shadow:0 6px 16px rgba(0,0,0,.12);
}

.review-header{
    margin-bottom:8px;
}

.review-author-wrap{
    display:flex;
    align-items:center;
    gap:10px;
}

.review-logo{
    width:22!important;
    height:22px !important;
    min-width:22px !important;
    min-height:22px !important;
    max-width:22px !important;
    max-height:22px !important;
    object-fit:contain;
    display:block;
}

.review-author{
    font-weight:700;
    color:#333;
    font-size:14px;
    line-height:1.3;
}

.review-stars{
    margin-bottom:8px;
}

.review-stars .star{
    color:#ddd;
    font-size:18px;
}

.review-stars .star.filled{
    color:#f4b400;
}

.review-date{
    font-size:12px;
    color:#999;
    margin-bottom:10px;
}

.review-text{
    font-size:14px;
    line-height:1.5;
    color:#555;

    overflow-y:auto;
    flex:1;

    padding-right:4px;
}

.review-text::-webkit-scrollbar{
    width:6px;
}

.review-text::-webkit-scrollbar-thumb{
    background:#d5d5d5;
    border-radius:20px;
}

@media (max-width:1024px){

    #reviews-carousel{
        grid-auto-columns:calc((100% - 40px)/3);
    }

}

@media (max-width:767px){

    #reviews-carousel{
        grid-auto-columns:calc((100% - 20px)/2);
    }

}