/* Отзывы (views/constructor/reviews.php). Виды: grid (сетка 2–3 в ряд), slider (лента .cb-scroller из base.js). */
.cb-reviews {--cb-reviews-star: #f5b301; --cb-reviews-star-off: rgba(22, 35, 45, .14)}
.cb-tone--dark .cb-reviews {--cb-reviews-star-off: rgba(255, 255, 255, .22)}

.cb-reviews__grid--single {max-width: 760px}
.cb-title--center ~ .cb-reviews__grid--single {margin-inline: auto}

/* Карточка */
.cb .cb-reviews__card {height: 100%; margin: 0; padding: clamp(24px, 2.4vw, 32px) clamp(22px, 2.2vw, 30px); overflow: hidden}
.cb-reviews__card::after {content: "\201D"; position: absolute; top: 10px; right: 22px; color: var(--cb-accent-soft); font: 700 88px/1 Georgia, "Times New Roman", serif; pointer-events: none}
.cb-tone--light .cb-reviews__card::after {color: var(--cb-primary-soft)}
.cb-reviews__card > * {position: relative; z-index: 1}

.cb-reviews__stars {display: inline-flex; gap: 3px; margin-bottom: 16px}
.cb-reviews__star {display: block; width: 18px; height: 18px; background: var(--cb-reviews-star-off); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6l2.9 5.9 6.5.9-4.7 4.6 1.1 6.5L12 17.4l-5.8 3.1 1.1-6.5L2.6 9.4l6.5-.9z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6l2.9 5.9 6.5.9-4.7 4.6 1.1 6.5L12 17.4l-5.8 3.1 1.1-6.5L2.6 9.4l6.5-.9z'/%3E%3C/svg%3E") center / contain no-repeat}
.cb-reviews__star.is-on {background: var(--cb-reviews-star)}

.cb .cb-reviews__quote {margin: 0 0 22px; padding: 0; border: 0; quotes: none}
.cb .cb-reviews__text {margin: 0; color: var(--cb-fg); font-size: 16px; line-height: 1.65}
/* Сворачивание длинного текста — только когда работает скрипт блока (иначе текст целиком) */
.cb-js .cb-reviews__text.is-clamped {display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 6; line-clamp: 6}
.cb-reviews__more {align-self: flex-start; margin: -12px 0 22px; padding: 0; border: 0; background: none; color: var(--cb-link); font: inherit; font-size: 14px; font-weight: 700; line-height: 1.4; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; cursor: pointer}
.cb-reviews__more:hover {color: var(--cb-link-hover)}
.cb-reviews__more[hidden] {display: none}

/* Автор */
.cb-reviews__author {display: flex; align-items: center; gap: 14px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--cb-line)}
.cb-reviews__avatar {display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 52px; height: 52px; overflow: hidden; border-radius: 50%; background: var(--cb-accent-soft); color: var(--cb-accent)}
.cb-reviews__avatar picture {width: 100%; height: 100%}
.cb .cb-reviews__photo {display: block; width: 100%; height: 100%; object-fit: cover}
.cb-reviews__avatar--letter {background: var(--cb-accent-soft); color: var(--cb-accent); font-size: 20px; font-weight: 800; line-height: 1}
.cb-tone--light .cb-reviews__avatar--letter {background: var(--cb-primary); color: var(--cb-on-primary)}
.cb-reviews__who {display: flex; flex-direction: column; gap: 2px; min-width: 0}
.cb-reviews__name {color: var(--cb-heading); font-size: 16px; font-weight: 700; line-height: 1.3}
.cb-reviews__meta {color: var(--cb-fg); font-size: 14px; line-height: 1.4}

/* Лента: запас снизу под тень карточек; «Все отзывы» и стрелки в одной строке */
.cb-reviews__scroller .cb-scroller__track {padding: 4px 2px 30px; margin-bottom: -14px}
.cb-tone--light .cb-reviews__scroller .cb-reviews__card {box-shadow: 0 6px 18px rgba(22, 35, 45, .07)}
.cb-reviews__bar {display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 16px}
.cb-reviews__bar .cb-scroller__nav {margin: 0 0 0 auto}
.cb-reviews__bar .cb-scroller__nav[hidden] {display: none}
.cb-reviews__grid + .cb-actions {margin-top: clamp(24px, 3vw, 36px)}

@media (max-width: 575px) {
    .cb .cb-reviews__card {padding: 22px 20px}
    .cb .cb-reviews__text {font-size: 15px}
    .cb-reviews__card::after {font-size: 72px; right: 16px}
}
