/* ==========================================================================
   Отзывы Avito (встраиваемый блок)

   Перенесено из легаси (public/assets/css/add.css) как есть — вёрстка блока
   уже обкатана на проде. Подключается на страницах сайта, где выводится блок:
     <link rel="stylesheet" href="/assets/css/avito-reviews.css">
     <script src="/assets/js/avito-reviews.js" defer></script>
     <div class="avitoReviewsLazy" data-url="{{ route('site.avito.reviews.block') }}"></div>
   ========================================================================== */
.avito-stars-defs { position: absolute; width: 0; height: 0; }

/* Блок вставляется в .product-reviews__ya-widget (у него своя рамка),
   поэтому задаём внутренний отступ и страхуемся от переполнения. */
.avito-reviews-block { /*padding: 16px;*/ max-width: 100%; box-sizing: border-box; }
.avito-reviews-block *, .avito-reviews-block *::before, .avito-reviews-block *::after { box-sizing: border-box; }

/* Сводка: средняя оценка + звёзды + кол-во + бренд-блок Avito */
.avito-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px 32px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}
.avito-summary__main {
    display: flex;
    align-items: center;
    gap: 16px;
}
.avito-summary__score {
    font-size: 46px;
    font-weight: 800;
    line-height: 1;
    color: #1a1d23;
}
/* Идеальная оценка (5,0): цифра золотым градиентом + звезда-подложка её размера.
   Всё в em — при уменьшении шрифта на мобильных звезда ужимается вместе с цифрой,
   ::before спозиционирован абсолютно и на flex-раскладку не влияет. */
.avito-summary__score--perfect {
    position: relative;
    isolation: isolate;
    padding: .12em .42em;
    color: #7a4600;                  /* тёмно-золотой — читается поверх жёлтой звезды */
    -webkit-text-fill-color: #7a4600;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .5);
}
.avito-summary__score--perfect::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 50%;
    width: 2.3em;
    height: 2.3em;
    transform: translate(-50%, -50%);
    pointer-events: none;
    opacity: .6;                     /* бледнее на 40% по просьбе */
    filter: drop-shadow(0 2px 5px rgba(255, 158, 0, .45));
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ffe38a'/%3E%3Cstop offset='.55' stop-color='%23ffc634'/%3E%3Cstop offset='1' stop-color='%23ff9500'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M12 2l2.9 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77 5.82 21l1.18-6.88-5-4.87 7.1-1.01z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.avito-summary__side {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.avito-summary__count { font-size: 13px; color: #8a8f99; }

/* Бренд-блок «Отзывы КАМ.РФ на Avito» + ссылка «Все отзывы» */
.avito-summary__brand {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    text-align: right;
}
.avito-summary__brand-head {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #1a1d23;
}
.avito-summary__logo { display: block; border-radius: 4px; }
.avito-summary__all {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 13px;
    color: #00aa58;
    text-decoration: none;
    transition: color .15s ease;
}
.avito-summary__all:hover { color: #008f4a; }
.avito-summary__all svg { transition: transform .15s ease; }
.avito-summary__all:hover svg { transform: translateX(2px); }
.product-reviews__ya-widget{
    padding: 0;
    border: none;
}
/* --- Адаптив --- */

@media (max-width: 767px) {
    .avito-summary { gap: 14px 20px; }
    .avito-summary__score { font-size: 36px; }
    .avito-summary__brand-head { font-size: 13px; }

    .avito-review { padding: 16px; border-radius: 14px; gap: 10px; }
    .avito-review__topline { gap: 4px 10px; }
    /* На узком экране название товара переносим, а не обрезаем многоточием */
    .avito-review__item { white-space: normal; overflow: visible; flex-basis: 100%; }

}

@media (max-width: 560px) {

    .avito-summary { justify-content: flex-start; }
    .avito-summary__brand { align-items: flex-start; text-align: left; }

    /*.avito-reviews-block { padding: 12px; }*/
    .avito-review { padding: 14px; }
    .avito-review__avatar { width: 30px; height: 30px; font-size: 13px; }
    .avito-page__more { margin-top: 20px; }
    .avito-page__more .btn { width: 100%; }
}

/* Звёзды с дробным заполнением (наложение золотого ряда поверх серого) */
.stars_lg { position: relative; display: inline-flex; line-height: 0; vertical-align: middle; }
.stars__row { display: inline-flex; gap: 2px; line-height: 0; }
.stars__row_fill {
    position: absolute;
    top: 0; left: 0;
    height: 100%;
    overflow: hidden;
    white-space: nowrap;
    pointer-events: none;
}
.stars__row .star { display: block; }

/* Список отзывов — по одному на строку */
.avito-reviews { display: flex; flex-direction: column; gap: 14px; }
.avito-reviews__empty { color: #8a8f99; font-size: 14px; }

.avito-review {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px 22px;
    border: 1px solid #ececf0;
    border-radius: 18px;
    background: #fff;
    transition: box-shadow .2s ease, border-color .2s ease;
}
.avito-review:hover { border-color: #dfe2e7; box-shadow: 0 6px 22px rgba(20,30,50,.07); }

.avito-review__head { display: flex; align-items: center; gap: 12px; }
.avito-review__avatar {
    flex: 0 0 auto;
    width: 34px; height: 34px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 700; font-size: 14px; line-height: 1;
}
.avito-review__meta { min-width: 0; flex: 1 1 auto; }
.avito-review__topline { display: flex; align-items: center; gap: 4px 10px; flex-wrap: wrap; min-width: 0; }
.avito-review__author { font-weight: 700; font-size: 13px; color: #1a1d23; }
.avito-review__sub { font-size: 12px; color: #9aa0a8; margin-top: 2px; }

/* min-width:0 обязателен: без него nowrap-название товара не сжимается
   и распирает карточку (горизонтальный скролл на мобильных). */
.avito-review__rating { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 12px; min-width: 0; }
.stars { display: inline-flex; align-items: center; gap: 2px; }
.star { display: block; }
.star path { fill: #e2e4e9; }
.star.is-active path { fill: url(#avitoStarGrad); }
.avito-review__deal { color: #00aa58; font-weight: 600; white-space: nowrap; }
.avito-review__item {
    color: #9aa0a8;
    min-width: 0;
    flex: 0 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Длинные артикулы/ссылки в тексте не должны рвать вёрстку */
.avito-review__text { margin: 0; font-size: 13px; line-height: 1.5; color: #2b2f36; overflow-wrap: anywhere; }

/* Служебные плашки и кнопка */
.avito-page__note {
    display: inline-block;
    margin: 0 0 20px;
    padding: 8px 14px;
    border-radius: 10px;
    background: #fff6e5;
    color: #8a6d1f;
    font-size: 13px;
}
.avito-page__error {
    margin: 0 0 20px;
    padding: 12px 16px;
    border-radius: 10px;
    background: #fdecec;
    color: #b3261e;
    font-size: 14px;
}
.avito-page__more { display: flex; justify-content: center; margin-top: 28px; }
.avito-page__more [hidden] { display: none; }
.avito-review.is-new { animation: avitoFade .35s ease; }
@keyframes avitoFade {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: none; }
}
