/* Оригинальные Elementor-блоки (описание/«Детали») прячем ТОЛЬКО когда работает JS (html.abpt-js).
   Без JS они остаются видимыми → страница не ломается (правка Maxim: graceful degradation). */
html.abpt-js .elementor-element-9f81111{display:none!important}
html.abpt-js .elementor-element-69b44fc{display:none!important}
/* hero-мета первого экрана (Stage 4) */
.abpt-hero__top{margin:0 0 6px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.abpt-hero__bs{display:flex;align-items:center;gap:8px}
.abpt-hero__brand{display:inline-block;background:#161616;color:#fff;font-size:12px;font-weight:700;letter-spacing:.3px;padding:4px 10px;border-radius:5px;text-transform:uppercase}
.abpt-hero__series{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.3px}
.abpt-hero__rating{display:inline-flex;align-items:center;gap:7px;text-decoration:none}
.abpt-hero__rating span{font-size:13px;color:#666;font-weight:600}
.abpt-hero__rating:hover span{color:#c00}
.abpt-hero__codes{display:flex;flex-wrap:wrap;gap:18px;margin:14px 0 0;font-size:13px;color:#888}
.abpt-hero__code b{color:#222;font-family:monospace;font-weight:700}
.abpt-hero__copy{appearance:none;background:#f4f4f4!important;border:1px solid #e4e4e4;border-radius:5px;font-size:11px;color:#777;padding:2px 8px;cursor:pointer;font-family:inherit}
/* при наведении: красный фон + БЕЛЫЙ текст (тема красит <button> в красный → было red-on-red, нечитаемо) */
.abpt-hero__copy:hover,.abpt-hero__copy:focus{background:#c00!important;border-color:#c00!important;color:#fff!important}
.abpt-hero__props{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:18px 0 4px;max-width:520px}
/* магнит: подпись — к верхнему краю, значение — к нижнему (выравнивание независимо от длины подписи) */
.abpt-hero__prop{background:#fafafa;border:1px solid #eee;border-radius:9px;padding:10px 12px;display:flex;flex-direction:column;justify-content:space-between;min-height:68px}
.abpt-hero__prop-l{display:block;font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.4px;font-weight:600;margin-bottom:3px}
.abpt-hero__prop-v{display:block;font-size:18px;font-weight:800;color:#161616}
.abpt-hero__prop-v i{font-size:12px;font-weight:600;color:#999;font-style:normal}
.abpt{max-width:1200px;margin:34px auto;padding:0 15px;box-sizing:border-box}
.abpt__tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid #e6e6e6;margin-bottom:24px}
.abpt__tab{appearance:none;background:none!important;border:none;border-bottom:2px solid transparent;padding:12px 14px;margin-right:10px;font-size:16px;font-weight:600;color:#9a9a9a;cursor:pointer;font-family:inherit;line-height:1.2;border-radius:6px 6px 0 0;transition:color .15s,border-color .15s,background .15s}
/* при наведении: красный фон + белый текст */
.abpt__tab:hover{background:#c00!important;color:#fff!important;border-bottom-color:#c00}
/* фокус после клика НЕ должен оставлять красный фон (тема красит :focus) */
.abpt__tab:focus:not(:hover){background:none!important;color:#9a9a9a!important}
.abpt__tab.is-active{background:none!important;color:#111;border-bottom-color:#c00}
.abpt__tab.is-active:focus:not(:hover){color:#111!important}
.abpt__tab.is-active:hover{background:#c00!important;color:#fff!important}
.abpt__cnt{display:inline-block;font-size:12px;color:#bdbdbd;font-weight:600;vertical-align:super}
.abpt__panel{display:none}
.abpt__panel.is-active{display:block;animation:abptfade .2s ease}
@keyframes abptfade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.abpt__cols{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}
.abpt__desc{font-size:15px;line-height:1.7;color:#333}
.abpt__desc h2,.abpt__desc h3{font-size:19px;font-weight:700;color:#161616;margin:24px 0 12px}
.abpt__desc p{margin:0 0 14px}
.abpt__desc ul{margin:0 0 14px;padding-left:20px}
.abpt__desc li{margin:6px 0}
.abpt__muted{font-size:15px;color:#888;line-height:1.6}
.abpt__adv{display:flex;gap:14px;padding:20px;background:#fafafa;border:1px solid #eee;border-radius:12px}
.abpt__adv-ic{flex:none;width:42px;height:42px;border-radius:10px;background:#fff;border:1px solid #eee;display:flex;align-items:center;justify-content:center}
.abpt__adv h4{font-size:15px;font-weight:700;color:#161616;margin:0 0 6px}
.abpt__adv p{font-size:13px;color:#666;line-height:1.55;margin:0}
.abpt__specs .shop_attributes,.abpt__specs table{width:100%;border-collapse:collapse;font-size:15px}
.abpt__specs tr{border-bottom:1px solid #f0f0f0}
.abpt__specs th{text-align:left;padding:12px 16px 12px 0;color:#888;font-weight:600;width:42%;vertical-align:top}
.abpt__specs td{padding:12px 0;color:#1c1c1c;font-weight:500}
.abpt__specs td p{margin:0}
.abpt__delivery{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.abpt__dcard{padding:20px;background:#fafafa;border:1px solid #eee;border-radius:12px}
.abpt__dcard h4{font-size:15px;font-weight:700;color:#161616;margin:0 0 8px}
.abpt__dcard p{font-size:13px;color:#666;line-height:1.55;margin:0}
/* отзывы */
.abpt-stars{position:relative;display:inline-block;font-size:16px;line-height:1;color:#ddd;white-space:nowrap;letter-spacing:1px}
.abpt-stars::before{content:"\2605\2605\2605\2605\2605"}
.abpt-stars__fill{position:absolute;top:0;left:0;overflow:hidden;color:#ff9500;white-space:nowrap}
.abpt-stars__fill::before{content:"\2605\2605\2605\2605\2605"}
.abpt-rev__head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid #f0f0f0}
.abpt-rev__score{display:flex;flex-direction:column;gap:6px}
.abpt-rev__num{font-size:42px;font-weight:800;color:#161616;line-height:1}
.abpt-rev__cnt{font-size:13px;color:#888}
.abpt-rev__add{appearance:none;background:#c00;color:#fff;border:none;border-radius:8px;padding:12px 22px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}
.abpt-rev__add:hover{background:#a00}
.abpt-rev__form{display:flex;flex-direction:column;gap:10px;max-width:560px;margin:0 0 24px;padding:20px;background:#fafafa;border:1px solid #eee;border-radius:12px}
.abpt-rev__stars-input{display:flex;gap:4px}
.abpt-rev__stars-input button{appearance:none;background:none;border:none;font-size:28px;color:#ddd;cursor:pointer;padding:0;line-height:1;transition:color .1s}
.abpt-rev__stars-input button.on{color:#ff9500}
.abpt-rev__form input,.abpt-rev__form textarea{padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;outline:none}
.abpt-rev__form input:focus,.abpt-rev__form textarea:focus{border-color:#161616}
.abpt-rev__submit{align-self:flex-start;background:#161616;color:#fff;border:none;border-radius:8px;padding:11px 24px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}
.abpt-rev__submit:hover{background:#000}
.abpt-rev__msg{font-size:13px;min-height:16px}.abpt-rev__msg.ok{color:#2d7d46}.abpt-rev__msg.err{color:#c00}
.abpt-rev__note{font-size:12px;color:#999;margin:0}
.abpt-rev__item{padding:16px 0;border-bottom:1px solid #f0f0f0}
.abpt-rev__item-top{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.abpt-rev__author{font-weight:700;color:#161616;font-size:14px}
.abpt-rev__date{font-size:12px;color:#aaa;margin-left:auto}
.abpt-rev__text{font-size:14px;color:#444;line-height:1.6}
/* Купить в 1 клик + модалка */
/* === единая система кнопок действий в колонке цены === */
.ab-action-buttons{max-width:100%!important}
.elementor-element-7505a4a .single_add_to_cart_button,
.abpt-1click,.ab-btn-quote,.ab-btn-cheaper{
  display:block!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;
  border-radius:8px!important;padding:13px 16px!important;font-size:15px!important;font-weight:700!important;
  text-align:center!important;line-height:1.2!important;margin:0 0 10px!important;border:2px solid transparent!important;
  cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s}
/* В корзину — основная, бренд-красная */
.elementor-element-7505a4a .single_add_to_cart_button{background:#f90414!important;color:#fff!important;border-color:#f90414!important}
.elementor-element-7505a4a .single_add_to_cart_button:hover{background:#d6030f!important;border-color:#d6030f!important}
/* Купить в 1 клик — тёмная (пара к красной) */
.abpt-1click{background:#161616!important;color:#fff!important;border-color:#161616!important}
.abpt-1click:hover{background:#000!important;border-color:#000!important}
/* Запросить счёт — контурная вторичная */
.ab-btn-quote{background:#fff!important;color:#f90414!important;border-color:#f90414!important;font-weight:600!important}
.ab-btn-quote:hover{background:#fff4f4!important}
/* Нашли дешевле — тонкая третичная */
.ab-btn-cheaper{background:#fff!important;color:#8a8a8a!important;border:1px dashed #ccc!important;font-weight:500!important;font-size:13px!important;padding:10px 14px!important}
.ab-btn-cheaper:hover{color:#f90414!important;border-color:#f90414!important}
/* колонка цены = аккуратная карточка; убираем перекос (виджет «в корзину» имел margin-left:30px → кнопки вылезали) */
.elementor-element-7505a4a{padding:24px!important;box-sizing:border-box!important}
.elementor-element-7505a4a .elementor-element{margin-left:0!important;margin-right:0!important}
/* «В корзину»: правый скруглённый угол обрезался на ПК — клипал ВИДЖЕТ-обёртка .elementor-element-314c386
   (overflow:hidden от апрельского FIX4, шире снимать только .elementor-add-to-cart было мало). Снимаем со всей цепочки. */
.elementor-element-7505a4a .elementor-add-to-cart,.elementor-add-to-cart,.elementor-element-314c386,.elementor-element-7505a4a .elementor-widget-woocommerce-product-add-to-cart{overflow:visible!important}
.elementor-element-7505a4a .single_add_to_cart_button{border-radius:8px!important}
/* «Поделиться → Скопировать ссылку»: тема красит <button> padding:15px 30px → овал. Делаем круг */
.ab-share-line .ab-share-copy{width:30px!important;height:30px!important;min-width:0!important;padding:0!important;border-radius:50%!important;line-height:1!important;flex:0 0 auto}
/* «В наличии»: вложенный div имел margin-left:1cm — убираем */
.elementor-element-fc14719 .elementor-shortcode>div{margin-left:0!important}
/* гасим горизонтальный скролл от off-canvas корзины Astra (появляется когда в корзине есть товары) */
html{overflow-x:hidden}
.abpt-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99999;align-items:center;justify-content:center;padding:20px}
.abpt-modal__box{background:#fff;border-radius:14px;padding:28px;max-width:430px;width:100%;position:relative;max-height:90vh;overflow:auto}
.abpt-modal__x{position:absolute;top:8px;right:14px;background:none;border:none;font-size:26px;color:#999;cursor:pointer;line-height:1}
.abpt-modal__x:hover{color:#333}
.abpt-modal__box h3{margin:0 0 4px;font-size:20px;color:#161616}
.abpt-modal__sub{font-size:13px;color:#888;margin:0 0 16px}
.abpt-modal__form{display:flex;flex-direction:column;gap:10px}
.abpt-modal__form input[type=text],.abpt-modal__form input[type=tel],.abpt-modal__form input[type=email]{padding:11px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;outline:none}
.abpt-modal__form input:focus{border-color:#161616}
.abpt-modal__info{font-size:13px;color:#555;background:#f7f7f7;border-radius:8px;padding:9px 11px}
.abpt-modal__consent{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:#999;line-height:1.45}
.abpt-modal__consent input{margin-top:2px;flex:none}
.abpt-modal__consent span{flex:1 1 auto;min-width:0}
.abpt-modal__consent a{color:#c00}
.abpt-modal__submit{padding:12px;background:#161616;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}
.abpt-modal__submit:hover{background:#000}
/* график цены */
.abpt-price__chart{max-width:760px;margin:0 0 16px}
.abpt-chart{width:100%;height:auto;display:block}
.abpt-chart circle{cursor:pointer}
/* апрельские «Похожие товары» заменены блоком «Аналоги» — прячем только при JS (graceful) */
html.abpt-js #ab-related-wrap{display:none!important}
/* крошки над фото */
.ab-bc.abpt-bc-top{max-width:1200px;margin:14px auto 8px;padding:0 15px;box-sizing:border-box}
/* галерея-слайдер + зум */
.elementor-element-e0c866e.abpt-gal-on .elementor-widget{display:none!important}
.elementor-element-e0c866e.abpt-gal-on .abpt-gal{display:block!important}
.abpt-gal__main{position:relative;border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1}
.abpt-gal__img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.abpt-gal__nav{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:1px solid #e4e4e4;background:rgba(255,255,255,.92);font-size:20px;color:#444;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}
.abpt-gal__prev{left:8px}.abpt-gal__next{right:8px}
.abpt-gal__nav:hover{border-color:#c00;color:#c00}
.abpt-gal__zoom{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:8px;border:1px solid #e4e4e4;background:rgba(255,255,255,.92);cursor:pointer;z-index:2;font-size:15px;color:#555;padding:0}
.abpt-gal__zoom:hover{border-color:#c00;color:#c00}
.abpt-gal__count{position:absolute;bottom:8px;right:10px;font-size:12px;color:#888;background:rgba(255,255,255,.88);padding:2px 9px;border-radius:10px}
.abpt-gal__thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.abpt-gal__thumb{width:58px;height:58px;border:1px solid #e4e4e4;border-radius:8px;overflow:hidden;background:#fff;cursor:pointer;padding:4px}
.abpt-gal__thumb.on{border-color:#c00}
.abpt-gal__thumb img{width:100%;height:100%;object-fit:contain}
.abpt-gal-zoom{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:100000;display:flex;align-items:center;justify-content:center;padding:30px;cursor:zoom-out}
.abpt-gal-zoom img{max-width:95%;max-height:95%;object-fit:contain}
.abpt-gal-zoom__x{position:absolute;top:14px;right:24px;background:none;border:none;color:#fff;font-size:40px;cursor:pointer;line-height:1}
/* В каталогах */
.abpt-cats{font-size:13px;color:#888;margin:0 0 22px;line-height:1.8}
.abpt-cats__l{font-weight:600;color:#555}
.abpt-cats a{color:#c00;text-decoration:none}
.abpt-cats a:hover{text-decoration:underline}
.abpt-cats i{color:#ccc;font-style:normal;margin:0 2px}
/* блоки Аналоги / Недавно смотренные */
#abpt-after{max-width:1200px;margin:0 auto;padding:0 15px;box-sizing:border-box}
.abpt-block{margin:38px 0}
.abpt-block__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}
.abpt-block__head h2{font-size:24px;font-weight:800;color:#161616;margin:0}
.abpt-block__more{font-size:13px;font-weight:600;color:#888;text-decoration:none;border:1px solid #e2e2e2;border-radius:7px;padding:8px 16px;white-space:nowrap}
.abpt-block__more:hover{border-color:#c00;color:#c00}
/* слайдер «Аналоги»/«Недавно»: без JS — перенос в ряды (видно всё, graceful);
   с JS (html.abpt-js) — один ряд + стрелки, нативную полоску скролла скрываем (правка Maxim) */
.abpt-slider{position:relative}
.abpt-grid{display:flex;flex-wrap:wrap;gap:16px}
html.abpt-js .abpt-grid{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth}
html.abpt-js .abpt-grid::-webkit-scrollbar{display:none;width:0;height:0}
.abpt-grid>.abpt-card{flex:0 0 calc((100% - 3*16px)/4);scroll-snap-align:start}
.abpt-slider__nav{position:absolute;top:calc(50% - 26px);width:42px;height:42px;border-radius:50%;border:1px solid #e4e4e4;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.12);cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;color:#444;padding:0;transition:border-color .15s,color .15s}
.abpt-slider__nav:hover{border-color:#c00;color:#c00}
.abpt-slider__nav[disabled]{opacity:.3;cursor:default;box-shadow:none}
.abpt-slider__prev{left:-10px}.abpt-slider__next{right:-10px}
@media(max-width:560px){.abpt-slider__nav{display:none!important}} /* узкие экраны — свайп, стрелки не нужны */
.abpt-card{display:flex;flex-direction:column;padding:14px;border:1px solid #eee;border-radius:12px;text-decoration:none;color:inherit;transition:box-shadow .2s,border-color .2s;box-sizing:border-box}
.abpt-card:hover{box-shadow:0 6px 22px rgba(0,0,0,.08);border-color:#e0e0e0}
/* фикс-высота области фото → бренд/название/цена выравниваются между карточками независимо от размера картинки */
.abpt-card__img{margin-bottom:10px;height:170px;display:flex;align-items:center;justify-content:center;background:#fff}
.abpt-card__img img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:8px;display:block;object-fit:contain}
.abpt-card__brand{font-size:11px;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}
.abpt-card__title{font-size:14px;font-weight:500;color:#222;line-height:1.35;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.abpt-card__price{font-size:17px;font-weight:800;color:#161616;margin-top:auto}
.abpt-card__price del{font-size:13px;color:#bbb;font-weight:500;margin-right:6px}
/* ФОС «Не нашли нужный ремень?» */
.abpt-fos{margin:38px 0 10px}
.abpt-fos__in{background:#161616;border-radius:16px;padding:34px;display:grid;grid-template-columns:1fr 1.1fr;gap:34px;align-items:start}
.abpt-fos__l h2{font-size:26px;font-weight:800;color:#fff;margin:0 0 10px;line-height:1.2}
.abpt-fos__l p{font-size:14px;color:#bbb;line-height:1.6;margin:0}
.abpt-fos__form{display:flex;flex-direction:column;gap:10px}
.abpt-fos__row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* тема красит input в белый → форсируем тёмно-серый фон + скругление !important; красная рамка на фокусе (правка Maxim) */
.abpt-fos__form input,.abpt-fos__form textarea{padding:12px 14px;border:1px solid #3a3a3a!important;background:#222!important;color:#fff!important;border-radius:8px!important;font-size:14px;font-family:inherit;outline:none}
.abpt-fos__form input::placeholder,.abpt-fos__form textarea::placeholder{color:#888;opacity:1}
.abpt-fos__form input:focus,.abpt-fos__form textarea:focus{border-color:#c00!important;box-shadow:0 0 0 1px #c00!important}
.abpt-fos__consent{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:#999;line-height:1.45}
.abpt-fos__consent input{margin-top:2px;flex:none}
.abpt-fos__consent span{flex:1 1 auto;min-width:0}
.abpt-fos__consent a{color:#ff6b6b}
.abpt-fos__btn{align-self:flex-start;background:#c00;color:#fff;border:none;border-radius:8px;padding:13px 30px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit}
.abpt-fos__btn:hover{background:#e00}
@media(max-width:900px){
  .abpt__cols{grid-template-columns:1fr;gap:20px}
  .abpt__delivery{grid-template-columns:1fr}
  .abpt__tab{font-size:14px;margin-right:6px;padding:10px 10px}
  .abpt-grid>.abpt-card{flex:0 0 calc((100% - 16px)/2)} /* слайдер: 2 карточки в видимой области */
  .abpt-fos__in{grid-template-columns:1fr;gap:20px;padding:24px}
  .abpt-fos__row{grid-template-columns:1fr}
}
@media(max-width:768px){
  /* блок характеристик на моб — строго 2 колонки (был auto-fit, последний элемент уезжал/прятался) */
  .abpt-hero__props{grid-template-columns:1fr 1fr!important;max-width:100%}
  /* блок цены — был сдвинут вправо: Elementor задавал margin:15px (перебивал auto). Выше специфичность + margin:0 → блок заполняет колонку без смещения */
  body.single-product .elementor-element.elementor-element-7505a4a{margin-left:0!important;margin-right:0!important;max-width:100%!important;box-sizing:border-box!important;padding:16px!important}
}
@media(max-width:560px){
  .abpt-grid>.abpt-card{flex:0 0 80%} /* слайдер: 1 карточка + «подглядывание» следующей */
  .abpt-block__head h2,.abpt-fos__l h2{font-size:20px}
}
