/* /upload/hc_js/hc-w4-site.css */

/* ХИТ КЕРАМИКС · общий CSS head_custom (все страницы) · собрано 26.09.2026 (аудит A1 W4, p1_perf-01) из инлайн-блоков
   include/header_include/head_custom.php. Порядок блоков = порядок в файле (каскад сохранён).
   Правка: меняешь этот файл → поднимаешь ?v= в head_custom.php (у /upload/hc_js/ кеш браузера 30 дней). */

/* ==== head_custom.php L325 · Две цены в карточке каталога (шт и м²) ==== */
/* Тёмная тема. У шаблона Aspro цвет заголовка блока «О компании» на главной зашит
   под светлую тему (front_company/style.css: .item-views.company.bg .text-block h3
   {color:#333}) — на тёмной он сливался с фоном. Отдаём его переменной темы. */
.item-views.company.bg .text-block h3{color:var(--white_text_black,#333)}
/* Логотип — inline SVG: «ХИТ» и слоган залиты #342D2D и в тёмной теме сливаются
   с тёмным хедером (03.08.2026, скрин Кирилла). Красный #EE302C не трогаем. */
@media (prefers-color-scheme: dark){
	.logo svg path[fill="#342D2D"]{fill:#e8e6e3}
}
/* FAQ в описании карточки товара: вопросы не должны визуально отличаться от текста
   описания (03.08.2026, требование Кирилла) — тот же кегль, жирность вместо размера,
   ровные отступы. Тематические h3/h4 задают крупные px, поэтому !important. */
.hc-faq h3{font-size:1.1em!important;font-weight:700!important;line-height:1.4!important;margin:1.3em 0 .5em!important}
.hc-faq h4{font-size:1em!important;font-weight:600!important;line-height:1.5!important;margin:1.1em 0 .25em!important}
.hc-faq p{margin:0 0 .5em!important}
/* Вторая цена на детальной карточке (шт↔м²), 03.08.2026 */
.hc-det-alt{margin-top:4px;font-size:.95em;font-weight:600;opacity:.75}
/* тот же случай в блоке «Не нашли ответа на свой вопрос?» (styles.css: .order-block .text h1..h6) */
.order-block .text h1,.order-block .text h2,.order-block .text h3,
.order-block .text h4,.order-block .text h5,.order-block .text h6{color:var(--white_text_black,#333)}

.hc-alt-prices{margin-top:2px;line-height:1.25}
.hc-alt-prices .hc-alt-price{white-space:nowrap}
.hc-alt-prices .hc-alt-price + .hc-alt-price{margin-left:8px}
.hc-alt-prices .price_value,.hc-alt-prices .price_currency,.hc-alt-prices .price_measure{font-size:inherit;font-weight:inherit}

/* 07.08.2026: здесь стояло выравнивание первой цены в плитке каталога в одну линию
   у товаров со скидкой и без — резерв места под плашку «-15% Экономия»
   (padding-bottom:24.5px у .price_matrix_wrapper без .sale_block, от 601 px).
   Кирилл посмотрел и попросил вернуть как было — правило снято, цена без скидки
   снова стоит ниже. Разбор, если понадобится снова, — в hitceramics-catalog-dual-price. */

/* ==== head_custom.php L590 · Акция в мобильной карточке товара ==== */
.hc-mob-sales{display:none}
@media (max-width:991px){
	.hc-mob-sales{display:block;margin:0 0 14px;padding:10px 12px;border:1px solid rgba(238,44,45,.35);border-radius:6px}
	.hc-mob-sales .list-sales-compact__title{margin-bottom:2px}
	/* иконка спозиционирована под сайдбар и наезжает на заголовок — в клоне прячем */
	.hc-mob-sales .list-sales-compact__icons{display:none}
}

/* ==== head_custom.php L815 · Детальная карточка ==== */
/* бейдж и срок акции */
.hc-promo-head{margin:0 0 8px}
.hc-promo-badge{display:inline-block;background:#EE2C2D;color:#fff!important;font-weight:700;font-size:12px;line-height:1;padding:5px 9px;border-radius:4px;text-decoration:none!important}
.hc-promo-badge:hover{background:#d61f20}
.hc-promo-period{margin-top:6px;font-size:12px;color:var(--light_basic_text_black,#777)}
.hc-promo-period a{color:inherit;text-decoration:underline}
/* цена по акции: новая — красным (старую и «Экономию» рисует сам Битрикс) */
.hc-promo-on .js_price_wrapper > .price_matrix_wrapper .price:not(.discount){color:#EE2C2D}
.hc-promo-old{font-size:.62em;font-weight:400;color:var(--basic_text_black,#999);text-decoration:line-through;margin-left:8px;white-space:nowrap}
.hc-det-alt .hc-promo-old{font-size:.92em;margin-left:6px}
/* другие цвета */
.hc-colors{margin:16px 0}
.hc-colors--side{margin:14px 0 4px}
.hc-colors__title{font-size:13px;font-weight:700;color:var(--white_text_black,#333);margin-bottom:8px}
.hc-colors__title span{font-weight:400;color:var(--light_basic_text_black,#888)}
.hc-colors__list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hc-colors__item{display:block;width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid var(--stroke_black,#e5e5e5);transition:transform .12s,border-color .12s}
.hc-colors__item img{width:100%;height:100%;object-fit:cover;display:block}
.hc-colors__item:hover{transform:scale(1.08);border-color:#EE2C2D}
.hc-colors__item.is-cur{border-color:#EE2C2D;box-shadow:0 0 0 2px rgba(238,44,45,.25)}
.hc-colors__more{display:flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border-radius:22px;border:1px dashed var(--stroke_black,#ccc);font-size:12px;font-weight:600;color:var(--basic_text_black,#555)!important;text-decoration:none!important;white-space:nowrap}
.hc-colors__more:hover{border-color:#EE2C2D;color:#EE2C2D!important}
/* врезка калькулятора */
.hc-calc-cta{display:flex;align-items:center;gap:10px;margin-top:12px;padding:11px 14px;border:1px solid var(--stroke_black,#ececec);border-radius:6px;font-weight:600;font-size:13px;line-height:1.3;color:var(--white_text_black,#333)!important;text-decoration:none!important;transition:border-color .15s,color .15s}
.hc-calc-cta:hover{border-color:#EE2C2D;color:#EE2C2D!important}
.hc-calc-cta svg{flex:0 0 auto;opacity:.85}
/* дополнительно к заказу: разделы расходников */
.hc-related{margin:16px 0}
.hc-related__title{font-size:13px;font-weight:700;color:var(--white_text_black,#333);margin-bottom:8px}
.hc-related__list{display:flex;flex-wrap:wrap;gap:8px}
.hc-related__item{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1px solid var(--stroke_black,#e5e5e5);border-radius:22px;font-size:12.5px;font-weight:600;color:var(--white_text_black,#333)!important;text-decoration:none!important;transition:border-color .12s,color .12s}
.hc-related__item:hover{border-color:#EE2C2D;color:#EE2C2D!important}
.hc-related__item img{width:30px;height:30px;border-radius:50%;object-fit:cover;display:block}
.hc-related__item .hc-related__dot{width:30px;height:30px;border-radius:50%;background:var(--light_bg_black,#f2f2f2);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--basic_text_black,#777)}
/* 06.08.2026: «В корзину»/«Оформить заказ» — сразу под «Единицей измерения»,
   а мои блоки («Другие цвета», «Дополнительно к заказу») уходят под них.
   Порядок задан флексом, а не переносом узлов: Aspro пересобирает .buy_block
   аяксом при выборе ТП, и перевставленные узлы каждый раз оказывались бы внизу.
   На мобильной раскладке кнопки и так идут сразу за sku_props. */
.catalog_detail .product-side .buy_block{display:flex;flex-direction:column}
.catalog_detail .product-side .buy_block > *{order:9}
.catalog_detail .product-side .buy_block > .sku_props{order:1}
.catalog_detail .product-side .buy_block > .offer_buy_block{order:2;margin-top:4px}
.catalog_detail .product-side .buy_block > .hc-colors{order:3}
.catalog_detail .product-side .buy_block > .hc-related{order:4}
/* спойлер «Развернуть/Свернуть» под описанием: текст показываем целиком,
   кнопка в самом низу длинного текста бессмысленна (замечание Кирилла 03.08) */
.catalog_detail .ordered-block__text.show-collapsed-js{max-height:none!important;overflow:visible!important;height:auto!important}
.catalog_detail .ordered-block__spoiler{display:none!important}
/* блок «Услуги» на карточке — компактные чипы в ряд вместо больших карточек
   (замечание Кирилла 03.08: «услуги поменьше»). У Aspro и обёртка, и строка носят
   класс .item, а размеры заданы специфичными правилами — поэтому !important. */
.catalog_detail .ordered-block.services .previewtext,
.catalog_detail .ordered-block.services .arrow_link{display:none!important}
.catalog_detail .ordered-block.services .items{display:flex;flex-wrap:wrap;gap:10px}
.catalog_detail .ordered-block.services .items > div[class*="col-"]{width:auto!important;flex:0 0 auto;padding:0!important;margin:0!important}
.catalog_detail .ordered-block.services .item_wrap{min-height:0!important;height:auto!important;padding:0!important;margin:0!important;display:block!important}
.catalog_detail .ordered-block.services .item_wrap > .item{min-height:0!important;height:auto!important;padding:8px 16px 8px 8px!important;margin:0!important;display:flex!important;align-items:center;gap:10px}
.catalog_detail .ordered-block.services .item_wrap > .item .image{width:36px!important;height:36px!important;min-height:0!important;max-width:36px!important;flex:0 0 36px;padding:0!important;float:none!important;overflow:hidden;border-radius:50%}
.catalog_detail .ordered-block.services .item_wrap > .item .image a{display:block;width:36px;height:36px;padding:0!important}
.catalog_detail .ordered-block.services .item_wrap > .item .image img{width:36px!important;height:36px!important;object-fit:cover}
.catalog_detail .ordered-block.services .body-info{padding:0!important;float:none!important;width:auto!important}
.catalog_detail .ordered-block.services .title{font-size:13px!important;line-height:1.3;margin:0!important}
.catalog_detail .ordered-block.services .title a{font-weight:600;white-space:nowrap}
.catalog_detail .ordered-block.services .ordered-block__title{font-size:15px}

/* ==== head_custom.php L1424 · Каталог ==== */
/* Пять пустых звёзд у товара без отзывов читаются как «этого никто не купил».
   Прячем только там, где оценок нет: появится первая — шкала вернётся.
   Правило общее для сайта — такие же карточки есть на главной и в подборках */
.rating:has(.inner_rating[title="Нет оценок"]),
.votes_block:has(.inner_rating[title="Нет оценок"]),
.rating.hc-no-votes,
.votes_block.hc-no-votes { display: none; }

/* ==== head_custom.php L1940 ==== */
/* Пустые плейсхолдеры (06.08.2026, ТЗ П0-3.6.2): бейдж скидки без значения и
   таймер акции без даты. :has() прогрессивен — при заполнении span правило
   перестаёт действовать само, настоящие скидки/таймеры не прячутся. */
.sale-number:has(> .value > span:empty){display:none}
.count_d_block:has(> .active_to:empty){display:none}
/* 26.09.2026 (аудит A1 W3, c1_price_card-01): заглушку «-%» с пустым span и слово «Экономия» при пустой сумме
   HcW3aOutput (local/php_interface/hc_w3a_seo.php) убирает из HTML — их читали краулеры и ИИ. Узел .value
   остаётся пустым (JS выбора ТП сам пишет в него «-N%»), подпись «Экономия» рисуем здесь. */
.sale-number:has(> .value:empty){display:none}
.sale_block .title.hc-econ::before{content:"Экономия"}

/* ==== head_custom.php L1968 ==== */
/* Отзывы о магазине в карточке (06.08.2026, ТЗ П1-4.2) */
.hc-store-reviews{margin:26px 0;padding:16px 20px;border:1px solid rgba(128,128,128,.25);border-radius:8px}
.hc-srev-title{font-weight:700;margin-bottom:12px;font-size:1.05em}
.hc-srev-rate{font-weight:400;opacity:.65;margin-left:6px;font-size:.85em}
.hc-srev-item{margin:0 0 12px}
.hc-srev-item p{margin:2px 0 0}
.hc-srev-head strong{font-weight:600}
.hc-srev-date{opacity:.55;margin-left:8px;font-size:.88em}
.hc-srev-links{margin:6px 0 0;font-size:.95em}

/* ==== head_custom.php L1980 ==== */
/* «Заказать образец» (06.08.2026, ТЗ П1-4.3) */
.catalog_detail .product-side .buy_block .hc-sample-wrap{order:5}
.hc-sample-wrap{margin:10px 0 2px}
.hc-sample-btn{display:inline-block;cursor:pointer;padding:9px 16px;border:1px solid #EE2C2D;border-radius:4px;color:#EE2C2D;font-weight:600;font-size:13px;line-height:1.2;user-select:none}
.hc-sample-btn:hover{background:#EE2C2D;color:#fff}
.hc-sample-hint{display:block;margin-top:5px;font-size:11.5px;opacity:.6}
@media (prefers-color-scheme: dark){.hc-sample-btn{border-color:#EE2C2D}}

/* ==== head_custom.php L1990 ==== */
/* Оглавление статей блога (06.08.2026, ТЗ П2-5.5) */
.hc-toc{margin:14px 0 22px;padding:14px 18px;border-left:3px solid #EE2C2D;background:rgba(128,128,128,.06);border-radius:0 6px 6px 0}
.hc-toc p{margin:0 0 6px}
.hc-toc ul{margin:0;padding-left:18px}
.hc-toc li{margin:3px 0}
.hc-toc a{color:inherit;text-decoration:underline;text-decoration-color:rgba(128,128,128,.5)}
.hc-toc a:hover{color:#EE2C2D}
/* hc-toc-scroll-2026-09-21: переход по пункту оглавления прятал заголовок раздела под
   фиксированную шапку сайта (62–65 px) — оставляем зазор (решение Кирилла 21.09) */
/* FAQ-пункт в двух статьях лежит внутри обёртки itemscope FAQPage — ловим и его */
.hc-toc~h2[id],.hc-toc~h3[id],.hc-toc~div>h2[id],.hc-toc~div>h3[id]{scroll-margin-top:84px}

/* ==== head_custom.php L2004 ==== */
/* Таблица «Стоимость по форматам» на разделах (06.08.2026, ТЗ П2-5.3;
   26.08.2026 — четвёртая колонка «шт в 1 м²» и горизонтальная прокрутка).
   Скроллер нужен именно на обёртке .hc-pt-scroll, а не на .hc-price-table:
   иначе вместе с таблицей уезжали бы заголовок блока и сноска. Без него
   четыре колонки на 390 px расширяют документ, и ежедневный DOM-чек
   site_admin честно ловил бы «горизонтальный вылет». */
.hc-price-table{margin:20px 0}
.hc-pt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.hc-price-table table{border-collapse:collapse;min-width:320px}
.hc-price-table th,.hc-price-table td{padding:7px 14px;border:1px solid rgba(128,128,128,.3);text-align:left;font-size:.95em;white-space:nowrap}
.hc-price-table th{font-weight:600;background:rgba(128,128,128,.07)}
.hc-pt-note{margin:8px 0 0;font-size:.85em;opacity:.65;white-space:normal}
@media (max-width:600px){.hc-price-table th,.hc-price-table td{padding:6px 6px;font-size:.82em}}
.hc-sec-reviews{margin-top:22px}

/* ==== head_custom.php L2055 · Плагины jQuery, которые Aspro тянет асинхронно ==== */
/* Страховка на случай, если swiper всё-таки не поднялся: без неё слайды
   остаются без ширины и блок выглядит сломанным. Ширины — те же, что в
   data-plugin-options самого блока (5 / 4 / 3 / 2 карточки). */
.viewed-wrapper .swiper:not(.swiper-initialized) .swiper-wrapper{
  display:flex;flex-wrap:nowrap;gap:10px;overflow:hidden}
.viewed-wrapper .swiper:not(.swiper-initialized) .swiper-slide{
  flex:0 0 calc(20% - 8px);max-width:calc(20% - 8px)}
@media (max-width:1199px){.viewed-wrapper .swiper:not(.swiper-initialized) .swiper-slide{
  flex-basis:calc(25% - 8px);max-width:calc(25% - 8px)}}
@media (max-width:991px){.viewed-wrapper .swiper:not(.swiper-initialized) .swiper-slide{
  flex-basis:calc(33.333% - 7px);max-width:calc(33.333% - 7px)}}
@media (max-width:767px){.viewed-wrapper .swiper:not(.swiper-initialized) .swiper-slide{
  flex-basis:calc(50% - 5px);max-width:calc(50% - 5px)}}
@media (max-width:600px){.viewed-wrapper .swiper:not(.swiper-initialized) .swiper-slide{
  flex-basis:80%;max-width:80%}}

/* ==== head_custom.php L2704 · hc-checkout-ux ==== */
/* hc-checkout-ux: виджет Б24 на мобильном — в угол и мельче */
@media (max-width: 768px){
	.b24-widget-button-wrapper.b24-widget-button-position-bottom-right{
		bottom:14px!important;right:10px!important;
		transform:scale(.78);transform-origin:100% 100%;
	}
}

/* ==== head_custom.php L3035 · hc-cls-index-2026-08-08 ==== */
/* === hc-cls-index-2026-08-08: CLS главной === */
.wrapper_inner.front .middle > .hc-index-intro{visibility:hidden}
html.hc-page-loaded .wrapper_inner.front .middle > .hc-index-intro{visibility:visible}
.section-gallery-wrapper__item img.img-responsive{aspect-ratio:1/1;width:100%;height:auto;object-fit:contain}

/* ==== head_custom.php L3059 · hc-cls-brand-logo-2026-08-27 ==== */
/* === hc-cls-brand-logo-2026-08-27 === */
.product-info-headnote__brand .brand__picture{min-width:80px;text-align:center}

/* ==== head_custom.php L3536 · hcq-css ==== */
.hcq-cta{margin:18px 0;padding:18px 20px;border:1px solid #e6e6e6;border-left:4px solid #EE2C2D;border-radius:8px;background:#fafafa;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.hcq-cta__txt{flex:1 1 300px;min-width:260px}
.hcq-cta__txt b{font-size:16px;display:block;margin-bottom:4px}
.hcq-cta__txt span{font-size:13px;color:#666}
.hcq-btn{display:inline-block;cursor:pointer;background:#EE2C2D;color:#fff !important;border:none;border-radius:6px;padding:13px 22px;font-weight:600;font-size:14px;line-height:1.2;user-select:none;min-height:44px;text-align:center}
.hcq-btn:hover{background:#d61f20}
.hcq-float{position:fixed;left:16px;bottom:16px;z-index:9990;box-shadow:0 4px 16px rgba(0,0,0,.18);display:none;border-radius:24px;padding:12px 20px}
.hcq-ovl{position:fixed;inset:0;z-index:100010;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;padding:16px}
.hcq-ovl.hcq-open{display:flex}
.hcq-card{background:#fff;color:#222;border-radius:14px;max-width:520px;width:100%;max-height:92vh;overflow:auto;padding:26px 24px 22px;position:relative;font-family:inherit}
.hcq-x{position:absolute;top:10px;right:14px;font-size:26px;line-height:1;color:#999;cursor:pointer;padding:6px}
.hcq-x:hover{color:#333}
.hcq-prog{height:4px;background:#eee;border-radius:2px;margin:0 0 18px;overflow:hidden}
.hcq-prog i{display:block;height:100%;background:#EE2C2D;transition:width .25s}
.hcq-step{font-size:12px;color:#999;margin-bottom:6px}
.hcq-q{font-size:19px;font-weight:700;margin:0 0 16px;color:#1a1a1a}
.hcq-opt{display:block;width:100%;text-align:left;margin:0 0 10px;padding:14px 16px;border:1px solid #ddd;border-radius:10px;background:#fff;cursor:pointer;font-size:15px;color:#222;min-height:48px;transition:border-color .15s}
.hcq-opt:hover{border-color:#EE2C2D}
.hcq-opt.hcq-sel{border-color:#EE2C2D;background:#fdf1f1}
.hcq-inp{width:100%;padding:13px 14px;border:1px solid #ccc;border-radius:8px;font-size:15px;margin-bottom:12px;box-sizing:border-box}
.hcq-inp.hcq-bad{border-color:#EE2C2D;background:#fff5f5}
.hcq-nav{display:flex;gap:10px;align-items:center;margin-top:8px}
.hcq-back{cursor:pointer;color:#888;font-size:13px;padding:10px 6px}
.hcq-back:hover{color:#333}
.hcq-agree{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#666;margin:4px 0 12px}
.hcq-agree input{margin-top:2px;width:16px;height:16px}
.hcq-agree.hcq-bad{color:#EE2C2D}
.hcq-agree a{color:inherit;text-decoration:underline}
.hcq-fin{text-align:center;padding:14px 0}
.hcq-fin b{font-size:19px;display:block;margin:10px 0 8px}
.hcq-fin p{color:#555;font-size:14px;margin:0 0 6px}
.hcq-check{width:52px;height:52px;border-radius:50%;background:#2fa14e;color:#fff;font-size:30px;line-height:52px;margin:0 auto}
.hcq-phones{margin-top:10px;font-size:14px}
.hcq-phones a{color:#222;font-weight:600;text-decoration:none;white-space:nowrap}
.hcq-sub{font-size:13px;color:#777;margin:-8px 0 14px}
.hcq-err{color:#EE2C2D;font-size:13px;margin:6px 0 0;display:none}
@media (max-width:600px){.hcq-card{padding:20px 16px 16px}.hcq-q{font-size:17px}.hcq-float{left:10px;bottom:10px;padding:11px 16px;font-size:13px}}

/* ==== head_custom.php L3628 · hc-catalog-menu-flyout-2026-08-14 ==== */
.menu_top_block.catalog_block .dropdown > li.full > .dropdown > li{
	width:33.3333%;min-width:250px}
/* штатное правило Aspro для планшетов — равная специфичность, поэтому дублируем,
   иначе наши 33.3333% перебили бы его просто порядком в каскаде */
@media (max-width:992px){.menu_top_block.catalog_block .dropdown > li.full > .dropdown > li{width:50%}}
.menu_top_block.catalog_block .dropdown > li.full:hover > .dropdown{
	display:flex!important;flex-wrap:wrap;align-content:flex-start}

/* ==== head_custom.php L4068 · hc-city-first-visit-2026-08-16 ==== */
/* 28.09.2026: плашка города и подсказка региона (.hc-rhint ниже) переведены на дизайн-код сайта —
   палитра окна выбора города (city-benefits.css), Montserrat, карточка 6 px / кнопки 4 px, фирменный
   красный #d93a2f вместо зелёного #21a049. Тёмная тема — переключателем Aspro var(--light) var(--dark):
   прежние правила .dark-theme не срабатывали, такого класса на сайте нет (body.theme-default/-dark). */
.hc-citybar,.hc-rhint{
	--hc-cb-card:var(--light,#fff) var(--dark,#252525);
	--hc-cb-ink:var(--light,#302c29) var(--dark,#eeeae5);
	--hc-cb-muted:var(--light,#706c67) var(--dark,#b5b0a9);
	--hc-cb-line:var(--light,#e3e0da) var(--dark,#3b3936);
	--hc-cb-accent:var(--light,#b8322a) var(--dark,#ff6b60);
	--hc-cb-shadow:var(--light,rgba(48,44,41,.16)) var(--dark,rgba(0,0,0,.55))}
.hc-citybar{position:fixed;left:16px;bottom:16px;z-index:2400;max-width:400px;box-sizing:border-box;
	background:var(--hc-cb-card);color:var(--hc-cb-ink);border:1px solid var(--hc-cb-line);border-radius:6px;
	box-shadow:0 16px 48px var(--hc-cb-shadow);padding:18px 20px 16px;
	font:400 14px/1.55 Montserrat,Arial,sans-serif;opacity:0;transform:translateY(8px);
	transition:opacity .18s ease,transform .18s ease}
.hc-citybar.hc-on{opacity:1;transform:none}
.hc-citybar__q{margin:0 0 14px;padding-right:28px;color:inherit;font:inherit}
.hc-citybar__q b{font-weight:600}
.hc-citybar__btns{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.hc-citybar__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;
	cursor:pointer;border:1px solid var(--hc-cb-line);border-radius:4px;padding:10px 18px;background:var(--hc-cb-card);
	font:600 14px/1.2 Montserrat,Arial,sans-serif;color:var(--hc-cb-ink);white-space:nowrap;
	transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.hc-citybar__btn:hover{border-color:#d93a2f;color:var(--hc-cb-accent)}
.hc-citybar__btn--yes,.hc-citybar__btn--yes:hover{background:#d93a2f;border-color:#d93a2f;color:#fff}
.hc-citybar__btn--yes:hover{background:#b8322a;border-color:#b8322a}
.hc-citybar__more{padding:6px 0;font-size:13px;line-height:1.2;color:var(--hc-cb-muted);cursor:pointer;
	text-decoration:underline dashed 1px;text-underline-offset:4px;transition:color .18s ease}
.hc-citybar__more:hover{color:var(--hc-cb-accent)}
.hc-citybar__x{position:absolute;top:6px;right:6px;width:36px;height:36px;line-height:36px;border-radius:4px;
	text-align:center;cursor:pointer;color:var(--hc-cb-muted);font:300 26px/36px Montserrat,Arial,sans-serif;transition:color .18s ease}
.hc-citybar__x:hover{color:var(--hc-cb-ink)}
.hc-citybar__btn:focus-visible,.hc-citybar__more:focus-visible,.hc-citybar__x:focus-visible,
.hc-citybar__mini:focus-visible{outline:2px solid #1a73e8;outline-offset:2px}
/* 28.08.2026: плашка не должна съедать нажатия. Найдено проверкой в браузере —
   на телефоне она держит нижние ~142 px КАЖДОГО экрана, и тап по кнопке под ней
   (например «В КОРЗИНУ» на карточке) просто пропадал: посетитель видит, что нажатие
   ничего не сделало, а в аналитике этого не видно вовсе. Теперь фон плашки прозрачен
   для нажатий (кликабельны только её кнопки), а если за 10 с посетитель не ответил,
   плашка сворачивается в компактную пилюлю — вопрос остаётся на виду, но перекрывает
   уголок, а не полосу во всю ширину. Тап по пилюле разворачивает плашку обратно. */
.hc-citybar{pointer-events:none}
.hc-citybar__btn,.hc-citybar__more,.hc-citybar__x,.hc-citybar__mini{pointer-events:auto}
/* свёрнутая плашка — карточка с меткой, как «Посетить шоурум» на главной */
.hc-citybar__mini{display:none;min-height:44px;box-sizing:border-box;padding:12px 16px 12px 12px;
	background:var(--hc-cb-card);color:var(--hc-cb-ink);border:1px solid var(--hc-cb-line);border-radius:6px;
	box-shadow:0 8px 28px var(--hc-cb-shadow);font:400 13px/18px Montserrat,Arial,sans-serif;
	cursor:pointer;white-space:nowrap;transition:border-color .18s ease}
.hc-citybar__mini::before{content:"";display:inline-block;width:18px;height:18px;margin:0 8px 0 0;vertical-align:-4px;background:#d93a2f;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11.5a7 7 0 0 1 14 0C19 14.9 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11.5a7 7 0 0 1 14 0C19 14.9 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat}
.hc-citybar__mini:hover{border-color:#d93a2f}
.hc-citybar__mini b{font-weight:600}
.hc-citybar.hc-mini{background:transparent;border:0;box-shadow:none;padding:0;
	right:auto;width:auto;max-width:none}
.hc-citybar.hc-mini .hc-citybar__q,
.hc-citybar.hc-mini .hc-citybar__btns,
.hc-citybar.hc-mini .hc-citybar__x{display:none}
.hc-citybar.hc-mini .hc-citybar__mini{display:inline-block}
@media (max-width:600px){
	.hc-citybar{left:8px;right:8px;bottom:8px;max-width:none;padding:16px 16px 14px}
	.hc-citybar.hc-mini{left:8px;right:auto;padding:0}
	.hc-citybar__btn{flex:1 1 auto;padding:10px 12px}
}
@media (prefers-reduced-motion:reduce){.hc-citybar,.hc-rhint{transition:none;transform:none}}
/* Мобильные правки САМОГО попапа Аспро (16.08.2026) остаются в силе: попап никуда
   не делся, он открывается кликом по городу в шапке и ссылкой "другой город".
   1) до 600 px список городов шёл родной сеткой в 4 колонки по 73 px с ellipsis —
      "Москва" превращалась в "Моск…", тап-таргеты были 17–19 px;
   2) на 601–800 px окно фиксировано в 800 px и центруется через left, то есть
      вылезает за экран обоими краями. */
@media (max-width:600px){
	.city_chooser_small_frame .popup_regions .items.only_city .items_block{display:flex;flex-wrap:wrap;column-gap:18px}
	.city_chooser_small_frame .popup_regions .items.only_city .item{width:auto;flex:0 0 auto;padding:11px 0}
	.city_chooser_small_frame .popup_regions .favorits .cities .item a{display:inline-block;padding:9px 0}
}
@media (min-width:601px) and (max-width:840px){
	.city_chooser_small_frame{left:12px!important;right:12px!important;width:auto!important}
}

/* ==== head_custom.php L4291 · hc-region-hint-2026-09-26 ==== */
/* 28.09.2026: оформление — как у .hc-citybar (токены --hc-cb-* заданы в её блоке) */
.hc-rhint{position:fixed;left:16px;bottom:16px;z-index:2400;max-width:400px;box-sizing:border-box;
	background:var(--hc-cb-card);color:var(--hc-cb-ink);border:1px solid var(--hc-cb-line);border-radius:6px;
	box-shadow:0 16px 48px var(--hc-cb-shadow);padding:18px 20px 16px;
	font:400 14px/1.55 Montserrat,Arial,sans-serif;opacity:0;transform:translateY(8px);
	transition:opacity .18s ease,transform .18s ease}
.hc-rhint.hc-on{opacity:1;transform:none}
.hc-rhint__q{margin:0 0 14px;padding-right:28px;color:inherit;font:inherit}
.hc-rhint__q b{font-weight:600}
.hc-rhint__btns{display:flex;flex-wrap:wrap;gap:8px 10px}
.hc-rhint__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;
	cursor:pointer;border:1px solid var(--hc-cb-line);border-radius:4px;padding:10px 18px;background:var(--hc-cb-card);
	font:600 14px/1.2 Montserrat,Arial,sans-serif;color:var(--hc-cb-ink);text-decoration:none;white-space:nowrap;
	transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.hc-rhint__btn:hover{border-color:#d93a2f;color:var(--hc-cb-accent);text-decoration:none}
.hc-rhint__btn--go,.hc-rhint__btn--go:hover{background:#d93a2f;border-color:#d93a2f;color:#fff}
.hc-rhint__btn--go:hover{background:#b8322a;border-color:#b8322a}
.hc-rhint__btn:focus-visible,.hc-rhint__x:focus-visible{outline:2px solid #1a73e8;outline-offset:2px}
.hc-rhint__x{position:absolute;top:6px;right:6px;width:36px;height:36px;border:0;border-radius:4px;background:none;padding:0;
	cursor:pointer;color:var(--hc-cb-muted);font:300 26px/36px Montserrat,Arial,sans-serif;text-align:center;transition:color .18s ease}
.hc-rhint__x:hover{color:var(--hc-cb-ink)}
@media (max-width:600px){
	.hc-rhint{left:8px;right:8px;bottom:8px;max-width:none;padding:16px 16px 14px}
	.hc-rhint__btn{flex:1 1 auto;padding:10px 12px}
}
@media print{.hc-rhint{display:none!important}}


/* ==== head_custom.php L4572 · hc-stock-badge-2026-08-21 ==== */
.hc-stock-badge{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;line-height:16px;color:#8b8b8b}
.hc-stock-badge:before{content:'';flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#b5b5b5}
.hc-stock-badge--in{color:#21a049}
.hc-stock-badge--in:before{background:#21a049}
.hc-stock-badge--order{color:#c78500}
.hc-stock-badge--order:before{background:#e8a33d}
.dark-theme .hc-stock-badge--in{color:#3fca68}
.dark-theme .hc-stock-badge--in:before{background:#3fca68}

/* ==== head_custom.php L4623 · hc-mobile-catalog-2026-08-22 ==== */
@media (max-width: 600px) {
	/* 02.09.2026: :not(.swiper) — карусели «Вам также может понравиться» на детальной тоже лежат в
	   .section-content-wrapper; без исключения карточка там ужималась до 100 px (половина слайда 200 px),
	   цена «от 267 ₽/шт» разваливалась по слову в строке (скрин Кирилла IMG_9616) */
	.section-content-wrapper .catalog_block:not(.swiper) .item_block.col-xxs-12 { width: 50%; padding-left: 6px; padding-right: 6px; }
	.section-content-wrapper .catalog_block.items:not(.swiper) { margin-left: -6px; margin-right: -6px; }
	/* главная: перебиваем правило Аспро с !important (см. комментарий) */
	.wrapper1:not(.compact-catalog) .specials.tab_slider_wrapp ul.tabs_content li.tab .catalog_block:not(.swiper) > div.item.item_block.col-xxs-12 {
		width: 50% !important; padding-left: 6px; padding-right: 6px;
	}
	.wrapper_inner.front .catalog_block.items:not(.swiper) { margin-left: -6px; margin-right: -6px; }
	.section-content-wrapper .catalog_block .item_block .catalog_item .inner_wrap,
	.wrapper_inner.front .catalog_block:not(.swiper) .item_block .catalog_item .inner_wrap { padding: 10px !important; }
	.section-content-wrapper .catalog_block .item_block .catalog_item .footer_button .sku_props,
	.section-content-wrapper .catalog_block .item_block .catalog_item .footer_button .counter_block,
	.wrapper_inner.front .catalog_block:not(.swiper) .item_block .catalog_item .footer_button .sku_props,
	.wrapper_inner.front .catalog_block:not(.swiper) .item_block .catalog_item .footer_button .counter_block { display: none !important; }
	.section-content-wrapper .catalog_block .item_block .catalog_item .footer_button,
	.wrapper_inner.front .catalog_block:not(.swiper) .item_block .catalog_item .footer_button { margin-left: 0 !important; margin-right: 0 !important; }
	.section-content-wrapper .catalog_block .item_block .catalog_item .footer_button .button_block,
	.section-content-wrapper .catalog_block .item_block .catalog_item .footer_button .offer_buy_block,
	.wrapper_inner.front .catalog_block:not(.swiper) .item_block .catalog_item .footer_button .button_block,
	.wrapper_inner.front .catalog_block:not(.swiper) .item_block .catalog_item .footer_button .offer_buy_block { width: 100%; }
	.section-content-wrapper .catalog_block .item_block .catalog_item .footer_button .btn,
	.wrapper_inner.front .catalog_block:not(.swiper) .item_block .catalog_item .footer_button .btn { width: 100%; font-size: 12px; padding: 12px 6px; letter-spacing: 0; }
	.section-content-wrapper .catalog_block .item_block .catalog_item .item_info,
	.wrapper_inner.front .catalog_block:not(.swiper) .item_block .catalog_item .item_info { padding-bottom: 6px; }
	.section-content-wrapper .catalog_block .item_block .catalog_item .item-title,
	.wrapper_inner.front .catalog_block:not(.swiper) .item_block .catalog_item .item-title { font-size: 12px; line-height: 1.35; }
}

/* ==== head_custom.php L4753 · hc-card-image-icons-2026-08-26 ==== */
.inner_wrap.TYPE_1 .image_wrapper_block img{box-sizing:border-box;padding-right:min(36px,24%)}
/* M11, 27.08.2026: у компактной карточки TYPE_2 (100 px в каруселях «ранее смотрели» /
   «может понравиться») колонка .like_icons шириной 32 px закрывает треть кадра, и приём
   с паддингом здесь не спасает — резервировать нечего. На телефоне эти кнопки бесполезны:
   сравнение и быстрый просмотр там всё равно не сценарий, а фото товара важнее. Прячем
   только на ≤767 px и только у TYPE_2 — крупная плитка листинга (TYPE_1) не задета. */
@media (max-width:767px){
	.inner_wrap.TYPE_2 .like_icons{display:none!important}
	.inner_wrap.TYPE_2 .image_wrapper_block img{padding-right:0}
}

/* ==== head_custom.php L4776 · hc-card-trust-2026-08-27 ==== */
.hc-trust{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 0;font-size:13px;line-height:18px}
.hc-trust a{color:#666;border-bottom:1px solid rgba(120,120,120,.35);text-decoration:none}
.hc-trust a:hover{color:#222;border-bottom-color:currentColor}
.hc-trust__i{display:inline-flex;align-items:center;gap:6px}
.hc-trust__i:before{content:'';width:5px;height:5px;border-radius:50%;background:#c2c2c2;flex:0 0 auto}
.hc-card-stock{margin:10px 0 0;font-size:14px;line-height:20px}
.hc-deliv-rates{border-bottom:1px dashed currentColor;text-decoration:none;white-space:nowrap}
.dark-theme .hc-trust a{color:#b8b8b8}

/* ==== head_custom.php L4908 · hc-ux-2026-08-27 ==== */
/* 1) виджет чата — выше кнопок покупки */
.b24-widget-button-wrapper.b24-widget-button-position-bottom-right{bottom:120px!important;right:18px!important}
@media (max-width:767px){
	.b24-widget-button-wrapper.b24-widget-button-position-bottom-right{bottom:132px!important;right:8px!important}
}
/* 2) не показываем пилюлю квиза поверх липкой панели */
@media (max-width:767px){
	body:has(#hc-cta-stick) .hcq-float{display:none!important}
}
/* 3) читаемость мобильной плитки каталога */
@media (max-width:600px){
	.section-content-wrapper .catalog_block .item_block .catalog_item .item-title,
	.wrapper_inner.front .catalog_block:not(.swiper) .item_block .catalog_item .item-title{
		font-size:13px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;
		-webkit-box-orient:vertical;overflow:hidden}
	.section-content-wrapper .catalog_block .item_block .catalog_item .cost.prices,
	.wrapper_inner.front .catalog_block:not(.swiper) .item_block .catalog_item .cost.prices{font-size:16px}
	.section-content-wrapper .catalog_block .item_block .catalog_item .muted.font_sxs{font-size:12px}
}
/* 4) поля форм на телефоне: 16 px — порог, ниже которого iOS зумит страницу */
@media (max-width:767px){
	input[type="text"],input[type="tel"],input[type="email"],input[type="search"],
	input[type="number"],input[type="password"],textarea,select{font-size:16px!important}
}
/* 5) блок комментариев на посадочных */
html.hc-no-comments .ordered-block.comments-block{display:none!important}

/* ==== head_custom.php L5023 · hc-ux2-2026-08-27 ==== */
body:has(.hcq-open) .hc-citybar{display:none!important}
@media (max-width:767px){
	body:has(#hc-cta-stick) .hc-citybar{bottom:calc(92px + env(safe-area-inset-bottom))}
	/* 28.08.2026 (UXD-06): заголовок на телефоне ВЕРНУЛИ. Прятали его 27.08 ради
	   первого экрана, а теперь баннер стоит под первым рядом карточек — экономить
	   там нечего, а голая кнопка «Рассчитать бесплатно» без строки о чём речь
	   работает хуже. Подзаголовок и телефон по-прежнему скрыты: телефон живёт
	   в липкой панели внизу. */
	.hc-cta-sect__sub,.hc-cta-sect__phone{display:none!important}
	.hc-cta-sect{padding:12px 14px!important;gap:10px!important;margin-bottom:14px!important}
	.hc-cta-sect__title{font-size:15px!important;margin:0}
}

/* ==== head_custom.php L5064 · hc-rub-glyph ==== */
@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(/upload/hc_fonts/hc-montserrat-rub-300.woff2?v=20260827) format('woff2');unicode-range:U+20BD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/upload/hc_fonts/hc-montserrat-rub-400.woff2?v=20260827) format('woff2');unicode-range:U+20BD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/upload/hc_fonts/hc-montserrat-rub-500.woff2?v=20260827) format('woff2');unicode-range:U+20BD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/upload/hc_fonts/hc-montserrat-rub-600.woff2?v=20260827) format('woff2');unicode-range:U+20BD}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/upload/hc_fonts/hc-montserrat-rub-700.woff2?v=20260827) format('woff2');unicode-range:U+20BD}

/* ==== head_custom.php L5082 · hc-ux3-2026-08-27 ==== */
.hc-tab-h2{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit;display:inline;letter-spacing:inherit}
h2.ordered-block__title.hc-tab-h2{display:block}
.hc-land-allsec{margin:2px 0 14px;font-size:14px}
.hc-land-allsec a{border-bottom:1px dashed currentColor;text-decoration:none}
.hc-filter-empty{padding:14px 16px;border:1px solid #e3e3e3;border-radius:4px;margin:0 0 16px;font-size:14px;line-height:1.5}
.dark-theme .hc-filter-empty{border-color:#3a3a3a}
#del_filter.hc-shown{display:inline-block!important}
@media (max-width:767px){
	#mobilefilter label,.bx_filter_param_label{min-height:44px}
	.module-pagination .nums a,.module-pagination .nums span{min-width:40px;min-height:40px;line-height:40px}
	.catalog_detail h1{font-size:22px!important;line-height:1.2!important}
}
/* M6, шапка — правка 28.08.2026, две итерации по замечаниям Кирилла.
   1) Первая версия давала иконкам min-width:44px ВНУТРИ их штатных ячеек .wrap_icon
      (у тех свои боковые паддинги по 10px), .right-icons распухал со 166 до 245px,
      а рядом с бургером и логотипом свободно 215px на 390-м экране и 221 на 440-м —
      блок иконок уезжал на вторую строку и вылезал за пределы шапки. Лечится тем,
      что 44px набираются ЗА СЧЁТ паддингов ячейки: ширина строки остаётся 181px.
      Правило включается с 360px — на 320px даже штатная раскладка идёт впритык.
   2) 🔴 Вертикаль ломал `display:flex;align-items:center;min-height:44px`. Тема
      выравнивает иконки шапки СВОИМ `line-height:63px` на всю высоту строки, и у
      каждой иконки свой оптический сдвиг внутри этой строки. Наш флекс-бокс высотой
      44px вставал по верху ячейки и центровал глиф уже в себе: телефон и поиск
      уехали на 12px вверх, кабинет на 9 — иконки перестали стоять в линию (заметно
      глазом, замер: центры 19/18/23 при 30 у корзины и логотипа).
      Поэтому по вертикали НИЧЕГО не навязываем — только ширина и центровка глифа
      по горизонтали. Высота зоны нажатия при этом 63px (line-height темы), то есть
      требование M6 «44px» выполняется с запасом, а центры сходятся в 29–31. */
@media (min-width:360px) and (max-width:767px){
	#mobileheader .wrap_icon:not(.wrap_basket){padding-left:0;padding-right:0}
	#mobileheader .wrap_icon.wrap_basket{padding-right:6px}
	#mobileheader .top-btn,#mobileheader .personal-link{min-width:44px;text-align:center}
	/* у темы .personal-link — display:inline, а на inline min-width не действует вообще:
	   без этой строки зона нажатия «кабинета» остаётся 18×19 px. Ставим inline-block, а не
	   flex: line-height:63px темы должен продолжать выравнивать глиф по строке. */
	#mobileheader .personal-link{display:inline-block}
}

/* ==== head_custom.php L5332 · hc-carthdr-2026-08-28 ==== */
@media (max-width:767px){
	.logo-row:has(.back-mobile-arrow) .logo{position:relative;top:4px}
	/* margin-top у стрелки перебить не вышло — у темы правило сильнее, поэтому сдвигаем
	   так же, как логотип и телефон: относительным смещением */
	.logo-row:has(.back-mobile-arrow) .back-mobile-arrow{position:relative;top:-2px}
	.logo-row:has(.back-mobile-arrow) .wrap_icon.wrap_phones .top-btn{position:relative;top:-1px}
}

/* ==== head_custom.php L5692 · hc-ux4-2026-08-28 ==== */
@media (min-width:768px){
	.hc-cta-sect{padding:12px 20px!important;margin:2px 0 14px!important;gap:14px!important}
	.hc-cta-sect__sub{display:none!important}
	.hc-cta-sect__title{font-size:17px!important;line-height:1.25!important}
	.hc-cta-sect .hc-cta-sect__btn{padding-top:9px!important;padding-bottom:9px!important}
}

/* ==== head_custom.php L5925 · hc-ux4-2026-08-28 ==== */
.bx_filter_parameters_box[data-prop_code=ton],
.bx_filter_parameters_box[data-prop_code=gruppa_razmerov],
.bx_filter_parameters_box[data-prop_code=naznachenie]{display:none!important}

/* ==== head_custom.php L5985 · hc-megamenu-2026-09-02 ==== */
/* высота панели — по окну, а не 485px */
.wrapper1 .menu-row .mega-menu table td.wide_menu .dropdown-menu:not(.long-menu-items) .customScrollbar{
	max-height:calc(100vh - var(--hc-mm-top,146px) - 20px)}
/* пункты — в колонки, а не в ряды */
.wrapper1 .menu-row .mega-menu table td.wide_menu>.wrap>.dropdown-menu:not(.long-menu-items):not(.with_right_block) ul.menu-wrapper.menu-type-1{
	column-count:4;column-gap:0;padding:26px 40px 2px;height:auto}
@media (min-width:1700px){
	.wrapper1 .menu-row .mega-menu table td.wide_menu>.wrap>.dropdown-menu:not(.long-menu-items):not(.with_right_block) ul.menu-wrapper.menu-type-1{column-count:5}}
@media (max-width:1199px){
	.wrapper1 .menu-row .mega-menu table td.wide_menu>.wrap>.dropdown-menu:not(.long-menu-items):not(.with_right_block) ul.menu-wrapper.menu-type-1{column-count:3}}
.wrapper1 .menu-row .mega-menu table td.wide_menu>.wrap>.dropdown-menu:not(.long-menu-items):not(.with_right_block) ul.menu-wrapper.menu-type-1>li{
	/* flow-root: пункт снова содержит свои плавающие потомки (у Aspro это делал float:left самого пункта) */
	display:flow-root;float:none;width:auto;clear:none;margin:0 0 22px;
	-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid}
/* строки подразделов чуть плотнее: 27 → 25 px (для мыши достаточно), чтобы весь каталог влезал на 1366x768 */
.wrapper1 .menu-row .mega-menu table td.wide_menu>.wrap>.dropdown-menu:not(.long-menu-items):not(.with_right_block) ul.menu-wrapper.menu-type-1>li>.dropdown-menu>li>a{
	padding-top:6px!important}
/* подсказка «ниже есть ещё», когда панель всё-таки прокручивается */
.wrapper1 .menu-row .mega-menu table td.wide_menu>.wrap>.dropdown-menu.hc-mm-scroll::after{
	content:"";position:absolute;left:0;right:14px;bottom:0;height:64px;pointer-events:none;
	background:linear-gradient(to bottom,rgba(255,255,255,0),var(--card_bg_black,#fff))}

/* ==== head_custom.php L6112 · hc-mobile-menu-2026-09-02 ==== */
/* строка категории/подраздела: иконка | название | шеврон */
#mobilemenu .menu.top-mobile-menu ul > li > a.top-mobile-menu__link{
	display:flex;align-items:center;gap:14px;padding:9px 46px 9px 19px;min-height:54px;line-height:1.3}
#mobilemenu .menu.top-mobile-menu ul > li > a.top-mobile-menu__link .top-mobile-menu__image{
	flex:0 0 36px;width:36px;height:36px;margin:0;display:flex;align-items:center;justify-content:center}
#mobilemenu .menu.top-mobile-menu ul > li > a.top-mobile-menu__link .top-mobile-menu__image img{
	max-width:36px;max-height:36px;width:auto;height:auto;margin:0}
#mobilemenu .menu.top-mobile-menu ul > li > a.top-mobile-menu__link .top-mobile-menu__title{
	flex:1 1 auto;display:block;padding:0;min-width:0}
/* шеврон вместо треугольника 3x5 — во всех блоках бургера (каталог, город, телефоны) */
#mobilemenu .menu ul > li > a > .arrow{height:100%;top:0}
#mobilemenu .menu ul > li > a > .arrow i{display:none}
#mobilemenu .menu ul > li > a > .arrow::after{
	content:"";position:absolute;right:21px;top:50%;width:8px;height:8px;
	border-right:2px solid #9a9a9a;border-bottom:2px solid #9a9a9a;transform:translateY(-60%) rotate(-45deg)}
/* заголовок уровня — ссылка на раздел, строкой */
#mobilemenu .menu.top-mobile-menu ul > li.menu_title{padding:0}
#mobilemenu .menu.top-mobile-menu ul > li.menu_title > a{
	display:block;position:relative;padding:13px 46px 13px 19px;min-height:56px;line-height:1.3;font-size:16px}
#mobilemenu .menu.top-mobile-menu ul > li.menu_title > a .hc-mm-hint{
	display:block;font-size:12px;font-weight:400;color:#8a8a8a;margin-top:2px}
#mobilemenu .menu.top-mobile-menu ul > li.menu_title > a::after{
	content:"";position:absolute;right:21px;top:50%;width:8px;height:8px;
	border-right:2px solid #9a9a9a;border-bottom:2px solid #9a9a9a;transform:translateY(-60%) rotate(-45deg)}
/* лента категорий на корне /catalog/ */
.hc-cat-jump{display:none}
@media (max-width:767px){
	.hc-cat-jump{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
		margin:0 -15px 14px;padding:2px 15px 6px;scroll-snap-type:x proximity}
	.hc-cat-jump::-webkit-scrollbar{display:none}
	.hc-cat-jump a{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap;font-size:13px;line-height:18px;
		padding:8px 13px;border-radius:20px;border:1px solid var(--stroke_black,#e5e5e5);color:inherit;text-decoration:none;
		background:var(--card_bg_black,#fff)}
	.hc-cat-jump a:active{border-color:#EE2C2D;color:#EE2C2D}
}

/* ==== head_custom.php L6206 · hc-section-count-2026-09-03 ==== */
.topic__heading > h1 + style ~ .element-count-wrapper{display:none}

/* ==== head_custom.php L6219 · hc-section-count-2026-09-03 ==== */
.title-search-price .hc-search-unit{font-size:.82em;font-weight:400;color:#8a8a8a;margin-left:1px}

/* ==== head_custom.php L6221 · hc-topbar-20260911 ==== */
/* hc-topbar-20260911: regional contact strip */
@media (min-width: 992px) {
 .top-block.header-v16 { background:#f7f7f5; border-bottom:1px solid #e9e9e6; }
 .top-block.header-v16 .logo_and_menu-row, .top-block.header-v16 .logo-row { background:transparent!important; }
 .top-block.header-v16 .header__top-inner { display:grid!important; grid-template-columns:auto auto minmax(200px,1fr) auto; align-items:center; gap:32px; min-height:64px; padding:8px 0; margin:0!important; width:100%!important; max-width:100%; }
 .top-block.header-v16 .header__top-inner > .header__top-item { margin:0!important; padding:0!important; width:auto!important; min-width:0; float:none; }
 .top-block.header-v16 .header__top-inner > .header__top-item:first-child { padding-right:28px!important; border-right:1px solid #deded9; }
 .top-block.header-v16 .top-description { margin:0; padding:0; }
 .top-block.header-v16 .region_wrapper { margin:0; }
 .top-block.header-v16 .region_wrapper > .io_wrapper { display:flex; align-items:center; gap:8px; }
 .top-block.header-v16 .region_wrapper .svg-inline-mark { display:inline-flex!important; position:static; margin:0; width:14px; height:14px; flex:none; opacity:.65; }
 .top-block.header-v16 .city_title { display:none; }
 .top-block.header-v16 .js_city_chooser { display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:0; font-size:13px; font-weight:500; color:#343331; white-space:nowrap; }
 .top-block.header-v16 .js_city_chooser .arrow { position:static; margin:0; }
 .top-block.header-v16 .phone-block { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:1px; margin:0; padding:0; }
 .top-block.header-v16 .phone-block > .inline-block { display:block; margin:0!important; padding:0!important; line-height:20px; }
 .top-block.header-v16 .phone-block .phone { display:block!important; margin:0; padding:0; line-height:22px; white-space:nowrap; }
 .top-block.header-v16 .phone-block .phone > a { font-size:15px; line-height:22px; font-weight:700; letter-spacing:0; }
 .top-block.header-v16 .phone-block .callback-block { display:inline-block; padding:0; font-size:11px; line-height:18px; letter-spacing:.02em; text-transform:none; }
 .top-block.header-v16 .addr-block > div { max-width:540px; }
 .top-block.header-v16 .address { max-width:none!important; width:auto!important; display:flex!important; align-items:center; gap:10px; margin:0; padding:0; font-size:12px; line-height:18px; color:#66655f; text-wrap:pretty; }
 .top-block.header-v16 .address > .svg-inline-addr { display:inline-flex!important; position:static; margin:0; width:12px; height:16px; flex:none; opacity:.65; }
 .top-block.header-v16 .right-icons { justify-self:end; }
 .top-block.header-v16 .right-icons > .line-block { gap:24px; margin:0; }
 .top-block.header-v16 .right-icons .line-block__item { padding:0; }
 .top-block.header-v16 .right-icons .top-btn,
 .top-block.header-v16 .right-icons .personal-link { display:inline-flex; align-items:center; gap:9px; min-height:36px; padding:0; white-space:nowrap; }
 .top-block.header-v16 .right-icons .svg { margin:0; }
 .top-block.header-v16 .right-icons .title,
 .top-block.header-v16 .right-icons .name { font-size:11px; letter-spacing:.04em; }
}
@media (min-width:992px) and (max-width:1199px) {
 .top-block.header-v16 .header__top-inner { gap:20px; grid-template-columns:auto auto minmax(160px,1fr) auto; }
 .top-block.header-v16 .header__top-inner > .header__top-item:first-child { padding-right:18px!important; }
 .top-block.header-v16 .right-icons > .line-block { gap:18px; }
 .top-block.header-v16 .right-icons .title,
 .top-block.header-v16 .right-icons .personal-link .wrap { display:none; }
}

/* ==== head_custom.php L6262 · hc-topbar-dark-20260911 ==== */
/* hc-topbar-dark-20260911 */
@media (min-width:992px) and (prefers-color-scheme:dark) {
 .top-block.header-v16 { background:#242424; border-bottom-color:#3a3a3a; color:#ededed; }
 .top-block.header-v16 .header__top-inner > .header__top-item:first-child { border-right-color:#454545; }
 .top-block.header-v16 .js_city_chooser,
 .top-block.header-v16 .phone-block .phone > a,
 .top-block.header-v16 .right-icons .top-btn,
 .top-block.header-v16 .right-icons .personal-link,
 .top-block.header-v16 .right-icons .title,
 .top-block.header-v16 .right-icons .name { color:#ededed; }
 .top-block.header-v16 .address { color:#c6c6c2; }
 .top-block.header-v16 .phone-block .callback-block { color:#ff7975; }
 .top-block.header-v16 .region_wrapper .svg,
 .top-block.header-v16 .address > .svg,
 .top-block.header-v16 .phone > .svg,
 .top-block.header-v16 .right-icons .svg { fill:#c6c6c2; color:#c6c6c2; opacity:1; }
 .top-block.header-v16 .js_city_chooser:hover,
 .top-block.header-v16 .phone-block .phone > a:hover,
 .top-block.header-v16 .right-icons .top-btn:hover,
 .top-block.header-v16 .right-icons .personal-link:hover { color:#ff7975; }
}

/* ==== head_custom.php L6286 · hc-page-contrast-20260911 ==== */
/* hc-page-contrast-20260911: maintain contrast inside deliberately light page blocks. */
@media (prefers-color-scheme:dark) {
 #hc-seven { color-scheme:light; --white_text_black:#302c29; --fill_dark_light:#302c29; }
 #hc-seven .news2, #hc-seven .news2 .items, #hc-seven .news2 .item-wrap { background:transparent; }
 #hc-seven .head-block,
 #hc-seven .head-block .item-link,
 #hc-seven .ajax_load_btn,
 #hc-seven .menu_item_selected { background:#fff; color:var(--ink); border-color:var(--line); }
 #hc-seven .ajax_load_btn:hover { background:#eeece6; color:var(--ink); }
 #hc-seven .text_before_items,
 #hc-seven .text_before_items p,
 #hc-seven .text_before_items b,
 #hc-seven .text_before_items a,
 #hc-seven .partners .title,
 #hc-seven .news2 .title a,
 #hc-seven .head-block .dark_link,
 #hc-seven .head-block .btn-inline,
 #hc-seven .hc-sale-archive .dark_link,
 #hc-seven .hc-sale-archive .ordered-block__title { color:var(--ink)!important; }
 #hc-seven .news2 .title a:hover,
 #hc-seven .head-block .dark_link:hover,
 #hc-seven .hc-sale-archive .dark_link:hover { color:var(--red)!important; }
 #hc-services { color-scheme:light; --white_text_black:#302c29; }
 #hc-services .hc-svc__step-ttl { color:#302c29!important; }
 #hc-services .hc-svc__facts table,
 #hc-services .hc-svc__facts tr,
 #hc-services .hc-svc__facts td,
 #hc-services .hc-svc__facts th { background:#fff; color:#302c29; border-color:#dfddd6; }
 #hc-services .hs-photo-caption, #hc-tools .ht-image-label { background:#302c29; color:#fff; padding:5px 9px; border-radius:3px; }
 #hc-contacts .visit-guide h3 { color:#302c29; }
 .hcq-cta .hcq-cta__txt { color:#343434; }
 .hcq-cta .hcq-cta__txt b { color:#343434; }
 .sticker_na_sklade { color:#16370d!important; }
 .bx_filter .bx_ui_slider_part span { color:#343434; }
 .page404 .subtitle404, .error404 .subtitle404, h1.subtitle404 { color:#ededed!important; }
}

/* /upload/hc_js/hc-w5-a11y.css */
/* ==== hc-w5-a11y-2026-09-27 — аудит A1 W5 «клавиатура и семантика» (решение Кирилла 27.09 «делай волну 5») ====
   Прогрессивное улучшение поверх разметки Aspro: только фокус, скрытые-но-фокусируемые поля и раскрытие
   по клавиатуре. Фирменные цвета (#f35c50 / #EE2C2D) не трогаем — рамка фокуса отдельная, синяя #1a73e8
   (4,6:1 на белом, 3,7:1 на тёмной теме). Пара к /upload/hc_js/hc-w5-a11y.js (классы hc-kbd, hc-kbd-open, hc-skip). */

/* 27.09.2026 (аудит A1 W5, u1_mobile_a11y-05): фокус не был виден — шаблон гасит его (template_styles.css:40
   a:focus{outline:none}, :1075 .form-control:focus, lite.bootstrap.css:523 .dropdown-toggle:focus{outline:0}).
   :focus-visible не срабатывает на щелчок мышью по ссылкам и кнопкам, поэтому мышь рамку не видит.
   Поля ввода под :focus-visible попадают и при щелчке (поправка проверяющего) — им рамку даём только после Tab
   (класс html.hc-kbd ставит hc-w5-a11y.js, снимает первый же щелчок/касание). */
:focus-visible:not(input):not(textarea):not(select){outline:2px solid #1a73e8!important;outline-offset:2px!important}
input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid #1a73e8!important;outline-offset:2px!important}
html.hc-kbd input:not([type=checkbox]):not([type=radio]):focus,
html.hc-kbd textarea:focus,
html.hc-kbd select:focus{outline:2px solid #1a73e8!important;outline-offset:1px!important}
/* внутри прокручиваемых контейнеров и каруселей внешняя рамка обрезается — рисуем внутри */
.scrollblock :focus-visible,.swiper :focus-visible,.flexslider :focus-visible,.owl-carousel :focus-visible,
.bx_scu li:focus-visible,.hc-colors__item:focus-visible,.hc-related__item:focus-visible{outline-offset:-2px!important}
/* контейнеры, куда фокус переводится программно (ссылка «к содержимому», окна), рамку не рисуют */
[data-hc-nofocusring]:focus,[data-hc-nofocusring]:focus-visible{outline:none!important}

/* 27.09.2026 (аудит A1 W5, u1_mobile_a11y-05): ссылка «Перейти к содержимому» — первая остановка Tab,
   видна только в фокусе. Вставляет hc-w5-a11y.js первым узлом body, цель — #content (div.wraps, header.php:43). */
.hc-skip{position:fixed;left:8px;top:8px;z-index:10060;padding:10px 16px;border-radius:4px;background:#1f2328;
	color:#fff!important;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none!important;
	transform:translateY(-300%)}
.hc-skip:focus,.hc-skip:focus-visible{transform:none}

/* 27.09.2026 (аудит A1 W5, u1_mobile_a11y-05): фиксированная шапка (65 px) закрывала элемент, до которого
   дошёл Tab, — браузер прокручивает к фокусу с этим отступом. Прокрутку скриптами Aspro не меняет. */
@media (min-width:992px){html{scroll-padding-top:80px}}
/* телефон: шапка #mobileheader прилипает сверху (63 px), на карточке снизу — панель покупки */
@media (max-width:991px){html{scroll-padding-top:72px;scroll-padding-bottom:64px}}

/* 27.09.2026 (аудит A1 W5, u1_mobile_a11y-01 и -04): чекбоксы и радио, которые шаблон прячет
   (template_styles.css:10313 .filter.licence_block input{visibility:hidden;width:0;height:0},
   :10367/:11206 .filter/.bx_filter_vertical input[type=checkbox]{display:none}, радио PERSON_TYPE — visibility:hidden),
   выпадали из порядка Tab: согласия, тип плательщика и умный фильтр не переключались с клавиатуры.
   Делаем их визуально скрытыми, но фокусируемыми. position:absolute без top/left оставляет поле на его
   месте в потоке (прокрутка к фокусу не прыгает), 1×1 с getClientRects — jquery.validate валидирует
   согласия как и раньше. Тумблер по-прежнему рисует label (::before/::after), щелчок по label работает. */
.filter.licence_block>input[type=checkbox],
.filter.offer_block>input[type=checkbox],
.bx-soa-person-type .person-type input[type=radio],
.bx_filter input[type=checkbox]:not([disabled]){
	display:block!important;visibility:visible!important;position:absolute!important;opacity:0!important;
	width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important;
	clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;pointer-events:none!important}
.filter.licence_block>input[type=checkbox]:focus-visible+label,
.filter.offer_block>input[type=checkbox]:focus-visible+label,
.bx_filter input[type=checkbox]:focus-visible+label{outline:2px solid #1a73e8!important;outline-offset:2px!important;border-radius:3px}
.bx_filter .scrollblock input[type=checkbox]:focus-visible+label{outline-offset:-2px!important}
html.hc-kbd .bx-soa-person-type .person-type:focus-within label{outline:2px solid #1a73e8!important;outline-offset:3px!important;border-radius:2px}

/* 27.09.2026 (аудит A1 W5, u1_mobile_a11y-03): «В избранное» / «Сравнить» и кнопки покупки в плитке
   появляются только по наведению (template_styles.css:8017, :7526) — показываем их и при фокусе внутри
   карточки, иначе Tab приходил бы на невидимые кнопки. */
.catalog_item:focus-within .image_wrapper_block .like_icons span,
.catalog_item:focus-within .image_wrapper_block .fast_view_button--full{opacity:1;visibility:visible}
body .catalog_item:focus-within .footer_button{opacity:1;visibility:visible;height:auto;z-index:2}
.ajax_load.block .item_block:focus-within .footer_button{display:block}

/* 27.09.2026 (аудит A1 W5, u1_mobile_a11y-12): выпадающие пункты верхнего меню («Услуги», «Компания»…)
   открывались только наведением (visibility/opacity), открываем и по стрелке вниз/пробелу — класс
   hc-kbd-open ставит hc-w5-a11y.js. Каталог (hc-mega-host) открывает свой скрипт categories-ui.js. */
.menu-row .mega-menu table td.menu-item.dropdown.hc-kbd-open>.wrap>.dropdown-menu{
	display:block!important;visibility:visible!important;opacity:1!important;transition:none!important}
/* у Aspro visibility появляется с задержкой 0,2 с — фокус в ещё скрытую панель не встаёт; при открытии с клавиатуры
   (hc-kbd-open у нас, hc-menu-open у categories-ui — ставится только щелчком/клавишей, наведение идёт через :hover) без анимации */
.wrapper1 .mega-menu td.hc-mega-host.hc-menu-open>.wrap>.hc-mega-dropdown{transition:none!important}

/* /upload/hc_js/hc-w5-mobile.css */
/* hc-w5-mobile.css — аудит A1, волна W5 «телефон и визуальная доступность» (агент W5a), 27.09.2026.
   Подключается одной строкой в include/header_include/head_custom.php сразу после блока hc-w4-assets-2026-09-26
   (?v= = md5 содержимого). Парный скрипт — hc-w5-mobile.js (раскладка плавающих элементов по факту на экране).
   Вендорные файлы Aspro и hc-w4-*.css не правились: всё здесь — перекрытия с узкими селекторами.
   Откат: убрать строку подключения из head_custom.php (копия до правки — /hc_backups/w5-2026-09-27/). */

/* ============ 1. Плавающие элементы над липкими панелями (gap_scenarios_e2e-02, u1_mobile_a11y-02, калькуляторы) ============
   27.09.2026 (аудит A1 W5, gap_scenarios_e2e-02 + u1_mobile_a11y-02): на телефоне пилюля квиза «Подбор за 1 минуту»
   (left/bottom 10px) и плашка города .hc-citybar (bottom 8px) ложились на «−», количество и «+» липкой панели покупки
   карточки .counter_wrapp.fixed (Aspro FIXED_BUY_MOBILE=Y, решение 12.09 оставить) — «+» открывал квиз, «−» разворачивал
   плашку. Исключения в hc-ux/hc-ux2 были только для #hc-cta-stick раздела. Здесь — то же для карточки: квиз прячется,
   плашка города и подсказка региона .hc-rhint встают над панелью (панель 55 px → 64 px + safe-area, по поправке проверяющего).
   Точную высоту любой нижней панели потом ставит hc-w5-mobile.js (html.hc-w5-dock + --hc-w5-dock), правила ниже —
   страховка до его запуска. */
@media (max-width:767px){
	body:has(.counter_wrapp.fixed) .hcq-float{display:none!important}
	body:has(.counter_wrapp.fixed) .hc-citybar,
	body:has(.counter_wrapp.fixed) .hc-rhint{bottom:calc(64px + env(safe-area-inset-bottom))}
}
/* 27.09.2026 (аудит A1 W5, замечание W2 к калькуляторам): на 390 px развёрнутая плашка города закрывала липкую плашку итога
   калькуляторов .hcc-sticky (≤900 px, высота ~91 px) вместе с «Отправить расчёт»: верхняя треть кнопки попадала в
   «Санкт-Петербург» — тап уводил на spb; свёрнутая пилюля потом закрывала «Итого / Смотреть смету». */
@media (max-width:900px){
	body:has(#sticky.hcc-sticky:not([hidden])) .hcq-float{display:none!important}
	body:has(#sticky.hcc-sticky:not([hidden])) .hc-citybar,
	body:has(#sticky.hcc-sticky:not([hidden])) .hc-rhint{bottom:calc(100px + env(safe-area-inset-bottom))}
}
/* то же для нижней панели действий /contacts/ (#hc-contacts .mobile-actions, ≤760 px) */
@media (max-width:760px){
	body:has(#hc-contacts .mobile-actions) .hcq-float{display:none!important}
	body:has(#hc-contacts .mobile-actions) .hc-citybar,
	body:has(#hc-contacts .mobile-actions) .hc-rhint{bottom:calc(76px + env(safe-area-inset-bottom))}
}
/* Измеренная скриптом высота нижней липкой панели (любой: карточка, калькулятор, контакты, #hc-cta-stick). В высоту панели
   уже входит её собственный отступ safe-area, поэтому env() здесь не добавляем. */
html.hc-w5-dock .hc-citybar,
html.hc-w5-dock .hc-rhint{bottom:calc(var(--hc-w5-dock, 64px) + 8px)!important}
html.hc-w5-dock .hcq-float{display:none!important}

/* ============ 2. Виджет Битрикс24 (u1_mobile_a11y-10) ============
   27.09.2026 (аудит A1 W5, u1_mobile_a11y-10): кнопка виджета стоит на bottom 120/132 px (hc-ux 27.08) и при прокрутке
   садилась на «Перейти к оформлению» / «Оформить заказ»; приветствие «Добрый день! Поможем сориентироваться…»
   закрывало CTA квиза, калькулятора и кнопку оформления; при открытом мобильном фильтре и меню кнопка (z-index 10150)
   лежала поверх затемнения. По поправке проверяющего виджет НЕ прячем (канал лидов, формы 4/6/7): гасим только окно
   приветствия там, где оно мешает, а кнопку отодвигаем. Настройки открытой линии в портале не трогаем. */
/* корзина и оформление: приветствие не показываем, кнопку на телефоне — в нижний угол (липкой панели там нет,
   в конце прокрутки под кнопкой оказывается подвал, а не «Перейти к оформлению») */
html.hc-w5-cart .b24-widget-button-popup{display:none!important}
@media (max-width:767px){
	html.hc-w5-cart .b24-widget-button-wrapper.b24-widget-button-position-bottom-right{bottom:calc(14px + env(safe-area-inset-bottom))!important}
}
/* открыт мобильный фильтр или меню: виджет и пилюля квиза уходят ПОД затемнение (у затемнений z-index 3005 и 2999) */
body:has(#mobilefilter.show) .b24-widget-button-wrapper,
body:has(#mobilemenu.show) .b24-widget-button-wrapper{z-index:2990!important}
body:has(#mobilefilter.show) .b24-widget-button-popup,
body:has(#mobilemenu.show) .b24-widget-button-popup,
body:has(#mobilefilter.show) .hcq-float,
body:has(#mobilemenu.show) .hcq-float{display:none!important}
/* приветствие легло на основную кнопку страницы (проверяет hc-w5-mobile.js) — прячем его до конца просмотра страницы;
   кнопка чата остаётся */
html.hc-w5-b24quiet .b24-widget-button-popup{display:none!important}
/* развёрнутая плашка города / подсказка региона: кнопка виджета встаёт НАД ней (иначе закрывала «×» и «другой город»);
   высоту считает скрипт */
html.hc-w5-b24up .b24-widget-button-wrapper.b24-widget-button-position-bottom-right{bottom:var(--hc-w5-b24, 132px)!important}

/* ============ 3. Тап-цели на тач-экранах (u1_mobile_a11y-09) ============
   27.09.2026 (аудит A1 W5, u1_mobile_a11y-09): основные действия были 22–40 px. Глобальных правил на button НЕТ
   (на ФинТерме так разъехалась вёрстка — fintherm-mobile-tap-target-rule): только точечные селекторы; где вид менять
   нельзя — зона нажатия расширена псевдоэлементом или внутренним отступом с компенсирующим margin. */
@media (pointer:coarse){
	/* корзина: «−»/«+» 30×32 → 44×44 (Aspro кладёт их absolute по краям .basket-item-amount с padding 0 30px) */
	.basket-items-list-item-amount-outer .basket-item-amount{padding:0 44px!important;min-width:158px!important;max-width:none!important}
	.basket-items-list-item-amount-outer .basket-item-btn-minus,
	.basket-items-list-item-amount-outer .basket-item-btn-plus{width:44px!important;height:44px!important}
	.basket-items-list-item-amount-outer .basket-item-amount-filed{height:44px!important}
	/* корзина: удаление строки 25×25 → 44×44; крестик рисуют ::before/::after по центру (top/left 50%), центр почти на месте */
	body .basket-item-block-info .basket-item-actions-remove{width:44px;height:44px;top:-13px;right:-14px}
	/* мобильный фильтр: крестик 22×22 (absolute top/right, значок 12 px + padding 5) → 44×44; margin −11 держит значок на месте */
	#mobilefilter .slide-block__head .svg-close{width:44px;height:44px;padding:16px;margin:-11px;box-sizing:border-box}
	/* ручки ползунка цены 22×22 → зона 44×44 (::before у них не занят, ::after занят темой) */
	#mobilefilter .bx_ui_slider_handle::before{content:"";position:absolute;left:-11px;right:-11px;top:-11px;bottom:-11px}
	/* кнопка «Фильтр» 85×30 → зона высотой 44 без изменения строки */
	.filter-panel__filter .bx-filter-title{position:relative}
	.filter-panel__filter .bx-filter-title::after{content:"";position:absolute;left:0;right:0;top:-7px;bottom:-7px}
	/* карточка: текстовые переключатели ТП («шт/м²», размер) высотой 31 → зона 45 (цветные квадраты 50×50 не трогаем);
	   у темы .sku_props ul li:before{display:none} — возвращаем block */
	.sku_props li.item:has(> .cnt)::before{content:"";display:block;position:absolute;left:-2px;right:-2px;top:-7px;bottom:-7px}
	/* ряд переключателей обрезается контейнером прокрутки (overflow hidden auto) по краю — даём ему поля 7 px,
	   компенсируя отрицательным margin: раскладка не меняется, а зона нажатия не срезается */
	.sku_props .bx_size_scroller_container{padding-top:7px;padding-bottom:7px;margin-top:-7px;margin-bottom:-7px}
	/* «Заказать образец» 158×36 и «Купить в 1 клик» 286×42 → зона высотой 44 */
	.hc-sample-btn{position:relative}
	.hc-sample-btn::after{content:"";position:absolute;left:0;right:0;top:-5px;bottom:-5px}
	.wrapp-one-click .one_click{position:relative}
	.wrapp-one-click .one_click::after{content:"";position:absolute;left:0;right:0;top:-1px;bottom:-1px}
	/* «Гарантия и возврат / Сертификаты / Доставка» высотой 19 px: зона 33 px (≥ 24 px по WCAG 2.5.8) без наложения строк —
	   вертикальный отступ строк 6 → 14 px; зона — псевдоэлементом (::before у них — точка-маркер, а подчёркивание —
	   border-bottom, поэтому padding не годится) */
	.hc-trust{row-gap:14px}
	.hc-trust a{position:relative}
	.hc-trust a::after{content:"";position:absolute;left:0;right:0;top:-7px;bottom:-7px}
}
/* шапка на 768–991 px: телефон и поиск 17–18 px в ширину. Как в правке 28.08 для 360–767 (hc-w4-site.css): ширину
   добираем за счёт паддингов ячейки (строка не растёт), по вертикали ничего не навязываем — line-height темы 63 px */
@media (min-width:768px) and (max-width:991px){
	#mobileheader .wrap_icon:not(.wrap_basket){padding-left:0;padding-right:0}
	#mobileheader .top-btn,#mobileheader .personal-link{min-width:48px;text-align:center}
	#mobileheader .personal-link{display:inline-block}
}
/* «Заказать звонок» в выпадашке телефонов шапки — 109×13 → высота 43 */
#mobilePhone .more_phone .callback{display:inline-block;padding:15px 0}

/* ============ 4. Кегль на телефоне (u1_mobile_a11y-08) ============
   27.09.2026 (аудит A1 W5, u1_mobile_a11y-08): мобильные блоки contacts.css и services.css УМЕНЬШАЛИ шрифт до 8–11 px
   (на /contacts/ мельче 12 px было 41–51 % знаков, на /services/ — 30–32 %). Минимум 12 px, ответы FAQ — 14 px.
   Сами файлы страниц не правились (перекрытие специфичнее: html + id). Длину строк не трогаем (решение 31.08). */
@media (max-width:760px){
	html #hc-contacts :is(.topline,.header-phone,.crumb,.crumb a,.eyebrow,.place-tabs button,.tab-number,.photo-top,.button,
		.mobile-actions a,.section-label,.text-button,.tiny-num,.visit-guide a,.visit-guide p,.contact-methods small,.notice,
		.detail,.intro-copy,#copy-address,#route,#mobile-route,#visit-call,#place-label,.hc-allp__kind,a > span > small){font-size:12px}
	html #hc-contacts :is(.questions summary,.questions details p){font-size:14px;line-height:1.5}
	html #hc-services :is(.hs-crumb,.hs-crumb a,.hs-crumb span,.hs-eyebrow,.hs-button,.hs-photo-caption,.hs-feature-foot,
		.hs-feature-foot span,.hs-feature-foot a,.hs-count,.hs-filters button,.hs-filters small,.hs-back,.hs-facts > div,
		.hs-prepare > p,.hs-prepare > a,.hs-prepare > span,.hs-toc nav a,.hs-toc > span,.hs-toc-all,.hc-svc th,.hc-svc td,
		.hs-card-photo > span,.hs-card-stage,.hs-tags,.hs-tags span,.hs-card-more,.hs-phones small,.hc-svc__links-ttl,
		.hc-svc__links a,.hs-detail-intro .hs-eyebrow){font-size:12px}
}
/* подвал и формы на всех страницах: копирайт 10 px, «Подписаться» 11 px, «Заказать звонок» 10 px, ошибки полей 10 px */
@media (max-width:767px){
	#footer .footer-bottom__item.copy,
	#footer .subscribe_button .subscribe_btn,
	#footer .callback_wrap .callback-block,
	footer .footer-bottom__item.copy,
	footer .subscribe_button .subscribe_btn,
	footer .callback_wrap .callback-block,
	.form label.error,label.error{font-size:12px!important}
	/* подпись под «Заказать образец» на карточке — 11,5 px */
	.hc-sample-wrap .hc-sample-hint{font-size:12px}
}

/* ============ 5. Контраст (u1_mobile_a11y-07, без развилки) ============
   27.09.2026 (аудит A1 W5, u1_mobile_a11y-07): серые подписи и крошки #b6b5b5 (2,05:1) / #999 (2,85:1) / #888 (3,54:1)
   и наши #8a8a8a (3,45:1) → #767676 (4,54:1 на белом); стикер «На складе» белым по #60c339 (2,24:1) → #3a8522 (4,61:1) жирным; подсказка ошибки
   оформления #F55 (3,14:1) → #d93a2f (4,57:1), на розовой подложке #EDD → #b3261e (4,99:1).
   Вместо #3d8b24 из вопроса взят #3a8522: у #3d8b24 4,27:1 — для текста 10–12 px (не «крупного» по WCAG) порога 4,5 нет.
   Фирменный красный #f35c50 / #EE2C2D НЕ меняется — ждёт решения Кирилла.
   Только светлая тема: в тёмной эти серые стоят на тёмном фоне и затемнение сделало бы хуже (там свои правки 11.09).
   Префикс темы — в :where(), поэтому специфичность правил равна исходным правилам темы: заменяется только базовый цвет,
   а :hover и более узкие контексты темы продолжают работать. */
@media not all and (prefers-color-scheme:dark){
	:where(body:not(.theme-dark)) .breadcrumbs__item-name{color:#767676}
	:where(body:not(.theme-dark)) .muted:not(:where(#footer *, footer *)),
	:where(body:not(.theme-dark)) .color_999:not(:where(#footer *, footer *)){color:#767676}
	:where(body:not(.theme-dark)) .basket-item-amount-field-description,
	:where(body:not(.theme-dark)) .basket_action .delete_all,
	:where(body:not(.theme-dark)) .back-url-text{color:#767676}
	:where(body:not(.theme-dark)) .basket-items-list-item-price-for-one .basket-item-price-current-text{color:#767676}
	:where(body:not(.theme-dark)) .hc-blog-goods li .hc-bg-price,
	:where(body:not(.theme-dark)) .page_not_found .hc404-note{color:#767676}
	:where(body:not(.theme-dark)) .bx_filter .bx_ui_slider_part span{color:#767676}
	:where(body:not(.theme-dark)) .bx_item_section_name,
	:where(body:not(.theme-dark)) .bx_item_section_name span{color:#767676}
	:where(body:not(.theme-dark)) .stickers .sticker_na_sklade{background-color:#3a8522;color:#fff;font-weight:700}
	:where(body:not(.theme-dark)) #bx-soa-order .bx-soa-tooltip .tooltip-inner{color:#d93a2f}
	:where(body:not(.theme-dark)) #bx-soa-order .bx-soa-tooltip.bx-soa-tooltip-danger .tooltip-inner,
	:where(body:not(.theme-dark)) .bx-soa-tooltip.bx-soa-tooltip-danger .tooltip-inner{color:#b3261e}
}
@media (prefers-color-scheme:dark){
	:where(body.theme-light) .breadcrumbs__item-name{color:#767676}
	:where(body.theme-light) .muted:not(:where(#footer *, footer *)),
	:where(body.theme-light) .color_999:not(:where(#footer *, footer *)){color:#767676}
	:where(body.theme-light) .basket-item-amount-field-description,
	:where(body.theme-light) .basket_action .delete_all,
	:where(body.theme-light) .back-url-text{color:#767676}
	:where(body.theme-light) .basket-items-list-item-price-for-one .basket-item-price-current-text{color:#767676}
	:where(body.theme-light) .hc-blog-goods li .hc-bg-price,
	:where(body.theme-light) .page_not_found .hc404-note{color:#767676}
	:where(body.theme-light) .bx_filter .bx_ui_slider_part span{color:#767676}
	:where(body.theme-light) .bx_item_section_name,
	:where(body.theme-light) .bx_item_section_name span{color:#767676}
	:where(body.theme-light) .stickers .sticker_na_sklade{background-color:#3a8522;color:#fff;font-weight:700}
	:where(body.theme-light) #bx-soa-order .bx-soa-tooltip .tooltip-inner{color:#d93a2f}
	:where(body.theme-light) #bx-soa-order .bx-soa-tooltip.bx-soa-tooltip-danger .tooltip-inner,
	:where(body.theme-light) .bx-soa-tooltip.bx-soa-tooltip-danger .tooltip-inner{color:#b3261e}
}
@media not all and (prefers-color-scheme:dark){body:not(.theme-dark){--gray_text_black:#767676}}
@media (prefers-color-scheme:dark){body.theme-light{--gray_text_black:#767676}}

/* /upload/hc_js/hc-w5-brand.css */
/* hc-w5-brand.css — 27.09.2026 (аудит A1, u1_mobile_a11y-07/решение Кирилла 27.09: «Фирменный красный #f35c50 на кнопках
   покупки: затемнить до #d93a2f (4,57:1)»; по поправке проверяющего — и наши блоки с #EE2C2D, чтобы не было двух красных).
   Базовый цвет темы Aspro сменён штатно: опция aspro.max BASE_COLOR=CUSTOM, BASE_COLOR_CUSTOM=d93a2f (сайт s1) — Aspro
   сам пересобрал themes/custom_s1/theme.css и :root --theme-base-color. Этот файл — то, чего опцией не сделать:
   1) наведение: у Aspro @hcolor = lighten(база, 6 %) = #de5349 (белый текст 3,86:1) → #b8322a (5,95:1);
      тёмная тема: красный ТЕКСТ темы на #1b1b1b был бы 3,77:1 → #ff6b60 (6,2:1), фон кнопок остаётся #d93a2f;
   2) наши блоки (квиз, «Заказать образец», CTA-полосы, подвал, калькуляторы, контакты) с #EE2C2D/#ee302c → #d93a2f;
   3) мелочи (звёздочка обязательного поля #f00, подчёркивание в custom.css).
   Логотип (#EE302C) и рамку фокуса #1a73e8 (hc-w5-a11y.css) не трогаем. Часть 1 собрана gen_brand.py из theme.less
   (site-audit-2026-09-24/w5c_prepared/). Откат: убрать блок hc-w5-brand-2026-09-27 из head_custom + опцию BASE_COLOR=2. */
/* ---- 1. Тема Aspro (#d93a2f): наведение темнее и красный текст в тёмной теме ---- */
.colored_theme_bg_hovered_hover:hover{background-color:#b8322a}
.EXTENDED .blog-comment-meta a{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60) !important}
a.scroll-to-top.ROUND_COLOR:hover,a.scroll-to-top.RECT_COLOR:hover{background-color:#b8322a}
.uploader:hover .resetfile:before{background-color:#b8322a}
.basket_hover_block .tabs_content .buttons .basket_back a:hover{background:#b8322a}
#main .basket_hover_block .cart-empty .cart-empty__info .btn:hover{background:#b8322a}
#bx-soa-order-form .btn.btn-default:hover{background:#b8322a;border-color:#b8322a}
#basket-root .basket-checkout-section .btn.btn-default:hover,body #basket-root .basket-checkout-section .btn.btn-default:active,body #basket-root .basket-checkout-section .btn.btn-default:focus{border-color:#b8322a;background-color:#b8322a}
.sale-products-gift .product-item-small-card .product-item-container .product-item .product-item-button-container .btn:not(:hover){color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
#bx-soa-order div[class*=bx-sls] .quick-locations .quick-location-tag,#bx-soa-order-form .bx-soa-pickup-list-item:not(.bx-selected) .bx-soa-pickup-l-item-btn .btn.btn-default:not(:hover){color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
#bx-soa-order .bx-soa-pp-item-container .bx-soa-pp-company:hover .bx-soa-pp-company-smalltitle,#bx-soa-order .bx-soa-more .bx-soa-more-btn .pull-left{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
@media all and (max-width: 600px){.has_menu #header .center_block .main-nav:hover{background:#b8322a none repeat scroll 0 0}}
#header .wrapper_middle_menu.wrap_menu ul.mobile_menu li:hover>a,#header .wrapper_middle_menu.wrap_menu ul.mobile_menu li.opened>a,#header .wrapper_middle_menu.wrap_menu ul.mobile_menu li.current > a{background:#b8322a}
.button.transparent,.button.transparent:hover,.specials_slider_wrapp ul.tabs>li span,.basket_wrapp .basket_block .link:hover+.wraps_icon_block+.text .title,.stores .stores_list .item a span,.phones .order_wrap_btn,.footer_bottom .all_menu_block ul li a:hover,.footer_bottom .submenu_top .menu_item a:hover,.avtorization-call.enter:hover span,.top-h-row .h-user-block a:hover,ul.menu .child li.menu_item a,#header .catalog_menu ul.menu>li.current>a,ul.menu .child .depth3 a,ul.menu .child li.menu_title a:hover,#header ul.menu li .child.submenu .child_wrapp a:not(.title),.img_block_capcha .reload,.h_color_white .center_block .menu.full>li:hover>a,.m_color_white #header .wrapper_middle_menu .menu.bottom>li:hover>a,.m_color_white #header .wrapper_middle_menu .menu.bottom>li.hover>a,body #header ul.menu li .child.line .child_wrapp>a:hover,.basket_sort ul.tabs li .wrap_li>span *,.basket_sort ul.tabs li .wrap_li>span,.left_block .internal_sections_list .child_wrapp .child li.cur>a,.left_block .internal_sections_list .child_wrapp .child li.depth3 a.menu_item.cur,.left_block .internal_sections_list .child_wrapp a:hover,.tabs-head li.current span,.reviews-post-reply-buttons a:hover,h4.hover,.button.transparent.white:hover,.button.white_bg{color:var(--light,var(--hc-red-tx,#cb2e24)) var(--dark,#ff6b60)}
.btn.btn-default:hover,.btn.btn-default:active,.btn.btn-default:focus{background-color:#b8322a;border-color:#b8322a}
.btn.btn-default.white:not(.grey){color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60) !important}
.btn.btn-default.white.white-bg:hover,.btn-default.white.white-bg:active,.btn-default.white.white-bg:focus{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60) !important}
.btn.btn-transparent:hover,.btn.btn-transparent:active,.btn.btn-transparent:focus{background-color:#b8322a;border-color:#b8322a}
.btn.btn-responsive-nav:hover{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.btn.btn-link{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.btn.btn-link:hover{color:var(--light,var(--hc-red-tx,#b8322a)) var(--dark,#ff6b60)}
.btn.btn-link:active{color:var(--light,var(--hc-red-tx,#9a241c)) var(--dark,#ff6b60)}
.btn.btn-default.wc.vert:hover .fa{background-color:#b8322a}
@media (max-width: 767px){.top_slider_wrapp.view_2 .btn.btn-transparent-border{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}}
@media (max-width: 767px){.top_slider_wrapp.view_2 .btn.btn-default.white:not(:hover){color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60);color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60) !important}}
@media (max-width: 767px){.top_slider_wrapp.view_2 .btn.btn-lg.white-border:not(:hover){color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60);color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60) !important}}
.half_block.top_big_banners .btn.btn-transparent-border:not(:hover){color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.btn-inline{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.btn-inline.black:hover{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.popup-window-content-white .popup-window-buttons .btn:hover,body .item:hover .cost .icons-basket-wrapper .btn,.item .icons-basket-wrapper .btn.in-cart,.basket-icons-wrapper__btn:hover .btn.in-cart,.basket-icons-wrapper__btn:active .btn,.basket-icons-wrapper__btn:focus .btn,.item .icons-basket-wrapper .btn.in-subscribe{background-color:#b8322a;border-color:#b8322a}
.basket-icons-wrapper .like_icons > div span:hover{border-color:#b8322a}
body .fa.big-icon.grey{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.icon-text.grey .fa{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
footer .info .email a:hover{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.bx_soc_comments_div .bx-catalog-tab-list1 li.active a{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
#mobilemenu .contacts a:hover{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.top-block .top-block-item .inline-search-show:hover>span{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.logo-row .top-callback .email,.logo-row .top-callback .email a:hover{color:var(--light,var(--hc-red-tx,#b8322a)) var(--dark,#ff6b60)}
.inline-search-block.fixed.big .search .close-block:hover .close-icons{background-color:#b8322a}
.catalog_detail .bx-modal-container .btn.btn-add:hover,.personal_wrapper form input[type=submit]:hover{background:#b8322a}
.wrapper_middle_menu.wrap_menu.mobile:hover{background:#b8322a}
.header_wrap #header .catalog_menu.menu_colored .inc_menu ul.menu > li:not(.current):hover > a{background:#b8322a}
.phone_block .phone_wrap .icons{color:var(--light,var(--hc-red-tx,#cb2e24)) var(--dark,#ff6b60)}
.menu-row.bgcolored .wrap_icon:hover{background-color:#b8322a}
.logo_and_menu-row .burger:hover .svg-burger{background-color:#b8322a}
.logo_and_menu-row .basket-link:hover .title{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.menu-row.bgcolored .mega-menu table td:hover{background-color:#b8322a}
.catalog_detail .active .title-tab-heading,.catalog_detail .title-tab-heading:focus,.catalog_detail .title-tab-heading:active,.catalog_detail .title-tab-heading:hover{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.style-switcher .block-title .dotted-block{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.uploader:hover .action{background-color:#b8322a;border-color:#b8322a}
p.drop-caps:first-child:first-letter{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
section.toggle label{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.slider-container .tp-caption a:not(.btn):hover{color:var(--light,var(--hc-red-tx,#b8322a)) var(--dark,#ff6b60)}
.viewed_block .item_block:hover a{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.basket_fill_COLOR .wrap_cont .opener >div:hover,.basket_fill_COLOR .header-cart .basket_fly .opener >div.cur,.basket_bottom_block.basket_fill_COLOR .maxwidth-theme .top-block-item .inner-table-block a:not(.basket):hover{background:#b8322a}
#footer .footer_inner .line,.page_not_found td.image img{background:#b8322a}
.bx_ordercart .bx_ordercart_order_pay .bx_bt_button:hover{background:#b8322a}
.bx_ordercart .bx_item_detail_size_small_noadaptive .bx_size ul li.bx_active a{background:#b8322a}
.bx_ordercart .bx_item_detail_size_small_noadaptive .bx_size ul li:not(.bx_active):hover a{color:var(--light,var(--hc-red-tx,#cb2e24)) var(--dark,#ff6b60)}
.text-color-theme,.item-views.news2 .compact .item-wrapper .item .inner-text .title a:hover,.bottom_nav.mobile_slider .btn.btn-transparent-border-color:hover{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.bx_filter .bx_filter_parameters_box_title:hover:after{color:var(--light,var(--hc-red-tx,#cb2e24)) var(--dark,#ff6b60)}
.bx_filter_vertical input[type="checkbox"]:not(:checked) + label.sku:hover span,.sku_props .bx_item_detail_size ul li:not(.active):hover span,.bx_item_list_you_looked_horizontal .bx_item_detail_size ul li:hover span{color:var(--light,var(--hc-red-tx,#cb2e24)) var(--dark,#ff6b60)}
.bx_ordercart .bx_sort_container a.current:after{background:#b8322a}
.bx_ordercart .bx_ordercart_order_pay .bx_ordercart_order_pay_center .checkout{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.button.transparent:not(.text):hover{border-color:#b8322a;background:#b8322a}
.button.transparent.grey_br:hover{border-color:#b8322a}
.bx_ordercart tbody td.control a:first-of-type:hover,.bx_ordercart #basket_items_delayed tbody td.control a:last-of-type:hover,.bx_ordercart #basket_items_subscribed tbody td.control a:first-of-type:hover,.bx_ordercart #basket_items_not_available tbody td.control a:last-of-type:hover,.bx_ordercart .bx_ordercart_order_pay .bx_ordercart_coupon:not(:first-of-type) > span:hover{background-color:#b8322a}
.bx_ordercart .bx_sort_container a,.bx_item_list_you_looked_horizontal .bx_catalog_item .bx_catalog_item_title a:hover,.bx_item_list_you_looked_horizontal .bx_catalog_item:hover .bx_catalog_item_title a{color:var(--light,var(--hc-red-tx,#d83126)) var(--dark,#ff6b60)}
.bx_item_list_you_looked_horizontal .bx_catalog_item_controls .bx_catalog_item_controls_blocktwo a:hover,.bx_item_list_you_looked_horizontal .bx_catalog_item_controls .bx_catalog_item_controls_blockone a{background:#b8322a}
.sale_order_full_table input[name="BuyButton"]{background-color:#b8322a}
.bx_ordercart .bx_item_detail_size_small_noadaptive ul li:active a,.bx_ordercart .bx_item_detail_size_small_noadaptive ul li.bx_active a,.bx_ordercart .bx_item_detail_size_small_noadaptive ul li:hover a{border-color:#b8322a}
.color_link{color:var(--light,var(--hc-red-tx,#cb2e24)) var(--dark,#ff6b60) !important}
.sale-personal-section-index-block-ico i.fa{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.sale-acountpay-fixedpay-list .sale-acountpay-fixedpay-item{border-color:#b8322a;color:var(--light,var(--hc-red-tx,#cb2e24)) var(--dark,#ff6b60)}
.sale-acountpay-fixedpay-list .sale-acountpay-fixedpay-item:hover{background-color:#b8322a}
.bx-sap .sale-acountpay-pp-company.bx-selected .sale-acountpay-pp-company-graf-container,.bx-sap .sale-acountpay-pp-company:hover .sale-acountpay-pp-company-graf-container,.sale-order-payment-change-pp-company:hover .sale-order-payment-change-pp-company-image{border-color:#b8322a !important}
.bx-sap .sale-acountpay-pp-company:not(.bx-selected):hover .sale-acountpay-pp-company-smalltitle,.sale-order-payment-change-pp-company:hover .sale-order-payment-change-pp-company-smalltitle{color:var(--light,var(--hc-red-tx,#cb2e24)) var(--dark,#ff6b60) !important}
.sale-personal-profile-list-container>tbody>tr>td:first-child b{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.personal_wrapper input[type=submit]:last-of-type,.personal_wrapper .orders_wrapper .sale-order-list-inner-row:last-of-type > div:last-of-type a,.personal_wrapper .orders_wrapper .sale-order-detail-about-order-inner-container-repeat .sale-order-detail-about-order-inner-container-repeat-cancel{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60) !important}
.personal_wrapper .orders_wrapper .row.col-md-12.col-sm-12 > a,.sale-order-detail-about-order-inner-container-list-item-link{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.personal_wrapper .orders_wrapper .sale-order-list-inner-row > div >a:hover{background:#b8322a}
.personal_wrapper .orders_wrapper .sale-order-list-change-payment{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.personal_wrapper .orders_wrapper .sale-order-list-button:hover{background-color:#b8322a}
.bx_my_order_cancel a,.personal_wrapper .orders_wrapper .sale-order-list-inner-row>div>a.sale-order-list-cancel-payment{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60) !important}
.personal_wrapper form[name=ShopForm] input[type=submit]:hover,.personal_wrapper .sale-order-list-inner-row-template input[type=submit]:hover,.personal_wrapper .sale-order-detail-inner-row-template input[type=submit]:hover,.personal_wrapper .sale-order-payment-change-pp input[type=submit]:hover,.personal_wrapper .orders_wrapper .sale-order-detail-about-order-inner-container-repeat .sale-order-detail-about-order-inner-container-repeat-button:hover,.personal_wrapper .sale-order-detail-payment-options-methods-button-element:hover,.personal_wrapper .sale-order-detail-payment-options-methods-button-element-new-window:hover{background:#b8322a}
footer .info .subscribe_button .btn:hover{background-color:#b8322a;border-color:#b8322a}
.catalog-delivery-item.open .catalog-delivery-item-head:before{background-color:#b8322a}
.catalog-delivery-item .catalog-delivery-item-head:hover .catalog-delivery-item-opener{background-color:#b8322a;border-color:#b8322a}
.catalog-delivery-item.open .catalog-delivery-item-head:hover .catalog-delivery-item-opener{background-color:#b8322a;border-color:#b8322a}
.catalog-delivery .bx-sls .quick-location-tag{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}
.catalog-delivery .bx-sls .quick-location-tag:hover{background-color:#b8322a;border-color:#b8322a}
.bottom-icons-panel__content-link--active{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60) !important}
.services_order_item .services_order_item_title:before,.services_top_hover_item .services_top_hover_item_title:before{background-color:#b8322a}
/* ---- 2. Наши блоки: фирменный #EE2C2D / #ee302c / #f35c50 → #d93a2f, наведение → #b8322a ----
   Приставка html (или html:not(#hc-brand), где спорим с поздними правилами явной темы) — только чтобы перебить
   исходные правила, которые в <head> стоят ПОСЛЕ этого файла (инлайн head_custom, site-consistency, footer-refresh…).
   Красный ТЕКСТ везде через пробельный переключатель Aspro: светлая — #d93a2f (или --hc-red-tx), тёмная — #ff6b60. */

/* квиз (карточка квиза всегда белая — текст без тёмного варианта) */
html .hcq-cta{border-left-color:#d93a2f}
html .hcq-btn{background:#d93a2f}
html .hcq-btn:hover{background:#b8322a}
html .hcq-prog i{background:#d93a2f}
html .hcq-opt:hover,html .hcq-opt.hcq-sel,html .hcq-inp.hcq-bad{border-color:#d93a2f}
html .hcq-agree.hcq-bad,html .hcq-err{color:#d93a2f}

/* «Заказать образец», бейджи и ссылки карточки/раздела (hc-w4-site.css, hc-w4-catalog.css) */
html .hc-sample-btn{border-color:#d93a2f;color:var(--light,#d93a2f) var(--dark,#ff6b60)}
html .hc-sample-btn:hover{background:#d93a2f;color:#fff}
html .hc-promo-badge{background:#d93a2f}
html .hc-promo-badge:hover{background:#b8322a}
html .hc-promo-on .js_price_wrapper > .price_matrix_wrapper .price:not(.discount){color:var(--light,#d93a2f) var(--dark,#ff6b60)}
html .hc-colors__item:hover,html .hc-colors__item.is-cur{border-color:#d93a2f}
html .hc-colors__item.is-cur{box-shadow:0 0 0 2px rgba(217,58,47,.25)}
html .hc-colors__more:hover,html .hc-calc-cta:hover,html .hc-related__item:hover{border-color:#d93a2f;color:var(--light,#d93a2f) var(--dark,#ff6b60)!important}
html .hc-mob-sales{border-color:rgba(217,58,47,.35)}
html .hc-toc{border-left-color:#d93a2f}
html .hc-toc a:hover{color:var(--light,#d93a2f) var(--dark,#ff6b60)}
html .hc-cat-jump a:active{border-color:#d93a2f;color:var(--light,#d93a2f) var(--dark,#ff6b60)}
html .catalog_section_list .section_info li.sect a:hover,html .catalog_section_list .section_info li.sect a.muted777:hover,
html .catalog_section_list .section_info li.hc-more a:hover,html .catalog_section_list .section_item:hover li.name a{color:var(--light,#d93a2f) var(--dark,#ff6b60)}
html .hc-ocb:hover{border-color:#d93a2f;color:var(--light,#d93a2f) var(--dark,#ff6b60)}

/* CTA-полосы разделов, вступление главной (head_custom: hc-cta-sections, hc-index-intro) — там var(--theme-base-color) */
html .hc-cta-sect__phone:hover,html .hc-index-intro__text a:hover,html .hc-index-intro__toggle{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}

/* /contacts/stores/* и блок contacts-stores в head_custom (#EE2C2D у .hc-act--route, .hc-kind--show, .hc-act-route-detail,
   .cluster_custom) здесь НЕ перекрываются: 27.09 их переводит на переменные contacts.css агент площадок (согласовано). */

/* подвал (footer-refresh.css: цвет логотипа #ee302c на кнопке — белый текст 4,12:1) */
html #footer .footer_top{border-top-color:#d93a2f}
html #footer .hc-footer-cta{border-color:#d93a2f;background:#d93a2f}
html #footer .hc-footer-cta:hover{border-color:#b8322a;background:#b8322a}

/* плитки категорий (categories-v2.css), первый слайд главной (type_6.php, .hc-fin__cta) */
html .hc-cv2-card:hover,html .hc-cv2-card:focus-visible{border-color:#d93a2f}
html .hc-cv2-card:hover .hc-cv2-label{color:var(--light,#d93a2f) var(--dark,#ff6b60)}
html #hc-hero-slider .hc-fin__cta{background:#d93a2f}
html #hc-hero-slider .hc-fin__cta:hover{background:#b8322a}

/* главная и посадочные: фон «бумага» #f7f6f2/#eeece6 — там #d93a2f даёт 4,22/3,87:1, красный текст темнее (#b8322a, 5,5/5,0:1).
   --hc-red-tx читают правила красного текста темы ниже; --hhr-red — палитра редизайна главной (была #c9372b / #f35c50) */
html:not(#hc-brand) .wrapper1.front_page{--hc-red-tx:#b8322a;--hhr-red:var(--light,#b8322a) var(--dark,#ff6b60);
  --fill_dark_light_hover:var(--light,#b8322a) var(--dark,#ccc)}
html.hcl-page{--hc-red-tx:#b8322a}
html.hcl-page body{--fill_dark_light_hover:var(--light,#b8322a) var(--dark,#ccc)}
/* подзаголовки-«брови» на плашке #eeece6 (палитра редизайна #c9372b — 4,37:1; тёмная #f35c50 на #2d2b28 — 4,34:1) */
html :is(#hc-tools,#hc-services) :is(.hs-calculators,.hs-contact,.hc-svc__note,.hc-svc__faq){--hs-red:#b8322a}
html #hc-landings-root .hcl-help .hcl-eyebrow{color:var(--light,#b8322a) var(--dark,#ff6b60)}
/* /contacts/ — своя палитра в contacts.css (--red #d93a2f / --red-ink #b8322a, правка 27.09 там же) */
html:not(#hc-brand) .city_chooser_small_frame{--hc-city-accent:var(--light,#b8322a) var(--dark,#ff6b60)}

/* кнопки палитры редизайна 10.09 (#c9372b, hover #ad2d2x): заливка — тот же #d93a2f, наведение #b8322a (белый текст 4,57/5,95:1).
   Красный ТЕКСТ этой палитры на «бумаге» #f7f6f2 не трогаем: #c9372b там 4,78:1, а #d93a2f был бы 4,22:1. */
html .hc-product-promo .hc-promo .hc-promo__cta{background:#d93a2f}
html .hc-product-promo .hc-promo:hover .hc-promo__cta{background:#b8322a}
html :is(#hc-tools,#hc-services) .hs-primary{background:#d93a2f;border-color:#d93a2f}
html :is(#hc-tools,#hc-services) .hs-primary:hover{background:#b8322a;border-color:#b8322a}
html #hc-landings-root .hcl-primary{background:#d93a2f;border-color:#d93a2f}
html #hc-landings-root .hcl-primary:hover{background:#b8322a;border-color:#b8322a}
html .hc-doc-page .hc-doc-btn--red{background:#d93a2f;border-color:#d93a2f}
html .hc-doc-page .hc-doc-btn--red:hover{background:#b8322a;border-color:#b8322a}
/* плашки #eeece6 в редизайне (компания, части главной, «семь страниц»): красный текст темнее (#c9372b там 4,37:1),
   кнопки -primary остаются #d93a2f */
html :is(#hc-company,#hc-home,.hc-home-part) :is(.ha-catalog-more,.ha-audience,.ha-contact,.hh-visual),
html #hc-seven :is(.hx-contact,.hc-sale-archive,.hc-dlv__note,.hc-wrt__panel,.hc-wrt__note){--red:#b8322a}
html :is(#hc-company,#hc-home,.hc-home-part) .ha-primary,html #hc-seven .hx-primary{background:#d93a2f;border-color:#d93a2f}
html :is(#hc-company,#hc-home,.hc-home-part) .ha-primary:hover,html #hc-seven .hx-primary:hover{background:#b8322a;border-color:#b8322a}
/* «Заказать звонок» в тёмном подвале — тот же «красный на тёмном», что и везде (#ff8a7f → #ff6b60, 6,2:1) */
html #footer .callback-block{color:#ff6b60!important}

/* калькуляторы /servisy/ (calc.css, calc-ux.css, hc-house.css, термопанели) и визуализатор (konf.css): свой акцент --ac */
html .hcc,html .hcp-pop,html .hcc-sheet{--ac:#d93a2f;--ac-t:var(--hc-l,#d93a2f) var(--hc-d,#ff6b60)}
html .hck{--ac:#d93a2f;--ac-t:var(--l,#d93a2f) var(--d,#ff6b60)}
html body #hcStudio{--ux-accent:#d93a2f}
html .hcux-share button{background:#d93a2f}
html .hch .hch-primary{background:#d93a2f;border-color:#d93a2f}
html .hch button:hover,html .hch button[aria-pressed=true],html .hch .hch-active{border-color:#d93a2f;color:#d93a2f}

/* ---- 3. Прочее ---- */
/* звёздочки обязательных полей (Битрикс «form .star», «body span.bx-authform-starrequired»: #f00 — 4,0:1) */
html body :is(span.bx-authform-starrequired,form .star,form .required-star){color:var(--light,#d93a2f) var(--dark,#ff6b60)}
/* custom.css Aspro (фильтр «С этим покупают») — подчёркивание прежним #f35c50 */
html .filter-btn:hover,html .filter-btn.active{border-bottom-color:var(--theme-base-color)}
/* переменная темы как цвет текста (colored.css, купон, имя в шапке) — в тёмной теме светлее */
.color-theme,.coupon-block__text,.long_banner .header_wrap:not(.light-menu-color) .logo_and_menu-row .auth_wr_inner:hover .name{color:var(--light,var(--hc-red-tx,#d93a2f)) var(--dark,#ff6b60)}

/* k28 28.09.2026 (ответ Кирилла C22 «Привести к #b8322a»): кнопка калькуляторов .hcc-btn — наведение как у сайта
   (в calc.css filter:brightness(.93) давал ≈#ca362c) */
html .hcc-btn:hover{filter:none;background:#b8322a}

/* /upload/hc_js/hc-mobile-fit.css */
/* 30.09.2026: телефон — текст не мельче 12 px и ничего шире экрана (Вебмастер: spb.hit-ceramics.ru NOT_MOBILE_FRIENDLY с 27.09;
   W5a 27.09 закрыла мелкий кегль только на contacts/services/карточке). Перекрытия правил, которые дают видимому
   тексту <12 px на 320/390 px, найдены в браузере на 51 шаблоне (главная, каталог, карточки, о компании, помощь,
   сервисы, обзоры, документы, бренды, блог, акции). Действуют только до 767 px и только там, где действовало исходное
   правило; «html » впереди — на единицу специфичнее исходника. Десктоп не меняется. Генератор: ~/hc-mobile-fix-2026-09-30/work. */
@media (max-width:767px){
html #hc-company .ha-button,
html #hc-company .ha-card a,
html #hc-company .ha-catalog > a > span,
html #hc-company .ha-catalog p,
html #hc-company .ha-contact-actions,
html #hc-company .ha-crumb,
html #hc-company .ha-eyebrow,
html #hc-company .ha-facts span,
html #hc-company .ha-hero-note,
html #hc-company .ha-inline-links,
html #hc-company .ha-nav,
html #hc-company .ha-number,
html #hc-company .ha-place-copy .ha-eyebrow,
html #hc-company .ha-place-copy > a,
html #hc-company .ha-place-copy > p:not(.ha-eyebrow),
html #hc-company .ha-place-photo > span,
html #hc-company .ha-proof p,
html #hc-company .ha-text-link,
html #hc-hero-slider .hc-config-banner .hc-config-banner__note,
html #hc-hero-slider .hc-config-banner__eyebrow,
html #hc-hero-slider .hc-config-banner__features,
html #hc-hero-slider .hc-config-banner__scene-label small,
html #hc-hero-slider .hc-fin__eyebrow,
html #hc-home-help .hhr-eyebrow,
html #hc-landings-root .hcl-benefits span,
html #hc-landings-root .hcl-collection-body small,
html #hc-landings-root .hcl-collection-link,
html #hc-landings-root .hcl-eyebrow,
html #hc-landings-root .hcl-note,
html #hc-landings-root .hcl-sample-link,
html #hc-services .hc-svc .hc-svc__links a,
html #hc-seven .hc-ship__note,
html #hc-seven .hx-button,
html #hc-seven .hx-crumb,
html #hc-seven .hx-eyebrow,
html #hc-seven .hx-nav a,
html #hc-seven .hx-search span,
html #hc-seven .hx-start b,
html #hc-seven .hx-start span,
html #hc-seven .hx-toc > p,
html #hc-seven .hx-toc a,
html #hc-seven .news2 .period-block,
html #hc-seven .sales2 .period-block,
html #hc-tools .hs-card-more,
html #hc-tools .hs-contact-actions > a.ht-service-link,
html #hc-tools .hs-crumb,
html #hc-tools .hs-eyebrow,
html #hc-tools .hs-feature-foot,
html #hc-tools .hs-phones small,
html #hc-tools .ht-benefits > div > span,
html #hc-tools .ht-benefits small,
html #hc-tools .ht-features span,
html #hc-tools .ht-free,
html #hc-tools .ht-image-label,
html #hc-tools .ht-input,
html #hc-tools .ht-input dt,
html .hc-consent-body h2 span,
html .hc-consent-menu a,
html .hc-doc-count,
html .hc-doc-crumb,
html .hc-doc-filters label span,
html .hc-doc-icon,
html .hc-doc-kicker,
html .hc-doc-meta,
html .hc-doc-stats span,
html .hc-faq .hcf-filter,
html .hc-info-crumb,
html .hc-info-kicker,
html .hc-info-number,
html .hc-product-promo .hc-promo .hc-promo__eyebrow,
html .hc-product-promo .hc-promo__eyebrow,
html .hc-req__btn,
html .hc-req__crumb,
html .hc-req__eyebrow,
html .hc-req__hint,
html .hc-req__nav span,
html .hc-req__row dt,
html .hc-req__section-title small,
html .hcf-count,
html .hcf-crumb,
html .hcf-group-title > span,
html .hcf-kicker,
html .hcux-nav b,
html .wrapper1.front_page #content .NEWS .news2 .period-block,
html .wrapper1.front_page #content .SALE .sales2 .info-sticker-block .countdown > .item > .text,
html .wrapper1.front_page #content .SALE .sales2 .period-block,
html body .view_sale_block.v2 .values .item .text{font-size:12px}
html #hc-company .ha-place-copy .ha-hours,
html .hcux .hcc-sec td{font-size:12px!important}
}
@media (max-width: 1100px) and (max-width:767px){
html #hc-tools .hs-button{font-size:12px}
}
@media (max-width: 480px) and (max-width:767px){
html .hcux .hcc-presets button,
html .hcux-intro,
html body .wrapper1 #content .catalog_block.items .catalog_item .stickers [class^="sticker_"]{font-size:12px}
}
@media (max-width: 760px) and (max-width:767px){
html #hc-company .ha-button,
html #hc-company .ha-eyebrow,
html #hc-company .ha-facts span,
html #hc-company .ha-nav,
html #hc-seven .hx-crumb,
html #hc-seven .hx-nav a,
html #hc-seven .hx-toc a,
html #hc-seven .partners .title,
html #hc-seven td,
html #hc-seven th,
html #hc-tools .hs-button,
html #hc-tools .hs-count,
html #hc-tools .hs-crumb,
html #hc-tools .hs-eyebrow,
html #hc-tools .hs-feature-foot,
html #hc-tools .hs-filters button,
html #hc-tools .hs-photo-caption,
html #hc-tools .ht-benefits small,
html #hc-tools .ht-card-details summary,
html #hc-tools .ht-image-label{font-size:12px}
}
@media (max-width: 767px) and (max-width:767px){
html #hc-hero-slider .hc-config-banner .hc-config-banner__note,
html #hc-hero-slider .hc-config-banner__eyebrow,
html #hc-hero-slider .hc-config-banner__features,
html #hc-hero-slider .hc-config-banner__scene-label,
html #hc-hero-slider .hc-config-banner__scene-label small,
html #hc-hero-slider .hc-fin .hc-fin__note,
html #hc-hero-slider .hc-fin__eyebrow,
html #hc-home-start strong,
html #hc-landings-root #hcl-clear,
html #hc-landings-root .hcl-benefits b,
html #hc-landings-root .hcl-benefits span,
html #hc-landings-root .hcl-collection-body small,
html #hc-landings-root .hcl-collection-link,
html #hc-landings-root .hcl-eyebrow,
html #hc-landings-root .hcl-filter,
html #hc-landings-root .hcl-sample-link,
html #hc-landings-root .hcl-sample-name,
html #hc-landings-root .hcl-section-nav a,
html #right_block_ajax .catalog_block .hc-product-variants > summary,
html .hc-product-promo .hc-promo p,
html .hc-product-promo .hc-promo__eyebrow,
html .wrapper1.front_page #content .CATALOG_TAB .top_block .right_block_wrapper > a,
html .wrapper1.front_page #content .NEWS .news2 .period-block,
html .wrapper1.front_page #content .drag-block .top_block > a{font-size:12px}
}
@media (max-width: 800px) and (max-width:767px){
html #hcStudio .ux-footer-value span{font-size:12px}
}
@media (max-width: 900px) and (max-width:767px){
html body #hcStudio .ux-footer-value span{font-size:12px}
}
/* Служебные подписи Aspro в em (0,8–0,87 от 13 px): «Показать ещё», «Назад к списку», выбранный пункт меню раздела, сортировка */
@media (max-width:767px){
html .ajax_load_btn .more_text_ajax,
html .select_head_wrap .menu_item_selected,
html .select_head_wrap .menu_item_selected > span,
html .bottom-links-block .back-url-text,
html .filter-panel__sort .dropdown-select__title,
html .filter-panel__sort .dropdown-select__title > span{font-size:12px}
}
/* Отзывы: в текстах 49663 и 49666 слова склеены двойными &nbsp; («производилась  профессиональной» = 282 px одной строкой) —
   на 320 px слайдер отзывов давал прокрутку вбок на 8 px. Разрешаем перенос склейки. */
@media (max-width:767px){
html .reviews .preview-text{overflow-wrap:anywhere}
}

/* /upload/hc_js/hc-mobile-sale-fit.css */
/* hc-mobile-sale-fit-2026-10-05: prevent savings from crossing into the next card. */
@media (max-width:479px){
 html .catalog_block .catalog_item .js_price_wrapper>.price_matrix_wrapper{min-width:0;max-width:100%}
 html .catalog_block .catalog_item .sale-number{display:flex;flex-wrap:wrap;max-width:100%;white-space:normal}
 html .catalog_block .catalog_item .inner-sale{box-sizing:border-box;max-width:100%}
 html .catalog_block .catalog_item .inner-sale .text{white-space:normal}
 html .catalog_block .catalog_item .inner-sale .values_wrapper{white-space:nowrap}
}

