/* настройки показа городов */
#top .prmn-cmngr {
  padding-right: 25px;
}
.prmn-cmngr__title-text:empty {
  display: none !important;
}

/* Блок подписки: светлая плашка → тёмный текст (было #fff на #ddd, contrast 1.36) */
:root {
  --subscribe-info-c: #2d2d2d;
  --subscribe-points-c: #c8102e;
}
#subscribe .row-flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0 20px;
  overflow: visible;
}
#subscribe form > .row {
  overflow: visible;
}
#subscribe .subscribe__info {
  display: flex;
  align-items: center;
  flex: 0 1 auto;
  min-height: 40px;
  color: #2d2d2d !important;
}
#subscribe .subscribe__icon {
  color: #c8102e !important;
  font-size: 28px;
  line-height: 1;
  width: auto;
  height: auto;
  margin: 0 12px 0 0;
  flex-shrink: 0;
}
#subscribe .subscribe__agree {
  align-items: flex-start;
  color: #555 !important;
}
#subscribe .subscribe__agree a,
#subscribe .subscribe__agree b {
  color: #2d2d2d !important;
}
#subscribe .subscribe__agree input {
  margin-top: 3px;
}
#subscribe .col-md-7 {
  flex: 1 1 auto;
  min-width: 0;
}
@media (max-width: 767px) {
  #subscribe .row-flex {
    flex-direction: column;
    align-items: stretch;
    gap: 12px 0;
    overflow: visible;
  }
  #subscribe .subscribe__info {
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: normal;
  }
  #subscribe .col-md-7,
  #subscribe .col-sm-12 {
    width: 100%;
    max-width: 100%;
    flex: 1 1 100%;
  }
}
#subscribe .subscribe__block {
  display: flex;
  align-items: stretch;
  min-width: 0;
}
#subscribe .subscribe__inputs {
  flex: 1 1 auto;
  min-width: 0;
}
#subscribe .subscribe__input-email {
  height: 40px !important;
  border: 1px solid #cfcfcf;
  background: #fff;
  box-shadow: none;
  padding-left: 12px;
  padding-right: 12px;
}
#subscribe .subscribe__input-email::placeholder {
  color: #888;
  opacity: 1;
}
#subscribe .subscribe__input-password {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none;
}
#subscribe .subscribe__btn.btn {
  flex: 0 0 auto;
  width: auto !important;
  min-width: 220px;
  height: 40px !important;
  min-height: 40px;
  padding: 0 16px !important;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
#subscribe .subscribe__btn.btn > i {
  display: none;
}
@media (max-width: 767px) {
  #subscribe .subscribe__btn.btn {
    width: 100% !important;
    min-width: 0;
  }
}

.product-description {
  overflow-x: auto;
}

.product-description table {
  max-width: 100%;
  width: 100% !important;
  height: auto !important;
  table-layout: auto;
}

.product-description th,
.product-description td {
  padding: 8px 10px;
  word-break: normal;
}

@media (max-width: 767px) {
  .product-description table {
    display: block;
    width: 100% !important;
  }

  .product-description th,
  .product-description td {
    white-space: normal;
  }
}

@media (max-width: 992px) {
  .notification.fixed {
    bottom: 126px;
  }
}

/* BelZAP: цены с НДС — не показывать «Без НДС» */
.price-tax {
  display: none !important;
}

/* Карточка: код правее ленты, без белой полосы.
   Вертикальная лента превью слева — обычная колонка, без rotate(90deg) у Owl. */
.rating-model {
  z-index: auto !important;
  background: transparent !important;
}
@media (min-width: 1345px) {
  #product.has-additional .rating-model {
    padding-left: 100px;
  }
  .product-page__image.has-additional:not(.fixed).left-1345 .product-page__image-wrapper,
  .product-page__image.has-additional:not(.fixed).left-1600 .product-page__image-wrapper {
    position: relative;
    padding-left: 100px;
  }
  .product-page__image.has-additional:not(.fixed).left-1345 .product-page__image-main,
  .product-page__image.has-additional:not(.fixed).left-1600 .product-page__image-main {
    margin-bottom: 0;
  }
  .product-page__image.has-additional:not(.fixed).left-1345 .product-page__image-addit,
  .product-page__image.has-additional:not(.fixed).left-1600 .product-page__image-addit {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 2;
    width: 84px !important;
    height: auto !important;
    margin: 0;
    transform: none !important;
    opacity: 1 !important;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .product-page__image.has-additional:not(.fixed).left-1345 .product-page__image-addit .owl-stage-outer,
  .product-page__image.has-additional:not(.fixed).left-1600 .product-page__image-addit .owl-stage-outer {
    height: auto !important;
    overflow: visible !important;
  }
  .product-page__image.has-additional:not(.fixed).left-1345 .product-page__image-addit .owl-stage,
  .product-page__image.has-additional:not(.fixed).left-1600 .product-page__image-addit .owl-stage {
    display: flex !important;
    flex-direction: column !important;
    width: 84px !important;
    transform: none !important;
    transition: none !important;
  }
  .product-page__image.has-additional:not(.fixed).left-1345 .product-page__image-addit .owl-item,
  .product-page__image.has-additional:not(.fixed).left-1600 .product-page__image-addit .owl-item {
    width: 80px !important;
    float: none;
    padding: 0 0 8px;
    transform: none !important;
  }
  .product-page__image.has-additional:not(.fixed).left-1345 .product-page__image-addit .owl-item img,
  .product-page__image.has-additional:not(.fixed).left-1600 .product-page__image-addit .owl-item img {
    width: 80px;
    height: 80px;
    max-width: 100%;
    object-fit: contain;
    transform: none !important;
  }
  .product-page__image.has-additional:not(.fixed).left-1345 .product-page__image-addit .owl-nav,
  .product-page__image.has-additional:not(.fixed).left-1600 .product-page__image-addit .owl-nav {
    display: none !important;
  }
}

/* Телефон: горизонтальная лента превью, без leftover rotate/absolute с десктопа */
@media (max-width: 1344px) {
  .product-page__image.has-additional:not(.fixed) .product-page__image-wrapper {
    padding-left: 0;
  }
  .product-page__image.has-additional:not(.fixed) .product-page__image-addit {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    bottom: auto !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 -6px;
    transform: none !important;
    overflow: visible;
    opacity: 1 !important;
  }
  .product-page__image.has-additional:not(.fixed) .product-page__image-addit .owl-stage-outer {
    height: auto !important;
    overflow: hidden;
  }
  .product-page__image.has-additional:not(.fixed) .product-page__image-addit .owl-item {
    transform: none !important;
    height: auto !important;
    padding: 0 6px;
  }
  .product-page__image.has-additional:not(.fixed) .product-page__image-addit .owl-item img {
    width: 100%;
    height: auto;
    object-fit: contain;
    transform: none !important;
    display: block;
  }
}

/* Сетка каталога: подпись поверх стикеров.
   Не ставить position:relative на caption — в UniShop 3.6.4
   .product-thumb__cart-btns absolute и тогда наезжают на название. */
.product-thumb__image {
  z-index: 0;
}
.product-thumb__caption {
  z-index: 2;
  overflow: visible;
}
/* Clamp the title without -webkit-box on the phone: caption is display:grid
   there, and Grid + -webkit-box has crash-reloaded iOS Safari. max-height
   is enough to stop Owl jumping on hover. */
.product-thumb__name {
  flex: 0 0 auto;
  overflow: hidden;
  max-height: 4.35em;
  line-height: 1.45;
  min-height: 0;
  align-self: start;
  word-break: break-word;
}
.product-thumb__name:hover,
.product-thumb__name:focus,
.product-thumb:hover .product-thumb__name,
.product-thumb.hover .product-thumb__name {
  overflow: hidden;
  max-height: 4.35em;
  color: var(--prod-thumb-name-hover);
}
@media (max-width: 991px) {
  .product-thumb__name,
  .product-thumb__name:hover,
  .product-thumb__name:focus,
  .product-thumb:hover .product-thumb__name,
  .product-thumb.hover .product-thumb__name {
    display: block;
    -webkit-line-clamp: unset;
    line-clamp: unset;
  }
}
@media (min-width: 992px) {
  .product-thumb__name,
  .product-thumb__name:hover,
  .product-thumb__name:focus,
  .product-thumb:hover .product-thumb__name,
  .product-thumb.hover .product-thumb__name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    text-overflow: ellipsis;
  }
  .uni-module .product-thumb,
  .uni-module .owl-item > .product-thumb {
    height: 100%;
  }
}
.compact-view .product-thumb__name,
.compact-view .product-thumb__name:hover,
.compact-view .product-thumb:hover .product-thumb__name {
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  max-height: none;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.product-thumb__model {
  z-index: 2;
  flex-shrink: 0;
}

/* Наличие: шкала как в теме; точное кол-во («1 шт.») — таблетка по наведению.
   На телефоне шкалы нет, пилюля видна сразу. */
.qty-indicator__status {
  display: none;
}
.product-thumb .qty-indicator {
  margin: 0 0 8px;
  width: auto;
  max-width: 100%;
  white-space: nowrap;
}
.product-thumb .qty-indicator__status {
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
}
.product-thumb .qty-indicator__status.t-0,
.product-thumb .qty-indicator__status.t-1 {
  color: #c8102e;
  background: #fff0f2;
}
.product-thumb .qty-indicator__status.t-2 {
  color: #b86a28;
  background: #fff6ee;
}
.product-thumb .qty-indicator__status.t-3,
.product-thumb .qty-indicator__status.t-4,
.product-thumb .qty-indicator__status.t-5 {
  color: #2f7a1f;
  background: #f1f8ec;
}
@media (min-width: 992px) {
  .product-thumb .qty-indicator:hover .qty-indicator__status,
  .product-thumb .qty-indicator:focus-within .qty-indicator__status {
    display: inline-flex;
  }
  .product-thumb .qty-indicator--empty {
    visibility: hidden;
    pointer-events: none;
  }
}
@media (max-width: 991px) {
  .product-thumb .qty-indicator:before,
  .product-thumb .qty-indicator__bar {
    display: none !important;
  }
  .product-thumb .qty-indicator--empty {
    display: flex !important;
    visibility: hidden;
    height: 19px;
    overflow: hidden;
    pointer-events: none;
  }
  .product-thumb .qty-indicator__status {
    display: inline-flex;
  }
}
@media (min-width: 992px) {
  .uni-module .product-thumb__name {
    min-height: 4.35em;
  }
  .uni-module .product-thumb__image {
    flex: 0 0 auto;
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 0;
    overflow: hidden;
  }
  .uni-module .product-thumb__image > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  .uni-module .product-thumb__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }
}
@media (max-width: 991px) {
  .product-thumb__caption {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-auto-flow: dense;
    column-gap: 8px;
    row-gap: 0;
    align-items: center;
  }
  .product-thumb__caption > * {
    grid-column: 1 / -1;
  }
  .product-thumb__model {
    grid-column: 1;
    margin: 0 0 8px;
    font-size: 12px;
    line-height: 1.3;
    color: #6b6b6b;
    font-variant-numeric: tabular-nums;
  }
  .product-thumb__model:before {
    display: inline !important;
    content: 'Код ';
    font-weight: 400;
    color: #9a9a9a;
  }
  .product-thumb .qty-indicator {
    grid-column: 2;
    margin: 0 0 8px;
  }
}
.compact-view .product-thumb__caption,
.list-view .product-thumb__caption {
  display: flex;
}
.compact-view .product-thumb__caption > *,
.list-view .product-thumb__caption > * {
  grid-column: auto;
}
/* Цена + кнопка одним блоком внизу. auto на .cart оставлял дыру
   между ценой и «В корзину» / «Нет в наличии». */
.uni-module .product-thumb__price,
.uni-module .product-thumb__price-cart {
  margin-top: auto;
}
.uni-module .product-thumb__cart {
  margin-top: 8px;
  padding-top: 0;
}
.product-thumb__cart.qty-0 .qty-switch {
  display: none !important;
}
/* Избранное/сравнение — к карточке (над фото), не к caption */
.product-thumb__cart-btns {
  z-index: 3;
}

/* 2 колонки: qty + «Нет в наличии» не влезают в карточку (тема прячет qty только ≤380px). */
@media (max-width: 991px) {
  .product-thumb .qty-switch {
    display: none !important;
  }
  .product-thumb__cart {
    min-width: 0;
    max-width: 100%;
  }
  .product-thumb__add-to-cart {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* BelZAP: «В корзину» как компактный CTA слайда, не 48px hero.
   qty 56px + margin 15px + кнопка 116px не влезают в 6 колонок ~190px. */
.product-thumb__cart {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 6px;
  margin-right: 0;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.product-thumb .qty-switch {
  flex: 0 0 auto;
  margin: 0;
  height: 36px;
}
.product-thumb .qty-switch__input {
  height: 36px;
  box-sizing: border-box;
}
.product-thumb__add-to-cart.btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 36px;
  height: 36px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  border: none;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(
    145deg,
    var(--bz-btn-red-light, #e82248) 0%,
    var(--bz-btn-red, #c8102e) 42%,
    var(--bz-btn-red-dark, #9e0c24) 100%
  );
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.12) inset,
    0 4px 12px rgba(200, 16, 46, 0.28);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.product-thumb__add-to-cart.btn i {
  display: inline-block;
  margin-right: 5px;
  font-size: 12px;
  position: relative;
  z-index: 2;
}
.product-thumb__add-to-cart.btn span {
  display: inline;
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;
  z-index: 2;
}
.product-thumb__add-to-cart.btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -120%;
  width: 55%;
  height: 100%;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0.08) 35%,
    rgba(255, 255, 255, 0.32) 50%,
    rgba(255, 255, 255, 0.08) 65%,
    transparent 100%
  );
  transform: skewX(-18deg);
  pointer-events: none;
  z-index: 1;
}
.product-thumb__add-to-cart.btn:hover,
.product-thumb__add-to-cart.btn:focus {
  color: #fff;
  transform: translateY(-1px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.18) inset,
    0 8px 18px rgba(200, 16, 46, 0.4);
}
.product-thumb__add-to-cart.btn:hover::before,
.product-thumb__add-to-cart.btn:focus::before {
  animation: bz-btn-shine 0.65s ease;
}

/* Карточка товара: переход на схему автокаталога */
.product-page__acat-schema {
  margin: 12px 0 4px;
}
.product-page__acat-schema-btn {
  font-weight: 600;
  white-space: normal;
  line-height: 1.3;
}
.product-page__acat-schema-btn .fa-drafting-compass,
.product-page__acat-schema-btn .fas {
  margin-right: 6px;
}
.product-page__acat-schema-hint {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.4;
}
.product-acat-usage__btn {
  white-space: nowrap;
}
.product-acat-usage__btn .fas {
  margin-right: 4px;
}
@media (max-width: 767px) {
  .product-acat-usage__btn span {
    display: none;
  }
  .product-acat-usage__btn .fas {
    margin-right: 0;
  }
}

/* BelZAP AutoOpt+ search */
.bz-brand-clarify{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.bz-brand-clarify__item{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #d8d8d8;background:#fff;color:#222;text-decoration:none;font-size:13px;line-height:1.2}
.bz-brand-clarify__item:hover,.bz-brand-clarify__item.active{border-color:#c8102e;color:#c8102e}
.bz-brand-clarify__item--all{border-style:dashed}
.bz-brand-clarify__article{opacity:.75;font-size:12px;font-variant-numeric:tabular-nums}
.bz-brand-clarify__count{opacity:.65;font-variant-numeric:tabular-nums}
.bz-search-filters{margin:0 0 14px}
.bz-search-filters__chip{display:inline-block;padding:6px 12px;border:1px solid #d8d8d8;background:#f7f7f7;color:#222;text-decoration:none;font-size:13px}
.bz-search-filters__chip.active,.bz-search-filters__chip:hover{border-color:#c8102e;color:#c8102e;background:#fff}
.bz-search-card__brand{font-size:12px;font-weight:700;color:#444;margin:4px 0 2px}
.bz-search-card__analog{display:inline-block;font-size:12px;color:#8a5a00;background:#fff8e8;border-left:3px solid #e0a84a;padding:2px 8px 2px 6px;margin:4px 0 3px;line-height:1.35}
.bz-search-card__appl{font-size:12px;color:#555;margin:2px 0;line-height:1.35}
.bz-search-card__appl span{color:#888;margin-right:2px}
.bz-search-card__stock{font-size:12px;color:#1a7f37;margin:2px 0}
.bz-search-card__crosses,.product-page__crosses,.product-data__item.bz-page-crosses{display:none!important}
.bz-search-card__crosses span{color:#999;margin-right:2px}
.bz-search-card__cross{color:#2a6db0;text-decoration:none;white-space:nowrap}
.bz-search-card__cross:hover{text-decoration:underline;color:#1a4f8a}
#tab-analogs table{font-size:13px}
#tab-analogs th,#tab-analogs td{vertical-align:middle}
#tab-analogs a{color:#1a4f8a}

/* Article convertor (bulk list / Excel) */
.bz-convertor__intro{margin:0 0 8px;font-size:15px;line-height:1.45;color:#333;max-width:52rem}
.bz-convertor__links{margin:0 0 16px;font-size:13px;color:#666}
.bz-convertor__links a{color:#c8102e}
.bz-convertor__textarea{width:100%;min-height:180px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.45;resize:vertical}
.bz-convertor__drop{margin:12px 0;padding:14px 16px;border:1px dashed #c8c8c8;background:#fafafa}
.bz-convertor__drop.is-dragover{border-color:#c8102e;background:#fff5f6}
.bz-convertor__drop-inner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}
.bz-convertor__drop-text{font-size:13px;color:#555}
.bz-convertor__file-label{position:relative;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer;color:#c8102e;background:#fff;border:1px solid #c8102e;border-radius:var(--border-radius-1, 8px)}
.bz-convertor__file-label input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bz-convertor__file-name{font-size:12px;color:#333;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width: 575px) {
  .bz-convertor__drop-inner{flex-direction:column;align-items:flex-start}
}
.bz-convertor__file-hint{display:block;font-size:12px;color:#777}
.bz-convertor__error{margin:8px 0;color:#c8102e;font-size:13px}
.bz-convertor__actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 20px}
.bz-convertor__stats{margin:0 0 12px;font-size:13px;color:#444}
.bz-convertor__toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.bz-convertor__table-wrap{overflow-x:auto;border:1px solid #e5e5e5;background:#fff}
.bz-convertor__table{width:100%;border-collapse:collapse;font-size:13px}
.bz-convertor__table th,.bz-convertor__table td{padding:8px 10px;border-bottom:1px solid #eee;vertical-align:top;text-align:left}
.bz-convertor__table th{background:#f6f6f6;font-weight:600;white-space:nowrap}
.bz-convertor__query span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.bz-convertor__query small{display:block;color:#888;margin-top:2px}
.bz-convertor__badge{display:inline-block;padding:2px 7px;font-size:11px;line-height:1.3;border:1px solid #ccc}
.bz-convertor__badge--exact{border-color:#1a7f37;color:#1a7f37}
.bz-convertor__badge--prefix{border-color:#0b6e99;color:#0b6e99}
.bz-convertor__badge--fuzzy{border-color:#b36b00;color:#b36b00}
.bz-convertor__badge--missing{border-color:#999;color:#666}
.bz-convertor__stock{color:#1a7f37}
.bz-convertor__oos{color:#888}
.bz-convertor__price .old{text-decoration:line-through;color:#999;margin-right:4px}
.bz-convertor__row--missing{background:#fafafa}
.bz-convertor__row--oos{opacity:.85}
.bz-convertor__cart-wrap{display:inline-block}
.bz-convertor__empty{margin:16px 0;color:#666}
.bz-search-convertor-link{display:inline-block;margin:10px 0 0;font-size:13px}
.bz-search-convertor-link a{color:#c8102e}
.live-search__meta{font-size:12px;color:#666;margin-top:2px}
.live-search__brand{font-weight:700;color:#333}
.live-search__stock{color:#1a7f37}
.live-search__history{padding:6px 10px}
.live-search__history-item{display:inline-block;margin:0 6px 6px 0;padding:4px 8px;background:#f2f2f2;color:#333;font-size:12px;cursor:pointer;border:0}
.live-search__section.brand-clarify{color:#c8102e}
.bz-did-you-mean{margin:16px 0 24px;padding:14px 16px;background:#fff8f0;border-left:3px solid #e0a84a}
.bz-did-you-mean__title{font-weight:700;margin:0 0 10px;color:#333}
.bz-did-you-mean__list{display:flex;flex-wrap:wrap;gap:8px}
.bz-did-you-mean__item{display:inline-block;padding:6px 12px;background:#fff;border:1px solid #e0c090;color:#222;text-decoration:none;font-size:13px}
.bz-did-you-mean__item:hover{border-color:#c8102e;color:#c8102e}

/* BelZAP: шапка — поиск не сжимается на узких десктопах/планшетах */
@media (min-width: 992px) and (max-width: 1199px) {
  .header-block__item-logo {
    flex: 0 1 150px;
    max-width: 150px;
    padding-right: 8px;
  }
  .header-logo {
    max-width: 140px;
  }
  .header-block__item-menu {
    padding: 0 8px 0 0;
  }
  .header-menu__btn {
    padding-left: 10px;
    padding-right: 10px;
  }
  .header-block__item-search {
    flex: 1 1 280px;
    min-width: 240px;
    padding: 0 10px;
  }
  .header-block__item-telephone {
    flex: 0 0 auto;
    padding: 0 6px;
  }
  .header-phones.has-addit {
    padding-right: 22px;
  }
  /* вторая строка (email) — экономим ширину */
  .header-block__item-telephone .header-phones__main.two-line:nth-of-type(2) {
    display: none;
  }
  .header-block__item-wishlist,
  .header-block__item-compare {
    display: none;
  }
  .header-block__item-cart {
    padding-left: 8px;
  }
}

/* BelZAP: мобильный ряд «Каталог + поиск» — flex вместо float */
@media (max-width: 991px) {
  header .belzap-header-search-row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
  }
  header .belzap-header-search-row > .main-menu {
    float: none;
    width: auto;
    flex: 0 0 auto;
  }
  header .menu-open {
    float: none;
    margin: 0 10px 0 0;
  }
  header #search2 {
    display: flex !important;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    padding: 0 10px 0 0;
  }
  header #search2 .header-search {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
  }
  /* Поле + лупа одной полосой 34px, телефон рядом.
     Тема ставит лупе top:50% + translateY(-50%) — без сброса она съезжает. */
  header #search2 .header-search__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    column-gap: 6px;
    align-items: stretch;
    width: 100%;
    height: 34px;
  }
  header #search2 .header-search__input {
    grid-column: 1;
    grid-row: 1;
    width: 100% !important;
    min-width: 0;
    height: 34px;
    padding-right: 36px !important;
  }
  header #search2 .search-btn-clear {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    margin-right: 36px;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    z-index: 2;
  }
  header #search2 .header-search__btn {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    align-self: stretch;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    width: 36px;
    height: 34px !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  header #search2 .belzap-header-phone {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    flex: none;
    margin-left: 0;
    height: 34px;
  }
  /* Выпадающий поиск не шире поля: min-width 92vw от левого края инпута даёт горизонтальный скролл */
  header #search2 .live-search__ul {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
}

/* BelZAP: мегаменю — каскад колонок L2 | L3 (как AutoOpt/Автоальянс) */
@media (min-width: 992px) {
  .menu1.new {
    overflow-x: visible;
  }
  .menu1.new .menu__level-2.column-1,
  .menu1.new .menu__level-2.column-2,
  .menu1.new .menu__level-2.column-3,
  .menu1.new .menu__level-2.column-4 {
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: flex-start;
    width: 280px;
    padding: 8px 0;
    overflow: visible;
  }
  .menu1.new .menu__level-2-ul,
  .menu1.new .menu__level-2-ul.col-md-3,
  .menu1.new .menu__level-2-ul.col-md-4,
  .menu1.new .menu__level-2-ul.col-md-6,
  .menu1.new .menu__level-2-ul.col-md-12 {
    /* static — чтобы L3 позиционировался от панели, а не от строки */
    position: static;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    width: 280px;
    max-width: 280px;
    padding: 0 8px;
    float: none;
  }
  .menu1.new .menu__level-2-ul.col-md-4:nth-child(n+4):before,
  .menu1.new .menu__level-2-ul.col-md-3:nth-child(n+5):before,
  .menu1.new .menu__level-2-ul.col-md-6:nth-child(1n+3):before,
  .menu1.new .menu__level-2-ul.col-md-12:nth-child(n+2):before {
    display: none;
  }
  /* на случай has-image — не ломаем колонку превьюшками */
  .menu1.new .menu__level-2-ul.has-image {
    padding-left: 8px !important;
  }
  .menu1.new .menu__level-2-ul.has-image > div {
    display: block;
  }
  .menu1.new .menu__level-2-img {
    display: none !important;
  }
  .menu1.new .menu__level-2-a {
    position: relative;
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 40px;
    margin: 0;
    padding: 8px 8px 8px 10px;
    font-weight: 500;
    border-radius: var(--border-radius-1);
  }
  .menu1.new .menu__level-2-ul.is-open > .menu__level-2-a {
    color: var(--menu-main-level-2-c-hover);
    background: rgba(0 0 0 / .04);
  }
  /* как у L1: отдельная кнопка справа (flex, не absolute — иначе ломает L3) */
  .menu1.new i.menu__chevron-level-2 {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: static;
    flex: 0 0 30px;
    top: auto;
    right: auto;
    z-index: 2;
    width: 30px;
    height: 30px;
    margin: 0;
    font-size: 0.7em;
    line-height: 30px !important;
    color: var(--menu-main-level-2-c);
    opacity: 0.45;
    cursor: pointer;
    transform: rotate(-90deg);
  }
  .menu1.new .menu__level-2-ul.is-open > i.menu__chevron-level-2,
  .menu1.new i.menu__chevron-level-2.open {
    opacity: 0.85;
  }
  .menu1.new .menu__level-3 {
    display: none;
    position: absolute;
    top: 0;
    left: 280px;
    z-index: 3;
    width: 320px;
    height: 100%;
    max-height: 100%;
    margin: 0;
    padding: 10px 16px 16px;
    overflow-x: hidden;
    overflow-y: auto;
    background: var(--menu-main-level-2-bg, #f8f8f8);
    border-left: 1px solid rgba(0 0 0 / .06);
    box-shadow: none;
  }
  .menu1.new .menu__level-2-ul.is-open > .menu__level-3,
  .menu1.new .menu__level-3.active {
    display: block;
  }
  /* L3 висит справа от колонки 280px — расширяем панель, иначе hover срывается */
  .menu1.new .menu__level-2.bz-l3-open {
    width: 600px;
  }
  .menu1.new .menu__more {
    display: none !important;
  }
  .menu1.new .menu__level-3-ul {
    padding: 0;
  }
  .menu1.new .menu__level-3-a {
    min-height: 34px;
    padding: 6px 0;
  }
  .menu1.new .menu__level-3-a.menu__level-3-all {
    font-weight: 600;
    color: var(--menu-main-level-2-c);
  }
  .menu1.new .menu__level-3-li + li {
    margin-top: 0;
  }
  .menu1.new .menu__back {
    display: none !important;
  }
}

/* BelZAP: hide city confirm popup */
.prmn-cmngr__confirm { display: none !important; }

/* BelZAP: hero slideshow — 1920×327 strip. Overlay must fit ~194px at 1138px
   without the 48px bundle button eating the banner. min-height only kicks in
   below ~1057px content width so tablet does not clip title+text+cta. */
.home-page .uni-slideshow_v2-0.uni-slideshow_v2 {
  border: none;
}
.home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__btn {
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 18px !important;
  font-size: 11px !important;
}

@media (min-width: 768px) {
  /* держать слайдер в ширине .uni-module, не раздувать как вложенный .row */
  .home-page .content-top > .uni-slideshow_v2-0.uni-slideshow_v2 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__item.text-over-image {
    height: auto !important;
    max-height: none !important;
    min-height: 180px !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__image.text-over-image {
    flex: 0 0 100% !important;
    width: 100% !important;
    line-height: 0 !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__image.text-over-image img,
  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 180px !important;
    aspect-ratio: 1920 / 327;
    object-fit: cover !important;
    object-position: right center !important;
    display: block !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__image.text-over-image::after {
    background: linear-gradient(100deg, rgba(18, 28, 38, .82) 0%, rgba(18, 28, 38, .42) 28%, rgba(18, 28, 38, .08) 44%, transparent 54%) !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__description.text-over-image {
    left: 0 !important;
    right: auto !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    width: min(400px, 40%) !important;
    max-width: calc(100% - 24px) !important;
    margin: 0 0 0 clamp(14px, 2.8vw, 40px) !important;
    padding: 0 !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__title {
    margin: 0 0 6px !important;
    font-size: clamp(1.05rem, 1.5vw, 1.35rem) !important;
    line-height: 1.2 !important;
    letter-spacing: .04em !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__text {
    margin: 0 0 10px !important;
    max-width: none !important;
    font-size: clamp(.82rem, 1.1vw, .95rem) !important;
    line-height: 1.4 !important;
  }
}

/* BelZAP: mobile hero slideshow — square art, tablet visible, text bottom */
@media (max-width: 767px) {
  .home-page .content-top > .uni-slideshow_v2-0.uni-slideshow_v2 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__item.text-over-image {
    /* keep explicit height so owl-carousel does not collapse */
    height: min(100vw, 420px) !important;
    max-height: 420px !important;
    min-height: 280px !important;
    align-items: stretch !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__image.text-over-image {
    position: absolute;
    inset: 0;
    flex: none !important;
    width: 100% !important;
    height: 100% !important;
    line-height: 0 !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__image.text-over-image img,
  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    /* 576–767 still uses the 1920×327 desktop file; tablet sits on the right */
    object-position: right 35% !important;
    display: block !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__image.text-over-image::after {
    background: linear-gradient(180deg, rgba(18, 28, 38, .12) 0%, rgba(18, 28, 38, .05) 38%, rgba(18, 28, 38, .7) 76%, rgba(18, 28, 38, .92) 100%) !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__description.text-over-image {
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 16px 16px 14px !important;
    background: transparent !important;
    border: none !important;
    text-shadow: none !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__title {
    color: #fff !important;
    text-align: left !important;
    margin: 0 0 6px !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__text {
    display: block !important;
    color: rgba(255, 255, 255, .92) !important;
    text-align: left !important;
    margin: 0 0 10px !important;
    font-size: .82rem !important;
    line-height: 1.4 !important;
  }

  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__btns {
    display: block !important;
    text-align: left !important;
  }
}

@media (max-width: 575px) {
  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__image.text-over-image img,
  .home-page .uni-slideshow_v2-0.uni-slideshow_v2 .uni-slideshow_v2__img {
    /* square mobile-v11: tablet in the middle band */
    object-position: center 42% !important;
  }
}

/* BelZAP: OCFilter mobile scroll fix 2026-08-11 */
@media (max-width: 767px) {
  html { height: auto !important; min-height: 100% !important; width: auto !important; }
  body { min-height: auto !important; }
  .ocf-container.ocf-mobile-1:not(.ocf-mobile-active) { pointer-events: none !important; }
  .ocf-container.ocf-mobile-1:not(.ocf-mobile-active) .ocf-btn-mobile-fixed,
  .ocf-container.ocf-mobile-1:not(.ocf-mobile-active) .ocf-btn-mobile-fixed * { pointer-events: auto !important; }
}


/* BelZAP: keep #top visible on mobile — avoid scroll jump */
@media (max-width: 767px) {
  #top.top-menu,
  #top.top-menu.top-menu--hidden {
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    padding-top: inherit !important;
    padding-bottom: inherit !important;
    margin: inherit !important;
    pointer-events: auto !important;
  }
  body.header-fixed-active {
    /* prevent padding jumps if theme adds them */
  }
}

/* BelZAP: news = same visual as .uni-banner__a / __img / __title */
.home-page .news-module .owl-item {
  padding: 0 10px !important;
}
.home-page .news-module .news-thumb.uni-item {
  position: relative !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
  border-radius: var(--border-radius-1) !important;
}
.home-page .news-module .news-thumb__image {
  position: relative;
  display: block;
  width: 100%;
  /* same ratio as category banners 1200x800 */
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: var(--border-radius-1);
  background: transparent;
  line-height: 0;
}
.home-page .news-module .news-thumb__image a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: var(--border-radius-1);
}
.home-page .news-module .news-thumb__image a:after {
  display: none !important;
}
.home-page .news-module .news-thumb__image img,
.home-page .news-module .news-thumb__image .img-responsive {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  transition: transform .2s linear;
}
.home-page .news-module .news-thumb:hover .news-thumb__image img {
  transform: scale(1.05);
}
/* подпись под баннером: если картинка не загрузится, плитка не пустая */
.home-page .news-module .news-thumb.uni-item {
  overflow: visible !important;
}
.home-page .news-module .news-thumb__description {
  display: flex !important;
  flex-direction: column;
  padding: 10px 2px 0 !important;
  background: transparent;
}
.home-page .news-module .news-thumb__category-date-viewed,
.home-page .news-module .news-thumb__text {
  display: none !important;
}
.home-page .news-module .news-thumb__name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  margin: 0;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 1.35;
  color: var(--heading-c, #222);
  white-space: normal;
}
@media (max-width: 575px) {
  .home-page .news-module .news-thumb.uni-item {
    padding: 0 !important;
    margin: 0 0 10px !important;
  }
  .home-page .news-module .owl-item {
    padding: 0 8px !important;
  }
}

/* Автокаталог: цена — ссылка темы (оранжевая) на оранжевой выделенной строке */
#ac-parts-table .selected a {
  color: #fff !important;
}

/* Карточка: длинная подпись КП не должна вылезать за край на узких экранах */
.product-page__live-pdf {
  max-width: 100%;
}
.product-page__live-pdf a.btn {
  white-space: normal !important;
  line-height: 1.3;
  text-align: center;
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 575px) {
  .product-page__live-pdf {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .product-page__live-pdf a.btn {
    width: 100% !important;
  }
}

/* Infinite listing: dim «Показать ещё» while the next page loads */
.show-more.bz-show-more-loading .show-more__btn {
  opacity: 0.65;
  pointer-events: none;
}

/* Fly-block: overlay the page (fixed), do not push listing aside.
   Back is visible on the phone stack. */
.fly-block__back {
  display: none;
}

/* Мобилка: колбэк, назад и «наверх» поверх контента, над нижним меню */
@media (max-width: 991px) {
  .fly-block,
  .fly-block.mobile-menu-bottom,
  .fly-block.mobile-menu-bottom-2 {
    position: fixed !important;
    right: 12px !important;
    left: auto !important;
    bottom: 76px !important; /* 62px fly-menu + 14px gap */
    width: 44px;
    z-index: 1020 !important;
    pointer-events: none;
  }
  .fly-block .fly-block__item {
    pointer-events: auto;
    width: 44px;
    height: 44px;
    margin: 0 0 10px;
    font-size: 18px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
  }
  .fly-block .fly-block__item:last-child {
    margin-bottom: 0;
  }
  .fly-block__back {
    display: flex !important;
  }
  .fly-block__scrollup:not(.visible) {
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    pointer-events: none;
    transform: scale(0);
    box-shadow: none;
  }
}

@media (max-width: 767px) {
  .fly-block,
  .fly-block.mobile-menu-bottom,
  .fly-block.mobile-menu-bottom-2 {
    bottom: 86px !important; /* 72px fly-menu + 14px gap */
  }
  #subscribe {
    padding-right: 15px;
  }
}

/* Блок автокаталога на главной */
.bz-acat-module {
  margin: 0 0 20px;
}
.bz-acat-module__icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 12px 16px;
  margin-bottom: 1rem;
  padding: 0.5rem 0;
}
.bz-acat-module__icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 88px;
  padding: 8px 6px 6px;
  border-radius: 10px;
  background: #f3f3f3;
  text-align: center;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s, transform 0.2s, background 0.2s;
}
.bz-acat-module__icon:hover,
.bz-acat-module__icon:focus {
  opacity: 1;
  transform: scale(1.04);
  background: #ececec;
  text-decoration: none;
  color: inherit;
}
.bz-acat-module__icon img {
  height: 48px;
  width: 48px;
  object-fit: contain;
}
.bz-acat-module__icon-name {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.25;
  color: #444;
}
.bz-acat-module__search {
  max-width: 720px;
  margin: 0 auto 12px;
}
.bz-acat-module__link {
  text-align: center;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .bz-acat-module__icon {
    width: 100px;
  }
  .bz-acat-module__icon img {
    height: 56px;
    width: 56px;
  }
}
@media (max-width: 575px) {
  .bz-acat-module__search.input-group {
    display: flex;
    flex-wrap: wrap;
  }
  .bz-acat-module__search .form-control {
    width: 100%;
    border-radius: 4px;
  }
  .bz-acat-module__search .input-group-btn {
    width: 100%;
    margin-top: 8px;
  }
  .bz-acat-module__search .input-group-btn .btn {
    width: 100%;
  }
}

/* Контакты: карта не должна вылезать за экран */
.contacts__map iframe {
  max-width: 100%;
  width: 100% !important;
}

/* Каталог: сортировка на мобилке читается целиком и не уезжает под вкладку «Фильтр» */
@media (max-width: 767px) {
  .sorts-block,
  .sorts-block__wrapper {
    flex-wrap: wrap;
  }
  .sorts-block {
    padding-left: 40px;
  }
  /* Search has no OCFilter tab — the 40px left gutter looks empty. */
  #product-search .sorts-block {
    padding-left: 0;
  }
  .sorts-block__sorts {
    flex: 1 1 100%;
    margin: 0 0 8px;
  }
  #input-sort.sorts-block__select,
  .sorts-block__select.visible-xs {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    margin: 0 0 8px;
  }
  .sorts-block__sorts .sorts-block__select {
    width: 100%;
    max-width: 100%;
  }
  .contacts__contacts .contact-list__item {
    white-space: normal;
  }
}

.error-not-found__404-text {
  margin: 0;
  padding: 0 25px;
  font-size: 1.35em;
  font-weight: 500;
  line-height: 1.3;
  color: inherit;
}
.error-not-found__hint {
  margin: 12px 0 0;
  color: #666;
}
.bz-info-card--dark h3,
.bz-info-card--accent h3,
.bz-info-cta--dark h3 {
  color: #fff;
}
.error-not-found__actions,
.bz-empty-specials__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 16px 0 0;
}
.bz-empty-specials__hint {
  margin: 8px 0 0;
  color: #666;
  font-size: 14px;
}
.bz-empty-specials p {
  margin: 0;
}
@media (max-width: 575px) {
  .error-not-found__actions .btn,
  .bz-empty-specials__actions .btn {
    flex: 1 1 100%;
  }
}

.manufacturer-index {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  align-items: center;
  margin: 0 0 20px;
  padding: 12px 14px;
  background: #f3f3f3;
  border-radius: 8px;
}
.manufacturer-index strong {
  margin-right: 6px;
}
.manufacturer-index a {
  min-width: 28px;
  text-align: center;
  font-weight: 700;
}

@media (max-width: 767px) {
  .account-register .col-sm-10,
  .account-login .col-sm-10,
  .account-forgotten .col-sm-10,
  #account-register .col-sm-10,
  #account-login .col-sm-10,
  #account-forgotten .col-sm-10,
  #account-login .account-login__wrapper,
  #account-forgotten .account-forgotten,
  .contact-form .col-sm-10,
  .bz-empty-specials,
  .error-not-found__actions,
  #product-article-convertor .bz-convertor {
    padding-right: 62px;
  }

  /* Listings stay full width. Fly-block is position:fixed over the page. */
  #product-category #content:not(.bz-category-hub),
  #product-search #content,
  #product-manufacturer-info #content {
    padding-right: 15px !important;
  }

  /* Hub: 52px was only on the right (fly-block), so .bz-hub-stack sat left of center.
     Equal gutters; fly-block is position:fixed and does not need content offset. */
  #product-category #content.bz-category-hub {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  #product-category .bz-hub-row {
    margin-left: -15px;
    margin-right: -15px;
  }
  #product-category .bz-hub-stack {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* UniShop 3.6.5: extra photos on listing cards when JS injects the strip */
@media (max-width: 575px) {
  .product-thumb__addit { display: flex !important; }
}

/* iOS: FastCGI can still serve hub HTML with inline display:contents.
   !important beats that <style> even when custom.css loads first.
   Do NOT make .content-top a flex container — the alphabet inside
   has ~1000 links and flex+order crashes WebKit. */
.bz-hub-stack > #bz-ao-catalog,
.bz-hub-stack > .bz-ao-groups {
  display: flex !important;
  flex-direction: column !important;
}
.bz-hub-stack > #bz-ao-catalog { order: 1 !important; }
.bz-hub-stack > .bz-hub-categories { order: 3 !important; }
.bz-hub-stack > .bz-ao-groups { order: 4 !important; }
.bz-hub-stack > .content-top { order: 5 !important; }
.bz-hub-stack > .bz-hub-recommended { order: 6 !important; }

/* content-visibility:auto on iOS WebKit has crash-reloaded the tab. */

/* Viewport units on the closed catalog menu resize with the iOS chrome
   and reload the tab. Theme sets height:100vh on EVERY L2/L3 panel
   (even off-screen). Address-bar show/hide recalculates all of them,
   layout thrashes, Jetsam kills the tab. Height only on the open layer;
   svh does not follow the chrome. */
@media (max-width: 991px) {
  .menu-wrapper:not(.show) {
    visibility: hidden;
    pointer-events: none;
  }
  /* visibility:visible on a child punches through a hidden parent.
     Closed catalog otherwise leaks sticky «Назад» bars (blank untitled overlay). */
  .menu-wrapper:not(.show) * {
    pointer-events: none !important;
  }
  .menu-wrapper .menu__collapse {
    height: 0 !important;
    max-height: none !important;
  }
  .menu.slide-from-right .menu__level-2:not(.active),
  .menu.slide-from-right .menu__level-3:not(.active) {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }
  .menu-wrapper.show .menu__collapse {
    height: calc(100svh - 54px) !important;
    max-height: calc(100svh - 54px) !important;
    visibility: visible;
  }
  .menu-wrapper.show .menu.slide-from-right .menu__level-2.active,
  .menu-wrapper.show .menu.slide-from-right .menu__level-3.active {
    display: block !important;
    height: calc(100svh - 54px) !important;
    max-height: calc(100svh - 54px) !important;
    visibility: visible;
    right: 0 !important;
  }
  /* Back only on the open panel. Forcing every .menu__back visible
     painted ~50 sticky bars through closed/hidden L2/L3. */
  .menu.slide-from-right .menu__back,
  .menu.slide-from-right .menu__back.hidden,
  .menu1.new.slide-from-right .menu__back {
    display: none !important;
    visibility: hidden !important;
    position: static;
  }
  .menu-wrapper.show .menu.slide-from-right .menu__level-2.active > .menu__back,
  .menu-wrapper.show .menu.slide-from-right .menu__level-3.active > .menu__back {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: sticky;
    top: 0;
    z-index: 6;
    background: var(--menu-main-level-2-bg, #f8f8f8);
  }
  .fly-menu__menu .menu {
    max-height: 100svh !important;
  }
  .live-search__ul {
    max-height: calc(100svh - 150px) !important;
  }
  .pwa-notification {
    display: none !important;
  }
}

/* iOS: do not transform:scale the scheme (WebKit crash). Keep a real
   box — height:auto + position:absolute collapsed the viewport and
   dumped overlays over the parts table. svh does not follow the
   address bar (dvh did and could reload the tab). */
.bz-ios #ac-picture-container {
  height: 42svh !important;
  max-height: 380px;
  min-height: 220px;
  overflow: auto;
  -webkit-overflow-scrolling: auto;
  contain: layout;
  touch-action: pan-x pan-y;
}
.bz-ios #ac-picture {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  -webkit-transform: none !important;
}
.bz-ios #ac-picture img {
  display: block !important;
  float: none !important;
  width: 100%;
  max-width: none;
  height: auto;
  pointer-events: none;
  -webkit-user-drag: none;
}
.bz-ios #ac-picture .ac-part-rectangle {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: auto !important;
  height: auto !important;
  min-width: 22px;
  min-height: 20px;
  padding: 2px 6px;
  overflow: visible;
  line-height: 1 !important;
  font-size: 11px !important;
  font-weight: 700;
  z-index: 2;
  color: #c8102e;
  background: #fff;
  border: 1.5px solid #c8102e;
  border-radius: 999px;
  -webkit-text-size-adjust: 100%;
}
.bz-ios #ac-picture .ac-part-rectangle.selected {
  background: #c8102e !important;
  color: #fff !important;
  z-index: 6;
}

@media screen and (max-width: 767px) {
  #ac-picture-container {
    border: 0;
    border-radius: 16px;
    background: #f3f3f3;
  }
  #ac-picture {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
  }
  #ac-picture img {
    display: block !important;
    float: none !important;
    width: 100%;
    max-width: none;
    height: auto;
  }
  #ac-picture .ac-part-rectangle {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: auto !important;
    height: auto !important;
    min-width: 22px;
    min-height: 20px;
    padding: 2px 6px;
    overflow: visible;
    line-height: 1 !important;
    font-size: 11px !important;
    font-weight: 700;
    z-index: 2;
    color: #c8102e;
    background: #fff;
    border: 1.5px solid #c8102e;
    border-radius: 999px;
  }
  #btn-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 10px 0 4px;
  }
  #acat #btn-toolbar .btn-group {
    display: flex;
    flex-wrap: nowrap;
    float: none;
    margin: 0;
    padding: 3px;
    background: #f4f4f4;
    border-radius: 12px;
  }
  #acat #btn-toolbar .btn-group.float-right {
    float: none;
    margin-left: auto;
  }
  #acat #btn-toolbar .btn-group > .btn {
    float: none;
    flex: 0 0 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #444;
    box-shadow: none;
    line-height: 1;
  }
  #acat #btn-toolbar .btn-group > .btn .icon {
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
  }
  .ac-scheme-hint {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 10px 0 14px;
    padding: 10px 12px;
    border: 1px solid #eee;
    border-radius: 12px;
    background: #f7f7f7;
    font-size: 13px;
    line-height: 1.35;
    color: #555;
  }
  .ac-scheme-hint::before {
    content: "i";
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #c8102e;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    font-style: italic;
    line-height: 20px;
    text-align: center;
  }
  .ac-parts-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px 12px;
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: 700;
    color: #2d2d2d;
  }
  .ac-parts-meta {
    font-size: 13px;
    font-weight: 500;
    color: #8a8a8a;
  }
  #acat .table-responsive-md {
    overflow-x: visible;
  }
  #ac-parts-table {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
  }
  #ac-parts-table thead {
    display: none;
  }
  #ac-parts-table tbody {
    display: block;
    width: 100%;
  }
  #ac-parts-table > tbody > tr:not(.offers) {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) 40px;
    grid-template-areas:
      "pos num info"
      "name name name"
      "price price price";
    align-items: center;
    gap: 4px 10px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 0 10px;
    padding: 12px 14px;
    border: 1px solid #ececec;
    border-radius: 16px;
    background: #fff;
  }
  #ac-parts-table > tbody > tr:not(.offers).is-active {
    border-color: #c8102e;
    background: #fffafb;
  }
  #ac-parts-table > tbody > tr:not(.offers) td {
    display: block;
    width: auto;
    max-width: 100%;
    padding: 0;
    border: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    background: transparent !important;
  }
  #ac-parts-table > tbody > tr:not(.offers) td.selected {
    background: transparent !important;
    color: inherit !important;
  }
  #ac-parts-table > tbody > tr:not(.offers) td.selected a {
    color: #c8102e !important;
  }
  #ac-parts-table > tbody > tr:not(.offers) td:nth-child(1) {
    grid-area: pos;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    overflow: hidden;
    white-space: nowrap;
    border-radius: 50%;
    background: #c8102e !important;
    color: #fff !important;
    font-weight: 700;
    font-size: 14px;
  }
  #ac-parts-table > tbody > tr:not(.offers) td:nth-child(1) .ac-pos-full:not(:only-child) {
    display: none;
  }
  #ac-parts-table > tbody > tr:not(.offers) td:nth-child(1) .ac-pos-short {
    display: inline;
  }
  #ac-parts-table > tbody > tr:not(.offers) td:nth-child(2) { grid-area: num; font-weight: 700; }
  #ac-parts-table > tbody > tr:not(.offers) td:nth-child(2)::before {
    content: "Артикул";
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: #8a8a8a;
  }
  #ac-parts-table > tbody > tr:not(.offers) td:nth-child(3) { grid-area: info; text-align: right; }
  #ac-parts-table > tbody > tr:not(.offers) td:nth-child(4) { grid-area: name; color: #444; }
  #ac-parts-table > tbody > tr:not(.offers) td:nth-child(5) { grid-area: price; font-weight: 700; font-size: 17px; color: #c8102e; padding-top: 6px; }
  #ac-parts-table > tbody > tr:not(.offers) td.ac-part-nostock {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
  }
  #ac-parts-table .ac-part-stock-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    background: #f0f0f0;
    color: #6c757d;
    font-size: 12px;
    font-weight: 600;
  }
  #ac-parts-table .ac-part-price-link::after {
    content: " ▾";
    font-size: 12px;
    font-weight: 500;
    opacity: 0.65;
  }
  #acat-search.input-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  #acat-search > .form-control,
  #acat-search #ac-search {
    float: none;
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 0 12px;
    border-radius: 12px 0 0 12px;
  }
  #acat-search .input-group-btn {
    display: block;
    width: 44px;
    font-size: 0;
  }
  #acat-search .btn,
  #acat-search .btn-lg {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border-radius: 0 12px 12px 0;
    font-size: 16px;
    line-height: 1;
    text-shadow: none;
  }
}

/* Long SKU stickers (nowrap + width:fit-content) overflow listing cards
   on narrow grids and stretch the row. Keep the badge, wrap inside the photo. */
.product-layout,
.product-thumb {
  min-width: 0;
  max-width: 100%;
}

/* BelZAP: SKU как компактный чип карточки (как «В корзину»).
   UniShop вешает .sticker на top/left -5px — в Owl обрезается и наползает
   на соседнюю карточку. opacity .85 + font-weight 400 рядом с CTA. */
.product-thumb .sticker,
.product-page__image .sticker {
  top: 8px;
  left: 8px;
  right: 40px;
  max-width: calc(100% - 48px);
  box-sizing: border-box;
  pointer-events: none;
}
.product-thumb .sticker__item,
.product-page__image .sticker__item {
  max-width: 100%;
  box-sizing: border-box;
}
.product-thumb .sticker__item.sku,
.product-thumb .sticker__item.mpn,
.product-thumb .sticker__item.upc,
.product-thumb .sticker__item.ean,
.product-thumb .sticker__item.jan,
.product-thumb .sticker__item.isbn,
.product-page__image .sticker__item.sku,
.product-page__image .sticker__item.mpn,
.product-page__image .sticker__item.upc,
.product-page__image .sticker__item.ean,
.product-page__image .sticker__item.jan,
.product-page__image .sticker__item.isbn {
  position: relative;
  isolation: isolate;
  display: block;
  width: fit-content;
  max-width: 100%;
  min-height: 22px;
  margin: 0 0 4px;
  padding: 4px 9px;
  box-sizing: border-box;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 1;
  border-radius: 8px;
  color: #fff;
  background-image: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.2) 0%,
    transparent 42%,
    rgba(0, 0, 0, 0.18) 100%
  );
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.16) inset,
    0 3px 8px rgba(28, 16, 48, 0.28);
}
.product-thumb .sticker__item.sku::before,
.product-thumb .sticker__item.mpn::before,
.product-thumb .sticker__item.upc::before,
.product-thumb .sticker__item.ean::before,
.product-thumb .sticker__item.jan::before,
.product-thumb .sticker__item.isbn::before,
.product-page__image .sticker__item.sku::before,
.product-page__image .sticker__item.mpn::before,
.product-page__image .sticker__item.upc::before,
.product-page__image .sticker__item.ean::before,
.product-page__image .sticker__item.jan::before,
.product-page__image .sticker__item.isbn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -40%;
  width: 45%;
  height: 100%;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0.1) 40%,
    rgba(255, 255, 255, 0.28) 50%,
    rgba(255, 255, 255, 0.1) 60%,
    transparent 100%
  );
  transform: skewX(-18deg);
  pointer-events: none;
  z-index: 1;
}

.captcha.captcha-warning {
  outline: 2px solid #c8102e;
  outline-offset: 6px;
  border-radius: 6px;
}
.captcha-inline-error {
  font-size: 14px;
  font-weight: 600;
}

/* «Наши категории»: фото на всю ширину карточки, скругление как у баннеров.
   Equal-height cards used overflow:hidden + absolute «все» — shorter columns
   (7 links vs 8) left a hole at the bottom. Keep overflow on the image;
   pin «все» with flex instead. */
.home-page .category-wall .category-wall__item:not(.type2) {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.home-page .category-wall .category-wall__item:not(.type2) > .category-wall__ul {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding-bottom: 0;
}
.home-page .category-wall .category-wall__item:not(.type2) > .category-wall__ul.child > li:last-child {
  margin-top: auto;
  padding-top: 8px;
}
.home-page .category-wall .category-wall__more {
  position: static;
}
.home-page .category-wall .category-wall__item:not(.type2) > .category-wall__image {
  display: block;
  overflow: hidden;
  width: auto;
  max-width: none;
  margin: -15px -15px 15px;
  border-radius: 0;
}
.home-page .category-wall .category-wall__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  vertical-align: top;
}
@media (max-width: 767px) {
  .home-page .category-wall .category-wall__item:not(.type2) > .category-wall__image {
    margin: -10px -10px 10px;
  }
}

/* Телефон/почта в шапке на ≤991px дублируют кнопку в поиске и сжимают логотип
   (UniShop: .header-logo { max-width:145px } при width:100% → высота ~15px). */
@media (max-width: 991px) {
  header .header-block__item-telephone {
    display: none !important;
  }
  header .header-block__item-logo {
    flex: 1 1 auto;
    max-width: none;
    min-width: 168px;
    width: auto;
  }
  header .header-logo {
    max-width: 280px;
  }
  header #logo .header-logo__img,
  header .header-logo__img {
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    max-height: 36px !important;
  }
}

/* Слайдер и «Быстрая доставка» не должны быть шире соседних .uni-module:
   вложенный .row даёт margin -10px и вылезает из колонки. */
.home-page .home-banner.row {
  margin-left: 0;
  margin-right: 0;
}

/* Карусель брендов: стрелки в своих полях, не поверх логотипов */
.home-page .manufacturer-carousel .owl-stage-outer {
  margin: 0 60px;
}
.home-page .manufacturer-carousel .owl-nav {
  left: 8px !important;
  right: 8px !important;
}

/* Два Telegram в подвале: самолётик = чат, пузырь = канал */
.footer__socials-icon.fa-telegram {
  background: #0088cc;
}

/* Плавающие кнопки не закрывают иконки оплаты справа внизу */
@media (min-width: 992px) {
  .footer__payments {
    padding-right: 64px;
    box-sizing: border-box;
  }
}
@media (max-width: 991px) {
  .footer__socials-payments {
    padding-right: 56px;
    box-sizing: border-box;
  }
}

/* «Нет в наличии» — серая, «Предзаказ» — оранжевая CTA (оба были qty-0 / #ff8c00) */
.add_to_cart.qty-0.btn-oos {
  color: #fff;
  background: #8b8f96;
}
.add_to_cart.qty-0.btn-oos:hover,
.add_to_cart.qty-0.btn-oos:focus,
.add_to_cart.qty-0.btn-oos:active {
  color: #fff;
  background: #6f737a;
}
.add_to_cart.qty-0.btn-preorder {
  color: #fff;
  background: #ff8c00;
}
.add_to_cart.qty-0.btn-preorder:hover,
.add_to_cart.qty-0.btn-preorder:focus,
.add_to_cart.qty-0.btn-preorder:active {
  color: #fff;
  background: #e07b00;
}

/* Desktop header: one 40px line for logo, search, account/cart icons.
   Do not touch ≤991 #search2 grid or the catalog button glow.
   992–1199 keeps the narrower logo cap so the search field still fits. */
@media (min-width: 992px) {
  header .header-block {
    align-items: center;
  }
  header .header-block__item-logo,
  header .header-block__item-menu,
  header .header-block__item-search,
  header .header-block__item-telephone,
  header .header-block__item-account,
  header .header-block__item-wishlist,
  header .header-block__item-compare,
  header .header-block__item-cart {
    align-items: center;
  }
  header #search .header-search__form {
    height: 40px;
    align-items: stretch;
  }
  header #search .header-search__input,
  header #search .header-search__input.form-control {
    height: 40px;
  }
  header #search .header-search__btn {
    width: 40px;
  }
  header .header-account__icon,
  header .header-wishlist__icon,
  header .header-compare__icon,
  header .header-cart__icon {
    font-size: 1.65em;
    line-height: 40px;
  }
  header .header-block__item-account,
  header .header-block__item-wishlist,
  header .header-block__item-compare,
  header .header-block__item-cart {
    min-height: 40px;
  }
}
@media (min-width: 1200px) {
  header .header-logo {
    max-width: 380px;
  }
  header #logo .header-logo__img,
  header .header-logo__img {
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    max-height: 40px;
  }
}
