/* webasyst-shops 2026-09-24, ТЗ ads-analytics 109 (docs/nazarklinok.ru/tz-109.md): сравнение и «Избранное» — значки в плитках, шапке, карточке; пустые состояния.
   Размеры значков заданы — без сдвигов вёрстки (п. 2.7) */
/* плитка: угол фото */
.card-product__img { position: relative; }
.tz109-tile-btns { position: absolute; top: 6px; right: 6px; z-index: 3; display: flex; gap: 4px; }
.tz109-tile-btns .btn { width: 34px; height: 34px; min-width: 34px; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%; background: rgba(255,255,255,.92); box-shadow: 0 1px 3px rgba(0,0,0,.18); color: #333; }
.tz109-tile-btns .btn .icon { width: 18px; height: 18px; }
.tz109-tile-btns .btn.active { color: #c62828; }
.tz109-tile-btns .b-compare { display: none; }
@media (min-width: 1200px) {
    .card-product:hover .tz109-tile-btns .b-compare, .tz109-tile-btns .b-compare.active { display: inline-flex; }
}
/* шапка ПК: рядом с корзиной */
.tz109-hdr { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin: 0 2px; color: inherit; }
.tz109-hdr__icon, .tz109-hdr__icon svg { width: 24px; height: 24px; display: block; }
.tz109-hdr .tz109-count, .tz109-nav-count { position: absolute; top: 0; right: -4px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px;
    background: #c62828; color: #fff; font-size: 11px; line-height: 18px; text-align: center; font-weight: 700; }
@media (max-width: 1023px) { .tz109-hdr { display: none; } }
/* число: тема прячет классом d-none, tz109.js — атрибутом hidden */
.tz109-count[hidden], .tz109-count.d-none { display: none !important; }
/* телефон: «Избранное» в строке значков */
.tz109-nav-wishlist { position: relative; }
/* значок — маской поверх кремового фона кнопки, как соседние (.mobile-navbar__btn_icon-cart); было: картинка внутри — кнопка заливалась целиком */
.tz109-nav-heart { -webkit-mask-image: url(../img/micon_heart.svg); mask-image: url(../img/micon_heart.svg); }
.tz109-nav-count { top: 4px; right: 50%; margin-right: -22px; z-index: 3; }
/* сравнение: «1 клик» в колонке, обёртка не как плитка */
.tz109-oc.card-product { border: 0 !important; padding: 0 !important; margin-left: 0; margin-right: 0; background: none !important; box-shadow: none !important; height: auto !important; }
.tz109-oc__btn { width: 100%; }
.tz109-stock { font-size: 13px; }
/* пустые сравнение и избранное */
.tz109-empty-links a { font-weight: 600; text-decoration: underline; }
/* ссылка в сообщении темы */
.tz109-toast-link { display: inline-block; margin-top: 4px; font-size: 13px; font-weight: 600; text-decoration: underline; }
/* карточка: ♡ и ⇄ значками (html/tz109/card-buttons.html) — ПК в строке «артикул · звёзды · наличие» справа, телефон — угол большого фото */
.tz109-card-btns { display: inline-flex; gap: 6px; margin-left: auto; }
.tz109-card-btns .btn { width: 34px; height: 34px; min-width: 34px; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%; border: 1px solid #d9d9d9; background: #fff; color: #333; }
.tz109-card-btns .btn .icon { width: 18px; height: 18px; }
.tz109-card-btns .btn.active { color: #c62828; border-color: #c62828; }
.tz109-card-btns .b-wishlist__text, .tz109-card-btns .b-compare__text { display: none; }
.tz109-card-btns--photo { display: none; }
@media (max-width: 767px) {
    .tz109-card-btns--row { display: none; }
    .tz109-card-btns--photo { display: inline-flex; position: absolute; top: 8px; right: 8px; z-index: 5; }
    .tz109-card-btns--photo .btn { background: rgba(255,255,255,.92); border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
}

/* замечание заказчика 24.09 «на страницах избранного и сравнения есть проблемы» */
.tz109-h1 { margin: 0 0 16px; font-size: 34px; line-height: 1.2; }
@media (max-width: 767px) { .tz109-h1 { font-size: 26px; } }
/* пустой блок при товарах — тема ставит is-hidden, у ИП стиля для него нет */
.s-search-empty.is-hidden, .s-compare-empty.is-hidden { display: none !important; }
/* панели над списками: тип товаров, «Только отличия / с оценкой», «Очистить…» — компактно, в одну строку */
.b-compare-filter, .b-search-wishlist-filter { gap: 10px 18px !important; align-items: center; }
.b-compare-filter .btn, .b-search-wishlist-filter .btn { min-height: 34px; height: auto; padding: 6px 14px !important; font-size: 12px !important; line-height: 1.2;
    letter-spacing: .02em; white-space: nowrap; border-radius: 17px; }
.b-compare-filter .dropdown-toggle, .b-search-wishlist-filter .dropdown-toggle { border: 1px solid rgba(255,255,255,.45) !important; background: transparent !important; color: inherit !important; }
/* сравнение: фото — первым в колонке (мобильные стили ИП переставляли его под кнопки), удалить — в углу фото, ♡ рядом с «В корзину», «1 клик» — одной строкой */
.s-products-list--swiper_compare .card-product__img { order: -1; }
.s-products-list--swiper_compare .b-compare-page-remove { top: 6px !important; right: 6px !important; z-index: 4; }
.s-products-list--swiper_compare .b-compare-page-remove .btn { width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,.9); color: #333; padding: 0 !important; }
.s-products-list--swiper_compare .s-buttons-wrapper { flex-wrap: nowrap !important; align-items: center; }
.s-products-list--swiper_compare .s-buttons-wrapper > *:first-child { flex: 1 1 auto; min-width: 0; }
.s-products-list--swiper_compare .s-buttons-wrapper .b-wishlist { flex: 0 0 34px; width: 34px; height: 34px; padding: 0 !important; }
.tz109-oc__btn { white-space: nowrap; padding-left: 8px !important; padding-right: 8px !important; }
@media (max-width: 767px) { .tz109-oc__btn { font-size: 11px !important; letter-spacing: 0; } }
/* значения характеристик — переносом по словам, а не посреди слова */
.b-products-grid-compare-features__name, .b-products-grid-compare-features__value { word-break: normal !important; overflow-wrap: break-word; hyphens: auto; }
.tz109-stock--pre { color: #f6c343; }
/* кнопки с фиксированной шириной темы: «Очистить…» — по тексту; «В корзину» в колонке сравнения на телефоне — мельче, чтобы текст не выходил за кнопку */
.b-compare-filter .btn, .b-search-wishlist-filter .btn { width: auto !important; max-width: none !important; }
@media (max-width: 767px) {
    .s-products-list--swiper_compare .s-buttons-wrapper > *:first-child, .s-products-list--swiper_compare .s-buttons-wrapper > *:first-child .btn { font-size: 12px !important; letter-spacing: 0; padding-left: 8px !important; padding-right: 8px !important; min-width: 0; width: 100%; }
}
/* замечание заказчика 24.09 (2) «поля наезжают и обрезаются»: в колонках сравнения — не шире колонки. Плитка каталога задаёт .card-product и
   .card-product__img фиксированную ширину — на 1920 (5 колонок) фото и «1 клик» заезжали на соседнюю колонку на 16 px */
.s-products-list--swiper_compare .card-product__img, .tz109-oc.card-product { width: auto !important; min-width: 0 !important; max-width: 100% !important; flex-basis: auto !important; }
.s-products-list--swiper_compare .card-product__img img { max-width: 100%; height: auto; }
.s-products-list--swiper_compare .s-product-block { min-width: 0; }
.s-products-list--swiper_compare .s-info-wrapper { margin-top: 10px; }
/* строки характеристик — с тем же отступом слева, что и блок товара (card-body 16 px) */
.s-products-list--swiper_compare .b-products-grid-compare-features__feature { padding-left: 16px !important; padding-right: 12px !important; }
@media (max-width: 767px) {
    .s-products-list--swiper_compare .b-products-grid-compare-features__feature { padding-left: 10px !important; padding-right: 8px !important; }
    .s-products-list--swiper_compare .b-products-grid-compare-features__name, .s-products-list--swiper_compare .b-products-grid-compare-features__value { font-size: 13px !important; line-height: 1.3; }
    .s-products-list--swiper_compare .s-product-block { padding-left: 10px !important; padding-right: 10px !important; }
}
/* артикул в плитке — не рвать номер посреди («11905-1») */
.card-product__row .card-product__code span, .card-product__code b, .card-product__code a { white-space: nowrap; }

/* без плавного изменения размеров у кнопок ♡ / ⇄ (тема: transition у .btn) — сдвиги вёрстки при загрузке; основные правила — shop:seller html/tz109/critical.html */
.tz109-tile-btns .btn, .tz109-card-btns .btn { transition: none !important; }

/* замечание заказчика 24.09 (3): переключатели «Только с оценкой» (избранное) и «Только отличия» (сравнение) — у темы input сдвинут на −48 px под отступ
   обёртки, которого у ИП нет: наезжал на «Все типы товаров». Теперь — строкой «переключатель · подпись» без отрицательного отступа */
.b-search-wishlist-filter .form-switch, .b-compare-filter .form-switch { display: flex; align-items: center; gap: 8px; padding-left: 0; margin: 0; min-height: 34px; }
.b-search-wishlist-filter .form-switch .form-check-input, .b-compare-filter .form-switch .form-check-input { margin: 0 !important; float: none; flex: 0 0 auto; }
.b-search-wishlist-filter .form-check-label, .b-compare-filter .form-check-label { white-space: nowrap; }
.tz109-wl-none { margin: 8px 0 24px; }
