/**
 * Подключается ПОСЛЕ CMax::Start отдельным файлом (Bitrix не дедуплицирует путь с home.css).
 * Перекрывает Aspro colored.css / widths без template_styles.
 *
 * Важно: не трогать .middle / .container / .container_inner / .left_block / .right_block
 * глобальным width/float — иначе ломается каталог (особенно mobile <992).
 */

/* --- Меню каталога redesign: сброс Aspro ul>li тире --- */
body.redesign .catalog-menu--dual ul,
body.redesign .catalog-drop__list,
body.redesign .catalog-drop__grand,
body.redesign .catalog-drop__subs {
  margin-left: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}
body.redesign .catalog-menu--dual ul > li,
body.redesign .catalog-drop__list > li,
body.redesign .catalog-drop__grand > li,
body.redesign .catalog-drop__subs > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.redesign .catalog-menu--dual ul > li:before,
body.redesign .catalog-menu--dual ul > li::before,
body.redesign .catalog-drop__list > li:before,
body.redesign .catalog-drop__list > li::before,
body.redesign .catalog-drop__grand > li:before,
body.redesign .catalog-drop__grand > li::before,
body.redesign .catalog-drop__subs > li:before,
body.redesign .catalog-drop__subs > li::before {
  content: none !important;
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- Контакты на главной: Aspro ul>li margin-left:21px + тире --- */
body.redesign .contact-hits,
body.redesign ul.contact-hits {
  margin: 28px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.redesign .contact-hits > li,
body.redesign ul.contact-hits > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.redesign .contact-hits > li:before,
body.redesign .contact-hits > li::before,
body.redesign ul.contact-hits > li:before,
body.redesign ul.contact-hits > li::before {
  content: none !important;
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Aspro footer .footer-inner даёт тёмный фон — сбрасываем для redesign.
 * Не трогаем margin:auto у .wrap — иначе пропадает боковой отступ. */
body.redesign footer.redesign-footer .footer-inner {
  position: relative !important;
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
}
body.redesign footer.redesign-footer .wrap.footer-inner {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* --- Ссылки: Aspro body a { text-decoration: underline } --- */
body.redesign a,
body.redesign a:hover,
body.redesign a:focus,
body.redesign a:active {
  text-decoration: none !important;
  text-decoration-color: transparent !important;
}
/* Aspro a:hover { color:#333 } — кнопки шапки остаются белыми */
body.redesign .ask-btn,
body.redesign .ask-btn:hover,
body.redesign .ask-btn:focus,
body.redesign .ask-btn:active,
body.redesign .catalog-btn,
body.redesign .catalog-btn:hover,
body.redesign .catalog-btn:focus,
body.redesign .catalog-btn:active,
body.redesign .catalog-menu:hover .catalog-btn,
body.redesign .catalog-menu.is-open .catalog-btn {
  color: #fff !important;
}
body.redesign .foot-copy a,
body.redesign .foot-copy a:hover,
body.redesign .form-legal a,
body.redesign .form-legal a:hover,
body.redesign .cookie a,
body.redesign .cookie a:hover,
body.redesign .contact-info a.nap-item:hover span:last-child {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* --- Внешние обёртки внутренних страниц (только outer) --- */
body.redesign.redesign--inner > .wrapper1,
body.redesign.redesign--inner > .wrapper1 > .wraps,
body.redesign.redesign--inner .redesign-aspro-content,
body.redesign.redesign--inner .redesign-aspro-content > .wraps {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Ширина как у Aspro width-3: content 1348 + padding*2 = 1408 */
body.redesign.redesign--inner .wrapper1 > .wraps > .wrapper_inner,
body.redesign.redesign--inner .wrapper1 .page-top.maxwidth-theme,
body.redesign.redesign--inner .redesign-aspro-content > .wraps > .wrapper_inner,
body.redesign.redesign--inner .redesign-aspro-content .page-top.maxwidth-theme {
  width: 100% !important;
  max-width: calc(
    var(--theme-page-width, 1348px) + 2 * var(--theme-page-width-padding, 30px)
  ) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--theme-page-width-padding, 30px) !important;
  padding-right: var(--theme-page-width-padding, 30px) !important;
  box-sizing: border-box !important;
}

@media (max-width: 991px) {
  body.redesign.redesign--inner .wrapper1 > .wraps > .wrapper_inner,
  body.redesign.redesign--inner .wrapper1 .page-top.maxwidth-theme,
  body.redesign.redesign--inner .redesign-aspro-content > .wraps > .wrapper_inner,
  body.redesign.redesign--inner .redesign-aspro-content .page-top.maxwidth-theme {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Вложенный maxwidth / .container — без второго max-width (заказ/корзина) */
body.redesign.redesign--inner .wrapper_inner .maxwidth-theme,
body.redesign.redesign--inner .wrapper_inner .container.container,
body.redesign.redesign--inner .wrapper_inner > .container_inner > .middle > .container,
body.redesign.redesign--inner .wrapper_inner .middle > .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

body.redesign.redesign--inner .wrapper1 .top-block-wrapper,
body.redesign.redesign--inner .redesign-aspro-content .top-block-wrapper {
  width: 100% !important;
}

/* --- Главная: сброс обёрток Aspro вокруг блоков redesign --- */
body.redesign.redesign--home .wrapper1,
body.redesign.redesign--home .wrapper1 .wraps,
body.redesign.redesign--home .wrapper1 .wrapper_inner,
body.redesign.redesign--home .wrapper1 .container_inner,
body.redesign.redesign--home .wrapper1 .middle,
body.redesign.redesign--home .wrapper1 .right_block {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  background: transparent !important;
  display: block !important;
}
body.redesign.redesign--home .wrapper1 .left_block,
body.redesign.redesign--home #headerfixed,
body.redesign.redesign--home #mobileheader,
body.redesign.redesign--home .header_wrap {
  display: none !important;
}

/* Внутренние страницы: aspro mobileheader не нужен — chrome redesign */
body.redesign.redesign--inner #mobileheader,
body.redesign.redesign--inner .header_wrap {
  display: none !important;
}

/* Мобильный фильтр каталога поверх sticky-шапки */
body.redesign #mobilefilter {
  z-index: 10050 !important;
}
body.redesign #mobilefilter-overlay {
  z-index: 10040 !important;
}
body.redesign.redesign--home .wrapper1 .container_inner {
  display: block !important;
  flex-direction: unset !important;
  gap: 0 !important;
}
body.redesign.redesign--home .wrapper1 .right_block.wide_Y,
body.redesign.redesign--home .wrapper1 .right_block {
  width: 100% !important;
  flex: none !important;
}

body.redesign #cookie_notification {
  display: none !important;
}

/* Бегущая строка под шапкой (не sticky) — на всех страницах redesign */
body.redesign .ticker {
  display: block;
}

/* --- Подвал: Aspro custom.css footer { background:#104578 } --- */
body.redesign footer.redesign-footer,
body.redesign footer.redesign-footer .footer-inner,
body.redesign footer {
  background: #f7f7f7 !important;
  background-color: #f7f7f7 !important;
  color: #111 !important;
}
body.redesign footer.redesign-footer a,
body.redesign footer a {
  color: inherit !important;
}
body.redesign footer.redesign-footer a:hover,
body.redesign footer a:hover {
  color: #34b4d9 !important;
}

/* --- Логотип chrome redesign (не aspro_max/images — там файла нет) --- */
body.redesign header#top .logo img,
body.redesign header#top .redesign-logo img,
body.redesign header#header .redesign-logo img,
body.redesign header.redesign-chrome .redesign-logo img,
body.redesign footer.redesign-footer .foot-logo .redesign-logo-img,
body.redesign footer.redesign-footer .foot-logo img {
  display: block !important;
  height: 52px !important;
  width: auto !important;
  max-width: min(220px, 100%) !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}
/* Aspro часто центрирует img в footer через margin:auto — держим слева */
body.redesign footer.redesign-footer .foot-logo {
  margin: 4px 0 10px !important;
  line-height: 0 !important;
  text-align: left !important;
}
body.redesign footer.redesign-footer .foot-logo .redesign-logo-img,
body.redesign footer.redesign-footer .foot-logo img {
  margin: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  float: none !important;
}
body.redesign header#top.is-compact .logo img,
body.redesign header#top.is-compact .redesign-logo img,
body.redesign header#header.is-compact .redesign-logo img,
body.redesign header.redesign-chrome.is-compact .redesign-logo img {
  height: 40px !important;
}

/* Sticky «Позвонить/Заявка» — не на каталоге/карточке (не путать с Aspro buy) */
body.redesign.redesign--inner .sticky,
body.redesign.catalog_page .sticky {
  display: none !important;
}
@media (max-width: 980px) {
  body.redesign.redesign--inner,
  body.redesign.catalog_page {
    padding-bottom: 0 !important;
  }
}

/* Карточка/листинг: только визуальные конфликты home.css — размеры Aspro не трогаем */
body.redesign .catalog_detail .btn,
body.redesign .product-container .btn,
body.redesign .buy_block .btn,
body.redesign .offer_buy_block .btn,
body.redesign .counter_wrapp .btn,
body.redesign .button_block .btn,
body.redesign .catalog_block .btn {
  border-radius: 0 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  transform: none !important;
  box-shadow: none !important;
  font-family: inherit !important;
}

/* «В избранное» / «Сравнить»: убрать лишний верхний зазор (десктоп + моб) */
body.redesign .catalog_detail .product-main > .product-info-headnote,
body.redesign .catalog_detail .product-main > .product-info-headnote--bordered {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.redesign .product-view--type2 .product-info > .flexbox > .product-main {
  padding-top: 0 !important;
}
body.redesign .wrapper_inner.wide_page .product-view--type2 .product-info.product-info--type2 {
  padding-top: 0.733rem !important; /* как у галереи */
}
body.redesign .product-info-headnote--bordered {
  margin-bottom: 20px !important;
  padding-bottom: 14px !important;
}
body.redesign .product-info-headnote .flexbox.flexbox--row {
  align-items: flex-start !important;
}
@media (max-width: 1199px) {
  body.redesign .product-view--type2 .product-info > .flexbox > .product-main,
  body.redesign .product-view--type2 .product-info > .flexbox > div:not(.product-detail-gallery) {
    padding-top: 12px !important;
  }
}

/*
 * «Подробнее» (ce_cmp_visible): только в слайдерах.
 * На сайте всегда compact-catalog — Aspro сам её не прячет в сетке.
 */
body.redesign .catalog_block:not(.owl-carousel):not(.mobile-overflow) .ce_cmp_visible,
body.redesign .catalog_block.items:not(.owl-carousel):not(.mobile-overflow) .btn.basket.read_more {
  display: none !important;
}
body.redesign .catalog_block.owl-carousel .ce_cmp_visible,
body.redesign .catalog_block.mobile-overflow .ce_cmp_visible,
body.redesign .owl-carousel .ce_cmp_visible,
body.redesign .compact-catalog-slider .ce_cmp_visible,
body.redesign .tabs_slider .ce_cmp_visible {
  display: block !important;
}
body.redesign .catalog_block.owl-carousel .ce_cmp_visible .btn.basket.read_more,
body.redesign .catalog_block.mobile-overflow .ce_cmp_visible .btn.basket.read_more,
body.redesign .owl-carousel .ce_cmp_visible .btn.basket.read_more,
body.redesign .compact-catalog-slider .ce_cmp_visible .btn.basket.read_more,
body.redesign .tabs_slider .ce_cmp_visible .btn.basket.read_more {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 40px !important;
  max-height: none !important;
  line-height: 1.25 !important;
  padding: 10px 12px !important;
  white-space: normal !important;
  overflow: visible !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/*
 * Счётчик + «В корзину»: одинаковая высота.
 * НЕ задаём display на .to-cart/.in-cart — Aspro переключает их через style="display:none".
 */
body.redesign .counter_wrapp:not(.ce_cmp_visible) .button_block .btn.to-cart,
body.redesign .counter_wrapp:not(.ce_cmp_visible) .button_block .btn.in-cart {
  box-sizing: border-box !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 38px !important;
  border-width: 1px !important;
}
body.redesign .counter_wrapp:not(.ce_cmp_visible):has(.counter_block.md) .button_block .btn.to-cart,
body.redesign .counter_wrapp:not(.ce_cmp_visible):has(.counter_block.md) .button_block .btn.in-cart {
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  line-height: 46px !important;
}
/* Листинг: counter_block.big + кнопка = 48px (как визуально ровнее с border) */
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible):has(.counter_block.big) .button_block .btn.to-cart,
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible):has(.counter_block.big) .button_block .btn.in-cart,
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible) .button_block .btn.btn-exlg {
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  line-height: 46px !important;
}
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible) > .counter_block.big,
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible) > .counter_block.big input[type="text"] {
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  box-sizing: border-box !important;
}
body.redesign .counter_wrapp .button_block .btn.to-cart .svg,
body.redesign .counter_wrapp .button_block .btn.in-cart .svg,
body.redesign .counter_wrapp .button_block .btn.to-cart > span,
body.redesign .counter_wrapp .button_block .btn.in-cart > span {
  vertical-align: middle !important;
  line-height: 1 !important;
}

/* Ряд счётчик|кнопка — не трогаем ce_cmp_visible (Подробнее) */
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible),
body.redesign .counter_wrapp.big:not(.ce_cmp_visible) {
  display: flex !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
}
/* 50/50 только когда рядом есть счётчик и кнопка не .wide */
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible):has(> .counter_block):has(> .button_block:not(.wide)) > .counter_block,
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible):has(> .counter_block_inner):has(> .button_block:not(.wide)) > .counter_block_inner,
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible):has(> .counter_block):has(> .button_block:not(.wide)) > .button_block:not(.wide),
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible):has(> .counter_block_inner):has(> .button_block:not(.wide)) > .button_block:not(.wide),
body.redesign .counter_wrapp.big:not(.ce_cmp_visible):has(> .counter_block_inner):has(> .button_block:not(.wide)) > .counter_block_inner,
body.redesign .counter_wrapp.big:not(.ce_cmp_visible):has(> .counter_block_inner):has(> .button_block:not(.wide)) > .button_block:not(.wide) {
  float: none !important;
  flex: 1 1 50% !important;
  width: 50% !important;
  max-width: 50% !important;
  margin: 0 !important;
  align-self: stretch !important;
}
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible) > .button_block,
body.redesign .counter_wrapp:not(.ce_cmp_visible) > .button_block,
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible) > .button_block.wide,
body.redesign .counter_wrapp:not(.ce_cmp_visible) > .button_block.wide {
  float: none !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  align-self: stretch !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
body.redesign .counter_wrapp:not(.ce_cmp_visible) > .counter_block,
body.redesign .counter_wrapp:not(.ce_cmp_visible) .counter_block_inner .counter_block {
  width: 100% !important;
  box-sizing: border-box !important;
}
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible) > .button_block .btn.to-cart,
body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible) > .button_block .btn.in-cart {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}
/* Моб. compact-catalog: счётчик скрыт Aspro — кнопка на всю ширину карточки.
 * Специфичность = правилу 50/50 выше (:has), иначе max-width:50% побеждает. */
@media (max-width: 600px) {
  body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible):has(> .counter_block):has(> .button_block:not(.wide)) > .button_block:not(.wide),
  body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible):has(> .counter_block_inner):has(> .button_block:not(.wide)) > .button_block:not(.wide),
  body.redesign .counter_wrapp.big:not(.ce_cmp_visible):has(> .counter_block_inner):has(> .button_block:not(.wide)) > .button_block:not(.wide),
  body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible) > .button_block,
  body.redesign .counter_wrapp:not(.ce_cmp_visible) > .button_block {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible) > .button_block .btn.to-cart,
  body.redesign .catalog_block .counter_wrapp:not(.ce_cmp_visible) > .button_block .btn.in-cart {
    font-size: 12px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}

/* Цвет «В корзину» — без display (visibility переключает Aspro) */
body.redesign .buy_block .btn.to-cart,
body.redesign .offer_buy_block .btn.to-cart,
body.redesign .counter_wrapp .btn.to-cart,
body.redesign .button_block .btn.to-cart,
body.redesign .catalog_block .btn.to-cart {
  background-color: var(--theme-base-color, #34b4d9) !important;
  border-color: var(--theme-base-color, #34b4d9) !important;
  color: #fff !important;
}
body.redesign .buy_block .btn.to-cart:hover,
body.redesign .offer_buy_block .btn.to-cart:hover,
body.redesign .counter_wrapp .btn.to-cart:hover,
body.redesign .button_block .btn.to-cart:hover,
body.redesign .catalog_block .btn.to-cart:hover {
  background-color: var(--theme-base-color-hover, #1e9fc4) !important;
  border-color: var(--theme-base-color-hover, #1e9fc4) !important;
  color: #fff !important;
  transform: none !important;
  box-shadow: none !important;
}
body.redesign .buy_block .btn.in-cart,
body.redesign .offer_buy_block .btn.in-cart,
body.redesign .counter_wrapp .btn.in-cart,
body.redesign .button_block .btn.in-cart,
body.redesign .catalog_block .btn.in-cart {
  background-color: #fff !important;
  color: var(--theme-base-color, #34b4d9) !important;
  border-color: var(--theme-base-color, #34b4d9) !important;
  text-align: center !important;
}
/* «В корзине»: SVG скрыт Aspro (display:none у svg), но обёртка .svg занимает место */
body.redesign .btn.in-cart .svg,
body.redesign .btn.in-cart .svg.svg-inline-fw,
body.redesign .counter_wrapp .btn.in-cart .svg,
body.redesign .button_block .btn.in-cart .svg {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
body.redesign .btn.in-cart > span,
body.redesign .counter_wrapp .btn.in-cart > span,
body.redesign .button_block .btn.in-cart > span {
  display: inline !important;
  margin: 0 !important;
  float: none !important;
  vertical-align: middle !important;
}

/* --- Заказ --- */
body.redesign.redesign--inner #bx-soa-order,
body.redesign.redesign--inner #bx-soa-order-form {
  width: 100% !important;
  max-width: none !important;
}
body.redesign #bx-soa-order .pandd,
body.redesign #bx-soa-order-form .pandd {
  display: none !important;
}

/* --- Каталог / поиск ---
 * left_block живёт в .main-catalog-wrapper, не в container_inner.
 * На container_inner единственный flex-ребёнок — right_block: gap-32 +
 * clearfix::after давали зазор ~32px относительно заголовка.
 */
body.redesign.redesign--inner .container_inner.flexbox {
  align-items: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  --gap: 0px !important;
}
body.redesign.redesign--inner .container_inner::after,
body.redesign.redesign--inner .container_inner::before {
  content: none !important;
  display: none !important;
}

/* Desktop: боковая колонка фильтра */
@media (min-width: 992px) {
  body.redesign.redesign--inner .main-catalog-wrapper > .left_block {
    flex: 0 0 var(--width-left-block, 244px) !important;
    width: var(--width-left-block, 244px) !important;
    max-width: var(--width-left-block, 244px) !important;
    min-width: var(--width-left-block, 244px) !important;
  }
  body.redesign.redesign--inner .main-catalog-wrapper > .section-content-wrapper {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }
}

/* Mobile/tablet: Aspro сам скрывает .left_block; не навязываем flex-ширины */
@media (max-width: 991px) {
  body.redesign.redesign--inner .main-catalog-wrapper {
    display: block !important;
    width: 100% !important;
  }
  body.redesign.redesign--inner .main-catalog-wrapper > .section-content-wrapper,
  body.redesign.redesign--inner .container_inner > .right_block {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    min-width: 0 !important;
  }
}

body.redesign.redesign--inner .main-catalog-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  align-items: flex-start !important;
}

body.redesign.redesign--inner .section-content-wrapper .catalog,
body.redesign.redesign--inner .section-content-wrapper .catalog.block,
body.redesign.redesign--inner .section-content-wrapper .js_wrapper_items,
body.redesign.redesign--inner .section-content-wrapper .inner_wrapper,
body.redesign.redesign--inner .section-content-wrapper .top_wrapper,
body.redesign.redesign--inner .section-content-wrapper .items_wrapper,
body.redesign.redesign--inner .section-content-wrapper .catalog_block_template,
body.redesign.redesign--inner .section-content-wrapper .ajax_load,
body.redesign.redesign--inner .section-content-wrapper .ajax_load > div {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Сетка товаров в листинге/поиске.
 * Не трогаем owl-carousel («Смотрите также», рекомендации и т.п.) —
 * иначе display:grid схлопывает карусель до одного товара. */
body.redesign.redesign--inner .catalog_block.items.row.flexbox:not(.owl-carousel) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  float: none !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
body.redesign.redesign--inner .catalog_block.items.row.flexbox:not(.owl-carousel)::before,
body.redesign.redesign--inner .catalog_block.items.row.flexbox:not(.owl-carousel)::after {
  display: none !important;
  content: none !important;
}
body.redesign.redesign--inner .catalog_block.items.row.flexbox:not(.owl-carousel) > .item_block {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  justify-self: stretch !important;
}
body.redesign.redesign--inner .catalog_block.items:not(.owl-carousel) .catalog_item_wrapp,
body.redesign.redesign--inner .catalog_block.items:not(.owl-carousel) .item_block .catalog_item_wrapp,
body.redesign.redesign--inner .catalog_block.items:not(.owl-carousel) .item_block .catalog_item {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
body.redesign.redesign--inner .catalog_block.items:not(.owl-carousel) .catalog_item .image img,
body.redesign.redesign--inner .catalog_block.items:not(.owl-carousel) .catalog_item_wrapp img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain;
}

@media (max-width: 575px) {
  body.redesign.redesign--inner .catalog_block.items.row.flexbox:not(.owl-carousel) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 768px) {
  body.redesign.redesign--inner .catalog_block.items.row.flexbox:not(.owl-carousel) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1200px) {
  body.redesign.redesign--inner .catalog_block.items.row.flexbox:not(.owl-carousel) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Подвал не наезжает на товары (Aspro .middle { float } + overflow) */
body.redesign.redesign--inner {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
}
body.redesign.redesign--inner > main.page-main {
  flex: 1 0 auto !important;
  display: flow-root !important;
  overflow: visible !important;
  height: auto !important;
}
body.redesign.redesign--inner .container_inner .middle,
body.redesign.redesign--inner .right_block > .middle {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
}
body.redesign.redesign--inner .wrapper1.redesign-aspro-content,
body.redesign.redesign--inner #content.wraps,
body.redesign.redesign--inner .wrapper_inner,
body.redesign.redesign--inner .section-content-wrapper,
body.redesign.redesign--inner .ajax_load,
body.redesign.redesign--inner .js_wrapper_items,
body.redesign.redesign--inner .top_wrapper.items_wrapper {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
body.redesign.redesign--inner #content.wraps {
  display: flow-root !important;
  position: relative;
  z-index: auto;
}
body.redesign.redesign--inner .wrapper_inner::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}
body.redesign.redesign--inner > footer.redesign-footer {
  position: relative !important;
  z-index: auto !important;
  clear: both !important;
  flex-shrink: 0 !important;
  margin-top: auto;
}
