/* G4DPDP — десктопная карточка «как Озон» (волна 7, 04.09.2026, фронт F4). Только ≥992px.
   Разметка строится в local/g4dpdp.js: галерея #g4dgal, бокс .g4dbuy (две карточки .g4dcard),
   свой ряд покупки .g4dcta, липкая плашка #g4dbar, лайтбокс #g4dlb. */
@media (min-width: 992px) {

/* ── сетка: галерея ~48% · инфо ~28% · бокс 340px ── */
html.g4dtm .catalog_detail .item_main_info {
	display: grid;
	grid-template-columns: minmax(0, 48fr) minmax(0, 28fr) 340px;
	gap: 28px;
	align-items: start;
}
html.g4dtm .item_main_info > .img_wrapper {
	grid-column: 1; grid-row: 1;
	position: sticky; top: 14px;
	width: auto !important; height: auto !important; float: none !important;
}
/* тема даёт .right_info padding-left:50% и .info_item — половину: заголовок ломался по 8 символов */
html.g4dtm .item_main_info > .right_info {
	grid-column: 2; grid-row: 1;
	width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important;
}
html.g4dtm .catalog_detail .item_main_info .right_info .info_item {
	width: 100% !important; float: none !important; padding: 0 !important; margin: 0 !important;
}
html.g4dtm .info_item .top_info { padding: 4px 0 0 !important; }
/* рейтинг (звёзды + бейджи WB/OZON) и артикул — каждый своей строкой, иначе бейджи наезжали на артикул */
html.g4dtm .top_info .rows_block { display: flex; flex-direction: column; gap: 8px; margin: 0 !important; }
html.g4dtm .top_info .rows_block .item_block { width: 100% !important; float: none !important; padding: 0 !important; margin: 0 !important; }
html.g4dtm .info_item .middle_info { padding: 0 !important; float: none !important; width: 100% !important; min-height: 0; }
/* Композит через 1–3 с кладёт в среднюю колонку СВЕЖИЕ цены и кнопки — adopt() их оттуда
   забирает в бокс, но до этого момента колонка успевала вырасти на 800 px, и страница
   дёргалась (замер 06.09: .middle_info = 924 px, через полсекунды 0). Место этих блоков —
   только в боксе, поэтому в средней колонке не показываем их вовсе. Правило действует
   лишь пока копии ЛЕЖАТ В БОКСЕ (метку g4d-adopted ставит adopt() в g4dpdp.js) — если бокс
   почему-то пуст, цену и кнопку снова показывает средняя колонка. */
body.g4dpdp-on .item_main_info.g4d-adopted .middle_info .prices_block,
body.g4dpdp-on .item_main_info.g4d-adopted .middle_info .buy_block,
body.g4dpdp-on .item_main_info.g4d-adopted .middle_info .mkt5-trust { display: none !important; }
html.g4dtm .item_main_info > .g4dbuy { grid-column: 3; grid-row: 1; min-width: 0; }
/* узкий десктоп (992–1199): бокс уже и отступы меньше, иначе кадру остаётся ~280px */
@media (max-width: 1199px) {
	html.g4dtm .catalog_detail .item_main_info { grid-template-columns: minmax(0, 48fr) minmax(0, 27fr) 300px; gap: 18px; }
	.g4dabout__l { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.g4dabout__l dt { border-bottom: 0; padding-bottom: 0; }
	.g4dabout__l dd { padding-top: 2px; }
}
html.g4dtm .item_main_info > .clearleft { display: none; }
html.g4dtm .page-top-main { min-height: 0; }
/* п.8 волны 8: «убрать квадратные битриксовские границы блока товара — и внизу, и наверху, и сбоку».
   Замер диагностики: тема даёт .catalog_detail .item_main_info{border:1px solid rgb(242,242,242)}
   (рамка [75,335,1290×1004]) и .info_item .top_info{border-bottom:1px solid rgb(242,242,242)}. */
html.g4dtm .catalog_detail .item_main_info { border: 0 !important; box-shadow: none !important; margin-top: 12px; }
html.g4dtm .catalog_detail .item_main_info .info_item,
html.g4dtm .catalog_detail .item_main_info .middle_info,
html.g4dtm .catalog_detail .item_main_info .info_item .top_info { border: 0 !important; box-shadow: none !important; }

/* заголовок — в средней колонке, как у Озона */
.g4dtitle h1 { font-size: 22px; line-height: 1.3; font-weight: 700; margin: 0 0 10px; color: #1a1a1e; }
/* Наверху страницы заголовок не рисуем ВООБЩЕ: его переносит скрипт из <head>, и если дать
   браузеру нарисовать его на старом месте, после переноса вся страница подпрыгивает на 52 px
   (замер 06.09: 0,27 из CLS 0,37). Условия жёсткие, чтобы не задеть чужие страницы:
   • html.g4dtm ставит только наш скрипт — без него (или ниже 992 px) заголовок на месте;
   • кнопки «Поделиться» в .page-top-main есть ТОЛЬКО на карточке товара — на разделах
     (проверено на /catalog/, /catalog/profil/, /catalog/komplekty/, /catalog/svetodiodnaya_lenta/)
     там лежит один h1, и правило до него не достаёт;
   • после переноса заголовок уже не сосед .line_block.share — правило само перестаёт работать. */
html.g4dtm .page-top-main > .line_block.share ~ h1#pagetitle { display: none; }

/* «О товаре» — краткие характеристики под описанием (средняя колонка была пустой) */
.g4dabout { margin: 22px 0 0; }
.g4dabout__t { font-size: 17px; font-weight: 700; color: #1a1a1e; margin: 0 0 10px; }
.g4dabout__l { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 14px; margin: 0; }
.g4dabout__l dt, .g4dabout__l dd {
	margin: 0; padding: 7px 0; font-size: 13.5px; line-height: 18px;
	border-bottom: 1px solid #f0f0f3; min-width: 0; overflow-wrap: anywhere;
}
.g4dabout__l dt { color: #8a8a90; font-weight: 400; }
.g4dabout__l dd { color: #1a1a1e; }
.g4dabout__all { display: inline-block; margin-top: 10px; font-size: 13.5px; color: #FF6600; text-decoration: none; border-bottom: 1px dashed rgba(255,102,0,.5); }
.g4dabout__all:hover { color: #e65c00; }
/* «Описание» под характеристиками: столько строк, сколько остаётся до низа бокса покупки
   (число строк ставит fitAbout() в g4dpdp.js) — иначе под колонкой ~400 px белого поля */
.g4dabout__d { margin-top: 20px; }
.g4dabout__tx {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 12; overflow: hidden;
	white-space: pre-line; font-size: 13.5px; line-height: 21px; color: #4a4a52; overflow-wrap: anywhere;
}
.g4dabout__more { display: inline-block; margin-top: 10px; font-size: 13.5px; color: #FF6600; text-decoration: none; border-bottom: 1px dashed rgba(255,102,0,.5); }
.g4dabout__more:hover { color: #e65c00; }
.g4dabout__more[hidden] { display: none !important; }

/* ── галерея ── */
/* Замер 06.09 (товар cob-rgb-cct-ic, 22 фото + 1 видео): колонка превью РАСТИЛА строку —
   scrollHeight 1580 = clientHeight 1580, своего скролла не было, стрелки ▲▼ прятались
   («нечего прокручивать»), а плашка видео уезжала на y=1937, то есть за экран. Причина:
   у flex-строки высоту задавал самый высокий элемент — сама лента. Ставим колонку
   абсолютом на всю высоту строки (её задаёт кадр), место под неё держим отступом. */
#g4dgal { display: flex; gap: 12px; align-items: stretch; position: relative; padding-left: 80px; }
#g4dgal > .g4dgal__rail { position: absolute; left: 0; top: 0; bottom: 0; }
#g4dgal[data-empty] { display: none; }
/* лента превью ростом с кадр (кадр — пропорция 4:5, не выше 620px: на узком десктопе не оставляет пустых полей) */
/* п.19: колонка превью = ▲ · лента со своим скроллом · ▼ · видео ВНЕ прокрутки (видно всегда) */
.g4dgal__rail { width: 68px; flex: 0 0 68px; display: flex; flex-direction: column; gap: 6px; }
.g4dgal__rlist {
	flex: 1 1 auto; min-height: 0;
	display: flex; flex-direction: column; gap: 8px;
	overflow-y: auto; scrollbar-width: none; padding: 2px;
}
.g4dgal__rlist::-webkit-scrollbar { display: none; }
.g4dgal__rup, .g4dgal__rdown {
	flex: 0 0 22px; height: 22px; width: 64px; margin: 0 2px; padding: 0; border: 0; border-radius: 8px;
	background: #f4f4f7; color: #4a4a52; cursor: pointer;
	display: flex; align-items: center; justify-content: center; transition: background .12s;
}
.g4dgal__rup:hover, .g4dgal__rdown:hover { background: #e8e8ee; }
.g4dgal__rup svg, .g4dgal__rdown svg { width: 16px; height: 16px; display: block; }
.g4dgal__rup[hidden], .g4dgal__rdown[hidden], .g4dgal__rvideo[hidden] { display: none !important; }
.g4dgal__rvideo { flex: 0 0 auto; margin: 2px 2px 0; }
.g4dgal__vlab { font-size: 11px; line-height: 14px; color: #8a8a90; text-align: center; margin-top: 3px; }
.g4dgal__th {
	width: 64px; height: 64px; flex: 0 0 auto; border-radius: 10px; overflow: hidden;
	border: 2px solid transparent; cursor: pointer; background: #f7f7f9; position: relative;
	transition: border-color .15s;
}
.g4dgal__th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.g4dgal__th:hover { border-color: #c9c9d1; }
.g4dgal__th.is-on { border-color: #FF6600; }
.g4dgal__th--video { background: #63666e; }
.g4dgal__th--video img { filter: grayscale(1) brightness(.75); }
.g4dgal__play {
	position: absolute; inset: 0; margin: auto; width: 28px; height: 28px; border-radius: 50%;
	background: rgba(255,255,255,.94); color: #1a1a1e; display: flex; align-items: center; justify-content: center;
	box-shadow: 0 1px 4px rgba(0,0,0,.2);
}
.g4dgal__play svg { width: 18px; height: 18px; margin-left: 2px; }
.g4dgal__main { position: relative; flex: 1 1 auto; min-width: 0; }
.g4dgal__frame { position: relative; width: 100%; aspect-ratio: 4 / 5; max-height: 620px; border-radius: 16px; background: #fff; overflow: hidden; }
.g4dgal__img { width: 100%; height: 100%; object-fit: contain; display: block; cursor: zoom-in; }
.g4dgal__frame.is-video .g4dgal__img { display: none; }
.g4dgal__video { width: 100%; height: 100%; object-fit: contain; display: block; background: #000; border-radius: 16px; }
/* стрелки ‹ › — белые кружки по краям, появляются при наведении (как Озон) */
.g4dgal__nav {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; padding: 0;
	width: 40px; height: 40px; border: 0; border-radius: 50%; background: #fff; color: #1a1a1e;
	box-shadow: 0 2px 10px rgba(0,0,0,.18), 0 0 0 1px rgba(0,0,0,.06);
	display: flex; align-items: center; justify-content: center; cursor: pointer;
	opacity: 0; transition: opacity .18s, background .12s;
}
.g4dgal__nav--l { left: 12px; }
.g4dgal__nav--r { right: 12px; }
.g4dgal__frame:hover .g4dgal__nav { opacity: 1; }
.g4dgal__nav:hover { background: #f4f4f7; }
#g4dgal.is-single .g4dgal__nav, #g4dgal.is-single .g4dgal__dots { display: none; }
.g4dgal__dots { display: flex; justify-content: center; gap: 6px; margin-top: 10px; height: 8px; }
.g4dgal__dots i { width: 8px; height: 8px; border-radius: 50%; background: #d9d9e0; cursor: pointer; transition: background .15s; }
.g4dgal__dots i.is-video { background: #b9b9c3; }
.g4dgal__dots i.is-on { background: #FF6600; }

/* Сердце над фото (п.11, волна 9, скрин С2 владельца: «шестиугольное, тени обрезаны»).
   Замер 11.09 (1920×1080, zoom 100 %): в волне 8 сердцем был родной .wish_item .value темы;
   у .wish_item тема ставит overflow:hidden при боксе ровно 40×40 — тень 0 2px 8px резалась
   по прямоугольнику, а при наведении круг (scale 1.06 → 42,4 px) обрезался плоско по четырём
   сторонам. Теперь сердце — СВОЯ кнопка .g4dgal__likebtn в .g4dgal__main (у всех предков
   overflow visible, кадр с overflow:hidden — сосед, а не предок); родной .like_wrapper
   остаётся в разметке для обработчиков аспро/F3, но на десктопе спрятан.
   Иконка «сравнить» из карточки удалена совсем (п.17 волны 8) — узел сносит adoptLike(). */
body.g4dpdp-on .catalog_detail .item_main_info .like_wrapper { display: none !important; }
.g4dgal__likebtn {
	position: absolute; top: 12px; right: 12px; z-index: 3; width: 40px; height: 40px; padding: 0; margin: 0;
	border: 0; border-radius: 50%; background: #fff; color: #1a1a1e; cursor: pointer;
	display: flex; align-items: center; justify-content: center; overflow: visible;
	box-shadow: 0 2px 8px rgba(0,0,0,.16); transition: transform .12s, box-shadow .12s;
	-webkit-appearance: none; appearance: none; line-height: 0;
}
.g4dgal__likebtn:hover { transform: scale(1.06); box-shadow: 0 3px 10px rgba(0,0,0,.2); background: #fff; }
.g4dgal__likebtn:focus { outline: 0; }
.g4dgal__likebtn:focus-visible { box-shadow: 0 2px 8px rgba(0,0,0,.16), 0 0 0 2px rgba(255,102,0,.35); }
.g4dgal__likebtn svg { display: block; width: 22px; height: 22px; fill: none; stroke: #1a1a1e; }
/* активное — заливка оранжевым ТОЛЬКО у сердца, круг остаётся белым */
.g4dgal__likebtn.is-on svg { fill: #FF6600; stroke: #FF6600; }
/* товар без цены: избранное невозможно (аспро прячет родной .wish_item) — сердца нет и у нас */
.g4dgal__likebtn[hidden], .g4dbar__like[hidden] { display: none !important; }

/* ── правый бокс: две карточки ── */
.g4dbuy__in { display: flex; flex-direction: column; gap: 14px; }
.g4dbuy__in.is-sticky { position: sticky; top: 14px; }
/* п.20: жёсткой рамки у бокса нет — только мягкая тень, как у Озона */
.g4dcard {
	background: #fff; border: 0; border-radius: 16px; padding: 18px 20px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}

/* цены: розница крупно, оптовая строкой мельче; всё со своими line-height (тема давала font-size:0) */
.g4dbuy .prices_block { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; }
.g4dbuy .prices_block .cost, .g4dbuy .prices_block .price, .g4dbuy .prices_block .offers_price_wrapper,
.g4dbuy .prices_block .price_matrix_block, .g4dbuy .prices_block .price_matrix_wrapper {
	font-size: 14px; line-height: 1.4; float: none !important; margin: 0 !important; padding: 0 !important; height: auto !important; min-height: 0 !important;
}
/* !important — у темы селекторы вида .catalog_detail .item_main_info .prices_block … сильнее наших */
.g4dbuy .offers_price_title { display: block !important; float: none !important; clear: both; font-size: 12.5px !important; line-height: 16px !important; color: #8a8a90 !important; margin: 0 !important; padding: 0 !important; width: auto !important; }
.g4dbuy .offers_price { display: block !important; float: none !important; clear: both; font-size: 26px !important; line-height: 32px !important; font-weight: 700 !important; color: #1a1a1e !important; margin: 0 0 4px !important; padding: 0 !important; width: auto !important; white-space: nowrap; }
.g4dbuy .offers_price .values_wrapper, .g4dbuy .offers_price .price_value { font-size: inherit !important; line-height: inherit !important; font-weight: inherit !important; color: inherit !important; }
.g4dbuy .offers_price .price_currency, .g4dbuy .offers_price .price_measure { font-size: 20px !important; line-height: inherit !important; font-weight: 700 !important; color: inherit !important; }
/* вторая пара «От 30.000 р — 147 руб./м» одной строкой (порядок узлов: заголовок, цена, заголовок, цена) */
.g4dbuy .offers_price_title:nth-child(n+3) { display: inline !important; font-size: 13px !important; line-height: 18px !important; }
.g4dbuy .offers_price_title:nth-child(n+3)::after { content: ' — '; }
.g4dbuy .offers_price:nth-child(n+3) { display: inline !important; font-size: 14px !important; line-height: 18px !important; font-weight: 600 !important; color: #4a4a52 !important; margin: 0 !important; }
.g4dbuy .offers_price:nth-child(n+3) .price_currency, .g4dbuy .offers_price:nth-child(n+3) .price_measure { font-size: 14px !important; font-weight: 600 !important; }
/* 18.09 (тест волн 9–11, замечание «цены у админа съезжают»): сотрудник видит ВСЕ типы цен (Цена МП, 150 AED, 15.000 AED…),
   и пары «название — цена» со второй по четвёртую шли одной строкой встык. Каждая пара, начиная с третьей, — с новой строки. */
.g4dbuy .offers_price_title:nth-child(n+5)::before { content: ''; display: block; height: 2px; }
/* товар БЕЗ предложений (платы, профили без ТП): розница крупно, оптовая «От 30.000 р» —
   строкой мельче. До правки обе рисовались 26px и было непонятно, какая цена настоящая (п.5) */
.g4dbuy .price_matrix_block { margin: 0 !important; padding: 0 !important; }
.g4dbuy .price_matrix_block .price_group { margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
.g4dbuy .price_matrix_block .price_group .price_name { display: block; font-size: 12.5px !important; line-height: 16px !important; color: #8a8a90 !important; font-weight: 400 !important; margin: 0 !important; padding: 0 !important; }
.g4dbuy .price_matrix_wrapper { margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
.g4dbuy .price_matrix_wrapper .price { font-size: 26px !important; line-height: 32px !important; font-weight: 700; color: #1a1a1e; margin: 0 0 4px !important; padding: 0 !important; }
.g4dbuy .price_matrix_wrapper .price .price_currency, .g4dbuy .price_matrix_wrapper .price .price_measure { font-size: 20px; }
/* вторая и следующие группы — одной строкой «От 30.000 р — 319 руб./шт» */
.g4dbuy .price_matrix_block .price_group + .price_group { display: block; margin-top: 2px !important; }
.g4dbuy .price_matrix_block .price_group + .price_group .price_name { display: inline; font-size: 13px !important; line-height: 18px !important; }
.g4dbuy .price_matrix_block .price_group + .price_group .price_name::after { content: ' — '; }
.g4dbuy .price_matrix_block .price_group + .price_group .price_matrix_wrapper { display: inline; }
.g4dbuy .price_matrix_block .price_group + .price_group .price { display: inline !important; font-size: 14px !important; line-height: 18px !important; font-weight: 600 !important; color: #4a4a52 !important; margin: 0 !important; }
.g4dbuy .price_matrix_block .price_group + .price_group .price .price_currency,
.g4dbuy .price_matrix_block .price_group + .price_group .price .price_measure { font-size: 14px !important; font-weight: 600 !important; }
.g4dbuy .prices_block .price.discount { font-size: 15px !important; line-height: 20px !important; color: #8a8a90; font-weight: 400; text-decoration: line-through; }
.g4dbuy .prices_block .sale_block { font-size: 13px; line-height: 18px; color: #00A046; margin-top: 2px; }
/* наличие словами под ценой */
.g4dbuy .quantity_block_wrapper { display: block; margin: 8px 0 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
.g4dbuy .quantity_block_wrapper .p_block { margin: 0 !important; padding: 0 !important; }
.g4dbuy .item-stock { font-size: 13px; line-height: 18px; color: #4a4a52; display: flex; align-items: center; gap: 6px; margin: 0 !important; }
/* 16.09: «Аксессуары»/«Похожие» — штатные плитки каталога вместо слайдера темы */
.g4dlists { margin: 28px 0 0; }
.g4dlist + .g4dlist { margin-top: 28px; }
.g4dlist .g4feed__title { font-size: 21px; font-weight: 700; margin: 0 0 14px; }
/* п.29: «Нет в наличии» на карточке не пишем — товар покупаемый, подпись «Под заказ» серым */
.g4dbuy .item-stock .value[data-g4s] { color: #8a8a90 !important; }
/* w10 F1 (владелец 14.09): вместо серого квадратика у «Под заказ» — маленький синий самолётик (как на баннере
   «Доставка по России — бесплатно»), в том же боксе 14×14 (ЗАМЕР до правки на ?oid=2040: .icon 14×14, фон #8a8a90).
   Цвет #4a9fb3 — нижняя граница, разрешённая владельцем (облака баннера #70b0c0 на белом при 14 px бледнее:
   контраст 2,4:1 против 3,0:1). Текст «Под заказ» остаётся серым. Самолётик — залитый SVG (Material «flight»,
   повёрнут носом вправо), в data-URI, чтобы не грузить файл. */
.g4dbuy .item-stock[data-g4s] .icon, .g4dbuy .item-stock[data-g4s] i { color: #4a9fb3 !important; width: 14px; height: 14px; border-radius: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234a9fb3' transform='rotate(90 12 12)' d='M21 16v-2l-8-5V3.5c0-.83-.67-1.5-1.5-1.5S10 2.67 10 3.5V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5l8 2.5z'/%3E%3C/svg%3E") center / 14px 14px no-repeat transparent !important; }

/* варианты: родной sku_props аспро, пилюли с подписями; родной счётчик и кнопка спрятаны — ряд покупки свой.
   Групп в теме ДВА вида: .bx_item_detail_scu (PICT/TEXT) и .bx_item_detail_size (LI, например
   «Количество в упаковке» у профилей) — оформляем оба, иначе вторые остаются родными (ревью 05.09) */
.g4dbuy .buy_block {
	display: block !important; width: auto !important; margin: 14px 0 0 !important; padding: 14px 0 0 !important;
	border-top: 1px solid #ececf0; float: none !important; box-shadow: none !important; background: none !important;
}
.g4dbuy .buy_block.g4d-novars { display: none !important; }
.g4dbuy .offer_buy_block, .g4dbuy .counter_wrapp { display: none !important; }
.g4dbuy .sku_props { margin: 0 !important; padding: 0 !important; }
.g4dbuy .bx_catalog_item_scu { padding: 0 !important; margin: 0 !important; }
.g4dbuy :is(.bx_item_detail_scu, .bx_item_detail_size) { margin: 0 0 12px !important; padding: 0 !important; overflow: visible !important; }
.g4dbuy :is(.bx_item_detail_scu, .bx_item_detail_size):last-child { margin-bottom: 0 !important; }
.g4dbuy .bx_item_section_name { display: block; font-size: 13px; line-height: 18px; color: #8a8a90; font-weight: 400; margin: 0 0 8px !important; padding: 0 !important; }
.g4dbuy .bx_item_section_name .val { color: #1a1a1e; font-weight: 600; }
.g4dbuy :is(.bx_scu_scroller_container, .bx_size_scroller_container, .bx_scu, .bx_size) { overflow: visible !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
.g4dbuy :is(.bx_scu, .bx_size) ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none; width: auto !important; }
.g4dbuy :is(.bx_scu, .bx_size) ul li {
	position: relative; display: block; margin: 0 !important; padding: 0 !important; float: none !important;
	width: auto !important; height: auto !important; border: 0 !important; background: none !important; cursor: pointer;
}
.g4dbuy :is(.bx_scu, .bx_size) li .cnt1, .g4dbuy :is(.bx_scu, .bx_size) li .cnt, .g4dbuy :is(.bx_scu, .bx_size) li > i { display: none !important; }
.g4dbuy :is(.bx_scu, .bx_size) li .g4dv {
	display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px;
	border: 1px solid #dcdce2; border-radius: 10px; background: #fff; color: #1a1a1e;
	font-size: 13.5px; line-height: 1.2; white-space: nowrap; transition: border-color .12s, box-shadow .12s;
}
/* п.8: при наведении надпись подскакивала вверх на 8,9 px (замер диагностики). Виновник —
   правило темы `.bx_catalog_item_scu .bx_item_detail_scu ul li:hover span:not(.cnt_item)
   { background:#f2f2f2; display:block }` (специфичность 0,4,3 против нашей 0,3,1): наш
   inline-flex + align-items:center подменялся на block, центрирование пропадало и строка
   18 px прижималась к верху бокса 36 px. Держим display/размер/фон жёстко — меняем только цвет рамки. */
.g4dbuy :is(.bx_scu, .bx_size) li .g4dv,
.g4dbuy :is(.bx_scu, .bx_size) li:hover .g4dv,
.g4dbuy :is(.bx_scu, .bx_size) li.active .g4dv {
	display: inline-flex !important; align-items: center !important; box-sizing: border-box !important;
	height: 36px !important; min-height: 36px !important; line-height: 1.2 !important;
	background: #fff !important; font-weight: 400 !important;
	/* цвет тоже жёстко: у ВЫБРАННОГО варианта тема ставит color:#fff (замер 06.09:
	   .active .g4dv = rgb(255,255,255)) — на белом фоне подпись пропадала совсем.
	   -webkit-text-fill-color — вторая страховка: на скринах 17:37/17:38 подпись
	   выбранного варианта была не видна при правильной ширине пилюли (то есть текст
	   в разметке был), а color в стенде мерился уже правильным #1a1a1e. */
	color: #1a1a1e !important; -webkit-text-fill-color: #1a1a1e !important;
	opacity: 1 !important; visibility: visible !important; text-indent: 0 !important;
}
.g4dbuy :is(.bx_scu, .bx_size) li:hover .g4dv { border-color: #a8a8b3; background: #fafafa !important; }
/* п.8 (ревью 06.09): выбранный вариант был font-weight:600 — единственное место над сгибом,
   где нужен ОТДЕЛЬНЫЙ начертательный файл шрифта (Open Sans 600 приходит своим woff2,
   замер: старт 3 245 мс, конец 3 556 мс, font-display:auto = период блокировки, глифы
   не рисуются). Соседние пилюли 400 рисовались, выбранная — нет: ровно то, что владелец
   видел как «подпись пропала». У Озона выбранный вариант тоже НЕ жирный — отличается
   только оранжевой рамкой. Держим 400 везде: и промаргивание, и разная ширина уходят. */
.g4dbuy :is(.bx_scu, .bx_size) li.active .g4dv { border-color: #FF6600; box-shadow: inset 0 0 0 1px #FF6600; font-weight: 400 !important; }
.g4dbuy :is(.bx_scu, .bx_size) li.missing .g4dv { color: #b0b0b8 !important; -webkit-text-fill-color: #b0b0b8 !important; border-style: dashed; }
/* та же страховка БЕЗ предка .g4dbuy: пилюли живут доли секунды до того, как бокс
   получит класс, а тема в это время красит подпись выбранного варианта в белый
   (.bx_catalog_item_scu .bx_item_detail_scu ul li.active span:not(.cnt_item){color:#FFF}) */
.sku_props li .g4dv, .sku_props li.active .g4dv { color: #1a1a1e !important; -webkit-text-fill-color: #1a1a1e !important; }
/* п.29 (ревью 06.09) прятал ряд, если в группе доступен один вариант («Напряжение: 12 Вольт» при 384led/м),
   и значение оставалось только текстом в заголовке. 02.10.2026, Лиза (группа 710): «часть характеристик справа
   отображается просто текстом, а не в виде таба» (на телефоне — пилюлей). Ряд снова показываем, как на телефоне. */
/* волна 9, п.14 (владелец): «Возврат 14 дней как было — та же иконка, под „Помощь с подключением“»:
   чип эпилога снова виден (правило nth-child(2){display:none} волны 8 снято), а из карточки
   доставки строка «Можно вернуть…» убрана; порядок чипов переставляет adopt() в g4dpdp.js. */
/* цвет: кружок-свотч слева в пилюле */
.g4dbuy .g4dsku--img :is(.bx_scu, .bx_size) li .cnt1 {
	display: block !important; position: absolute; left: 8px; top: 50%; transform: translateY(-50%);
	width: 22px; height: 22px; border-radius: 50%; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); pointer-events: none;
}
.g4dbuy .g4dsku--img :is(.bx_scu, .bx_size) li .cnt1 .cnt_item { display: block !important; width: 100% !important; height: 100% !important; background-size: cover !important; background-position: center !important; margin: 0 !important; border: 0 !important; }
.g4dbuy .g4dsku--img :is(.bx_scu, .bx_size) li .g4dv { padding-left: 38px; }

/* ── ряд покупки ── */
/* п.10: цвет, типографика и АНИМАЦИЯ один в один с мобильной карточкой
   (local/g4pdp/g4pdp.css 510–560: .18s/.2s/.28s, кривая cubic-bezier(.22,.61,.36,1),
   зелёный #00A046, степпер выезжает шириной 0→122 с opacity и сдвигом 16px, фон #f3f3f5).
   Раньше при добавлении <button> ПОДМЕНЯЛСЯ на <a> — из-за смены узла transition
   не срабатывал вообще (замер диагностики), а степпер возникал мгновенно.
   Теперь узел кнопки один на все состояния, степпер всегда в DOM. */
.g4dcta { margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid #ececf0; }
.g4dcta__r1 { display: flex; align-items: stretch; min-height: 50px; }
/* скелет ряда покупки, пока динамическая зона композита не приехала: место занято
   (min-height 50px), но кнопка не врёт о состоянии — «Под заказ» ставим только тогда,
   когда у товара действительно нет цены (ревью 06.09, п.29). */
.g4dcta__r1[data-kind="wait"] { background: #f3f3f5; border-radius: 12px; }
.g4dcta__add {
	flex: 1 1 auto; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 10px;
	height: 50px; border: 0; border-radius: 12px; background: #FF6600; color: #fff; text-decoration: none;
	font-size: 16px; font-weight: 700; font-family: inherit; cursor: pointer;
	transition: background-color .18s cubic-bezier(.22,.61,.36,1), opacity .2s, transform .12s;
}
.g4dcta__add:hover { background: #e65c00; }
.g4dcta__add:active { transform: scale(.985); }
/* волна 9, п.10 (владелец: «текст ВСЕГДА белый»). Замер 11.09 на cob-12w: подпись «В корзину»
   лежит в <b>, а тема даёт `b, strong{color:#383838}` (template_….css) — надпись была ТЁМНОЙ во
   всех состояниях; сама ссылка при наведении красилась `a:hover{color:#1d2029}`, а в состоянии
   «В корзине» (есть href) — `a{color:#222}`/`a:focus{color:#222}`: специфичность выше нашей
   .g4dcta__add. Белый — жёстко, на узел, всех его состояниях и всех потомках. */
.g4dcta__add, .g4dcta__add:link, .g4dcta__add:visited, .g4dcta__add:hover, .g4dcta__add:focus, .g4dcta__add:active,
.g4dcta__add *, .g4dcta__add:hover *, .g4dcta__add:focus *, .g4dcta__add:active * {
	color: #fff !important; -webkit-text-fill-color: #fff !important; text-decoration: none !important;
}
.g4dcta__t { display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.15; }
.g4dcta__t small { display: none; font-size: 11.5px; font-weight: 400; opacity: .88; }
:is(.g4dcta__r1, .g4dbar__cta)[data-st="in"] .g4dcta__add { background: #00A046; }
:is(.g4dcta__r1, .g4dbar__cta)[data-st="in"] .g4dcta__add:hover { background: #008f3c; }
:is(.g4dcta__r1, .g4dbar__cta)[data-st="in"] .g4dcta__t small { display: block; }
.g4dstp {
	flex: 0 0 auto; display: inline-flex; align-items: center; height: 50px; background: #f3f3f5;
	border-radius: 12px; overflow: hidden; user-select: none;
	width: 0; margin-left: 0; opacity: 0; transform: translateX(16px);
	transition: width .28s cubic-bezier(.22,.61,.36,1), margin-left .28s cubic-bezier(.22,.61,.36,1),
		opacity .2s, transform .28s cubic-bezier(.22,.61,.36,1);
}
:is(.g4dcta__r1, .g4dbar__cta)[data-st="in"] .g4dstp { width: 122px; margin-left: 10px; opacity: 1; transform: none; }
/* первый показ карточки с товаром, который уже в корзине, — без выезда степпера */
.is-nofx .g4dstp, .is-nofx .g4dcta__add { transition: none !important; }
.g4dstp__m, .g4dstp__p {
	width: 40px; height: 50px; flex: 0 0 40px; border: 0; background: transparent; color: #222; font-size: 22px; font-weight: 600;
	line-height: 1; cursor: pointer; font-family: inherit; transition: background .12s; padding: 0;
}
.g4dstp__m:hover, .g4dstp__p:hover { background: #e9e9ee; }
.g4dstp__q { width: 42px; flex: 0 0 42px; height: 50px; padding: 0; text-align: center; border: 0; background: transparent; color: #222; font-weight: 600; font-size: 15px; outline: none; -moz-appearance: textfield; }
.g4dstp__q::-webkit-outer-spin-button, .g4dstp__q::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* п.29: товар БЕЗ цены — «Под заказ» (белая, оранжевая рамка) → штатная форма аспро TOORDER.
   Никаких «Нет в наличии»: при нулевом остатке товар покупается как обычно. */
.g4dcta__order {
	flex: 1 1 auto; display: flex; align-items: center; justify-content: center; height: 50px;
	border: 1px solid #FF6600; border-radius: 12px; background: #fff; color: #FF6600;
	font-size: 15px; font-weight: 700; font-family: inherit; cursor: pointer; transition: background .12s;
}
.g4dcta__order:hover { background: #fff4ec; }
/* волна 9, п.13: ряда «Купить сейчас» (.g4dcta__r2) больше нет; узел эпилога #g4buynow
   сносит g4dpdp.js, а правило-предохранитель #g4buynow{display:none} стоит вне медиа-квери ниже */
/* «Спросить в чате» — отдельной строкой, бейдж «онлайн» на рамке, ничего не наезжает */
.g4dcta__r3:not(:empty) { margin-top: 16px; }
.g4dcta__r3 .g4c-ask { display: block !important; margin: 0 !important; }
.g4dcta__r3 .g4c-ask__b { width: 100%; height: 48px !important; justify-content: center; border-radius: 12px !important; border-color: #dcdce2 !important; font-size: 14px !important; }
.g4dcta__r3 .g4c-ask__b:hover { border-color: #FF6600 !important; color: #FF6600 !important; }
.g4dcta__r3 .g4c-ask__on { top: -8px !important; left: 14px !important; right: auto !important; }
.g4dcta__msg { margin-top: 10px; padding: 10px 12px; border-radius: 10px; background: #fff1f0; color: #b3261e; font-size: 13px; line-height: 1.4; }

/* ── карточка сервиса: доверие списком + доставка ── */
.g4dcard--info .mkt5-trust { display: block !important; margin: 0 !important; }
.g4dcard--info .mkt5-trust__i {
	display: flex !important; align-items: center; gap: 10px; padding: 9px 0 !important;
	border: 0 !important; border-bottom: 1px solid #f0f0f3 !important; border-radius: 0 !important; background: none !important;
	font-size: 13.5px !important; line-height: 1.3; cursor: default;
}
.g4dcard--info .mkt5-trust__i:first-child { padding-top: 0 !important; }
.g4dcard--info .mkt5-trust__i:hover { background: none !important; box-shadow: none !important; }
.g4dcard--info .mkt5-lb { display: inline-flex; align-items: center; gap: 10px; }
.g4dship { margin-top: 10px; font-size: 13.5px; }
.g4dship__t { font-weight: 700; font-size: 15px; margin: 0 0 6px; }
/* п.14: старую строку «Доставка 2–7 дней: … · Оплата: СБП, карта…» (её печатает эпилог
   компонента в #g4delivline) владелец велел убрать целиком. Узел не удаляем — эпилог его
   переискивает 40 раз по 250 мс; просто не показываем. */
.g4dcard--info #g4delivline { display: none !important; }
/* п.14 «Доставка и возврат» один в один с Озоном (эталон «озонизация 7/Доставка и возврат…jpg») */
.g4dlv { font-size: 13px; color: #1a1a1e; }
.g4dlv__city {
	display: flex; align-items: center; gap: 6px; width: 100%; padding: 0; border: 0; background: none;
	font: inherit; color: #1a1a1e; cursor: pointer; text-align: left;
}
.g4dlv__city svg { flex: 0 0 auto; width: 16px; height: 16px; color: #8a8a90; }
.g4dlv__cn { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-bottom: 1px dashed #c9c9d1; }
.g4dlv__city:hover .g4dlv__cn { color: #FF6600; border-bottom-color: rgba(255,102,0,.5); }
.g4dlv__chev { flex: 0 0 auto; width: 14px; height: 14px; color: #b0b0b8; }
.g4dlv__from { font-size: 11.5px; line-height: 15px; color: #8a8a90; margin: 3px 0 0 22px; }
.g4dlv__hr { height: 1px; background: #f0f0f3; margin: 10px 0; }
.g4dlv__row { display: flex; align-items: flex-start; gap: 10px; min-height: 34px; margin-bottom: 8px; }
.g4dlv__row:last-of-type { margin-bottom: 0; }
.g4dlv__l { flex: 1 1 auto; min-width: 0; }
.g4dlv__n { font-size: 13px; line-height: 18px; }
.g4dlv__d { display: block; font-size: 12px; line-height: 16px; color: #8a8a90; min-height: 16px; }
.g4dlv__chip {
	flex: 0 0 auto; display: inline-flex; align-items: center; height: 18px; padding: 0 7px;
	border-radius: 6px; background: #f2f2f5; color: #4a4a52; font-size: 11px; line-height: 18px; white-space: nowrap;
}
.g4dlv__chip.is-free { color: #00A046; }
.g4dlv.is-wait .g4dlv__chip, .g4dlv.is-wait .g4dlv__d {
	color: transparent; background: #f2f2f5; border-radius: 6px; min-width: 62px;
}
.g4dlv.is-wait .g4dlv__d { display: block; height: 12px; margin-top: 3px; min-height: 12px; }
/* волна 9, п.14: строки «Можно вернуть в течение 14 дней» (.g4dlv__ret) в карточке доставки больше нет */
#g4dlv-freedel:not(:empty) { margin-top: 10px; padding-top: 10px; border-top: 1px solid #f0f0f3; }

/* п.21 «Поделиться» — только справа сверху у крошек, светлый выпадающий список */
html.g4dtm .page-top-main > .line_block.share.top { position: relative; }
/* 17.10.2026 (ТЗ Т4, CLS 1366 = 0,13–0,16 на карточках, замер CDP): родной блок «Поделиться» темы — 46 px, наш (кнопка 40×40)
   — 40: при сборке верхняя плашка теряла 6 px, вся карточка под ней поднималась, а «Поделиться» средней колонки въезжал
   на экран снизу — 0,147 из 0,153. Высоту держим одну и ту же с первой отрисовки. */
html.g4dtm .page-top-main > .line_block.share.top { height: 40px; }
/* виджет Яндекса (.ya-share2) и родные подписи прячем, узлы не трогаем: их печатает
   шаблон темы, а внешние скрипты yastatic.net уже отработали — снос узла ронял бы их */
.g4dshare > *:not(.g4dsh) { display: none !important; }
/* дубли «Поделиться» в средней колонке: прячем классом (ревью 06.09, F12) — ниже 992
   правило не действует, и родной блок возвращается вместе с родной вёрсткой */
.g4dhide { display: none !important; }
.g4dsh { position: relative; display: inline-block; }
/* волна 9, п.21: только иконка (квадрат со стрелкой вверх, 20 px), кнопка 40×40, без слова */
.g4dsh__b {
	display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0;
	border: 0; border-radius: 50%; background: none; color: #4a4a52; font: inherit; line-height: 0;
	cursor: pointer; transition: background .12s, color .12s; -webkit-appearance: none; appearance: none;
}
.g4dsh__b:hover { background: #f4f4f7; color: #FF6600; }
.g4dsh__b svg { display: block; width: 20px; height: 20px; }
.g4dsh__m {
	position: absolute; right: 0; top: 100%; margin-top: 8px; width: 214px; z-index: 60;
	background: #fff; border-radius: 12px; padding: 6px; box-shadow: 0 8px 24px rgba(0,0,0,.12), 0 0 0 1px rgba(0,0,0,.05);
}
.g4dsh__m[hidden] { display: none !important; }
.g4dsh__i {
	display: flex; align-items: center; gap: 10px; width: 100%; height: 40px; padding: 0 10px;
	border: 0; border-radius: 8px; background: none; font: inherit; font-size: 14px; color: #1a1a1e !important;
	text-decoration: none !important; cursor: pointer; text-align: left;
}
.g4dsh__i:hover { background: #f7f7f9; }
.g4dsh__i svg { flex: 0 0 auto; width: 20px; height: 20px; color: #8a8a90; }
.g4dsh__t {
	position: absolute; right: 0; top: 100%; margin-top: 8px; z-index: 61; padding: 8px 12px;
	border-radius: 10px; background: #1a1a1e; color: #fff; font-size: 12.5px; white-space: nowrap;
	box-shadow: 0 6px 18px rgba(0,0,0,.2);
}
.g4dsh__t[hidden] { display: none !important; }

/* ── липкая плашка (п.26): ниже выпадашки поиска (10040) ── */
#g4dbar {
	position: fixed; left: 0; right: 0; top: 0; z-index: 10030; background: #fff;
	box-shadow: 0 4px 18px rgba(0,26,52,.12); transform: translateY(-100%); opacity: 0;
	transition: transform .2s ease, opacity .2s ease; pointer-events: none;
}
#g4dbar.is-on { transform: none; opacity: 1; pointer-events: auto; }
.g4dbar__in { max-width: 1290px; margin: 0 auto; height: 64px; display: flex; align-items: center; gap: 16px; padding: 0 15px; }
.g4dbar__img { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 8px; object-fit: cover; background: #f7f7f9; }
.g4dbar__t { flex: 1 1 auto; min-width: 0; }
.g4dbar__name { font-size: 15px; line-height: 20px; font-weight: 600; color: #1a1a1e; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g4dbar__meta { display: flex; gap: 14px; align-items: center; font-size: 13px; line-height: 18px; margin-top: 2px; }
.g4dbar__meta a { color: #4a4a52; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.g4dbar__meta a:hover { color: #FF6600; }
.g4dbar__rev:empty { display: none; }
.g4dbar__rev b { font-weight: 700; color: #1a1a1e; }
.g4dstars { display: inline-flex; gap: 1px; }
.g4dstar svg { width: 13px; height: 13px; display: block; fill: #dcdce2; }
.g4dstar.on svg { fill: #ffa000; }
.g4dstar.half svg { fill: #ffcf70; }
.g4dbar__price { flex: 0 0 auto; font-size: 20px; font-weight: 700; white-space: nowrap; color: #1a1a1e; }
.g4dbar__price:empty { display: none; }
.g4dbar__cta { flex: 0 0 auto; display: flex; gap: 0; align-items: center; }
.g4dbar__cta .g4dcta__add { flex: 0 0 auto; width: 200px; height: 44px; font-size: 15px; }
.g4dbar__cta .g4dcta__order { flex: 0 0 auto; width: 200px; height: 44px; font-size: 14px; }
.g4dbar__cta .g4dstp, .g4dbar__cta .g4dstp__m, .g4dbar__cta .g4dstp__p, .g4dbar__cta .g4dstp__q { height: 44px; }
.g4dbar__like {
	width: 44px; height: 44px; flex: 0 0 44px; padding: 0; border: 1px solid #ececf0; border-radius: 50%;
	background: #fff; color: #1a1a1e; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color .12s, color .12s;
}
.g4dbar__like:hover { border-color: #FF6600; color: #FF6600; }
.g4dbar__like.is-on { color: #FF6600; }
.g4dbar__like.is-on svg { fill: #FF6600; }
/* сообщение об ошибке в липкой плашке (из неё бокс покупки не виден) */
.g4dbar__msg {
	position: absolute; right: 15px; top: 66px; max-width: 380px; padding: 10px 12px;
	border-radius: 10px; background: #fff1f0; color: #b3261e; font-size: 13px; line-height: 1.4;
	box-shadow: 0 6px 18px rgba(0,26,52,.14);
}
.g4dbar__msg[hidden] { display: none !important; }

/* якоря отзывов/вопросов — под плашкой, а не под ней спрятаны */
body.g4dpdp-on #g4dqtabs, body.g4dpdp-on #g4reviews, body.g4dpdp-on #g4dquestions { scroll-margin-top: 84px; }

}

/* волна 9, п.13 (владелец: «„Купить сейчас“ — убрать совсем»). Кнопку печатает эпилог темы
   (component_epilog.php, блок UX-6и) на любой ширине > 767, до 40 попыток по 250 мс;
   на десктопе узел сносит g4dpdp.js, здесь — предохранитель на все ширины (файл подключён
   только в /catalog/). Снять сам блок в эпилоге — правка темы, в отчёте владельцу файла. */
#g4buynow { display: none !important; }

/* ── лайтбокс: вне медиа-квери (открывается только с десктопа) ── */
/* поверх всего, включая кнопку чата (её z-index 2147479999): просмотр фото — модальное окно */
/* п.7: элементы управления НЕ ЗАВИСЯТ от размера кадра. До правки стрелки были
   flex-соседями картинки внутри .g4dlb__stage — при перелистывании они уезжали на
   115 px (замер 1440) и на 302 px у товара с мелким первым кадром. Теперь стрелки,
   ✕ и счётчик — абсолютные дети #g4dlb, а кадр вписан в фиксированную область. */
#g4dlb { position: fixed; inset: 0; z-index: 2147480000; background: #fff; }
#g4dlb .g4dlb__rail {
	position: absolute; left: 18px; top: 18px; bottom: 18px; width: 104px;
	display: flex; flex-direction: column; gap: 8px;
	overflow-y: auto; scrollbar-width: thin; padding: 4px 4px 4px 0;
}
#g4dlb .g4dlb__rail::-webkit-scrollbar { width: 4px; }
#g4dlb .g4dlb__rail::-webkit-scrollbar-thumb { background: #dcdce2; border-radius: 2px; }
/* заголовки групп «Фотографии N» / «Видео N» — как в лайтбоксе Озона */
.g4dlb__gt {
	flex: 0 0 auto; display: flex; align-items: baseline; justify-content: space-between; gap: 6px;
	font-size: 11.5px; line-height: 16px; color: #8a8a90; padding: 2px 2px 0;
}
.g4dlb__gt + .g4dlb__th { margin-top: 0; }
.g4dlb__th {
	width: 72px; height: 72px; flex: 0 0 auto; border-radius: 10px; overflow: hidden;
	border: 2px solid transparent; cursor: pointer; position: relative; background: #f2f2f5;
}
.g4dlb__th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.g4dlb__th.is-on { border-color: #FF6600; }
.g4dlb__th--video { background: #63666e; }
.g4dlb__th--video img { filter: grayscale(1) brightness(.75); }
.g4dlb__th .g4dgal__play {
	position: absolute; inset: 0; margin: auto; width: 28px; height: 28px; border-radius: 50%;
	background: rgba(255,255,255,.94); color: #1a1a1e; display: flex; align-items: center; justify-content: center;
}
.g4dlb__th .g4dgal__play svg { width: 18px; height: 18px; margin-left: 2px; }
/* область просмотра: фиксированные границы, кадр вписан по высоте */
.g4dlb__stage {
	position: absolute; left: 190px; right: 88px; top: 18px; bottom: 44px;
	display: flex; align-items: center; justify-content: center;
}
/* height/width 100 %, а не max-*: иначе проценты max-height у самой картинки не к чему
   привязать и кадр 1500×1500 вылезал за окно (замер 1280×720: показывался 1002×1002) */
.g4dlb__view { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.g4dlb__view img, .g4dlb__view video { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 10px; }
.g4dlb__view video { background: #000; }
.g4dlb__nav {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
	width: 48px; height: 48px; border: 0; border-radius: 50%; padding: 0;
	background: #f2f2f5; color: #1a1a1e; cursor: pointer; display: flex; align-items: center; justify-content: center;
	transition: background .12s;
}
/* п.7 (ревью 06.09, эталон «Элементы управления при детальном просмотре не меняют
   положения.jpg»): у Озона «назад» — белый круг с тенью, «вперёд» — круг цветом бренда
   с белым шевроном, ✕ — без подложки, счётчика кадров внизу нет. */
.g4dlb__nav--l { left: 130px; background: #fff; color: #1a1a1e; box-shadow: 0 2px 10px rgba(0,0,0,.18), 0 0 0 1px rgba(0,0,0,.06); }
.g4dlb__nav--l:hover { background: #fafafa; }
.g4dlb__nav--r { right: 24px; background: #FF6600; color: #fff; box-shadow: 0 2px 10px rgba(255,102,0,.28); }
.g4dlb__nav--r:hover { background: #f05e00; }
.g4dlb__nav[hidden] { display: none !important; }
.g4dlb__x {
	position: absolute; top: 14px; right: 16px; width: 46px; height: 46px; z-index: 3; padding: 0;
	border: 0; border-radius: 50%; background: none; color: #1a1a1e; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.g4dlb__x:hover { color: #FF6600; background: none; }

/* страницу построили на десктопе, окно сузили или планшет повернули —
   ниже 992px возвращаем родной слайдер, колонки стопкой, плашку прячем */
@media (max-width: 991px) {
	#g4dgal { display: none !important; }
	#g4dbar { display: none !important; }
	.g4dabout { display: none !important; }   /* характеристики там показывает родная вкладка */
	/* наш ряд покупки убираем: ниже 992 показывается РОДНОЙ счётчик с кнопкой,
	   иначе на одной странице оказывались две кнопки покупки (ревью 05.09).
	   А вот «Купить сейчас» и «Спросить в чате» родных двойников не имеют — пряча
	   .g4dcta целиком, мы их теряли (ревью 06.09), поэтому прячем только свой ряд. */
	.g4dcta { display: block !important; margin: 12px 0 0; padding: 0; border-top: 0; }
	.g4dcta__r1, .g4dcta__msg { display: none !important; }
	.g4dcta__r3:not(:empty) { margin-top: 12px; }
	/* подписи вариантов рисуем только на десктопе: ниже 992 снова видны РОДНЫЕ подписи,
	   и каждый вариант оказывался подписан дважды (ревью 06.09) */
	.g4dv { display: none !important; }
	/* наша кнопка «Поделиться» — только десктопная: ниже 992 возвращается родной виджет темы */
	.g4dsh { display: none !important; }
	/* своё сердце — тоже только десктопное: ниже 992 виден родной .like_wrapper (правило-прятка выше не действует) */
	.g4dgal__likebtn { display: none !important; }
	body.g4dpdp-on .item_slider { display: block !important; }
	body.g4dpdp-on .g4dbuy { margin-top: 16px; }
	body.g4dpdp-on .g4dbuy__in { position: static; }
}
