/* Редизайн главной и шапки, 05.08.2026.
   Отдельным файлом, чтобы правки не тонули в минифицированном style.css и откатывались удалением одной строки в header.tpl. */

/* базовый шрифт сайта — Arial; здесь дублируем стек без serif-фолбэка, чтобы новые блоки нигде не «поехали» в Times */
.main-title h1,
.cats-grid__title,
.cat-tile__name,
.shop-card__name,
.shop-card__stub,
.shop-mobile-nav__link { font-family: Arial, Helvetica, sans-serif; }

/* ---------- шапка ---------- */

/* новый логотип 250×50 — на внутренних страницах старая вёрстка рассчитана на узкий, поджимаем */
.header-logo img,
.header-mobile__logo img,
.mobile-nav__logo img { max-width: 210px; height: auto; }

.header--flat {
    height: auto;
    background: #fff;
    border-bottom: 1px solid #e9e9e9;
}

/* в старой вёрстке главная «подкладывала» main под шапку фиксированной высоты — теперь высота по содержимому */
.body--index .header { height: auto; }
.body--index .main { margin-top: 0; padding-top: 0; }

/* меню и поиск — одним блоком, как на внутренних страницах */
.header-bar .header-middle {
    flex-grow: 1;
    min-width: 0;
    margin: 0 32px;
}

.body--index .header-nav__link { color: #010000; }
.body--index .header-nav__link:hover { color: #e40a09; }

.body--index .header-bottom {
    margin-top: 0;
    position: relative;
}

.header-bar {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    padding: 14px 0;
}

.header-bar .header-logo { flex-shrink: 0; }

.header-bar .header-actions {
    flex-shrink: 0;
    margin-left: auto;
    display: flex;
    align-items: center;
}

/* «Избранное» и «Вход» — той же вёрсткой и цветом, что на внутренних страницах */
.body--index .header-actions a { color: #010000; }
.body--index .header-login .icon-key { color: #006fff; }

/* выпадашки категорий и регионов висят на .header-bottom, у которой position:relative */
.body--index .header-cats,
.body--index .header-regions { margin-top: 0; }

/* кнопка «Найти»: на доноре съезжала вверх из-за line-height и ненайденного Arial Narrow */
.header-search__action {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 700;
}

/* в разделе «Магазины» блока «Категория» нет (см. header_shops.tpl) — ужимаем
   строку поиска на его ширину, иначе жёлтая кнопка «Найти» растягивается
   на освободившиеся 173px. 582 − 173 = 409.
   margin слева обнуляем: родной `margin: 12px auto` центрировал укороченную
   строку и уводил её вправо от меню — левый край должен совпадать с меню */
.header-search--nocat { max-width: 409px; margin-left: 0; margin-right: auto; }

/* ---------- серая полоса и H1 под шапкой ---------- */

.main-strip {
    height: 34px;
    background: #ececec;
}

.main-title {
    background: #fff;
    padding: 26px 0 20px;
}

.main-title h1 {
    margin: 0;
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.9rem;
    font-weight: 900;
    color: #1a1a1a;
}

/* ---------- ряд сетей ---------- */

.shops-row { background: #fff; padding: 6px 0 24px; }
.shops-row .container { position: relative; }

.shops-row__viewport { overflow: hidden; }

.shops-row__list {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 16px;
    scroll-behavior: smooth;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 4px;
}

.shops-row__list::-webkit-scrollbar { display: none; }

.shop-card {
    flex: 0 0 178px;
    width: 178px;
    text-decoration: none;
    border: 1px solid #ececec;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow .2s ease;
}

.shop-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.12); }

.shop-card__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 128px;
    background: #f5f5f5;
}

/* логотип сети занимает плашку целиком — файлы в images/shops/ кладём квадратом «в обрез» */
.shop-card__logo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.shop-card__stub {
    font-size: 1.125rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .5px;
}

/* фирменные цвета плашек, пока нет логотипов файлами */
.shop-card__logo--svetofor { background: #e2231a; }

.shop-card__body {
    display: block;
    padding: 12px 14px;
    border-top: 1px solid #ececec;
}

.shop-card__name {
    display: block;
    font-size: .9375rem;
    line-height: 1.1rem;
    color: #1a1a1a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.shop-card__count {
    display: block;
    margin-top: 2px;
    font-size: .8125rem;
    line-height: 1rem;
    color: #7a828c;
}

.shop-card__rating {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    padding: 4px 8px;
    border-radius: 8px;
    background: #f7f9fa;
    font-size: .8125rem;
    line-height: 1rem;
    color: #1a1a1a;
    white-space: nowrap;
}

.shop-card__star { color: #ffb800; }
.shop-card__value { font-weight: 700; }
.shop-card__reviews { color: #7a828c; }

.shops-row__arrow {
    position: absolute;
    top: 64px;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,.22);
    cursor: pointer;
    display: none;
    z-index: 2;
}

.shops-row__arrow::before {
    content: "";
    position: absolute;
    top: 11px;
    left: 12px;
    width: 9px;
    height: 9px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
}

.shops-row__arrow--next::before { transform: rotate(45deg); }
.shops-row__arrow--prev::before { left: 15px; transform: rotate(-135deg); }
.shops-row__arrow--next { right: -12px; }
.shops-row__arrow--prev { left: -12px; }
.shops-row__arrow.is-visible { display: block; }

/* ---------- плитки категорий ---------- */

.cats-grid { background: #fff; padding: 8px 0 30px; }

/* один в один с заголовком «Новые товары» (.main-shops__title.h1) */
.cats-grid__title {
    font-size: 1.525rem;
    line-height: 1.83rem;
    font-weight: 400;
    text-align: left;
    color: #000;
    margin-bottom: 32px;
}

.cats-grid__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.cat-tile {
    position: relative;
    display: block;
    min-height: 118px;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    background-color: #eef1f4;
    background-size: cover;
    background-position: center;
    transition: transform .2s ease, box-shadow .2s ease;
}

.cat-tile:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,.12); }

/* временное фото товара в плитке — прижато вправо, не мешает названию слева */
.cat-tile__pic {
    position: absolute;
    right: 8px;
    bottom: 6px;
    max-height: 74%;
    max-width: 58%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.cat-tile__name {
    position: absolute;
    top: 10px;
    left: 10px;
    max-width: calc(100% - 20px);
    background: rgba(255,255,255,.92);
    border-radius: 6px;
    padding: 5px 10px;
    font-size: .875rem;
    line-height: 1.05rem;
    color: #1a1a1a;
}

/* подложки, пока не залиты фотографии: пастель по группам товаров */
.cat-tile--c1  { background-color: #f3e7d3; }
.cat-tile--c2  { background-color: #e3eefb; }
.cat-tile--c3  { background-color: #fbe3e6; }
.cat-tile--c4  { background-color: #dcecf3; }
.cat-tile--c5  { background-color: #e6ecf7; }
.cat-tile--c6  { background-color: #eaf3e0; }
.cat-tile--c7  { background-color: #f7ecdc; }
.cat-tile--c8  { background-color: #f6e6da; }
.cat-tile--c9  { background-color: #ddeff2; }
.cat-tile--c10 { background-color: #e4f0e8; }
.cat-tile--c11 { background-color: #f7e6ee; }
.cat-tile--c12 { background-color: #ecebf6; }
.cat-tile--c13 { background-color: #fdeede; }
.cat-tile--c14 { background-color: #e8f0f7; }
.cat-tile--c15 { background-color: #f1ece4; }
.cat-tile--c16 { background-color: #e7f1ee; }

/* ---------- шапка витрины ---------- */

/* логотип сети убран со всех страниц витрины и с карточки товара;
   именно visibility, а не display — место остаётся, меню не съезжает влево */
.header-shop-logo { visibility: hidden; }

/* ---------- планшет ---------- */

@media only screen and (max-width: 1232px) {
    .header-bar__search { margin: 0 20px; }
    .shop-card { flex-basis: 164px; width: 164px; }
}

@media only screen and (max-width: 991px) {
    .body--index .header { height: auto; }
    .body--index .main { margin-top: 0; padding-top: 0; }
    .body--index .header-top { padding-top: 0; }

    .cats-grid__list { grid-template-columns: repeat(3, 1fr); }
    .main-title h1 { font-size: 1.25rem; line-height: 1.6rem; }
}

/* ---------- мобильная ---------- */

@media only screen and (max-width: 767px) {
    .body--index .header-middle .header-nav { display: none; }
    .header-bar .header-middle { margin: 0; }

    .body--index .header-mobile {
        display: flex;
        flex-direction: row;
        align-items: center;
        padding: 10px 15px;
        border-bottom: 1px solid #f0f0f0;
    }

    /* логотип слева, бургер справа; иконка «избранное» из шапки убрана 07.08.2026 */
    .body--index .header-mobile { justify-content: space-between; }
    .body--index .header-mobile .header-logo { margin: 0; }
    .body--index .header-mobile .header-logo img { max-width: 176px; height: auto; }
    .body--index .header-mobile__burger { margin: 0; }

    /* в старой вёрстке поиск на мобильной прятался за кнопкой «Фильтры» — для агрегатора цен держим его на виду */
    .body--index .header-bottom { margin: 0; height: auto; width: auto; position: relative; }

    /* в разметке строка поиска идёт раньше строки с логотипом — на мобильной меняем местами */
    .header--flat { display: flex; flex-direction: column; }
    .body--index .header-mobile { order: 1; }
    .body--index .header-bottom { order: 2; }

    /* жёлтая строка поиска с кнопкой «Найти» на мобильной главной заменена
       пилюлями .mobile-filters — теми же, что на каталоге; выбор применяется
       кнопкой «Готово» в панели, отдельная кнопка поиска не нужна.
       В .header-bar кроме неё на мобильной ничего не остаётся — прячем целиком */
    .body--index .header-bar { display: none; }

    .main-title { padding: 16px 0 12px; }
    .main-title h1 { font-size: 1.0625rem; line-height: 1.35rem; text-align: left; }

    .shops-row { padding: 4px 0 18px; }
    .shops-row__list { gap: 10px; }
    /* карточка шире прежних 132px: иначе строка рейтинга «★ 4,5 1220 отзывов»
       не помещается в один ряд. Ряд листается вбок, лишняя ширина не мешает */
    .shop-card { flex-basis: 156px; width: 156px; }
    .shop-card__logo { height: 110px; }
    .shop-card__body { padding: 10px; }
    .shop-card__count { font-size: .75rem; }
    .shop-card__rating { gap: 4px; padding: 3px 6px; font-size: .75rem; }
    .shops-row__arrow { display: none !important; }

    .cats-grid { padding: 4px 0 22px; }
    .cats-grid__title { margin-bottom: 14px; }
    .cats-grid__list { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .cat-tile { min-height: 96px; }
    .cat-tile__name { font-size: .8125rem; padding: 4px 8px; max-width: 66%; }
    .cat-tile__pic { max-width: 46%; max-height: 62%; }

    /* padding-bottom у блока «Новые товары» приходит из встроенного <style>
       в шапке (30px!important) — перебиваем отсюда: redesign.css подключён
       ниже, поэтому при равном !important побеждает он.
       Сами просветы вокруг SEO-карточки заданы выше, вне медиазапроса */
    .body--index .main-shops { padding-bottom: 0 !important; }
}

/* ---------- страница 404 ---------- */
/* вёрстка блока лежит в базе: fourlegs_ru_more, text_value='404' */

.err404 { max-width: 640px; padding-bottom: 32px; }

.err404__code {
    font-size: 4.5rem;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -2px;
    color: #ec5f39;
    margin: 4px 0 20px;
}

.err404__lead { font-size: 1.125rem; line-height: 1.65rem; margin-bottom: 10px; }
.err404__hint { color: #767676; line-height: 1.45rem; margin-bottom: 26px; }

.err404__links { display: flex; flex-wrap: wrap; gap: 12px; }

.err404__link {
    display: inline-block;
    padding: 12px 22px;
    border: 1px solid #ececec;
    border-radius: 10px;
    background: #fff;
    color: #1a1a1a;
    font-size: .9375rem;
    text-decoration: none;
    transition: box-shadow .2s ease;
}

.err404__link:hover { box-shadow: 0 4px 14px rgba(0,0,0,.12); text-decoration: none; color: #1a1a1a; }
.err404__link--main { background: #ec5f39; border-color: #ec5f39; color: #fff; }
.err404__link--main:hover { color: #fff; }

@media only screen and (max-width: 575px) {
    .err404__code { font-size: 3.25rem; }
    .err404__links { flex-direction: column; }
    .err404__link { text-align: center; }
}

/* --- Таблица характеристик внутри описания товара (воркфлоу descgen) --- */
.product-desc__body p { margin: 0 0 14px; }

.product-desc__body .p-params__title {
    margin: 22px 0 10px;
    font-family: inherit;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
}

.product-desc__body table.p-params {
    width: 100%;
    max-width: 680px;
    margin: 0 0 8px;
    border-collapse: collapse;
    font-size: .9375rem;
}

.product-desc__body table.p-params th,
.product-desc__body table.p-params td {
    padding: 8px 12px;
    text-align: left;
    vertical-align: top;
    font-weight: 400;
    border: none;
}

.product-desc__body table.p-params th {
    width: 40%;
    color: #7a828c;
}

.product-desc__body table.p-params tr:nth-child(odd) th,
.product-desc__body table.p-params tr:nth-child(odd) td {
    background: #f7f8fa;
}

@media only screen and (max-width: 575px) {
    .product-desc__body table.p-params { font-size: .875rem; }
    .product-desc__body table.p-params th { width: 46%; }
    .product-desc__body table.p-params th,
    .product-desc__body table.p-params td { padding: 7px 8px; }
}

/* /<регион>/magazini/ на мобильной: число товаров шло инлайном сразу за названием
   («Светофор4136 товаров») — выносим на отдельную строку */
@media only screen and (max-width: 767px) {
    .card-shop.card-shop__new .card-shop__mobile-count {
        display: block;
        margin-top: 4px;
        text-align: left;
        color: #7a828c;
    }
}

/* /<регион>/magazini/: на мобильной вместо «Все дискаунтеры» — ссылка на отзывы филиала */
.card-shop.card-shop__new .card-shop__mobile-reviews { display: none; }

@media only screen and (max-width: 767px) {
    .card-shop.card-shop__new .card-shop__type { display: none; }
    .card-shop.card-shop__new .card-shop__mobile-reviews {
        display: inline-block;
        margin-bottom: 5px;
        font-size: 14px;
        line-height: 1.2;
        color: #7a828c;
        text-decoration: none;
    }
    .card-shop.card-shop__new .card-shop__mobile-star {
        color: #ffb800;
        margin-right: 3px;
    }
    .card-shop.card-shop__new .card-shop__mobile-rating {
        color: #000;
        font-weight: 700;
        margin-right: 6px;
    }
    .card-shop.card-shop__new .card-shop__mobile-rcount {
        color: #000;
        font-weight: 700;
        margin-left: 5px;
    }
    /* облачко комментария перед числом отзывов */
    .card-shop.card-shop__new .card-shop__mobile-rcount::before {
        content: "";
        display: inline-block;
        width: 13px;
        height: 13px;
        margin-right: 4px;
        vertical-align: -1px;
        background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 3.2c-5.6 0-10 3.3-10 7.4 0 2.3 1.4 4.4 3.6 5.7-.3 1.4-1.2 2.8-2.6 3.9 2.4-.3 4.5-1.1 6-2.3 1 .2 2 .3 3 .3 5.6 0 10-3.3 10-7.6S17.6 3.2 12 3.2z'/%3E%3C/svg%3E") no-repeat center / contain;
    }
}

/* ============================================================
   Товарная карточка в списках (каталог, главная, блоки магазина)
   ============================================================ */

/* Цена: слово «Цена» — серым, число и ₽ — коралловым (цвет кружка в логотипе) */
.products__item.products__item-new .card-product__price { color: #7a828c; font-weight: 400; }
.products__item.products__item-new .card-product__price div { color: #ec5f39; font-weight: 700; }
.products__item.products__item-new .card-product__price .icon-rouble { color: #ec5f39; }

/* Рейтинг: звезда, оценка, облачко, число отзывов — как на /<регион>/magazini/ */
.products__item.products__item-new .card-product__rating {
    display: block;
    clear: both;
    padding: 8px 15px 0;
    font-size: 13px;
    line-height: 1.2;
    color: #7a828c;
    text-decoration: none;
}
.products__item.products__item-new .card-product__star { color: #ffb800; margin-right: 3px; }
.products__item.products__item-new .card-product__rating-value { color: #000; font-weight: 700; margin-right: 6px; }
.products__item.products__item-new .card-product__rcount { color: #7a828c; font-weight: 700; margin-left: 5px; }
.products__item.products__item-new .card-product__rcount::before {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    margin-right: 4px;
    vertical-align: -1px;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237a828c'%3E%3Cpath d='M12 3.2c-5.6 0-10 3.3-10 7.4 0 2.3 1.4 4.4 3.6 5.7-.3 1.4-1.2 2.8-2.6 3.9 2.4-.3 4.5-1.1 6-2.3 1 .2 2 .3 3 .3 5.6 0 10-3.3 10-7.6S17.6 3.2 12 3.2z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* На мобильной порядок как в примере: фото → цена → название → рейтинг */
@media only screen and (max-width: 767px) {
    .products__item.products__item-new .card-product__body { display: flex; flex-direction: column; }
    .products__item.products__item-new .card-product__body:after { display: none; }
    .products__item.products__item-new .card-product__price { order: 1; float: none !important; padding-top: 0; white-space: normal; }
    .products__item.products__item-new .card-product__ask-price-list { order: 1; }
    /* название переехало под цену — разделительная линейка над ним больше не нужна */
    .products__item.products__item-new .card-product__title { order: 2; border-top: none; }
    .products__item.products__item-new .card-product__rating { order: 3; }
}

/* До 606px карточки шли горизонтальными строками — раскладываем плитками по две */
@media only screen and (max-width: 606px) {
    .products__list { flex-direction: row; flex-wrap: wrap; }
    .products__item { width: calc(50% - 5px); margin: 16px 10px 0 0; }
    .products__item:nth-child(2n+2) { margin-right: 0; }
    .products__item:nth-child(-n+2) { margin-top: 0; }

    .products__item.products__item-new .card-product { display: block; padding: 0 0 6px; }

    .products__item.products__item-new .card-product__img {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        margin: 0 0 8px;
        background-position: center center;
        border-radius: 8px;
    }

    .products__item.products__item-new .card-product__body { padding: 0 2px; }

    .products__item.products__item-new .card-product__price { font-size: 12px; line-height: 1.2; }
    /* nowrap, чтобы «₽» не отрывался от числа на узких экранах */
    .products__item.products__item-new .card-product__price div { display: inline; font-size: 17px; margin: 0 0 0 5px; white-space: nowrap; }

    .products__item.products__item-new .card-product__title {
        font-weight: 400;
        font-size: 14px;
        line-height: 18px;
        height: auto;
        margin: 6px 0 0;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .products__item.products__item-new .card-product__rating { padding: 6px 0 0; font-size: 12px; }

    /* сердечко «в избранное» — поверх фото, справа сверху */
    .products__item.products__item-new .postpone__list-bnt {
        display: block;
        top: 6px;
        right: 6px;
        width: 34px;
        height: 34px;
        border: none;
    }

    /* плашка скидки переезжает в левый верхний угол фото */
    .discount__list-label {
        top: 6px;
        bottom: auto;
        left: 6px;
        width: 34px;
        height: 34px;
        line-height: 34px;
        font-size: 12px;
    }
}

/* самые узкие экраны: цена целиком не влезает в плитку — уменьшаем */
@media only screen and (max-width: 400px) {
    .products__item.products__item-new .card-product__price div { font-size: 15px; }
}

/* «Отложенные товары»: кнопка убрать — тем же кружком, что сердечко в каталоге */
.products__item.products__item-new .postpone__remove-bnt {
    position: absolute;
    top: 7px;
    right: 13px;
    z-index: 2;
    width: 39px;
    height: 39px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .18);
    text-align: center;
    line-height: 39px;
    text-decoration: none;
}
.products__item.products__item-new .postpone__remove-bnt .icon { color: #e40a09; font-size: 18px; }

@media only screen and (max-width: 606px) {
    .products__item.products__item-new .postpone__remove-bnt {
        top: 6px;
        right: 6px;
        width: 34px;
        height: 34px;
        line-height: 34px;
    }
}

/* ============================================================
   Страница товара /tovar/<slug>/
   ============================================================ */

/* «Отложить» и «Поделиться» — плашками поверх фото, справа сверху, в один ряд */
.product-info__left { position: relative; }

.product-actions {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 3;
    display: flex;
    flex-direction: row;
    gap: 8px;
}

.product-info__left .product-actions__btn {
    position: static;
    display: block;
    width: 39px;
    height: 39px;
    border: none;
    text-indent: -9999px;
    overflow: hidden;
    cursor: pointer;
}

.product-actions__hint {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 6px;
    white-space: nowrap;
    background: rgba(0, 0, 0, .78);
    color: #fff;
    font-size: 13px;
    line-height: 1;
    padding: 8px 10px;
    border-radius: 4px;
}

@media only screen and (max-width: 606px) {
    .product-actions { top: 8px; right: 8px; }
    .product-info__left .product-actions__btn { width: 34px; height: 34px; }
}

/* Вкладка «Отзывы»: рейтинг и число отзывов прямо на кнопке.
   В bcms.css все span внутри вкладки спрятаны — возвращаем видимость */
.product-desc__tabs .product-desc__tab .tab-rating,
.product-desc__tabs .product-desc__tab .tab-rating span { display: inline-block; }
.product-desc__tabs .product-desc__tab .tab-rating { margin-left: 8px; font-size: 13px; }
.product-desc__tabs .product-desc__tab .tab-rating__star { color: #ffb800; margin-right: 3px; }
.product-desc__tabs .product-desc__tab .tab-rating__value { color: #000; font-weight: 700; margin-right: 6px; }
.product-desc__tabs .product-desc__tab .tab-rating__count { color: #7a828c; }

/* Кнопка «Написать отзыв» — форма под ней раскрывается по клику */
.reviews-add-btn { margin-top: 0; }

/* Общий рейтинг товара над списком отзывов */
.reviews-summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 18px 0 6px;
}
.reviews-summary__value { font-size: 26px; font-weight: 700; color: #000; line-height: 1; }
.reviews-summary .stars { margin: 0; }
.reviews-summary__label { color: #7a828c; font-size: 15px; }

/* ============================================================
   Иконки «Отложить» и «Поделиться» — единый вид по всему сайту
   (плитки каталога, главная, скидки, витрина магазина, избранное,
   страница товара). Плашка-squircle #f7f9fa, иконка #969faa —
   по макетам Димы. Спрайт hearts.png больше не используется.
   ============================================================ */

.products__item.products__item-new .postpone__list-bnt,
.product-info__left .product-actions__btn {
    border: none;
    border-radius: 30%;
    background-color: #f7f9fa;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 62% 62%;
    box-shadow: 0 1px 3px rgba(23, 33, 51, .12);
    transition: background-color .15s;
}

/* у донора hover и active двигали спрайт hearts.png — держим фон по центру */
.products__item.products__item-new .postpone__list-bnt:hover,
.products__item.products__item-new .postpone__list-bnt.active { background-position: center; }

.products__item.products__item-new .postpone__list-bnt:hover,
.product-info__left .product-actions__btn:hover { background-color: #eef1f5; }

/* сердце — залитое, серо-синее; в избранном становится красным */
.products__item.products__item-new .postpone__list-bnt,
.product-info__left .postpone__list-bnt {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23969faa'%3E%3Cpath d='M12 21.05l-1.45-1.32C5.4 15.06 2 11.98 2 8.2 2 5.12 4.42 2.7 7.5 2.7c1.74 0 3.41.81 4.5 2.09 1.09-1.28 2.76-2.09 4.5-2.09 3.08 0 5.5 2.42 5.5 5.5 0 3.78-3.4 6.86-8.55 11.53L12 21.05z'/%3E%3C/svg%3E");
}

.products__item.products__item-new .postpone__list-bnt.active,
.product-info__left .postpone__list-bnt.active {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e40a09'%3E%3Cpath d='M12 21.05l-1.45-1.32C5.4 15.06 2 11.98 2 8.2 2 5.12 4.42 2.7 7.5 2.7c1.74 0 3.41.81 4.5 2.09 1.09-1.28 2.76-2.09 4.5-2.09 3.08 0 5.5 2.42 5.5 5.5 0 3.78-3.4 6.86-8.55 11.53L12 21.05z'/%3E%3C/svg%3E");
}

/* стрелка «поделиться» — залитая, того же цвета; она уже сердца, поэтому чуть крупнее */
.product-info__left .product-actions__share {
    background-size: 68% 68%;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23969faa'%3E%3Cpath d='M14 8.5V4.6l7.4 7.4-7.4 7.4v-3.9c-4.6 0-7.9 1.7-10 5.1.6-6.6 4.5-11.4 10-12z'/%3E%3C/svg%3E");
}

/* ============================================================
   Раздел «Магазины» /<город>/magazini/ — карточка магазина блоком
   ============================================================ */

.page--shops .page-shops { display: block; }

.page--shops .page-shops__item {
    border-bottom: none;
    margin-bottom: 16px;
}

.shop-block {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
    padding: 16px 18px 18px;
}

/* шапка: слева иконка, справа название с количеством товаров, под ними рейтинг */
.shop-block__head {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 14px;
}

.shop-block__logo {
    flex: 0 0 auto;
    display: block;
    width: 64px;
    height: 64px;
    border-radius: 12px;
    overflow: hidden;
    background: #f5f5f5;
}

.shop-block__logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.shop-block__info { min-width: 0; }

.shop-block__title {
    display: block;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: #1a1a1a;
    text-decoration: none;
}

.shop-block__title:hover { color: #e40a09; }

.shop-block__count {
    color: #7a828c;
    font-size: .875rem;
    margin-top: 2px;
}

.shop-block__rating {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding: 5px 10px;
    border-radius: 8px;
    background: #f7f9fa;
    font-size: .875rem;
    color: #1a1a1a;
    text-decoration: none;
}

.shop-block__star { color: #ffb800; }
.shop-block__value { font-weight: 700; }
.shop-block__reviews { color: #7a828c; }

.shop-block__contacts {
    margin-top: 12px;
    font-size: .875rem;
    color: #55595f;
}

/* лента товаров витрины: 8 позиций, листается по горизонтали */
.shop-block__slider {
    position: relative;
    margin-top: 14px;
}

.shop-block__track {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 12px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding-bottom: 2px;
}

.shop-block__track::-webkit-scrollbar { display: none; }

.shop-product {
    flex: 0 0 152px;
    width: 152px;
    text-decoration: none;
    color: #1a1a1a;
}

.shop-product__img {
    display: block;
    height: 152px;
    border-radius: 10px;
    background: #f5f5f5 no-repeat center / contain;
}

.shop-product__price {
    display: block;
    margin-top: 8px;
    font-size: 1rem;
    font-weight: 700;
    color: #ec5f39;
    white-space: nowrap;
}

.shop-product__name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 4px;
    font-size: .8125rem;
    line-height: 1.05rem;
    color: #55595f;
}

.shop-block__arrow {
    position: absolute;
    top: 76px;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .22);
    cursor: pointer;
    display: none;
    z-index: 2;
}

.shop-block__arrow::before {
    content: "";
    position: absolute;
    top: 11px;
    left: 12px;
    width: 9px;
    height: 9px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
}

.shop-block__arrow--next::before { transform: rotate(45deg); }
.shop-block__arrow--prev::before { left: 15px; transform: rotate(-135deg); }
.shop-block__arrow--next { right: -8px; }
.shop-block__arrow--prev { left: -8px; }
.shop-block__arrow.is-visible { display: block; }

/* «Перейти» — под лентой товаров */
.shop-block__go {
    display: inline-block;
    min-width: 240px;
    margin-top: 16px;
    padding: 12px 20px;
    border-radius: 8px;
    background: #ec5f39;
    color: #fff;
    font-size: .9375rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.shop-block__go:hover { background: #d9502c; color: #fff; }

@media only screen and (max-width: 606px) {
    .page--shops .page-shops { margin-left: 0; margin-right: 0; }
    .page--shops .page-shops__item { margin-bottom: 12px; }

    .shop-block { padding: 14px; border-radius: 10px; }
    .shop-block__logo { width: 52px; height: 52px; border-radius: 10px; }
    .shop-block__title { font-size: 1rem; }
    .shop-block__arrow { display: none !important; }

    .shop-product { flex: 0 0 132px; width: 132px; }
    .shop-product__img { height: 132px; }

    /* на телефоне кнопка во всю ширину блока */
    .shop-block__go { display: block; min-width: 0; }
}

/* ==========================================================================
   Скругление кнопок — общее для всего сайта
   Радиус 8px, как у «Перейти» (.shop-block__go) в карточке магазина
   ========================================================================== */

/* .btn — общий класс всех кнопок движка: «Отправить» в контактах,
   «Написать/Отправить/Добавить отзыв», «Показать ещё», «Добавить файл» и т.д. */
.btn {
    border-radius: 8px;
}

/* «Купить» в блоке «Лучшие предложения от продавцов» — свой класс,
   в bcms.css у него радиус 5px, приводим к общему */
.seller-buy .buy-btn {
    border-radius: 8px;
}

/* «Показать» под блоком «товары других компаний из рубрики» и «это моя компания» —
   тоже мимо класса .btn */
.card-shop__catalog {
    border-radius: 8px;
}

/* ==========================================================================
   Скругление блоков — единый радиус 10px, как у плиток категорий (.cat-tile)
   07.08.2026
   ========================================================================== */

/* --- карточки товаров: каталог, главная, регион, витрина магазина,
       категория магазина, «товары по скидке», избранное --- */
.products__item.products__item-new {
    border-radius: 10px;
    overflow: hidden;          /* фото упирается в края карточки, иначе углы не срежутся */
}

/* --- сайдбар: категории/подкатегории (/katalog/, витрина) и список филиалов --- */
.sidebar-categories,
.sidebar-branch {
    border-radius: 10px;
    overflow: hidden;
}

/* --- SEO-текст внизу страниц --- */
.text--catalog { border-radius: 10px; }

/* на главной и региональной SEO-блок лежал внутри белой полосы во всю ширину —
   на белом фоне скругление не видно, полосу делаем прозрачной (фон у .container
   прописан инлайном в шаблоне, поэтому !important) */
.main-advantages,
.main-advantages > .container { background: transparent !important; }

/* Просветы вокруг SEO-карточки — по 50px сверху и снизу, на всех ширинах.
   У донора было 120px сверху и 109px снизу на десктопе: пустота копилась из
   margin/padding самого .main-advantages поверх родных 36px margin у .text.
   .body--index — это главная и региональные главные (/moskva/ и т.п.),
   вёрстка у них общая; внутренние страницы не затрагиваются. */
.body--index .main-advantages { margin: 8px 0; padding: 6px 0; }

/* --- белая плашка с H1 на внутренних страницах --- */
.page-header { border-radius: 10px; }

/* --- блоки страницы товара --- */
.product-info__left,
.product-info__right,
.product-desc { border-radius: 10px; }

/* вкладки «Описание/Отзывы» склеены встык — скругляем только внешние углы */
.product-desc__tabs .product-desc__tab:first-child { border-top-left-radius: 10px; }
.product-desc__tabs .product-desc__tab:last-child  { border-top-right-radius: 10px; }

/* форма отзыва и сами отзывы */
.reviews-form,
.reviews-list__item { border-radius: 10px; }

/* --- страницы витрины магазина: остальные блоки, тот же радиус 10px --- */

/* «Каталог товаров» / название категории / «Товары по скидке» — плашка над списком */
.products__title { border-radius: 10px; }

/* «Посмотрите товары других компаний из рубрики…» под списком товаров */
.product-cat { border-radius: 10px; }

/* «Условия доставки» и «Условия оплаты» */
.text--inner { border-radius: 10px; }

/* контакты филиала: белая обёртка карты, сам виджет Яндекса и текстовый блок */
.map,
.text--contacts { border-radius: 10px; }
.map__content {
    border-radius: 10px;
    overflow: hidden;
}

/* карта приходит отдельным iframe — overflow родителя его не режет, скругляем сам кадр */
.map__content iframe { border-radius: 10px; }

/* подпись под картой: сколько магазинов сети на ней отмечено */
.map__note {
    margin: 8px 2px 0;
    font-family: Arial, sans-serif;
    font-size: 13px;
    color: #8a8a8a;
}

/* белый контейнер под списком отзывов (сами отзывы скруглены выше) */
.reviews-list { border-radius: 10px; }

/* ==========================================================================
   Мобильная навигация витрины: Каталог / Доставка / Контакты / Отзывы
   07.08.2026. Донорский вид — синие ссылки в серых рамках с радиусом 2px,
   вчетвером не влезали в 360px и обрезались справа.
   Блок живёт в .container.visible--md, на десктопе скрыт — медиазапрос не нужен.
   ========================================================================== */

.shop-mobile-nav {
    display: grid;                     /* четыре равные колонки вместо скролла */
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    overflow: visible;
    margin: 14px 0 14px;
}

.shop-mobile-nav__link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    margin: 0;                         /* донор разносил пункты margin-right */
    padding: 9px 4px;
    border: 1px solid #e0e4e9;
    border-radius: 8px;
    background: #fff;
    color: #3d434b;
    font-size: .8125rem;
    line-height: 1.0625rem;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.shop-mobile-nav__link:hover { color: #3d434b; border-color: #c9cfd6; }

/* активный пункт — фирменный коралловый.
   в шаблоне у «Каталога» свой класс, у остальных по недосмотру донора
   проставляется десктопный header-shop-nav__link--active — ловим оба */
.shop-mobile-nav__link--active,
.shop-mobile-nav .header-shop-nav__link--active,
.shop-mobile-nav__link--active:hover,
.shop-mobile-nav .header-shop-nav__link--active:hover {
    background: #ec5f39;
    border-color: #ec5f39;
    color: #fff;
}

/* самые узкие экраны — 320px: четыре колонки ещё влезают, но впритык */
@media only screen and (max-width: 360px) {
    .shop-mobile-nav { gap: 4px; }
    .shop-mobile-nav__link { padding: 9px 2px; font-size: .75rem; }
}

/* «Показать телефон» в шапке витрины убран 07.08.2026 по задаче Димы.
   Два отдельных блока: .lg-header-shop-phone — десктоп, .sm-header-shop-phone —
   мобильная. Прячем целиком вместе со ссылкой на номер (#company-phone-lg):
   без кнопки её всё равно нечем раскрыть — номер показывает js по клику. */
.lg-header-shop-phone,
.sm-header-shop-phone { display: none !important; }

/* Полосу .header-bottom на витрине ниже 992px держал только скрытый логотип сети
   (у него visibility: hidden — габариты остаются). Пока рядом стоял телефон это
   было незаметно, теперь осталась бы пустая белая полоса. Убираем его из потока
   только на мобильной: на десктопе эту же полосу занимает .header-shop-nav. */
@media only screen and (max-width: 991px) {
    .body--shop .header-shop-logo { display: none; }
}

/* у донора на витрине ниже 992px шапка жёстко 80px = 38 (строка с логотипом)
   + 42 (полоса под телефон), а .main это компенсирует парой padding-top/margin-top.
   Телефона больше нет — убираем нижние 42px из всех трёх чисел разом, иначе
   останется пустая белая полоса или разъедется отступ под шапкой. */
@media only screen and (max-width: 991px) {
    .body--shop .header-bottom { height: auto; }
    .body--shop .header { height: 56px; }
    .body--shop .main { padding-top: 56px; margin-top: -56px; }

    /* шапка витрины — как на остальных страницах: белая полоса,
       логотип слева, бургер справа. У донора было наоборот: серый фон,
       бургер слева, логотип по центру, и полоса 38px резала логотип сверху */
    .body--shop .header-top {
        height: 56px;
        background: #fff;
    }

    .body--shop .header-top .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 100%;
    }

    .body--shop .header-mobile__logo {
        order: -1;                 /* в разметке бургер идёт первым */
        margin: 0;                 /* донор центровал логотип через margin: auto */
        max-width: 180px;
    }

    .body--shop .header-mobile__logo img { max-width: 100%; height: auto; }

    /* донор отодвигал бургер от края своим margin — прижимаем к правой стороне */
    .body--shop .header-mobile__burger { margin: 0 0 0 auto; }
}

/* ==========================================================================
   Мобильные меню выбора города и категорий — 07.08.2026
   Три места, где у донора остался интерфейс 2015 года:
     .mobile-filters   — строка «Категория / Регион» под шапкой (каталог, категория, /<город>/magazini/)
     .mobile-nav       — полноэкранные панели: фильтры (#js-mobile-filter) и бургер (#js-mobile-main-nav)
   Донорские стрелки были текстовым символом '>' — везде заменены на svg-шевроны data-URI.
   ========================================================================== */

@media only screen and (max-width: 767px) {

    /* ---------- строка выбора под шапкой ---------- */

    .mobile-filters { padding: 10px 0 12px; }

    .mobile-filters__list {
        display: flex;
        gap: 8px;
        margin-right: 0;
    }

    /* донор давал каждой пилюле фиксированные 49% — при одной пилюле (страница магазинов)
       она занимала половину экрана; flex-basis 0 растягивает её на всю ширину */
    .mobile-filters__trigger {
        flex: 1 1 0;
        width: auto;
        max-width: none;
        min-width: 0;
        margin: 0;
        height: 42px;
        line-height: 40px;
        padding: 0 32px 0 36px;
        background: #fff;
        border: 1px solid #e9edf0;
        border-radius: 10px;
        font-family: Arial, Helvetica, sans-serif;
        font-size: .875rem;
        color: #1c2229;
        transition: border-color .2s ease;
    }

    .mobile-filters__trigger:active { border-color: #ec5f39; }

    .mobile-filters__trigger:before {
        content: '';
        position: absolute;
        left: 12px;
        top: 50%;
        width: 16px;
        height: 16px;
        margin-top: -8px;
        background: no-repeat center / 16px 16px;
    }

    #mobile-filters-cats:before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='%23969faa'%3E%3Crect x='1' y='1' width='6' height='6' rx='1.5'/%3E%3Crect x='9' y='1' width='6' height='6' rx='1.5'/%3E%3Crect x='1' y='9' width='6' height='6' rx='1.5'/%3E%3Crect x='9' y='9' width='6' height='6' rx='1.5'/%3E%3C/svg%3E");
    }

    #mobile-filters-region:before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='%23969faa'%3E%3Cpath d='M8 1a5 5 0 0 0-5 5c0 3.6 4.35 8.5 4.54 8.71a.62.62 0 0 0 .92 0C8.65 14.5 13 9.6 13 6a5 5 0 0 0-5-5Zm0 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4Z'/%3E%3C/svg%3E");
    }

    /* донорская стрелка — символ '>', повёрнутый на 90 градусов */
    .mobile-filters__trigger:after {
        content: '';
        right: 12px;
        top: 50%;
        margin-top: -3px;
        width: 10px;
        height: 6px;
        transform: none;
        background: no-repeat center / 10px 6px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%23969faa' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }

    /* ---------- шапка внутренних страниц: логотип слева, бургер справа ----------
       у донора ряд шёл от края до края; кнопка «Фильтры» убрана 07.08.2026 —
       она открывала ту же панель, что пилюли .mobile-filters строкой ниже */

    .header-mobile {
        padding: 10px 15px;
        gap: 12px;
    }

    .header-mobile > .header-logo { margin-right: auto; }
    .header-mobile__burger { margin: 0; }

    .header-mobile__burger span,
    .header-mobile__burger span::after,
    .header-mobile__burger span::before { background-color: #1c2229; }

    /* ---------- полноэкранные панели ---------- */

    .mobile-nav { background: #f3f5f6; }

    .mobile-nav__header,
    .mobile-nav__header--filter {
        height: 60px;
        padding: 0 15px;
        border-bottom: 1px solid #e9edf0;
    }

    .mobile-nav__logo img { display: block; max-width: 170px; height: auto; }

    /* донор отодвигал крестик на 42px от края — прижимаем к тому же отступу, что логотип */
    .mobile-nav__toggle { margin-right: 0; }
    .mobile-nav__toggle span::after,
    .mobile-nav__toggle span::before { background-color: #1c2229; }

    /* список — карточкой, как плитки категорий на главной */
    .mobile-nav__list {
        margin: 12px 15px;
        border: 1px solid #e9edf0;
        border-radius: 10px;
        overflow: hidden;
    }

    .mobile-nav__item { border-top-color: #eef1f3; }

    .mobile-nav__link {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 1rem;
        line-height: 1.3rem;
        color: #1c2229;
        padding: 15px 44px 15px 16px;
    }

    .mobile-nav--user .mobile-nav__link { padding-top: 15px; padding-bottom: 15px; }

    .mobile-nav__link:active { background: #f7f9fa; }

    .mobile-nav__link .icon {
        font-size: 1.0625rem;
        color: #969faa;
        margin-right: 10px;
    }

    /* «Регион» и «Рубрики» в корне панели шли глифами шрифта (глобус и пазл) —
       меняем на те же svg, что стоят в пилюлях под шапкой */
    .mobile-nav__link .icon-globe,
    .mobile-nav__link .icon-puzzle {
        display: inline-block;
        width: 17px;
        height: 17px;
        vertical-align: -3px;
        background: no-repeat center / 17px 17px;
    }

    .mobile-nav__link .icon-globe:before,
    .mobile-nav__link .icon-puzzle:before { content: none; }

    .mobile-nav__link .icon-globe {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='%23969faa'%3E%3Cpath d='M8 1a5 5 0 0 0-5 5c0 3.6 4.35 8.5 4.54 8.71a.62.62 0 0 0 .92 0C8.65 14.5 13 9.6 13 6a5 5 0 0 0-5-5Zm0 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4Z'/%3E%3C/svg%3E");
    }

    .mobile-nav__link .icon-puzzle {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='%23969faa'%3E%3Crect x='1' y='1' width='6' height='6' rx='1.5'/%3E%3Crect x='9' y='1' width='6' height='6' rx='1.5'/%3E%3Crect x='1' y='9' width='6' height='6' rx='1.5'/%3E%3Crect x='9' y='9' width='6' height='6' rx='1.5'/%3E%3C/svg%3E");
    }

    .mobile-nav__info {
        font-family: Arial, Helvetica, sans-serif;
        font-weight: 400;
        font-size: .75rem;
        color: #8a949f;
        margin-top: 2px;
    }

    /* заголовок группы («Выбрать регион») и плашка «Подождите» */
    .mobile-nav__item--empty {
        margin: 0;
        padding: 12px 16px;
        background: #f7f9fa;
        border-top: 1px solid #eef1f3;
        font-family: Arial, Helvetica, sans-serif;
        font-size: .6875rem;
        letter-spacing: .05em;
        text-transform: uppercase;
        color: #8a949f;
    }

    /* превью категории: у донора 30px отступа — строка расползалась */
    .mobile-nav__img {
        width: 32px;
        height: 32px;
        margin-right: 12px;
        border-radius: 6px;
        overflow: hidden;
        flex-shrink: 0;
    }

    /* стрелки: текстовый '>' у ссылки и у отдельного триггера подкатегорий */
    .mobile-nav__link:after {
        content: '';
        right: 16px;
        width: 8px;
        height: 13px;
        background: no-repeat center / 8px 13px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13' fill='none'%3E%3Cpath d='m1.5 1.5 5 5-5 5' stroke='%23969faa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }

    .mobile-nav__trigger {
        width: 44px;
        height: 100%;
        background: no-repeat center / 8px 13px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13' fill='none'%3E%3Cpath d='m1.5 1.5 5 5-5 5' stroke='%23969faa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }

    .mobile-nav__trigger:before { display: none; }

    /* «Готово» — последней строкой карточки, коралловая, как «Перейти» в блоке магазина */
    .mobile-nav__item--done {
        background: #fff;
        border-top: 1px solid #eef1f3;
        padding: 14px 16px;
    }

    .mobile-nav__item--done .btn {
        display: block;
        width: 100%;
        min-width: 0;
        height: 46px;
        line-height: 46px;
        padding: 0;
        background: #ec5f39;
        border: 0;
        color: #fff;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 1rem;
    }

    /* ---------- «Избранное» в бургере ---------- */

    .mobile-nav__auth {
        background: transparent;
        padding: 0 15px 20px;
    }

    .mobile-nav__auth a,
    .mobile-nav__auth a:last-child {
        position: relative;
        display: flex;
        align-items: center;
        min-width: 0;
        margin: 0;
        height: 54px;
        padding: 0 44px 0 16px;
        background: #fff;
        border: 1px solid #e9edf0;
        border-radius: 10px;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 1rem;
        line-height: 1.3rem;
        text-align: left;
    }

    .mobile-nav__auth a.wish { color: #1c2229; }
    .mobile-nav__auth a.wish .icon { color: #ec5f39; font-size: 1.125rem; margin-right: 10px; }
    .mobile-nav__auth a:active { background: #f7f9fa; }

    .mobile-nav__auth a:after {
        content: '';
        position: absolute;
        right: 16px;
        top: 50%;
        margin-top: -6.5px;
        width: 8px;
        height: 13px;
        background: no-repeat center / 8px 13px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13' fill='none'%3E%3Cpath d='m1.5 1.5 5 5-5 5' stroke='%23969faa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }
}

/* SEO-блок внизу главной и региональных страниц: у донора вокруг него
   margin 54/51 + padding 30/22 — на мобильной это ~75px пустоты перед подвалом */
@media only screen and (max-width: 767px) {
    .main-advantages {
        margin: 16px 0 0;
        padding: 16px 0 14px;
    }
}

/* ============================================================
   SEO-блок витрины филиала: цены-якоря города + рейтинг.
   Данные, а не текст: таблица ходовых позиций с ценами этого
   магазина и ссылка на отзывы. Шрифт задаём явно — у донора
   он местами не задан и текст уезжает в Times.
   ============================================================ */

.branch-seo {
    font-family: Arial, Helvetica, sans-serif;
    margin: 20px 0 30px;
}

.branch-seo__head {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-bottom: 14px;
}

.branch-seo__title { margin: 0; }

.branch-seo__rating {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    white-space: nowrap;
}

.branch-seo__star { color: #ffb800; font-size: 1.125rem; line-height: 1; }
.branch-seo__rating-value { color: #1c2229; font-weight: 700; }
.branch-seo__rating-count { color: #7a828c; font-size: 0.875rem; border-bottom: 1px dashed #c3cad2; }
.branch-seo__rating:hover .branch-seo__rating-count { color: #ec5f39; border-bottom-color: #ec5f39; }

.branch-seo__table-wrap {
    border: 1px solid #e9edf0;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.branch-seo__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
}

.branch-seo__table th {
    padding: 12px 16px;
    background: #f7f9fa;
    color: #7a828c;
    font-weight: 400;
    font-size: 0.8125rem;
    text-align: left;
}

.branch-seo__table th:last-child,
.branch-seo__table td:last-child { text-align: right; }

.branch-seo__table td {
    padding: 11px 16px;
    border-top: 1px solid #eef1f4;
    color: #1c2229;
    vertical-align: middle;
}

.branch-seo__table td a { color: #1c2229; text-decoration: none; }
.branch-seo__table td a:hover { color: #ec5f39; }
.branch-seo__table tr:hover td { background: #fcfdfd; }

.branch-seo__price { white-space: nowrap; font-weight: 700; }
.branch-seo__price .icon { color: #7a828c; font-weight: 400; }

.branch-seo__note {
    margin: 10px 2px 0;
    color: #969faa;
    font-size: 0.8125rem;
    line-height: 1.4;
}

.branch-seo__text { margin-top: 26px; }

@media only screen and (max-width: 575px) {
    /* заголовок у донора на мобильной по центру — рейтинг равняем по нему */
    .branch-seo__head { justify-content: center; }
    .branch-seo__table { font-size: 0.875rem; }
    .branch-seo__table th { padding: 10px 12px; }
    .branch-seo__table td { padding: 10px 12px; }
}

/* ============================================================
   Как доехать: остановки рядом с адресом, на странице «Контакты».
   Данные OpenStreetMap, есть не у всех адресов — тогда обычная строка.
   ============================================================ */

.branch-addr { font-family: Arial, Helvetica, sans-serif; }

.branch-addr__item { margin: 0 0 8px; }

.branch-addr__line { margin: 0; padding: 0; line-height: 1.5; }

/* адрес, у которого есть остановки — карточка-кнопка: голая стрелка не читается
   как «сюда можно нажать», поэтому рядом с адресом стоит подпись «как доехать» */
.branch-addr__item--toggle,
.branch-addr__item--single {
    border: 1px solid #e9edf0;
    border-radius: 8px;
    background: #fff;
}

.branch-addr__item--toggle > summary.branch-addr__line,
.branch-addr__item--single > .branch-addr__line {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 2px 12px;
    padding: 11px 14px;
}

.branch-addr summary.branch-addr__line {
    list-style: none;
    cursor: pointer;
}

.branch-addr summary.branch-addr__line::-webkit-details-marker { display: none; }

.branch-addr__item--toggle:hover { border-color: #f3c3b4; }

.branch-addr__toggle {
    margin-left: auto;
    color: #ec5f39;
    font-size: 0.8125rem;
    white-space: nowrap;
    border-bottom: 1px dashed rgba(236, 95, 57, .45);
}

.branch-addr__toggle:after {
    content: '';
    display: inline-block;
    width: 9px;
    height: 6px;
    margin-left: 6px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23ec5f39' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 50% 50%;
    transition: transform .15s;
}

.branch-addr__item--toggle[open] .branch-addr__toggle:after { transform: rotate(180deg); }
.branch-addr__item--toggle[open] > summary.branch-addr__line { border-bottom: 1px solid #eef1f4; }

/* подпись над списком у единственного адреса: он раскрыт сразу, метки-кнопки нет */
.branch-addr__subhead {
    padding: 10px 14px 0;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #7a828c;
}

/* адрес без данных — обычная строка: видно, что нажимать нечего */
.branch-addr__line--plain { padding: 4px 14px; color: #4a525c; }

/* список остановок внутри карточки — без своей рамки, она уже есть у карточки */
.branch-addr .branch-transit__list {
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.branch-addr .branch-transit__item {
    padding: 9px 14px;
    font-size: 0.875rem;
    line-height: 1.4;
    border-top: 1px solid #f2f4f6;
}

.branch-addr__item--single .branch-transit__item:first-child { border-top: 1px solid #f2f4f6; }
.branch-addr .branch-transit__dist { font-size: 0.75rem; }
.branch-addr .branch-transit__routes { font-size: 0.8125rem; }

.branch-addr__note {
    margin: 12px 0 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 0.75rem;
    line-height: 1.5;
    color: #969faa;
}

.branch-addr__note a { color: #969faa; text-decoration: underline; }
.branch-addr__note a:hover { color: #ec5f39; }

.branch-transit__list { margin: 8px 0 14px; }
.branch-addr .branch-transit__item { font-size: 0.875rem; line-height: 1.4; }
.branch-addr .branch-transit__dist { font-size: 0.75rem; }
.branch-addr .branch-transit__routes { font-size: 0.8125rem; }

.branch-addr__note {
    margin: 10px 0 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 0.75rem;
    line-height: 1.5;
    color: #969faa;
}

.branch-addr__note a { color: #969faa; text-decoration: underline; }
.branch-addr__note a:hover { color: #ec5f39; }

.branch-transit__list {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid #e9edf0;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.branch-transit__item {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 10px;
    padding: 11px 16px;
    border-top: 1px solid #eef1f4;
    font-size: 0.9375rem;
    color: #1c2229;
}

.branch-transit__item:first-child { border-top: 0; }

.branch-transit__stop { font-weight: 700; }

.branch-transit__dist {
    color: #7a828c;
    font-size: 0.8125rem;
    white-space: nowrap;
}

.branch-transit__routes {
    margin-left: auto;
    color: #4a525c;
    font-size: 0.875rem;
    text-align: right;
}

.branch-seo__note a { color: #969faa; text-decoration: underline; }
.branch-seo__note a:hover { color: #ec5f39; }

@media only screen and (max-width: 575px) {
    .branch-transit__item { padding: 10px 12px; }
    /* на узком экране «как доехать» уезжает под адрес, а не в правый край */
    .branch-addr__toggle { margin-left: 0; }
    .branch-addr__item--toggle > summary.branch-addr__line,
    .branch-addr__item--single > .branch-addr__line { padding: 10px 12px; }
    .branch-addr .branch-transit__item { padding: 9px 12px; }
    /* на узком экране номера маршрутов уезжают на свою строку слева */
    .branch-transit__routes { margin-left: 0; width: 100%; text-align: left; }
}

/* ============================================================
   Филиалы сети в субъекте — кнопками. Был узкий список в сайдбаре,
   перенесён в контент: на витрине в SEO-блок, на «Контактах» — под адресами.
   ============================================================ */
/* Хабы сети: контент кончается списком кнопок, дальше сразу подвал */
.page--hub .content { padding-bottom: 48px; }


.branch-list {
    font-family: Arial, Helvetica, sans-serif;
    margin-top: 30px;
}

.branch-list .branch-seo__title { margin: 0 0 14px; text-align: left; }

.branch-list__items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.branch-list__link {
    display: inline-block;
    padding: 8px 14px;
    border: 1px solid #f4d0c6;
    border-radius: 8px;
    background: #fff;
    color: #ec5f39;
    font-size: 0.875rem;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.branch-list__link:hover,
.branch-list__link:focus {
    background: #ec5f39;
    border-color: #ec5f39;
    color: #fff;
    text-decoration: none;
}

/* сколько городов в регионе (хаб сети) или магазинов в городе — приглушённо,
   чтобы не спорить с названием */
.branch-list__count {
    margin-left: 4px;
    color: #a0a0a0;
    font-size: 0.8125rem;
}

.branch-list__link:hover .branch-list__count,
.branch-list__link:focus .branch-list__count {
    color: #ffd9cd;
}

/* город, на котором мы сейчас — не ссылка */
.branch-list__link--active {
    background: #ec5f39;
    border-color: #ec5f39;
    color: #fff;
    cursor: default;
}

/* на «Контактах» блок идёт отдельной карточкой, как соседние.
   Снизу нужен свой отступ: блок последний в .main, дальше сразу подвал */
.text--contacts + .branch-list {
    background: #fff;
    border-radius: 10px;
    padding: 20px 24px;
    margin: 20px 0 40px;
}

@media only screen and (max-width: 575px) {
    .branch-list .branch-seo__title { text-align: center; }
    .branch-list__items { justify-content: center; }
    .branch-list__link { padding: 8px 12px; }
    .text--contacts + .branch-list { padding: 16px; }
}

/* ==========================================================================
   Иконки «Избранное» и «Корзина» в шапке — 15.08.2026
   Текстовая ссылка «♥ Избранное» заменена на кнопку-иконку; рядом — корзина,
   пока неактивная (логики нет). На мобильной обе иконки вынесены из бургер-меню
   в шапку: порядок в ряду — бургер, избранное, корзина.
   Разметка одинаковая в трёх шапках: headparts/header_main|header_shops|header_shop.tpl
   ========================================================================== */

.header-actions--icons {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-right: 0;
}

.header-icon-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border: 1px solid #e9edf0;
    border-radius: 12px;
    background: #fff;
    color: #1c2229;
    text-decoration: none;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

.header-icon-btn svg { display: block; }

/* донорские правила красят любую ссылку в .header-actions в белый и вешают отступы */
.header-actions--icons a,
.header-actions--icons a:hover { color: #1c2229; margin: 0; }

.header-icon-btn:hover {
    color: #ec5f39;
    border-color: #ec5f39;
    background: #fff6f3;
}

/* у авторизованного меню профиля идёт сразу за иконками: без этого оба блока
   тянут margin-left:auto и делят свободное место пополам — иконки уезжают в центр */
.header-actions--icons + .header-user { margin-left: 12px; }

/* страница «Избранное» — кнопка подсвечена и не ссылка */
.header-icon-btn--active,
.header-actions--icons a.header-icon-btn--active {
    color: #ec5f39;
    border-color: #ec5f39;
    background: #fff6f3;
    cursor: default;
}

/* приглушённая иконка-заглушка: корзина заработала 15.08.2026, правило оставлено про запас */
.header-icon-btn--disabled,
.header-icon-btn--disabled:hover {
    color: #c3cad2;
    border-color: #eef1f4;
    background: #fafbfc;
    cursor: default;
}

/* подпись всплывает под кнопкой — на десктопе места под текст нет */
.header-icon-btn:after {
    content: attr(data-tip);
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 9px;
    border-radius: 8px;
    background: #1c2229;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .75rem;
    line-height: 1;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .15s ease;
    z-index: 60;
}

.header-icon-btn[data-tip]:hover:after { opacity: 1; visibility: visible; }

/* на внутренних страницах донор опускал блок ссылок на 55px — с иконками это
   выбивало их из одной линии со строкой поиска; на витрине магазина своя вёрстка */
.header-top .header-actions--icons { padding-top: 46px; }
.body--shop .header-top .header-actions--icons { padding-top: 0; }

/* ---------- мобильная ---------- */

/* группа «бургер + иконки» есть в разметке всегда, показываем только на мобильной */
.header-mobile__actions { display: none; align-items: center; gap: 2px; }

/* бургер — 26×15, дотягиваем до такой же кликабельной площадки, как у иконок */
.header-mobile__actions .header-mobile__burger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin: 0;
}

.header-mobile__actions .header-mobile__burger span,
.header-mobile__actions .header-mobile__burger span::after,
.header-mobile__actions .header-mobile__burger span::before { background-color: #1c2229; }

/* на телефоне рамки лишние: три кнопки в ряд начинают выглядеть как забор */
.header-icon-btn--mobile {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 12px;
    background: transparent;
}

.header-icon-btn--mobile:hover,
.header-icon-btn--mobile:active { background: #f3f5f6; border: 0; color: #ec5f39; }

.header-icon-btn--mobile.header-icon-btn--disabled,
.header-icon-btn--mobile.header-icon-btn--disabled:hover { background: transparent; color: #c3cad2; }

/* тултипы на тач-экране только мешают */
.header-icon-btn--mobile:after { content: none; }

/* витрина магазина переходит на мобильную шапку раньше остальных страниц — с 991px */
@media only screen and (max-width: 991px) {
    .body--shop .header-mobile__actions { display: flex; margin: 0 0 0 auto; }
}

@media only screen and (max-width: 767px) {
    .header-mobile__actions { display: flex; }
}


/* ==========================================================================
   Корзина — 15.08.2026
   Оформления заказа пока нет: страница показывает состав, магазины и суммы.
   ========================================================================== */

/* счётчик на иконке в шапке */
.header-icon-btn__count {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: #ec5f39;
    color: #fff;
    font-size: 11px;
    line-height: 18px;
    font-weight: 600;
    text-align: center;
}

/* на мобильной иконке подпись-тултип не выводится, счётчик прижимаем плотнее */
.header-icon-btn--mobile .header-icon-btn__count { top: -2px; right: -2px; }

/* --- страница корзины --- */
.cart-empty {
    padding: 24px 0;
}

.cart-shop {
    margin-bottom: 16px;
    border: 1px solid #e9edf0;
    border-radius: 10px;
    overflow: hidden;
}

.cart-shop__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    background: #f7f9fa;
    border-bottom: 1px solid #e9edf0;
}

.cart-shop__name { font-weight: 600; }
.cart-shop__name a { color: #1c2229; text-decoration: none; }
.cart-shop__name a:hover { color: #ec5f39; }

.cart-shop__sum { white-space: nowrap; font-weight: 600; }

.cart-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-top: 1px solid #f0f3f5;
}

.cart-shop__list .cart-item:first-child { border-top: 0; }

.cart-item__img {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: 8px;
    background: #fff center/contain no-repeat;
    border: 1px solid #f0f3f5;
}

.cart-item__body { flex-grow: 1; min-width: 0; }

.cart-item__title {
    display: block;
    color: #1c2229;
    text-decoration: none;
    line-height: 1.35;
}
.cart-item__title:hover { color: #ec5f39; }

.cart-item__price {
    margin-top: 4px;
    font-size: 13px;
    color: #7c8794;
}

.cart-item__qty {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    border: 1px solid #e9edf0;
    border-radius: 8px;
}

.cart-qty__btn {
    width: 30px;
    height: 30px;
    border: 0;
    background: none;
    color: #1c2229;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
}
.cart-qty__btn:hover { color: #ec5f39; }

.cart-qty__value {
    min-width: 26px;
    text-align: center;
    font-size: 14px;
}

.cart-item__sum {
    flex-shrink: 0;
    min-width: 110px;
    text-align: right;
    font-weight: 600;
    white-space: nowrap;
}

.cart-item__del {
    flex-shrink: 0;
    color: #c3cad2;
    text-decoration: none;
}
.cart-item__del:hover { color: #ec5f39; }

.cart-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    border: 1px solid #e9edf0;
    border-radius: 10px;
    background: #f7f9fa;
}

.cart-total__count { color: #7c8794; }
.cart-total__sum { font-size: 20px; font-weight: 700; white-space: nowrap; }

.cart-note {
    margin-top: 12px;
    font-size: 13px;
    color: #7c8794;
}

.cart-clear {
    font-size: 14px;
    color: #7c8794;
    text-decoration: none;
    border-bottom: 1px dashed #c3cad2;
}
.cart-clear:hover { color: #ec5f39; border-bottom-color: #ec5f39; }

/* кнопка «В корзину» на карточке товара после клика */
.seller-buy .buy-btn--added { background: #2fa360; border-color: #2fa360; }

@media only screen and (max-width: 767px) {
    .cart-item {
        flex-wrap: wrap;
        position: relative;
        padding-right: 40px;
    }

    .cart-item__body { flex-basis: calc(100% - 86px); }

    /* количество и сумма уезжают на вторую строку под фото */
    .cart-item__qty { margin-left: 86px; }

    .cart-item__sum { min-width: 0; margin-left: auto; }

    .cart-item__del { position: absolute; top: 14px; right: 14px; }

    .cart-total { flex-direction: column; align-items: flex-start; }
}

/* филиалы одной сети в разных регионах называются одинаково — регион их различает */
.cart-shop__region {
    margin-left: 8px;
    font-weight: 400;
    font-size: 13px;
    color: #7c8794;
}

/* Сеть, которой принадлежит товар: лого и название под отзывами, ссылка на витрину сети */
.products__item.products__item-new .card-product__shop {
    display: flex;
    align-items: center;
    clear: both;
    padding: 8px 15px 0;
    font-size: 13px;
    line-height: 1.2;
    text-decoration: none;
}
.products__item.products__item-new .card-product__shop-logo {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    margin-right: 7px;
    border-radius: 50%;
    object-fit: contain;
}
.products__item.products__item-new .card-product__shop-name { color: #3d4550; font-weight: 700; }
.products__item.products__item-new .card-product__shop:hover .card-product__shop-name { text-decoration: underline; }

@media only screen and (max-width: 767px) {
    .products__item.products__item-new .card-product__shop { order: 4; }
}

@media only screen and (max-width: 606px) {
    .products__item.products__item-new .card-product__shop { padding: 6px 0 0; font-size: 12px; }
    .products__item.products__item-new .card-product__shop-logo { width: 18px; height: 18px; flex: 0 0 18px; margin-right: 6px; }
}

/* ============================================================
   Звёзды рейтинга (плагин rateit) и число рядом с ними.
   У донора звёзды и цифра были жёлтые #fef301 — переводим
   звёзды на терракотовый #ec5f39, цифру делаем чёрной.
   Пустые звёзды остаются серыми (#c3c2c2 из style.css).
   Затрагивает страницы отзывов о магазине и отзывы на товаре —
   больше rateit нигде не выводится.
   ============================================================ */

.rateit .rateit-hover,
.rateit .rateit-selected,
.rateit .rateit-preset { color: #ec5f39; }

.stars__value { color: #000; }

/* ============================================================
   Отзывы о магазине на витрине — 31.08.2026.
   Два свежих отзыва внизу SEO-блока, остальные по ссылке на /reviews/
   ============================================================ */

.branch-reviews { margin-top: 26px; }

/* донорский .h1 центрирует — соседние заголовки блока выровнены влево */
.branch-reviews__title { margin: 0 0 14px; text-align: left; }

.branch-reviews__item {
    border: 1px solid #e9edf0;
    border-radius: 10px;
    background: #fff;
    padding: 14px 16px;
    margin-bottom: 10px;
}

.branch-reviews__top {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-bottom: 6px;
}

.branch-reviews__author { color: #1c2229; font-weight: 700; font-size: 0.9375rem; }
/* звёзды в одну строку: незакрашенные тем же кеглем, иначе рейтинг «прыгает» */
.branch-reviews__stars { color: #ffb800; font-size: 0.875rem; letter-spacing: 1px; white-space: nowrap; }
.branch-reviews__date { color: #969faa; font-size: 0.8125rem; margin-left: auto; }

.branch-reviews__body {
    margin: 0;
    color: #1c2229;
    font-size: 0.9375rem;
    line-height: 1.5;
}

/* рейтинг магазина стоит под лентой отзывов и ведёт на полную страницу /reviews/ */
.branch-reviews__rating { margin-top: 8px; }

@media only screen and (max-width: 575px) {
    .branch-reviews__title { text-align: center; }
    .branch-reviews__item { padding: 12px 14px; }
    /* на узком экране дата уезжает вправо от звёзд и жмётся — ставим её в поток */
    .branch-reviews__date { margin-left: 0; }
}

/* ============================================================
   Отзывы о товарах на странице города — 31.08.2026.
   Четыре отзыва между «Новыми товарами» и нижним текстом
   ============================================================ */

.city-reviews {
    font-family: Arial, Helvetica, sans-serif;
    padding: 0 0 40px;
}

.city-reviews__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.city-reviews__item {
    border: 1px solid #e9edf0;
    border-radius: 10px;
    background: #fff;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
}

/* подпись автора стоит под текстом и прижата к низу карточки: тексты отзывов
   разной длины, а строки с именами должны совпасть по сетке */
.city-reviews__top {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 10px;
    margin-top: auto;
}

.city-reviews__author { color: #1c2229; font-weight: 700; font-size: 0.9375rem; }
/* незакрашенные звёзды тем же кеглем, иначе рейтинг «прыгает» */
.city-reviews__stars { color: #ffb800; font-size: 0.875rem; letter-spacing: 1px; white-space: nowrap; }
.city-reviews__date { color: #969faa; font-size: 0.8125rem; margin-left: auto; }

.city-reviews__body {
    margin: 0 0 10px;
    color: #1c2229;
    font-size: 0.9375rem;
    line-height: 1.5;
}

.city-reviews__product {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    border-bottom: 1px solid #f1f4f6;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.city-reviews__logo { width: 22px; height: 22px; object-fit: contain; flex-shrink: 0; }
.city-reviews__product-name { color: #ec5f39; font-size: 0.9375rem; font-weight: 700; line-height: 1.35; }
.city-reviews__product:hover .city-reviews__product-name { text-decoration: underline; }

@media only screen and (max-width: 767px) {
    .city-reviews__list { grid-template-columns: 1fr; }
}
