/* ===== Эльсити: типографика по стандарту Аспро Премьер (21.10.2026, шаг 1) =====
   Эталон снят с живого tntorg.ru (Премьер): шрифт Golos Text, база 16/24, заголовки 500.
   Документ: E:\projects\elsity\design\standard\typography_spacing_premier_vs_elsity.md
   Шрифт локальный (взят из шаблона Премьера, лицензия SIL OFL), /local/fonts/golos-text/.
   Шапка .edh/.emh остаётся на Inter — сделана по макету Figma. */
@font-face { font-family: "Golos Text"; font-style: normal; font-weight: 400; font-display: swap; src: url("/local/fonts/golos-text/golos-text-regular.woff2") format("woff2"); }
@font-face { font-family: "Golos Text"; font-style: normal; font-weight: 500; font-display: swap; src: url("/local/fonts/golos-text/golos-text-500.woff2") format("woff2"); }
@font-face { font-family: "Golos Text"; font-style: normal; font-weight: 600; font-display: swap; src: url("/local/fonts/golos-text/golos-text-600.woff2") format("woff2"); }
@font-face { font-family: "Golos Text"; font-style: normal; font-weight: 700; font-display: swap; src: url("/local/fonts/golos-text/golos-text-700.woff2") format("woff2"); }


:root { --els-font: "Golos Text", Arial, sans-serif; }
html { font-size: 16px; }
body, body div.bx-yandex-map, body .ymaps-map .ymaps-b-balloon, .fancybox-title { font: 16px/24px var(--els-font); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .popup-window,
input, button, select, textarea, .btn { font-family: var(--els-font); }
/* корзина и оформление: у Аспро там Montserrat с !important */
html body .basket-coupon-block-field-description, html body .basket-item-info-name, html body .basket-item-info-name-link,
html body .basket-coupon-block-total-price-current, html body #basket-root *, html #content #bx-soa-order-form *,
html .sale_order_full_table .sale-paysystem-wrapper * { font-family: var(--els-font) !important; }

/* шкала заголовков (как на Премьере): все 500 */
h1, .h1 { font-size: 36px; line-height: 44px; font-weight: 500; }
h2, .h2 { font-size: 28px; line-height: 36px; font-weight: 500; }
h3, .h3 { font-size: 24px; line-height: 32px; font-weight: 500; }
h4, .h4 { font-size: 18px; line-height: 26px; font-weight: 500; }
h5, .h5 { font-size: 16px; line-height: 24px; font-weight: 500; }
h6, .h6 { font-size: 14px; line-height: 20px; font-weight: 500; }
/* заголовки блоков главной и разделов («Выгодные предложения», «Ранее вы смотрели») — 24/32, как у Премьера */
.top_block_title, h2.top_block_title, h3.font_lg, .viewed_product_block .title_block, .ordered-block__title { font-size: 24px !important; line-height: 32px !important; font-weight: 500 !important; }
/* название товара в карточке и цена — тоже 500 */
.els-ptitle__h1 { font-weight: 500 !important; }
.middle-info-wrapper .cost.detail .price_group .price { font-weight: 500 !important; }

@media (max-width: 767px) {
  h1, .h1 { font-size: 26px; line-height: 32px; }
  h2, .h2 { font-size: 22px; line-height: 28px; }
  h3, .h3 { font-size: 20px; line-height: 26px; }
  .top_block_title, h2.top_block_title, h3.font_lg, .viewed_product_block .title_block, .ordered-block__title { font-size: 20px !important; line-height: 26px !important; }
}
/* ===== Шаг 2 (21.10): отступы страницы по Премьеру ===== */
/* хлебные крошки: 12/16, серые; от шапки 10px */
#navigation { padding-top: 10px !important; }
#navigation .breadcrumbs__item-name, #navigation .breadcrumbs__separator, #navigation .breadcrumbs__link { font-size: 12px !important; line-height: 16px !important; }
#navigation .breadcrumbs__item-name { color: rgba(34, 34, 40, .48); }
#navigation .breadcrumbs__link:hover .breadcrumbs__item-name { color: #dd1438; }
/* крошки → H1: 24px; H1 → содержимое остаётся 40px (у Аспро уже так) */
.page-top .topic { padding-top: 24px !important; }
/* главная: блоки через 56px, как на Премьере (у Аспро было 60, у брендов 79/79) */
@media (min-width: 992px) {
  .drag-block > .content_wrapper_block > .maxwidth-theme.only-on-front,
  .drag-block > .content_wrapper_block > .maxwidth-theme.wide { padding-top: 56px !important; }
  .drag-block.BRANDS > .content_wrapper_block > .maxwidth-theme { padding-bottom: 0 !important; }
}
@media (max-width: 991px) {
  .drag-block > .content_wrapper_block > .maxwidth-theme.only-on-front,
  .drag-block > .content_wrapper_block > .maxwidth-theme.wide { padding-top: 36px !important; }
  .drag-block.BRANDS > .content_wrapper_block > .maxwidth-theme { padding-bottom: 0 !important; }
  .page-top .topic { padding-top: 16px !important; }
}

/* ===== Шаг 3 (21.10): карточки каталога по Премьеру ===== */
/* название 15/22 обычным начертанием (было 14/20 жирным), до 3 строк */
.catalog_block .catalog_item .item-title,
.catalog_block .catalog_item .item-title a,
.catalog_block .catalog_item .item-title a span { font-size: 15px !important; line-height: 22px !important; font-weight: 400 !important; color: #222228; }
.catalog_block .catalog_item .item-title { max-height: 66px !important; }
/* цена 16/24 полужирная (было 700), старая цена мельче и серая */
.catalog_block .catalog_item .cost .price_group.min .price,
.catalog_block .catalog_item .cost .price_group:only-child .price,
.catalog_block .catalog_item .cost .price { font-size: 16px !important; line-height: 24px !important; font-weight: 500 !important; }
.catalog_block .catalog_item .cost .strike_block .price { font-size: 13px !important; font-weight: 400 !important; }
/* скругление фото 12, как карточка Премьера */
.catalog_block .catalog_item_wrapp .image_wrapper_block { border-radius: 12px !important; }
/* ===== Шаг 4 (21.10): текстовые страницы по Премьеру («Доставка и оплата», «Гарантия», оферта, политика и т.п.) =====
   Текст этих страниц лежит прямо в .middle > .container (без компонентов), поэтому правила только для прямых потомков —
   каталог и блоки Аспро не задеваются. */
.right_block .middle > .container > p,
.wrapper_inner .middle > .container > p { margin: 0 0 16px !important; font-size: 16px; line-height: 24px; }
.right_block .middle > .container > h2, .wrapper_inner .middle > .container > h2 { margin: 40px 0 16px !important; font-size: 28px !important; line-height: 36px !important; font-weight: 500 !important; }
.right_block .middle > .container > h3, .wrapper_inner .middle > .container > h3 { margin: 32px 0 12px !important; font-size: 24px !important; line-height: 32px !important; font-weight: 500 !important; }
.right_block .middle > .container > h4, .wrapper_inner .middle > .container > h4,
.right_block .middle > .container > h5, .wrapper_inner .middle > .container > h5 { margin: 24px 0 8px !important; font-size: 18px !important; line-height: 26px !important; font-weight: 500 !important; }
.right_block .middle > .container > :is(h2, h3, h4, h5):first-child,
.wrapper_inner .middle > .container > :is(h2, h3, h4, h5):first-child { margin-top: 0 !important; }
.right_block .middle > .container > :is(ul, ol), .wrapper_inner .middle > .container > :is(ul, ol) { margin: 0 0 16px !important; }
.right_block .middle > .container > :is(ul, ol) > li, .wrapper_inner .middle > .container > :is(ul, ol) > li { margin: 0 0 8px !important; font-size: 16px; line-height: 24px; }
.right_block .middle > .container > blockquote, .wrapper_inner .middle > .container > blockquote {
	margin: 24px 0 !important; padding: 16px 20px !important; border: 0 !important; border-left: 3px solid #dd1438 !important;
	border-radius: 0 10px 10px 0; background: #f8f8fc; font-size: 16px !important; line-height: 24px !important; font-weight: 500 !important; color: #23202a; }
.right_block .middle > .container > table td, .wrapper_inner .middle > .container > table td { font-size: 15px; line-height: 22px; padding: 8px 12px; }
/* стили, вписанные в текст при копировании (шрифт Битрикс24, 12pt, 1.6em) — к стандарту; цвет-выделения не трогаем */
.right_block .middle > .container [style*="font-family"], .wrapper_inner .middle > .container [style*="font-family"] { font-family: inherit !important; }
.right_block .middle > .container [style*="font-size"], .wrapper_inner .middle > .container [style*="font-size"] { font-size: inherit !important; }
/* карточка товара: название в средней колонке, поэтому пустой .topic под крошками (64px), верхняя линия и 35px сверху не нужны (21.10, замечание владельца) */
body:has(.els-ptitle) .page-top .topic { display: none !important; }
body:has(.els-ptitle) .product-info-wrapper { border-top: 0 !important; }
body:has(.els-ptitle) .product-info { padding-top: 16px !important; }

/* текстовые страницы: абзацы, вложенные во внутренние обёртки (например «Гарантия»), — тоже по стандарту.
   Только на страницах без каталога и карточки товара */
body:not(:has(.catalog_block, .product-container, .catalog_detail)) .right_block .middle > .container p:not([class]) { margin: 0 0 16px !important; }/* у .page-top Аспро min-height 56px — на странице товара под крошками оставалась пустота */
body:has(.els-ptitle) .page-top { min-height: 0 !important; }
body:has(.els-ptitle) .product-info { padding-top: 20px !important; }

/* поля ввода и кнопки (в т.ч. поиск в шапке) — тоже Golos, иначе браузер грузит Montserrat ради одного поля (21.10) */
input, textarea, select, button, .search-input, #title-search-input_fixed { font-family: var(--els-font) !important; }

/* ===== Статичные страницы, общий набор блоков .els-page (21.10.2026). Первая — /delivery/ ===== */
.els-page { max-width: 880px; color: #3b3842; }
.els-page p { margin: 0 0 16px; font-size: 16px; line-height: 24px; }
.els-page h2 { margin: 48px 0 16px; font-size: 28px; line-height: 36px; font-weight: 500; color: #23202a; scroll-margin-top: 90px; }
.els-page h3 { margin: 32px 0 12px; font-size: 20px; line-height: 28px; font-weight: 500; color: #23202a; }
.els-page :is(p, li, .els-page__note, .els-page__row) a { color: #dd1438; text-decoration: underline; text-underline-offset: 3px; }
.els-page b { font-weight: 600; color: #23202a; }
.els-page__lead { font-size: 18px !important; line-height: 28px !important; color: #23202a; margin-bottom: 24px !important; }
.els-page__muted { font-size: 14px !important; line-height: 20px !important; color: #8a8590; }
/* карточки-сводка сверху */
.els-page__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 8px; }
.els-page__card { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border-radius: 16px; background: #f8f8fc; text-decoration: none !important; transition: background-color .15s; }
.els-page__card:hover { background: #f1f0f6; }
.els-page__card-ico { width: 32px; height: 32px; margin-bottom: 8px; border-radius: 10px; background: #fdeef1 center / 18px no-repeat; }
.els-page__card-ico--pickup { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dd1438' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l1.5-5h15L21 9'/%3E%3Cpath d='M3 9h18v2a3 3 0 0 1-6 0 3 3 0 0 1-6 0 3 3 0 0 1-6 0z'/%3E%3Cpath d='M5 13v7h14v-7'/%3E%3Cpath d='M10 20v-4h4v4'/%3E%3C/svg%3E"); }
.els-page__card-ico--courier { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dd1438' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2z'/%3E%3Cpath d='M13 9h4l4 4v3h-8'/%3E%3Ccircle cx='6.5' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E"); }
.els-page__card-ico--card { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dd1438' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2.5'/%3E%3Cpath d='M2.5 10h19M6.5 15h4'/%3E%3C/svg%3E"); }
.els-page__card-title { font-size: 16px; line-height: 22px; font-weight: 600; color: #23202a; }
.els-page__card-text { font-size: 14px; line-height: 20px; color: #6f6b75; }
/* список фактов с галочками */
.els-page__facts { list-style: none; margin: 0 0 16px; padding: 0; }
.els-page__facts li { position: relative; margin: 0 0 10px; padding-left: 28px; font-size: 16px; line-height: 24px; }
.els-page__facts li::before { content: ''; position: absolute; left: 0; top: 4px; width: 16px; height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23fdeef1'/%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23dd1438' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat; }
/* интервалы доставки */
.els-page__slots { display: grid; grid-template-columns: repeat(2, minmax(0, 220px)); gap: 12px; margin: 4px 0 16px; }
.els-page__slot { display: flex; flex-direction: column; gap: 2px; padding: 14px 18px; border: 1px solid #ececf1; border-radius: 14px; }
.els-page__slot-name { font-size: 14px; line-height: 20px; color: #6f6b75; }
.els-page__slot-time { font-size: 20px; line-height: 28px; font-weight: 600; color: #23202a; }
/* таблица «название — значение» */
.els-page__table { margin: 0 0 12px; border: 1px solid #ececf1; border-radius: 14px; overflow: hidden; }
.els-page__row { display: flex; justify-content: space-between; gap: 16px; padding: 12px 18px; font-size: 16px; line-height: 24px; }
.els-page__row + .els-page__row { border-top: 1px solid #ececf1; }
.els-page__row span { color: #6f6b75; }
/* важное */
.els-page__note { margin: 8px 0 16px; padding: 16px 20px; border-left: 3px solid #dd1438; border-radius: 0 12px 12px 0; background: #fdf3f5; font-size: 15px; line-height: 23px; color: #3b3842; }
@media (max-width: 767px) {
  .els-page__lead { font-size: 16px !important; line-height: 24px !important; }
  .els-page__cards { grid-template-columns: 1fr; }
  .els-page__card { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 12px; padding: 14px 16px; }
  .els-page__card-ico { margin: 0; }
  .els-page__card-text { flex-basis: 100%; padding-left: 44px; margin-top: -6px; }
  .els-page h2 { margin-top: 36px; font-size: 22px; line-height: 28px; }
  .els-page__slots { grid-template-columns: 1fr 1fr; }
  .els-page__row { flex-direction: column; gap: 2px; }
}.els-page ul.els-page__facts > li::before { content: '' !important; margin: 0 !important; }

/* .els-page: широкий вариант, сетка картинок-инфографик, мягкая плашка (21.10, «Подарочные сертификаты») */
.els-page--wide { max-width: none; }
.els-page--wide > p, .els-page--wide > .els-page__note { max-width: 880px; }
.els-page__figs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 8px; }
.els-page__fig { margin: 0; }
.els-page__fig img { display: block; width: 100%; height: auto; max-width: none !important; border-radius: 12px; }
.els-page__fig figcaption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.els-page__note--soft { border-left: 0; border-radius: 12px; background: #f8f8fc; }
.els-page__goods { margin: 8px 0 24px; }
@media (max-width: 767px) { .els-page__figs { grid-template-columns: 1fr; } }/* «Подарочные сертификаты»: компонент новостей из ИБ 18 пустой и пишет «Список элементов пуст» (раньше прятали инлайн-стилем на всю страницу) */
body:has(.els-page--wide) .middle > .container > .alert-warning, body:has(.els-page--wide) .text_before_items + .alert-warning { display: none !important; }

/* .els-page: шаги с номерами (21.10, «Правила возврата») */
.els-page__steps { display: flex; flex-direction: column; gap: 12px; margin: 4px 0 16px; }
.els-page__step { display: flex; gap: 16px; padding: 16px 20px; border: 1px solid #ececf1; border-radius: 14px; }
.els-page__step-num { flex: 0 0 32px; height: 32px; border-radius: 50%; background: #fdeef1; color: #dd1438; font-weight: 600; font-size: 15px; display: flex; align-items: center; justify-content: center; }
.els-page__step > div { flex: 1 1 auto; min-width: 0; }
.els-page__step b { display: block; margin: 4px 0 4px; font-size: 16px; line-height: 24px; }
.els-page__step p { margin: 0 0 8px; }
.els-page__step p:last-child { margin-bottom: 0; }
.els-page__table--in { margin: 8px 0 10px; }
.els-page__table--in .els-page__row b { display: inline; margin: 0; text-align: right; }
@media (max-width: 767px) { .els-page__step { padding: 14px; gap: 12px; } .els-page__table--in .els-page__row b { text-align: left; } }
.right_block .middle > .container .els-page .els-page__step p:last-child, .els-page .els-page__step .els-page__table:last-child { margin-bottom: 0 !important; }

/* мобилка: H1 страницы крупнее H2 (21.10; у Аспро h1 на ≤767 = 20px) */
@media (max-width: 767px) { .page-top h1, h1#pagetitle { font-size: 26px !important; line-height: 32px !important; } }

/* мобилка: картинки статичных страниц не шире экрана (21.10; во вставленных стилях img{max-width:400px}) */
@media (max-width: 767px) { body:not(:has(.catalog_block, .product-container, .catalog_detail)) .middle img { max-width: 100% !important; height: auto !important; } }
/* длинные ссылки (t.me/…, max.ru/…) переносятся, а не тянут страницу вбок */
body:not(:has(.catalog_block, .product-container, .catalog_detail)) .middle :is(p, li, td, a, b) { overflow-wrap: anywhere; }
/* мобилка: «В корзину» в плитке на всю ширину карточки (21.10) */
@media (max-width: 767px) { .catalog_block .footer_button .counter_wrapp > .button_block { flex: 1 1 auto; min-width: 0; } .catalog_block .footer_button .counter_wrapp > .button_block .btn { width: 100%; } }
/* планшет: 3 карточки в ряд вместо 2 (21.10) */
@media (min-width: 700px) and (max-width: 991px) { .catalog_block.items > .item.col-sm-6, .catalog_block.items > .item.col-xs-6 { width: 33.3333% !important; } }
/* планшет: строка меню шапки прокручивается вбок, а не обрезается */
@media (max-width: 1199px) { .edh__menu { overflow-x: auto !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; } .edh__menu::-webkit-scrollbar { display: none; } }
@media (max-width: 1199px) { .edh__menu { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); } }

/* ===== Юридические документы .els-doc (21.10): текст дословный, только вёрстка ===== */
body:has(.els-doc) .alert-warning { display: none !important; }
.els-doc { max-width: 880px; }
.els-doc__toc { background: #f7f7f9; border-radius: 14px; padding: 20px 24px; margin: 0 0 32px; }
.els-doc__toc-t { font-weight: 500; font-size: 18px; line-height: 26px; margin-bottom: 10px; color: #222228; }
.els-doc__toc ol { margin: 0; padding: 0 0 0 22px; columns: 2; column-gap: 32px; }
.els-doc__toc li { break-inside: avoid; margin: 0 0 6px; font-size: 15px; line-height: 22px; padding: 0 !important; }
.els-doc__toc li::before { display: none !important; }
.els-doc__toc a { color: #222228; text-decoration: none; }
.els-doc__toc a:hover { color: #dd1438; }
.right_block .middle > .container .els-doc h2.els-doc__h2, .middle .els-doc h2.els-doc__h2 { font-size: 20px; line-height: 28px; font-weight: 600; margin: 40px 0 16px; letter-spacing: .01em; scroll-margin-top: 140px; }
.middle .els-doc h3.els-doc__h3 { font-size: 18px; line-height: 26px; font-weight: 500; margin: 24px 0 10px; }
.middle .els-doc p { margin: 0 0 12px !important; }
.middle .els-doc p.els-doc__p { position: relative; padding-left: 64px; }
.els-doc__n { position: absolute; left: 0; top: 0; width: 58px; color: rgba(34,34,40,.48); font-weight: 500; font-variant-numeric: tabular-nums; }
.middle .els-doc ul.els-doc__list { margin: -4px 0 14px 64px; padding: 0; list-style: none; }
.middle .els-doc ul.els-doc__list > li { position: relative; padding: 0 0 0 18px !important; margin: 0 0 6px; }
.middle .els-doc ul.els-doc__list > li::before { content: '' !important; position: absolute !important; left: 2px !important; top: 10px !important; width: 6px !important; height: 6px !important; border-radius: 50%; background: #dd1438 !important; margin: 0 !important; }
@media (max-width: 767px) {
  .els-doc__toc { padding: 16px; margin-bottom: 24px; }
  .els-doc__toc ol { columns: 1; }
  .middle .els-doc h2.els-doc__h2 { font-size: 18px; line-height: 26px; margin-top: 32px; }
  .middle .els-doc p.els-doc__p { padding-left: 0; }
  .els-doc__n { position: static; width: auto; margin-right: 4px; }
  .middle .els-doc ul.els-doc__list { margin-left: 0; }
}
.els-doc__toc ul { margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 32px; }
.els-doc__toc li { display: flex; gap: 8px; }
.els-doc__toc li > span { flex: 0 0 24px; color: rgba(34,34,40,.48); font-variant-numeric: tabular-nums; }
@media (max-width: 767px) { .els-doc__toc ul { columns: 1; } }
/* продолжение пункта без номера — на уровне текста пунктов */
.middle .els-doc .els-doc__p ~ p:not([class]), .middle .els-doc h3 ~ p:not([class]) { padding-left: 64px; }
@media (max-width: 767px) { .middle .els-doc .els-doc__p ~ p:not([class]), .middle .els-doc h3 ~ p:not([class]) { padding-left: 0; } }

/* мобилка: кнопка на всю ширину — перебиваем flex:0 0 auto !important из elsity_cards.css (21.10) */
@media (max-width: 767px) {
  .catalog_block .catalog_item .footer_button .counter_wrapp > .button_block { flex: 1 1 auto !important; width: auto !important; min-width: 0; }
  .catalog_block .catalog_item .footer_button .counter_wrapp > .button_block .btn { width: 100% !important; }
}
/* мобилка, главная: «Хиты и новинки» — лента вбок вместо столбца из 10 карточек (21.10) */
@media (max-width: 767px) {
  .drag-block.CATALOG_TAB .catalog_block.items { flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-right: -16px; padding-right: 16px; -webkit-overflow-scrolling: touch; }
  .drag-block.CATALOG_TAB .catalog_block.items::-webkit-scrollbar { display: none; }
  .drag-block.CATALOG_TAB .catalog_block.items > .item { flex: 0 0 46% !important; width: 46% !important; max-width: 46% !important; scroll-snap-align: start; }
  .drag-block.CATALOG_TAB .bottom_nav, .drag-block.CATALOG_TAB .ajax_load_btn { display: none !important; }
}

/* «Ранее вы смотрели» — заголовок как у остальных блоков, слева (21.10) */
.viewed-wrapper h3.font_lg { text-align: left !important; font-size: 24px; line-height: 32px; font-weight: 500; }
@media (max-width: 767px) { .viewed-wrapper h3.font_lg { font-size: 20px; line-height: 26px; } }
/* меню подвала: обычный регистр без разрядки, как в Премьере (21.10) */
.bottom-menu .item > .title, .bottom-menu .item > .title a { text-transform: none !important; letter-spacing: 0 !important; font-size: 15px !important; line-height: 22px; font-weight: 500 !important; }

/* ===== Контакты /about/contacts/ (21.10) ===== */
.els-ct__main { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 0 8px; }
.els-ct__hero { grid-column: 1 / -1; background: #f7f7f9; border-radius: 16px; padding: 24px 28px; }
.els-ct__box, .els-ct__person { border: 1px solid #ececf1; border-radius: 14px; padding: 18px 20px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.els-ct__label { font-size: 13px; line-height: 18px; color: rgba(34,34,40,.48); margin-bottom: 4px; }
.els-ct__big { font-size: 32px; line-height: 40px; font-weight: 600; color: #222228 !important; text-decoration: none !important; }
.els-ct__name, .els-ct__role { font-weight: 500; color: #222228; }
.els-ct__scope { font-size: 14px; line-height: 20px; color: rgba(34,34,40,.6); margin-bottom: 6px; }
.els-ct__person .els-ct__name { margin-top: auto; padding-top: 8px; font-weight: 400; }
.els-ct__muted { font-size: 14px; line-height: 20px; color: rgba(34,34,40,.6); }
.els-page.els-ct a.els-ct__tel, .els-page.els-ct a.els-ct__mail { color: #222228; text-decoration: none; overflow-wrap: anywhere; }
.els-page.els-ct a.els-ct__mail { color: #dd1438; }
.els-page.els-ct a.els-ct__tel:hover, .els-page.els-ct a.els-ct__mail:hover { text-decoration: underline; }
.els-ct__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
@media (max-width: 991px) { .els-ct__main, .els-ct__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .els-ct__main, .els-ct__grid { grid-template-columns: 1fr; gap: 12px; } .els-ct__hero { padding: 20px; } .els-ct__big { font-size: 26px; line-height: 32px; } }
/* мобилка, карточка товара: поля 16 как у сайта, блок покупки без рамки и тени во всю ширину (21.10) */
@media (max-width: 767px) {
  #main .product-info.product-info--type2 { padding-left: 16px !important; padding-right: 16px !important; }
  #main .middle-info-wrapper .shadowed-block { border: 0 !important; box-shadow: none !important; border-radius: 0 !important; padding: 8px 0 0 !important; background: transparent !important; }
}
/* ===== Умный фильтр по образцу Аспро Премьер (21.10) ===== */
.bx_filter.bx_filter_vertical { background: transparent !important; }
.bx_filter.bx_filter_vertical .bx_filter_section { border: 0 !important; border-radius: 0 !important; background: transparent !important; }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box { padding: 0 0 24px !important; margin: 0 !important; border: 0 !important; background: transparent !important; }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box_title { padding: 0 !important; background: transparent !important; font-size: 15px !important; line-height: 22px !important; font-weight: 500 !important; color: #222228 !important; text-transform: none !important; letter-spacing: 0 !important; display: flex !important; align-items: center; gap: 4px; cursor: pointer; }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box_title > div, .bx_filter.bx_filter_vertical .bx_filter_parameters_box_title .title-wrapper { padding-left: 0 !important; font: inherit !important; color: inherit !important; }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box_title .title-wrapper::before, .bx_filter.bx_filter_vertical .bx_filter_parameters_box_title > div::before { display: none !important; }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box_title > i.svg-inline-down { position: static !important; flex: 0 0 16px; width: 16px; height: 16px; margin: 0 !important; background: #222228; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 6.5 8 10l3.5-3.5'/%3E%3C/svg%3E") center/16px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 6.5 8 10l3.5-3.5'/%3E%3C/svg%3E") center/16px no-repeat; transition: transform .2s; opacity: .7; }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box_title > i.svg-inline-down svg { display: none !important; }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box:not(.active) .bx_filter_parameters_box_title > i.svg-inline-down { transform: rotate(-90deg); }
.bx_filter.bx_filter_vertical .bx_filter_block { margin: 12px 0 0 !important; }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box_container { margin: 0 !important; }
.bx_filter.bx_filter_vertical .bx_filter_block.limited_block { max-height: 250px; scrollbar-width: thin; scrollbar-color: #d7d8da transparent; }
/* значения */
.bx_filter.bx_filter_vertical label.bx_filter_param_label { display: block; position: relative; min-height: 20px; margin: 0 0 12px !important; padding-left: 0 !important; font-size: 14px !important; line-height: 20px !important; color: #222228 !important; cursor: pointer; }
.bx_filter.bx_filter_vertical label.bx_filter_param_label .bx_filter_input_checkbox, .bx_filter.bx_filter_vertical label.bx_filter_param_label .bx_filter_param_text { font-size: 14px !important; line-height: 20px !important; color: #222228 !important; margin-bottom: 0 !important; }
.bx_filter.bx_filter_vertical label.bx_filter_param_label .bx_filter_param_text { margin-left: 30px !important; display: block; white-space: normal !important; }
.bx_filter.bx_filter_vertical label.bx_filter_param_label .bx_filter_param_text span[data-role^=count] { color: rgba(34,34,40,.48); }
.bx_filter.bx_filter_vertical label.bx_filter_param_label::after { content: '' !important; position: absolute !important; left: 0 !important; top: 0 !important; width: 20px !important; height: 20px !important; box-sizing: border-box; border: 1px solid #d7d8da !important; border-radius: 4px !important; background: #f8f8fc !important; }
.bx_filter.bx_filter_vertical label.bx_filter_param_label::before { content: '' !important; position: absolute !important; left: 0 !important; top: 0 !important; width: 20px !important; height: 20px !important; border-radius: 4px !important; z-index: 1; opacity: 0; background: #dd1438 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 5.2 4.6 8.2 10.5 1.8'/%3E%3C/svg%3E") center/12px 10px no-repeat !important; transition: opacity .15s; }
.bx_filter.bx_filter_vertical input[type=checkbox]:checked + label.bx_filter_param_label::before { opacity: 1 !important; }
.bx_filter.bx_filter_vertical label.bx_filter_param_label:hover::after { border-color: #b5b6ba !important; }
.bx_filter.bx_filter_vertical label.bx_filter_param_label.disabled { opacity: .4; }
/* цена */
.bx_filter.bx_filter_vertical .wrapp_change_inputs { display: flex !important; gap: 8px; width: 100% !important; }
.bx_filter.bx_filter_vertical .wrapp_change_inputs .bx_filter_parameters_box_container_block { flex: 1 1 0; width: auto !important; padding: 0 !important; margin: 0 !important; float: none !important; }
.bx_filter.bx_filter_vertical .wrapp_change_inputs .divider { display: none !important; }
.bx_filter.bx_filter_vertical .bx_filter_input_container.form-control { position: relative; height: 44px !important; padding: 0 !important; border: 1px solid #d7d8da !important; border-radius: 6px !important; background: #fff !important; }
.bx_filter.bx_filter_vertical .bx_filter_input_container.form-control::before { position: absolute; left: 12px; top: 0; line-height: 42px; font-size: 13px; color: rgba(34,34,40,.48); pointer-events: none; }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box_container_block:first-child .bx_filter_input_container::before { content: 'от'; }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box_container_block:nth-child(2) .bx_filter_input_container::before { content: 'до'; }
.bx_filter.bx_filter_vertical .bx_filter_input_container input { width: 100% !important; height: 42px !important; border: 0 !important; background: transparent !important; padding: 0 10px 0 34px !important; font-size: 15px !important; color: #222228 !important; box-shadow: none !important; }
.bx_filter.bx_filter_vertical .bx_filter_input_container.form-control:focus-within { border-color: #222228 !important; }
.bx_filter.bx_filter_vertical .wrapp_slider { width: 100% !important; padding: 18px 9px 0 !important; box-sizing: border-box; }
.bx_filter.bx_filter_vertical .bx_ui_slider_track { height: 2px !important; background: #e5e5ea !important; }
.bx_filter.bx_filter_vertical .bx_ui_slider_pricebar_V { background: #dd1438 !important; height: 2px !important; }
.bx_filter.bx_filter_vertical .bx_ui_slider_handle { width: 18px !important; height: 18px !important; top: -8px !important; margin-left: -9px !important; border-radius: 50% !important; background: #fff !important; border: 2px solid #dd1438 !important; box-shadow: 0 1px 4px rgba(0,0,0,.15) !important; }
.bx_filter.bx_filter_vertical .bx_ui_slider_handle.right { margin-left: 0 !important; margin-right: -9px !important; }
.bx_filter.bx_filter_vertical .bx_ui_slider_handle::before, .bx_filter.bx_filter_vertical .bx_ui_slider_handle::after { display: none !important; }
.bx_filter.bx_filter_vertical .bx_ui_slider_part span { font-size: 12px !important; color: rgba(34,34,40,.48) !important; }
.bx_filter.bx_filter_vertical .bx_ui_slider_part:not(.first):not(.last) span { display: none; }

/* ===== Фильтр на телефоне: весь экран, кнопки снизу (21.10) ===== */
@media (max-width: 991px) {
  #mobilefilter { width: 100% !important; left: -100% !important; background: #fff !important; }
  #mobilefilter.show { left: 0 !important; }
  #mobilefilter .bx_filter .slide-block__head { position: sticky; top: 0; z-index: 3; display: flex !important; align-items: center; height: 56px; padding: 0 56px 0 16px !important; margin: 0 !important; background: #fff !important; border-bottom: 1px solid #ececf1; font-size: 18px !important; line-height: 24px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0 !important; color: #222228 !important; }
  #mobilefilter .bx_filter .slide-block__head > i.svg-inline-catalog, #mobilefilter .bx_filter .slide-block__head > i.svg-inline-down { display: none !important; }
  #mobilefilter .bx_filter .slide-block__head > i.close-icons { position: absolute !important; right: 8px !important; top: 8px !important; width: 40px; height: 40px; display: flex !important; align-items: center; justify-content: center; margin: 0 !important; }
  #mobilefilter .bx_filter .bx_filter_section { padding: 0 16px 96px !important; }
  #mobilefilter .bx_filter .bx_filter_parameters_box { padding: 0 !important; border-bottom: 1px solid #ececf1 !important; }
  #mobilefilter .bx_filter .bx_filter_parameters_box_title { min-height: 52px; justify-content: space-between; }
  #mobilefilter .bx_filter .bx_filter_parameters_box_title > i.svg-inline-down { order: 3; }
  #mobilefilter .bx_filter .bx_filter_block { margin: 0 0 16px !important; }
  #mobilefilter .bx_filter .bx_filter_block.limited_block { max-height: none !important; overflow: visible !important; }
  #mobilefilter .bx_filter .bx_filter_parameters_box.els-col .bx_filter_block { display: none !important; }
  #mobilefilter .bx_filter .bx_filter_parameters_box.els-col .bx_filter_parameters_box_title > i.svg-inline-down { transform: rotate(-90deg); }
  #mobilefilter .bx_filter .bx_filter_parameters_box:not(.els-col) .bx_filter_parameters_box_title > i.svg-inline-down { transform: none; }
  #mobilefilter label.bx_filter_param_label { margin: 0 !important; padding: 10px 0 !important; min-height: 40px; }
  #mobilefilter label.bx_filter_param_label::after, #mobilefilter label.bx_filter_param_label::before { top: 10px !important; }
  #mobilefilter .els-cnt { margin-left: auto; margin-right: 8px; font-size: 13px; font-weight: 500; color: #fff; background: #dd1438; border-radius: 10px; min-width: 20px; height: 20px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; }
  #mobilefilter .els-lim label.bx_filter_param_label.els-over { display: none !important; }
  #mobilefilter .els-more { display: inline-block; margin: 6px 0 0; padding: 4px 0; font-size: 14px; color: #dd1438; background: none; border: 0; cursor: pointer; }
  #mobilefilter .els-fsearch { width: 100%; height: 40px; margin: 0 0 6px; padding: 0 12px; border: 1px solid #d7d8da; border-radius: 6px; font-size: 15px; background: #fff; }
  #mobilefilter label.bx_filter_param_label.els-hide { display: none !important; }
  /* кнопки внизу */
  #mobilefilter .bx_filter .bx_filter_button_box { position: fixed !important; left: 0; right: 0; bottom: 0; z-index: 4; margin: 0 !important; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important; background: #fff !important; border-top: 1px solid #ececf1; box-shadow: 0 -4px 16px rgba(0,0,0,.06); }
  #mobilefilter:not(.show) .bx_filter .bx_filter_button_box { display: none !important; }
  #mobilefilter .bx_filter .bx_filter_button_box .bx_filter_parameters_box_container { display: flex !important; gap: 8px; align-items: center; margin: 0 !important; }
  #mobilefilter .bx_filter .bx_filter_button_box .btn { height: 48px !important; border-radius: 10px !important; font-size: 15px !important; font-weight: 500 !important; display: inline-flex !important; align-items: center; justify-content: center; }
}@media (max-width: 991px) {
  #mobilefilter .bx_filter .bx_filter_button_box .filter-bnt-wrapper { flex: 1 1 auto; order: 2; }
  #mobilefilter .bx_filter .bx_filter_button_box #set_filter1 { width: 100% !important; background: #dd1438 !important; border-color: #dd1438 !important; color: #fff !important; }
  #mobilefilter .bx_filter .bx_filter_button_box #del_filter { order: 1; float: none !important; margin: 0 !important; padding: 0 16px !important; background: #fff !important; border: 1px solid #d7d8da !important; color: #222228 !important; }
  #mobilefilter .bx_filter .bx_filter_button_box #del_filter.hidden { display: none !important; }
  #mobilefilter .bx_filter .bx_filter_button_box #del_filter i { display: none !important; }
  #mobilefilter .bx_filter .bx_filter_button_box #del_filter::after { content: 'Сбросить'; }
  #mobilefilter .bx_filter .bx_filter_button_box .bx_filter_popup_result { display: none !important; }
}.bx_filter.bx_filter_vertical .bx_ui_slider_pricebar_VD, .bx_filter.bx_filter_vertical .bx_ui_slider_pricebar_VN, .bx_filter.bx_filter_vertical .bx_ui_slider_pricebar_V { top: 0 !important; height: 2px !important; }
.bx_filter.bx_filter_vertical .bx_ui_slider_pricebar_VD, .bx_filter.bx_filter_vertical .bx_ui_slider_pricebar_VN { background: transparent !important; }
.bx_filter.bx_filter_vertical .inner_expand_text { margin: 0 !important; }
.bx_filter.bx_filter_vertical .inner_expand_text .expand_block { font-size: 14px !important; line-height: 20px; color: #dd1438 !important; border: 0 !important; text-decoration: none !important; cursor: pointer; }
.bx_filter.bx_filter_vertical .inner_expand_text .expand_block:hover { text-decoration: underline !important; }
@media (max-width: 991px) {
  #mobilefilter .bx_filter .bx_filter_section { padding: 0 !important; }
  #mobilefilter .bx_filter .bx_filter_parameters { padding: 0 16px 96px !important; box-sizing: border-box !important; }
  #mobilefilter .bx_filter .bx_filter_button_box .btn { text-transform: none !important; letter-spacing: 0 !important; }
  #mobilefilter .bx_filter .slide-block__head { border-bottom: 1px solid #ececf1 !important; width: 100%; box-sizing: border-box; }
}@media (max-width: 991px) { #mobilefilter .bx_filter .slide-block__head, #mobilefilter .bx_filter .bx_filter_button_box { width: auto !important; max-width: none !important; right: 0 !important; } #mobilefilter .bx_filter .slide-block__head { width: 100% !important; } }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box_title .title-wrapper { margin-left: 0 !important; }
.bx_filter.bx_filter_vertical input[type=checkbox]:checked + label.bx_filter_param_label::after { opacity: 0 !important; transform: none !important; }
.bx_filter.bx_filter_vertical input[type=checkbox] + label.bx_filter_param_label::before, .bx_filter.bx_filter_vertical input[type=checkbox] + label.bx_filter_param_label::after { margin: 0 !important; transform: none !important; }
@media (max-width: 991px) { #mobilefilter input[type=checkbox] + label.bx_filter_param_label::before, #mobilefilter input[type=checkbox] + label.bx_filter_param_label::after { top: 10px !important; left: 0 !important; } }
.bx_filter.bx_filter_vertical label.bx_filter_param_label::before, .bx_filter.bx_filter_vertical label.bx_filter_param_label::after { transition: none !important; }
.bx_filter.bx_filter_vertical .wrapp_change_inputs > div[style*=clear] { display: none !important; }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box_title > i.svg-inline-down { transition: none !important; }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box.active .bx_filter_parameters_box_title > i.svg-inline-down { transform: none !important; }
.bx_filter.bx_filter_vertical .bx_filter_parameters_box:not(.active) .bx_filter_parameters_box_title > i.svg-inline-down { transform: rotate(-90deg) !important; }
@media (max-width: 991px) { #mobilefilter .bx_filter .bx_filter_parameters_box.els-col .bx_filter_parameters_box_title > i.svg-inline-down { transform: rotate(-90deg) !important; } #mobilefilter .bx_filter .bx_filter_parameters_box:not(.els-col) .bx_filter_parameters_box_title > i.svg-inline-down { transform: none !important; } }

/* телефон/планшет: «Фильтр» и «Сортировка» двумя кнопками над товарами, сортировка вынесена из фильтра (21.10) */
@media (max-width: 991px) {
  #mobilefilter .bx_filter .bx_sort_filter { display: none !important; }
  .filter-panel.sort_header { display: flex !important; align-items: center; gap: 8px; flex-wrap: wrap; }
  .filter-panel.sort_header .filter-panel__filter, .filter-panel.sort_header .filter-panel__sort { float: none !important; margin: 0 !important; padding: 0 !important; display: block !important; }
  .filter-panel.sort_header .controls-hr { display: none !important; }
  .filter-panel.sort_header .bx-filter-title.filter_title, .filter-panel.sort_header .filter-panel__sort .dropdown-select__title { display: inline-flex !important; align-items: center; gap: 6px; height: 40px; padding: 0 14px !important; border: 1px solid #d7d8da !important; border-radius: 10px !important; background: #fff !important; cursor: pointer; }
  .filter-panel.sort_header .bx-filter-title.filter_title span, .filter-panel.sort_header .filter-panel__sort .dropdown-select__title span { font-size: 14px !important; line-height: 20px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0 !important; color: #222228 !important; border: 0 !important; text-decoration: none !important; }
  .filter-panel.sort_header .bx-filter-title.filter_title .els-fcount { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: #dd1438; color: #fff; font-size: 12px; font-weight: 500; display: inline-flex; align-items: center; justify-content: center; }
  .filter-panel.sort_header .filter-panel__sort { position: relative; }
  .filter-panel.sort_header .filter-panel__sort .dropdown-select__list { left: 0; right: auto; min-width: 240px; z-index: 50; }
  .filter-panel.sort_header .filter-panel__sort .dropdown-select__list-link span { font-size: 14px !important; line-height: 20px; }
}@media (max-width: 991px) { .filter-panel.sort_header { flex-wrap: nowrap; } .filter-panel.sort_header .filter-panel__sort { min-width: 0; } .filter-panel.sort_header .filter-panel__sort .dropdown-select__title span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } }
@media (max-width: 991px) { .filter-panel-wrapper, .filter-panel.sort_header { position: relative; z-index: 60; } .filter-panel.sort_header .filter-panel__sort .dropdown-select__list { max-width: calc(100vw - 32px); min-width: 0; width: max-content; box-shadow: 0 8px 24px rgba(0,0,0,.12); border-radius: 12px; overflow: hidden; } .filter-panel.sort_header .filter-panel__sort .dropdown-select__list-link span { white-space: normal; } }
@media (max-width: 991px) { .filter-panel.sort_header .filter-panel__sort .dropdown-select__list { left: auto !important; right: 0 !important; } }

/* фильтр: значения-радиокнопки (Цвет и т.п.) — отступ под отметку и круглая отметка (21.10) */
.bx_filter.bx_filter_vertical label.bx_filter_param_label .bx_filter_input_checkbox > span { margin-left: 30px !important; display: block; font-size: 14px !important; line-height: 20px !important; color: #222228 !important; }
.bx_filter.bx_filter_vertical input[type=radio] + label.bx_filter_param_label::after, .bx_filter.bx_filter_vertical input[type=radio] + label.bx_filter_param_label::before { border-radius: 50% !important; }
.bx_filter.bx_filter_vertical input[type=radio] + label.bx_filter_param_label::before { background: #fff !important; border: 6px solid #dd1438 !important; box-sizing: border-box; }
.bx_filter.bx_filter_vertical input[type=radio]:checked + label.bx_filter_param_label::before { opacity: 1 !important; }
.bx_filter.bx_filter_vertical input[type=radio]:checked + label.bx_filter_param_label::after { opacity: 0 !important; }
.bx_filter.bx_filter_vertical .label_block.radio { margin: 0 !important; padding: 0 !important; }
