/* ============================================================
   Блок «Партнёры рейтинга» (агрегаторы отзывов). Клиент: белый
   фон, БЕЗ заголовка и БЕЗ счётчика отзывов (их и не выводит
   review-card.xsl в режиме rating-partners); логотип, под ним
   звёзды и оценка — оценка в одну строку со звёздами, чтобы не
   тратить место. На мобилке — горизонтальная прокрутка ленты
   партнёров (образец: neiro-psy.ru/feedback). 08.2026.
   ============================================================ */

.rating-partners {
    background: #fff;
    border-radius: 12px;
    padding: 18px 16px;
    /* Тень и контур убраны (клиент) — просто белый фон, без каких-либо
       рамок и теней. */
    font-family: 'Inter', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* Инстанс в футере (includes.xsl, variant='footer') — на широком экране
   карточки распределяются по всей ширине блока (а не жмутся влево) и
   растёт вертикальный отступ. Инстанс на странице отзывов (без модификатора)
   остаётся выровненным по левому краю — см. css/reviews.css. */
@media (min-width: 768px) {
    .rating-partners--footer {
        padding-top: 32px;
        padding-bottom: 32px;
    }
    .rating-partners--footer .rating-partners__track {
        justify-content: space-between;
    }
}

.rating-partners__track {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 28px;
}

.rating-partners__item {
    flex: 0 0 auto;
}

.rating-partners__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    text-decoration: none;
    color: #1f241f;
}
.rating-partners__link:hover { color: #6e9c3f; text-decoration: none; }
.rating-partners__link:focus-visible { outline: 3px solid rgba(110, 156, 63, 0.5); outline-offset: 2px; }

.rating-partners__logo {
    display: block;
    height: 36px;
    width: auto;
    max-width: 130px;
    object-fit: contain;
}

/* оценка в одну строку со звёздами — не тратить место по вертикали */
.rating-partners__score {
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.rating-partners__stars {
    display: flex;
    align-items: center;
    gap: 2px;
}

/* Звезда — один SVG-силуэт в mask-image, цвет задаётся через
   background(-color). Шаг заливки 0,5 — half закрашен градиентом
   50/50. -webkit-mask-* обязателен для Safari. */
.rating-star {
    display: inline-block;
    width: 15px;
    height: 15px;
    -webkit-mask-image: url('../images/rating/star.svg');
    mask-image: url('../images/rating/star.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    background-color: #dcdfd7;
}

.rating-star--full { background-color: #f2b400; }

.rating-star--half {
    background-color: transparent;
    background-image: linear-gradient(90deg, #f2b400 50%, #dcdfd7 50%);
}

.rating-star--empty { background-color: #dcdfd7; }

.rating-partners__value {
    font-size: 13px;
    font-weight: 700;
    color: #6d7368;
}

/* ---------- Мобильный: горизонтальная прокрутка, без JS ---------- */
@media (max-width: 767px) {
    .rating-partners__track {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
        gap: 22px;
        padding-bottom: 2px;
        margin: 0 -16px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .rating-partners__item {
        scroll-snap-align: start;
    }

    /* скрыть скроллбар (Firefox/IE + WebKit) */
    .rating-partners__track {
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .rating-partners__track::-webkit-scrollbar {
        display: none;
        height: 0;
    }
}
