.reviews-widget { position: relative; max-width: 1000px; margin: 0 auto; }
.rw-viewport    { overflow: hidden; padding: 10px 0; }
.rw-track       { display: flex; gap: 20px; transition: transform .4s ease; }
.rw-card {
    flex: 0 0 calc((100% - 40px) / 3);
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 12px;
    padding: 20px;
    font-family: inherit;
    display: flex;
    flex-direction: column;
}
@media (max-width: 900px) { .rw-card { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 600px) { .rw-card { flex-basis: 100%; } }

.rw-head   { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.rw-avatar { width: 40px; height: 40px; border-radius: 50%; background: #f0f0f0;
             display: flex; align-items: center; justify-content: center;
             font-weight: 600; color: #666; overflow: hidden; 
             flex-shrink: 0;   /* главное: не позволяем flexbox сжимать кружок */ 
}
.rw-avatar img { width: 100%; height: 100%; object-fit: cover; }
.rw-name   { font-weight: 600; }
.rw-date   { font-size: 12px; color: #999; }
.rw-stars  { color: #f5b301; letter-spacing: 2px; margin-bottom: 8px; }
.rw-text {
    display: -webkit-box;
    -webkit-line-clamp: 10;      /* сколько строк показывать */
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.5;
    color: #333;
    flex-grow: 1;   /* растягивает блок текста, карточки в ряду выравниваются */
}


.rw-btn {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 36px; height: 36px; border: none; border-radius: 50%;
    background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.15);
    cursor: pointer; font-size: 20px; color: #333; z-index: 2;
}
.rw-prev { left: -14px; }
.rw-next { right: -14px; }