/* lm74: магазинный слой поверх Aspro — макеты 1d и 1f.
   Три блока, каждый работает сам по себе:
     .lmpl  — цена за литр в листинге и в карточке;
     .lmcar — «вы подбирали <автомобиль>» в карточке товара;
     .lmfx  — цена в закреплённой панели покупки на телефоне (сама панель штатная,
              .counter_wrapp.fixed — в ней есть счётчик и кнопка, но нет цены).
   Нижний док на телефоне — тоже штатный (.bottom-icons-panel), его состав правит
   tools/bottom_panel.php, стили здесь не нужны.
   Шаблон Aspro не правится. Клиентский custom_styles.css подключается ниже по
   документу, поэтому селекторы двойные (.lmcar .lmcar__link), одного !important не хватает. */

/* ——— цена за литр ——————————————————————————————————————————————— */
.lmpl {
	margin: 2px 0 0;
	font-size: 12.5px;
	line-height: 1.3;
	color: var(--lm-muted);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.lmpl b { font-weight: 600; color: var(--lm-ink); }
.catalog_detail .lmpl,
.product-main .lmpl { font-size: 14px; margin-top: 6px; }

/* ——— «вы подбирали …» в карточке ———————————————————————————————— */
.lmcar {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	margin: 0 0 16px;
	padding: 12px 14px;
	border: 1px solid var(--lm-line);
	border-left: 3px solid var(--lm-line-2);
	border-radius: 10px;
	background: var(--lm-bg-2);
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--lm-ink-2);
}
.lmcar--fit { border-left-color: var(--lm-ok); background: #f2fbf6; border-color: #cde9da; }
.lmcar__title { font-weight: 600; color: var(--lm-ink); }
.lmcar__note { flex-basis: 100%; margin: 0; font-size: 12.5px; color: var(--lm-muted); }
.lmcar .lmcar__link,
.lmcar .lmcar__reset {
	font-size: 12.5px;
	color: var(--lm-navy);
	text-decoration: none;
	border: 0;
	border-bottom: 1px solid rgba(0, 51, 107, .3);
	background: none;
	padding: 0;
	cursor: pointer;
}
.lmcar .lmcar__link:hover,
.lmcar .lmcar__reset:hover { color: var(--lm-navy-3); border-bottom-color: var(--lm-navy-3); }

/* ——— теговые ссылки на посадочных ——————————————————————————————— */
.seo-cross {
	display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px;
	margin: 0 0 14px; font-size: 13.5px; line-height: 1.4; color: var(--lm-muted);
}
.seo-cross__label { font-weight: 600; color: var(--lm-ink); }
.seo-cross__sep { color: var(--lm-line-2); }
.seo-text .seo-cross a { color: var(--lm-navy); text-decoration: none; border-bottom: 1px solid rgba(0, 51, 107, .25); }
.seo-text .seo-cross a:hover { color: var(--lm-navy-3); border-bottom-color: var(--lm-navy-3); }
/* строка, поднятая под заголовок раздела */
.seo-cross--top {
	margin: 0 0 18px; padding: 11px 14px;
	border: 1px solid var(--lm-line); border-left: 3px solid var(--lm-acc); border-radius: 10px;
	background: var(--lm-bg-2);
}

/* ——— цена над закреплённой панелью покупки ————————————————————— */
.lmfx { display: none; }

@media (max-width: 991px) {
	.lmfx {
		display: block;
		position: fixed;
		left: 0; right: 0;
		bottom: 0;
		z-index: 998; /* штатная панель покупки — 999, нижний док — 997 */
		padding: 5px 14px;
		background: #fff;
		border-top: 1px solid var(--lm-line);
		font-size: 13px;
		line-height: 1.3;
		color: var(--lm-muted);
		font-variant-numeric: tabular-nums;
		opacity: 0;
		visibility: hidden;
		transition: opacity .15s ease-out;
	}
	.lmfx.is-on { opacity: 1; visibility: visible; }
	.lmfx b { font-size: 15px; font-weight: 700; color: var(--lm-ink); }
}

/* ——— шаги оформления заказа ————————————————————————————————————————————
   Полоса «Покупатель → Доставка → Оплата» над формой: покупатель видит, сколько
   осталось, и что шага всего три. Рисуем поверх стандартной вёрстки Aspro,
   в шаблон оформления не лезем — блок вставляет shop.js. */
.lmstep {
	/* липнем под фиксированной шапкой Aspro (#headerfixed, 62px): полоса шагов должна
	   быть видна и в середине длинной формы — иначе смысл индикатора теряется */
	position: sticky;
	top: 66px;
	z-index: 20;
	margin: 0 0 18px;
	padding: 14px 16px 12px;
	background: #fff;
	border: 1px solid var(--lm-line);
	border-radius: var(--lm-r);
}
.lmstep__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
	font-size: 13px;
	color: var(--lm-muted);
}
.lmstep__head b { color: var(--lm-ink); font-size: 14px; }
.lmstep__track { position: relative; display: flex; justify-content: space-between; }
/* линия под кружками: серая — весь путь, синяя — пройденное */
.lmstep__track::before,
.lmstep__track::after {
	content: '';
	position: absolute;
	top: 13px;
	left: 14px;
	right: 14px;
	height: 2px;
	background: var(--lm-line);
}
.lmstep__track::after {
	right: auto;
	width: var(--lmstep-fill, 0%);
	background: var(--lm-link);
	transition: width .35s ease-out;
}
.lmstep__item {
	position: relative;
	z-index: 1;
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	color: var(--lm-muted);
	text-align: center;
	cursor: default;
}
.lmstep__item[data-go="1"] { cursor: pointer; }
.lmstep__num {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid var(--lm-line);
	color: var(--lm-muted-2);
	font-size: 13px;
	font-weight: 700;
	line-height: 24px;
	transition: background .2s ease-out, border-color .2s ease-out, color .2s ease-out;
}
.lmstep__name { font-size: 12px; line-height: 1.2; }
.lmstep__item.is-now .lmstep__num { border-color: var(--lm-link); color: var(--lm-link); box-shadow: 0 0 0 4px rgba(13, 89, 168, .12); }
.lmstep__item.is-now .lmstep__name { color: var(--lm-ink); font-weight: 600; }
.lmstep__item.is-done .lmstep__num { background: var(--lm-link); border-color: var(--lm-link); color: #fff; }
.lmstep__item.is-done .lmstep__name { color: var(--lm-ink); }

@media (max-width: 767px) {
	.lmstep { padding: 10px 12px 9px; margin-bottom: 12px; border-radius: 6px; top: 56px; }
	.lmstep__head { margin-bottom: 9px; font-size: 12px; }
	.lmstep__num { width: 24px; height: 24px; line-height: 20px; font-size: 12px; }
	.lmstep__track::before, .lmstep__track::after { top: 11px; }
	.lmstep__name { font-size: 11px; }
}

/* ——— корзина: сколько осталось до бесплатной доставки ———————————————————
   Порог 5 000 ₽ обещан страницей /dostavka-i-oplata/ и настроен в службах доставки
   (tools/setup_delivery.php, FREE_FROM). В корзине о нём не было ни слова. */
.lmfree {
	margin: 0 0 14px;
	padding: 12px 14px;
	background: #f5f8fc;
	border: 1px solid var(--lm-line);
	border-radius: var(--lm-r);
	font-size: 13px;
	line-height: 1.35;
	color: var(--lm-muted);
}
.lmfree b { color: var(--lm-ink); }
.lmfree__bar {
	position: relative;
	height: 6px;
	margin-top: 9px;
	border-radius: 3px;
	background: var(--lm-line);
	overflow: hidden;
}
.lmfree__bar i {
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--lmfree-fill, 0%);
	background: var(--lm-link);
	transition: width .35s ease-out;
}
.lmfree.is-done { background: #f1f9f3; border-color: #cfe7d5; }
.lmfree.is-done b { color: var(--lm-ok); }
.lmfree.is-done .lmfree__bar i { background: var(--lm-ok); }

/* ——— карточка товара: боковая колонка «Нужна консультация?» (14.10, баг со скрина Тима) ———
   Колонка .product-side оказалась в общем потоке после описания (перед ней вставлены наши
   .ordered-block, в т.ч. «Подходит для автомобилей»), а скрипт залипания Aspro фиксировал её
   к верху экрана по левому краю — блок ложился поверх вкладок «Описание / Наличие / Отзывы».
   Раскладку задаём сами: контент — левая колонка, .product-side — правая, липнет через sticky;
   фиксацию скрипта (inner-wrapper-sticky, position: fixed) гасим. */
@media (min-width: 992px) {
	.bottom-info.product-view--side-left { display: grid !important; grid-template-columns: minmax(0, 1fr) 305px; column-gap: 40px; align-items: start; width: auto !important; float: none !important; }
	.bottom-info.product-view--side-left > * { grid-column: 1; min-width: 0; }
	.bottom-info.product-view--side-left > .product-side { grid-column: 2; grid-row: 1 / span 40; position: sticky !important; top: 96px; float: none !important; width: auto !important; margin: 0 !important; }
	.bottom-info.product-view--side-left > .product-side .inner-wrapper-sticky { position: static !important; transform: none !important; left: auto !important; top: auto !important; width: auto !important; }
}
@media (max-width: 991px) {
	.bottom-info.product-view--side-left > .product-side .inner-wrapper-sticky { position: static !important; transform: none !important; left: auto !important; top: auto !important; width: auto !important; }
}

/* ——— корзина и оформление заказа (14.10, Тим: «под лучшие конверсии») ———
   Главное действие на каждом шаге — жёлтая крупная кнопка, как «В корзину» в карточке.
   До этого «Перейти к оформлению» и «Оформить заказ» были синими 32–40 px и не выделялись
   среди «Изменить», «Подробнее» и «Купить в 1 клик». */
body .basket-checkout-btn .basket-btn-checkout,
body #bx-soa-order .btn-order-save,
body #bx-soa-order .bx-soa-cart-total-button-container .btn,
body #bx-soa-order .bx-soa-more-btn.btn {
	min-height: 54px; padding: 0 22px !important; border: 0 !important; border-radius: var(--lm-r) !important;
	background: var(--lm-acc) !important; color: var(--lm-acc-ink) !important;
	font: 700 16px/54px var(--lm-body) !important; text-transform: none !important; letter-spacing: 0 !important;
	box-shadow: 0 12px 24px -14px rgba(255, 183, 3, .9) !important; transition: background .15s, transform .15s;
}
body .basket-checkout-btn .basket-btn-checkout:hover,
body #bx-soa-order .btn-order-save:hover,
body #bx-soa-order .bx-soa-cart-total-button-container .btn:hover,
body #bx-soa-order .bx-soa-more-btn.btn:hover { background: var(--lm-acc-hi) !important; transform: translateY(-1px); }
body #bx-soa-order .bx-soa-more-btn.btn { min-height: 48px; line-height: 48px !important; }
body .basket-checkout-btn .basket-btn-checkout { width: 100%; }
/* «Купить в 1 клик» — вторым планом: контур, не заливка */
body .basket-checkout-btn.ocb .oneclickbuy { min-height: 46px; border-radius: var(--lm-r) !important; border: 1.5px solid var(--lm-navy) !important; color: var(--lm-navy) !important; background: #fff !important; font: 600 14px/44px var(--lm-body) !important; text-transform: none !important; }
/* итог крупно */
body .basket-coupon-block-total-price-current { font: 800 26px/1.1 var(--lm-body) !important; color: var(--lm-ink) !important; }
body #bx-soa-order .bx-soa-cart-total-line-totals .bx-soa-cart-d { font: 800 24px/1.1 var(--lm-body) !important; }
/* служба доставки без названия («<Без имени>») покупателю не нужна; самовывоз — первым (script: shop.js) */
body #bx-soa-order .bx-soa-pp-company.lm74-noname { display: none !important; }
body #bx-soa-order .lm74-dlv-list { display: flex !important; flex-wrap: wrap; }
body #bx-soa-order .lm74-dlv-list > .lm74-pickup { order: -1; }
/* правки 14.10 (2): кнопка «Оформить заказ» в итоге лежит вне #bx-soa-order */
body .bx-soa-cart-total-button-container .btn-order-save,
body .bx-soa-cart-total .btn-order-save,
body a.btn.btn-order-save {
	min-height: 54px; padding: 0 22px !important; border: 0 !important; border-radius: var(--lm-r) !important;
	background: var(--lm-acc) !important; color: var(--lm-acc-ink) !important;
	font: 700 16px/54px var(--lm-body) !important; text-transform: none !important; letter-spacing: 0 !important;
	box-shadow: 0 12px 24px -14px rgba(255, 183, 3, .9) !important;
}
body a.btn.btn-order-save:hover { background: var(--lm-acc-hi) !important; }
body .bx-soa-more-btn.btn.btn-default { min-height: 48px; padding: 0 24px !important; border: 0 !important; border-radius: var(--lm-r) !important; background: var(--lm-acc) !important; color: var(--lm-acc-ink) !important; font: 700 15px/48px var(--lm-body) !important; text-transform: none !important; letter-spacing: 0 !important; }

/* ——— карточки товаров в списках, «современнее» (14.10.2026, Тим) ———————————————————————
   Отдельные карточки вместо таблицы с общими рамками; фото на светлой подложке; чипы допусков;
   название — 2 строки без артикула (shop.js); цена крупно; «В корзину» жёлтая и видна всегда.
   Работает поверх шаблонов Aspro (catalog_block, catalog_block_car): разметку не меняем. */
body .catalog_block.items { row-gap: 0; }
body .catalog_block .item.item_block, body .catalog_block .item-parent { padding: 8px !important; border: 0 !important; }
/* Aspro выравнивает высоту карточек скриптом и режет низ — даём карточке расти по содержимому */
body .catalog_block .item.item_block, body .catalog_block .catalog_item_wrapp, body .catalog_block .catalog_item_wrapp .inner_wrap,
body .catalog_block .catalog_item_wrapp .item_info { height: auto !important; max-height: none !important; overflow: visible !important; }
body .catalog_block .catalog_item_wrapp { border: 0 !important; border-radius: var(--lm-r-md) !important; background: #fff !important; overflow: hidden;
	box-shadow: 0 0 0 1px var(--lm-line), 0 14px 32px -28px rgba(12, 43, 87, .45) !important;
	transition: box-shadow .2s ease, transform .2s ease;
}
body .catalog_block .catalog_item_wrapp:hover { box-shadow: 0 0 0 1.5px var(--lm-acc), 0 22px 44px -26px rgba(12, 43, 87, .5) !important; transform: translateY(-2px); }
body .catalog_block .catalog_item_wrapp .inner_wrap { display: flex; flex-direction: column; height: 100%; padding: 10px 10px 14px !important; border: 0 !important; box-shadow: none !important; background: transparent !important; }
body .catalog_block .catalog_item_wrapp .image_wrapper_block { margin: 0 0 12px !important; border-radius: 14px; background: #f4f6f9; overflow: hidden; }
body .catalog_block .catalog_item_wrapp .image_wrapper_block img { mix-blend-mode: multiply; }
body .catalog_block .catalog_item_wrapp .item_info { display: flex; flex-direction: column; flex: 1 1 auto; padding: 0 6px !important; }
body .catalog_block .item-title { margin: 0 0 8px !important; min-height: 0 !important; height: auto !important; }
body .catalog_block .item-title a, body .catalog_block .item-title a span {
	font: 600 15.5px/1.35 var(--lm-body) !important; color: var(--lm-ink) !important; text-decoration: none !important;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
body .catalog_block .item-title a:hover span { color: var(--lm-navy) !important; }
body .catalog_block .sa_block { display: flex; flex-direction: column; gap: 8px; margin: 0 0 10px !important; }
body .catalog_block .sa_block .article_block { display: none !important; }
body .catalog_block .item-stock { margin: 0 !important; }
body .catalog_block .item-stock .value { font: 500 13px/1.3 var(--lm-body) !important; color: var(--lm-ok) !important; border: 0 !important; }
/* чипы допусков (catalog_block_car) */
.cm-card { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.cm-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.cm-chip { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 999px; background: #eef2f8; color: #26344a; font: 600 12.5px/1 var(--lm-body); white-space: nowrap; }
.cm-chip--vol { background: var(--lm-navy); color: #fff; }
.cm-chip--visc { background: #fff3cc; color: #6b4b00; }
.cm-chip--fit { background: #e7f4e8; color: #1f6b33; }
.cm-chip--more { background: transparent; box-shadow: inset 0 0 0 1px #d8e0ec; color: var(--lm-muted); cursor: help; }
/* цена */
body .catalog_block .item_info--bottom_block { margin-top: auto; padding-top: 4px; }
body .catalog_block .cost.prices .price { font: 800 22px/1.1 var(--lm-body) !important; color: var(--lm-ink) !important; }
body .catalog_block .cost.prices .price .price_measure { font-size: 14px; font-weight: 500; color: var(--lm-muted); }
body .catalog_block .lmpl { margin-top: 4px !important; font-size: 13px !important; color: var(--lm-muted) !important; }
/* «В корзину» — видна всегда, жёлтая, рядом счётчик */
body .catalog_block .catalog_item_wrapp .footer_button {
	position: static !important; opacity: 1 !important; visibility: visible !important; display: block !important; transform: none !important;
	margin: 12px 6px 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important;
}
body .catalog_block .footer_button .counter_wrapp { display: flex !important; align-items: stretch; gap: 8px; margin: 0 !important; border: 0 !important; }
body .catalog_block .footer_button .counter_block { flex: 0 0 auto; display: flex !important; align-items: center; height: 44px; margin: 0 !important; border: 1px solid var(--lm-line) !important; border-radius: var(--lm-r) !important; background: #fff; }
body .catalog_block .footer_button .counter_block input.text { width: 34px !important; height: 42px !important; border: 0 !important; background: transparent !important; text-align: center; font: 600 14px/1 var(--lm-body); }
body .catalog_block .footer_button .button_block { flex: 1 1 auto; margin: 0 !important; }
body .catalog_block .footer_button .button_block .btn {
	width: 100% !important; height: 44px !important; min-height: 44px; padding: 0 12px !important; border: 0 !important; border-radius: var(--lm-r) !important;
	background: var(--lm-acc) !important; color: var(--lm-acc-ink) !important; font: 700 14.5px/44px var(--lm-body) !important; text-transform: none !important; letter-spacing: 0 !important;
	box-shadow: 0 10px 20px -14px rgba(255, 183, 3, .9) !important;
}
body .catalog_block .footer_button .button_block .btn:hover { background: var(--lm-acc-hi) !important; }
body .catalog_block .footer_button .button_block .btn .svg { display: none !important; }
body .catalog_block .footer_button .button_block .btn.in-cart { background: #fff !important; color: var(--lm-navy) !important; box-shadow: inset 0 0 0 1.5px var(--lm-navy) !important; }
@media (max-width: 600px) {
	body .catalog_block .item.item_block { padding: 5px !important; }
	body .catalog_block .catalog_item_wrapp .inner_wrap { padding: 8px 8px 12px !important; }
	body .catalog_block .item-title a span { font-size: 14px !important; }
	body .catalog_block .cost.prices .price { font-size: 18px !important; }
	body .catalog_block .footer_button .counter_block { display: none !important; }
	.cm-chip { height: 24px; font-size: 11.5px; padding: 0 8px; }
}
/* Aspro держит блок кнопки нулевой высоты (раскрывает при наведении) — содержимое вываливалось за карточку.
   Счётчик количества в списке убран: на ширине карточки он ломался, количество меняют в корзине. */
body .catalog_block .catalog_item_wrapp .footer_button, body .catalog_block .footer_button .counter_wrapp { height: auto !important; max-height: none !important; min-height: 0 !important; overflow: visible !important; }
body .catalog_block .footer_button .counter_block { display: none !important; }
body .catalog_block .footer_button .button_block { width: 100% !important; float: none !important; }
/* карточки одного ряда — одной высоты, кнопка прижата к низу */
body .catalog_block .item.item_block { display: flex !important; }
body .catalog_block .item.item_block > .catalog_item_wrapp { flex: 1 1 auto; display: flex; flex-direction: column; }
body .catalog_block .catalog_item_wrapp .inner_wrap { flex: 1 1 auto; }
body .catalog_block .catalog_item_wrapp .footer_button { margin-top: auto !important; padding-top: 12px !important; }
/* чипы растягивали стили Aspro для блока наличия (.sa_block span) — фиксируем размер */
body .catalog_block .cm-chips .cm-chip { height: 26px !important; min-height: 0 !important; padding: 0 10px !important; line-height: 26px !important; font: 600 12.5px/26px var(--lm-body) !important; margin: 0 !important; }

/* ══ Карточки листинга, правки 16.10.2026 ════════════════════════════════════════════════
   1) заглушка «нет фото»: svg Aspro без размеров растягивался по своей ширине и обрезался —
      держим в рамке, иконку мельче, подпись «Фото скоро»;
   2) объём значком на фото (shop.js → .lm74-vol): второй после цены признак сравнения;
   3) «/шт» убрано — всё продаётся поштучно; под цену резерв строки «за литр», чтобы цены
      и кнопки в ряду стояли на одной линии;
   4) наличие коротко, при остатке до 3 шт — янтарная «Осталось N шт». */
body .catalog_block .image_wrapper_block { position: relative; }
body .catalog_block .image_wrapper_block img[src*="noimage"] {
  position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important;
  padding: 30% 30% 38% !important; box-sizing: border-box !important; object-fit: contain !important; transform: none !important; opacity: .5; mix-blend-mode: normal !important; }
body .catalog_block .image_wrapper_block .thumb:has(img[src*="noimage"])::after {
  content: "Фото скоро"; position: absolute; left: 0; right: 0; bottom: 18%; text-align: center; font: 600 12px/1 var(--lm-body); letter-spacing: .02em; color: #8a97ab; pointer-events: none; }

body .catalog_block .lm74-vol { position: absolute; right: 10px; bottom: 10px; z-index: 2; padding: 5px 9px; border-radius: var(--lm-r-sm); background: #fff; color: var(--lm-navy);
  font: 700 12.5px/1 var(--lm-body); box-shadow: 0 0 0 1px #e3e8f0, 0 6px 14px -8px rgba(10, 34, 71, .4); pointer-events: none; }

body .catalog_block .cost.prices .price .price_measure { display: none !important; }
body .catalog_block .item_info--bottom_block .cost.prices { min-height: 50px; display: flex; flex-direction: column; justify-content: flex-start; }

body .catalog_block .item-stock { display: inline-flex !important; align-items: center; gap: 6px; }
body .catalog_block .item-stock .icon { display: none !important; }
body .catalog_block .item-stock::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #2e9d4f; flex: none; }
body .catalog_block .item-stock.lm74-stock--low::before { background: #e0a100; }
body .catalog_block .item-stock.lm74-stock--low .value { color: #a86b00 !important; font-weight: 600 !important; }
@media (max-width: 600px) { body .catalog_block .lm74-vol { right: 6px; bottom: 6px; padding: 4px 7px; font-size: 11.5px; } }
@media (max-width: 600px) { body .catalog_block .image_wrapper_block .thumb:has(img[src*="noimage"])::after { bottom: 34%; font-size: 11px; } body .catalog_block .image_wrapper_block img[src*="noimage"] { padding: 22% 30% 46% !important; } }

/* ══ «Купить в 1 клик»: где забрать (16.10.2026) ══ быстрый заказ — только резерв, поэтому выбор
   магазина вместо демо-заглушки «Стоимость доставки» (шаблон oneclickbuy.max/shop). */
#one_click_buy_form .lm74-ocb-get { border: 0; padding: 0; margin: 0 0 18px; min-width: 0; }
#one_click_buy_form .lm74-ocb-get legend { border: 0; width: auto; margin: 0 0 8px; padding: 0; font-size: 13px; color: #6b778c; }
.lm74-ocb-get__i { display: flex !important; align-items: flex-start; gap: 10px; margin: 0 0 8px !important; padding: 11px 14px !important; border: 1.5px solid #dfe4ec; border-radius: 10px; cursor: pointer; background: #fff; transition: border-color .15s, background .15s; font-weight: 400 !important; }
.lm74-ocb-get__i:hover { border-color: #b9c3d3; }
.lm74-ocb-get__i input { margin: 3px 0 0 !important; flex: none; width: 18px; height: 18px; accent-color: var(--lm-navy, #00336b); position: static !important; opacity: 1 !important; }
.lm74-ocb-get__i span { display: flex; flex-direction: column; gap: 2px; line-height: 1.3; }
.lm74-ocb-get__i b { font-weight: 600; color: #1a2233; font-size: 14px; }
.lm74-ocb-get__i small { font-size: 12px; color: #6b778c; }
.lm74-ocb-get__i:has(input:checked) { border-color: var(--lm-navy, #00336b); background: #f4f7fc; }
.lm74-ocb-get__i:has(input:focus-visible) { outline: 2px solid var(--lm-navy, #00336b); outline-offset: 2px; }
.lm74-ocb-get__note { margin: 4px 0 0 !important; font-size: 12px; line-height: 1.4; color: #6b778c; }

/* lm74 18.10.2026 — «Купить в 1 клик»: вторичная кнопка в паре с жёлтой «В корзину» */
body .wrapp-one-click .btn.one_click {
	display: flex !important; align-items: center; justify-content: center; gap: 8px;
	width: 100%; height: 48px !important; min-height: 0 !important; padding: 0 20px !important; margin: 10px 0 0 !important;
	border: 1.5px solid #c9d4e5 !important; border-radius: 12px !important;
	background: #fff !important; color: var(--lm-navy, #0c2b57) !important; box-shadow: none !important;
	font: 600 15px/1 var(--lm-body, "Inter Tight", sans-serif) !important; letter-spacing: 0 !important; text-transform: none !important;
	transition: border-color .15s, background .15s, color .15s;
}
body .wrapp-one-click .btn.one_click::before {
	content: ""; flex: 0 0 16px; width: 16px; height: 16px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E") center/contain no-repeat;
}
body .wrapp-one-click .btn.one_click span { color: inherit !important; font: inherit !important; text-shadow: none !important; }
body .wrapp-one-click .btn.one_click:hover { border-color: var(--lm-navy, #0c2b57) !important; background: #f3f6fb !important; color: var(--lm-navy, #0c2b57) !important; }
body .wrapp-one-click .btn.one_click:focus-visible { outline: 2px solid var(--lm-acc, #ffb703); outline-offset: 2px; }

/* lm74 20.10.2026 — характеристики при наведении на фото в карточке каталога (Aspro .properties_absolute):
   были прижаты к левому краю, налезали на значок объёма и колонку иконок, низ обрезался.
   Теперь: поля 14px, справа место под иконки, строки «название — значение» с разделителями,
   «Объём» скрыт (есть кнопки 1л/7л), значок объёма прячется на время наведения, низ мягко затухает. */
.catalog_block .image_wrapper_block .properties_absolute {
	inset: 0 52px 0 0 !important; width: auto !important; height: auto !important; max-height: none !important;
	padding: 12px 6px 18px 14px !important; box-sizing: border-box; border-radius: inherit;
	background: var(--lm-bg, #f4f6fa) !important; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin;
	-webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 26px), transparent);
	mask-image: linear-gradient(180deg, #000 calc(100% - 26px), transparent);
}
.catalog_block .image_wrapper_block .properties_absolute .list_values_wrapper { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px !important; padding: 0 !important; }
.catalog_block .image_wrapper_block .properties_absolute .list_values_wrapper .item { margin: 0 !important; }
.catalog_block .image_wrapper_block .properties__item {
	display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; margin: 0 !important; padding: 7px 0 !important;
	border-top: 1px solid rgba(12, 43, 87, .08);
}
.catalog_block .image_wrapper_block .list_values_wrapper + .properties__item { border-top: 0; padding-top: 0 !important; }
.catalog_block .image_wrapper_block .properties__title { margin: 0 !important; font-size: 11px !important; line-height: 1.3 !important; letter-spacing: .02em; color: var(--lm-muted, #6b778c) !important; }
.catalog_block .image_wrapper_block .properties__value {
	margin: 0 !important; font-size: 13px !important; line-height: 1.35 !important; font-weight: 600; color: var(--lm-ink, #14213d) !important;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere;
}
.catalog_block .image_wrapper_block .properties__item.lm74-prop-skip { display: none !important; }
.catalog_block .image_wrapper_block.with-props:hover .lm74-vol { opacity: 0; transition: opacity .15s; }

/* lm74 20.10.2026 — карточка товара: правая колонка («Нужна консультация», цена) прилипала на 60px,
   а сверху закреплены шапка + полоса вкладок (~130px) — верх блока уходил под вкладки.
   Отступ считает shop.js по нижней границе закреплённых панелей. */
.product-side .inner-wrapper-sticky[style*="fixed"] { top: var(--lm74-side-top, 60px) !important; }

/* lm74 20.10.2026 — корзина: «Купить в 1 клик» — вторичная кнопка в пару к «Перейти к оформлению»:
   та же высота 54px и скругление, тонкая светлая рамка, молния; тема делала её 73px с синей рамкой. */
body .basket-checkout-btn.ocb { margin-top: 10px !important; }
body .basket-checkout-btn.ocb .oneclickbuy {
	display: flex !important; align-items: center; justify-content: center; gap: 8px;
	width: 100%; height: 54px !important; min-height: 0 !important; padding: 0 20px !important; box-sizing: border-box;
	border: 1.5px solid #c9d4e5 !important; border-radius: 10px !important; background: #fff !important; box-shadow: none !important;
	color: var(--lm-navy, #0c2b57) !important; font: 600 15px/1 var(--lm-body, Montserrat, sans-serif) !important; letter-spacing: 0 !important; text-transform: none !important;
	transition: border-color .15s, background .15s;
}
body .basket-checkout-btn.ocb .oneclickbuy::before {
	content: ""; flex: 0 0 16px; width: 16px; height: 16px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E") center/contain no-repeat;
}
body .basket-checkout-btn.ocb .oneclickbuy:hover { border-color: var(--lm-navy, #0c2b57) !important; background: #f3f6fb !important; }
body .basket-checkout-btn.ocb .oneclickbuy:focus-visible { outline: 2px solid var(--lm-acc, #ffb703); outline-offset: 2px; }
/* кнопка «наверх» на мобиле садилась поверх кнопок оформления — в корзине она не нужна */
@media (max-width: 991px) { html body:has(.basket-checkout-btn) a.scroll-to-top, html body:has(.basket-checkout-btn) a.scroll-to-top.ROUND_COLOR { display: none !important; } }
