@charset "UTF-8";
/*
 * Карточка товара (templates/tovar.php) — 14.09.2026, по макету и двум разборам
 * (тренды Baymard/NN/g/iFixit и аудит текущей карточки). Подключается ПОСЛЕ product_ui.css
 * и дополняет правила .tc под классом .tc2. С 0.9.52 это единственная карточка.
 * Классы для скриптов корзины, галереи и доставки не менялись.
 */

/* ── Строка под названием ──────────────────────────────────────────────── */
.tc2 .tc-meta { margin-bottom: 18px; }
.tc2 .tc-meta .alert_wrap { display: inline-block; vertical-align: middle; }

/* ── Верх: галерея | покупка ───────────────────────────────────────────── */
.tc2 .flex-cart { grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; }
/* Колонки не растягиваются содержимым (ленты плиток и миниатюр прокручиваются внутри) */
.tc2 .flex-cart > *,
.tc2 .flex-cart_right_info > *,
.tc2 .flex_cart_right_mini > *,
.tc2 .tc2-quality,
.tc2 .tc2-variants { min-width: 0; max-width: 100%; }

/* Галерея: миниатюры столбиком слева от фото */
.tc2 .flex-cart-image {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding: 16px;
}
.tc2 .flex-cart-image > * { grid-column: 1 / -1; }
.tc2 .flex-cart-image > .showBox_wrap_wrap { grid-column: 2; grid-row: 1; }
.tc2 .flex-cart-image > #thumblist {
	grid-column: 1; grid-row: 1;
	display: flex; flex-direction: column; flex-wrap: nowrap; gap: 8px;
	max-height: 480px; overflow-y: auto; scrollbar-width: thin;
}
.tc2 .flex-cart-image:not(:has(> #thumblist)) > .showBox_wrap_wrap { grid-column: 1 / -1; }
.tc2 .showBox_wrap > .showBox > img, .tc2 .flex-cart-image > img { height: 460px; }
.tc2 .flex-cart-image > img { grid-column: 1 / -1; }

.tc2 #thumblist > div {
	position: relative; flex: 0 0 auto;
	width: 64px; height: 64px; padding: 3px; box-sizing: border-box;
	display: flex; align-items: center; justify-content: center;
}
.tc2 #thumblist > div > span.showBox,
.tc2 #thumblist > div > span.need_moderation { display: block; width: 100%; height: 100%; }
.tc2 .flex-cart-image #thumblist img.photo_preview { width: 100%; height: 100%; object-fit: contain; }
/* Кнопки администратора фото — значками в углах миниатюры, при наведении */
.tc2 #thumblist .title_photo { display: none; }
.tc2 #thumblist .remove_photo,
.tc2 #thumblist .replace_photo,
.tc2 #thumblist .moderation {
	position: absolute; z-index: 2;
	width: 20px; height: 20px; margin: 0; padding: 0;
	display: grid; place-items: center;
	border-radius: 6px; background: rgba(35, 40, 45, .78); color: #fff;
	font-size: 0; line-height: 1; cursor: pointer;
	opacity: 0; transition: opacity .15s;
}
.tc2 #thumblist .remove_photo { top: 2px; right: 2px; }
.tc2 #thumblist .replace_photo { bottom: 2px; right: 2px; }
.tc2 #thumblist .moderation { bottom: 2px; left: 2px; background: var(--tc-amber-ink); }
.tc2 #thumblist .remove_photo::before { content: '×'; font-size: 15px; }
.tc2 #thumblist .replace_photo::before { content: '✎'; font-size: 11px; }
.tc2 #thumblist .moderation::before { content: '!'; font-size: 12px; font-weight: 700; }
.tc2 #thumblist > div:hover .remove_photo,
.tc2 #thumblist > div:hover .replace_photo,
.tc2 #thumblist .moderation,
.tc2 #thumblist > div:focus-within .remove_photo,
.tc2 #thumblist > div:focus-within .replace_photo { opacity: 1; }
.tc2 #thumblist .label_add_photo {
	display: grid; place-items: center; width: 100%; height: 100%; min-height: 0;
	border-radius: 8px; font-size: 0; color: var(--tc-link);
}
.tc2 #thumblist .label_add_photo::before { content: '+'; font-size: 24px; line-height: 1; }
.tc2 #thumblist > div:has(> .label_add_photo) { border-style: dashed; }

/* ── Блок покупки: единая карточка (16.09.2026) ────────────────────────── */
.tc2 .flex_cart_right_mini:first-child {
	display: flex; flex-direction: column; gap: 14px; box-sizing: border-box;
	padding: 20px; border-radius: var(--gsm-r-lg, 16px); background: #fff;
	box-shadow: 0 1px 2px rgba(20, 28, 38, .04), 0 4px 14px rgba(20, 28, 38, .07);
}
.tc2 .flex_cart_right_mini:first-child > * { margin: 0; }
/* «Хочу скидку» — строка над кнопкой, открывает прежнее окно запроса скидки */
.tc2 .tc2-ask {
	order: 6; display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 14px; box-sizing: border-box;
	border-radius: 12px; background: var(--tc-bg); color: var(--tc-ink);
	font-size: var(--gsm-fs-base, 14px); font-weight: 600; cursor: pointer;
	transition: background-color .15s ease;
}
.tc2 .tc2-ask:hover { background: var(--tc-blue-soft); }
.tc2 .tc2-ask svg { flex: none; width: 20px; height: 20px; color: var(--tc-ink-2); }
.tc2 .tc2-ask:hover svg { color: var(--tc-blue-dark); }

.tc2 .tc2-quality { order: 1; }
.tc2 .tc2-colors { order: 2; }
.tc2 .tovar_cart_head_ceny { order: 3; display: flex; flex-direction: column; }
.tc2 .tovar_cart_head_ceny .tc-price-caption { order: 2; margin: 4px 0 0; }
.tc2 .tc-bonus-box { order: 4; }
.tc2 .tovar_cart_nalichie { order: 5; }
.tc2 .buy_and_izb_block { order: 7; }

.tc2 .tc2-label { margin-bottom: 8px; font-size: 13px; color: var(--tc-ink-2); }
.tc2 .tc2-label b { color: var(--tc-ink); font-weight: 600; }
.tc2 .tc2-why {
	display: inline-grid; place-items: center; width: 16px; height: 16px; margin-left: 6px;
	border-radius: 50%; background: var(--tc-bg); color: var(--tc-ink-2);
	font-size: 11px; font-weight: 600; cursor: help; vertical-align: 1px;
}

/* Плитки «Качество» */
.tc2 .tc2-variants { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tc2 .tc2-var {
	display: grid; gap: 1px; align-content: start; min-height: 62px; box-sizing: border-box;
	padding: 8px 10px; border: 1px solid var(--tc-line); border-radius: 10px;
	background: #fff; color: var(--tc-ink); text-decoration: none;
	transition: border-color .15s;
}
.tc2 a.tc2-var:hover { border-color: var(--tc-blue-line, #7bbcdd); }
.tc2 .tc2-var.is-current { padding: 7px 9px; border: 2px solid var(--tc-blue); background: var(--tc-blue-soft); }
.tc2 .tc2-var__n { font-size: 13px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.tc2 .tc2-var__p { font-size: 13px; font-variant-numeric: tabular-nums; }
.tc2 .tc2-var__s { font-size: 11px; color: var(--tc-green); }
.tc2 .tc2-var.is-out { border-style: dashed; }
.tc2 .tc2-var.is-out .tc2-var__n,
.tc2 .tc2-var.is-out .tc2-var__p,
.tc2 .tc2-var.is-out .tc2-var__s { color: var(--tc-ink-3); }
.tc2 .tc2-var.is-current .tc2-var__s { color: var(--tc-ink-2); }
.tc2 .tc2-var.is-extra { display: none; }
.tc2 .tc2-quality.is-open .tc2-var.is-extra { display: grid; }
.tc2 .tc2-more { margin-top: 8px; padding: 0; border: 0; background: none; color: var(--tc-link); font-size: 13px; cursor: pointer; }

/* Цвета — рядом с кнопкой, кружками */
.tc2 .tc2-colors table, .tc2 .tc2-colors tbody, .tc2 .tc2-colors tr, .tc2 .tc2-colors td { display: block; width: auto; margin: 0; padding: 0; border: 0; }
.tc2 .tc2-colors .cvet_td { display: flex; flex-wrap: wrap; gap: 8px; }
.tc2 .tc2-colors .tovar_colors {
	width: 34px; height: 34px; margin: 0; padding: 3px; box-sizing: border-box;
	border: 2px solid transparent; border-radius: 50%; float: none;
}
.tc2 .tc2-colors .tovar_colors.act_color { border-color: var(--tc-blue); }
.tc2 .tc2-colors .tovar_colors a { display: block; width: 100%; height: 100%; }
/* Свою рамку белого кружка (styles.css) заменяем внутренней тенью: из-за неё первый цвет смещался относительно соседних */
.tc2 .tc2-colors .tovar_colors div { width: 100% !important; height: 100% !important; margin: 0 !important; border: 0 !important; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(20, 28, 38, .15); }
/* Выбранный цвет: рамка и внутреннее поле ровно такие же, как у остальных кружков,
   иначе заливка смещается и первый цвет выглядит сдвинутым. */
.tc2 .tc2-colors .tovar_colors,
.tc2 .tc2-colors .cvet_td > div { padding: 2px !important; }
.tc2 .tc2-colors .tovar_colors.act_color,
.tc2 .tc2-colors .cvet_td .act_color { border: 2px solid var(--tc-blue) !important; padding: 2px !important; }

/* Цена */
.tc2 .big_price .cart_price, .tc2 .big_price .rur,
.tc2 .num_td_2 > div:first-child .cart_price_td:not(.big_price) .cart_price,
.tc2 .num_td_2 > div:first-child .cart_price_td:not(.big_price) .rur { font-size: 34px; font-variant-numeric: tabular-nums; }

/* Счётчик, кнопка, избранное; лесенка сверху, итог снизу */
.tc2 .buy_and_izb_block { display: grid; grid-template-columns: minmax(0, 1fr) 52px; gap: 8px; align-items: stretch; }
.tc2 .buy_and_izb_block > .tc2-ladder { grid-column: 1 / -1; grid-row: 1; margin-bottom: 4px; }
.tc2 .buy_and_izb_block > .buy_btn_block,
.tc2 .buy_and_izb_block > .tovar_cart_knopka_block { grid-column: 1; grid-row: 2; margin: 0; }
.tc2 .buy_and_izb_block > .adaptive_price_block { grid-column: 2; grid-row: 2; display: block; margin: 0; }
.tc2 .buy_and_izb_block > .tc2-total { grid-column: 1 / -1; grid-row: 3; }
.tc2 .adaptive_price_block > div:first-child { display: none; }
.tc2 .tovar_izb_block { width: 52px; height: 52px; margin: 0; border-radius: 12px; }
.tc2 .tovar_izb_block img { width: 22px; height: 22px; }
/* Кнопка покупки как в плитке (16.09.2026): сначала «В корзину» на всю ширину,
   после добавления она зеленеет и справа плавно выезжает «− N +»; дальше сердце. */
.tc2 .buy_btn_block.buy_btn_block_cart_product { margin: 0; gap: 8px; align-items: stretch; }
.tc2 .right_buy_btn_part { order: 1; flex: 1 1 auto; min-width: 0; }
.tc2 .left_buy_btn_part {
	order: 2; flex: 0 0 0; max-width: 0; overflow: hidden; opacity: 0;
	transition: flex-basis .3s cubic-bezier(.2, .8, .2, 1), max-width .3s cubic-bezier(.2, .8, .2, 1), opacity .2s ease;
}
.tc2 .buy_btn_block:has(.buy_btn_tovar.in_basket) .left_buy_btn_part { flex: 0 0 140px; max-width: 140px; opacity: 1; }
.tc2 .input_with_increment.modern_style {
	width: 100%; height: 52px; justify-content: space-between; padding: 0 4px;
	border: 0; border-radius: 12px; background: var(--gsm-blue-soft, #f0f8fc);
}
.tc2 .input_with_increment .change_input { width: 36px; height: 100%; margin: 0; color: var(--gsm-btn, #0f89c6); border-radius: 10px; transition: background-color .15s ease; }
.tc2 .input_with_increment .change_input:hover { background: rgba(15, 137, 198, .12); }
.tc2 .input_with_increment .change_input.is-off { opacity: .3; pointer-events: none; }
.tc2 .input_with_increment .change_input div { width: 14px; height: 2.4px; border-radius: 2px; }
.tc2 .input_with_increment input { width: 44px; height: 100%; background: transparent; color: var(--gsm-ink, #23282d); font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; outline: 0; }
.tc2 .buy_btn_tovar { height: 52px; line-height: 52px; margin-left: 0; border-radius: 12px; font-size: var(--gsm-fs-btn, 15px); font-weight: 600; }
.tc2 .buy_btn_tovar::first-letter { text-transform: uppercase; }
.tc2 .buy_btn_tovar.in_basket { background: var(--tc-green-bright, #00c451); }
.tc2 .buy_btn_tovar.in_basket:hover { background: var(--tc-green-bright-hover, #00b249); }
@media (prefers-reduced-motion: reduce) { .tc2 .left_buy_btn_part, .tc2 .input_with_increment .change_input { transition: none; } }
.tc2 .buy_and_izb_block .notify.uvedomit {
	height: 52px; background: #fff; color: var(--tc-blue-dark);
	border: 1px solid var(--tc-blue); box-sizing: border-box;
}
.tc2 .buy_and_izb_block .notify.uvedomit:hover { background: var(--tc-blue-soft); }

/* Лесенка «цена от количества» (16.09.2026): значок по объёму, цена и выгода на штуку */
.tc2 .tc2-ladder__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.tc2 .tc2-step {
	position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr); grid-template-areas: "ic q" "ic p" "ic s";
	align-content: start; gap: 0 8px; padding: 9px 10px; border: 1px solid var(--tc-line); border-radius: 12px;
	background: #fff; color: var(--tc-ink); text-align: left; cursor: pointer; font: inherit;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.tc2 .tc2-step:hover { border-color: var(--tc-blue-line, #7bbcdd); }
.tc2 .tc2-step svg { grid-area: ic; align-self: start; width: 20px; height: 20px; margin-top: 2px; color: var(--tc-ink-3); }
.tc2 .tc2-step small { grid-area: q; display: block; font-size: 12px; color: var(--tc-ink-2); }
.tc2 .tc2-step b { grid-area: p; font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.tc2 .tc2-step i { grid-area: s; font-size: 11px; font-style: normal; font-weight: 700; color: var(--tc-green); }
.tc2 .tc2-step[aria-pressed="true"] { border-color: var(--tc-blue); background: var(--tc-blue-soft); box-shadow: inset 0 0 0 1px var(--tc-blue); }
.tc2 .tc2-step[aria-pressed="true"] svg { color: var(--tc-blue-dark); }
.tc2 .tc2-hint {
	display: flex; align-items: center; gap: 8px; margin-top: 8px; padding: 8px 10px;
	border-radius: 10px; background: var(--tc-green-soft); color: var(--tc-green); font-size: 13px; font-weight: 600;
}
.tc2 .tc2-hint::before {
	content: ""; flex: none; 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' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 7h6v6'/%3E%3Cpath d='m22 7-8.5 8.5-5-5L2 17'/%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' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 7h6v6'/%3E%3Cpath d='m22 7-8.5 8.5-5-5L2 17'/%3E%3C/svg%3E") center / contain no-repeat;
	transform: scaleY(-1);
}
.tc2 .tc2-hint:empty { display: none; }
.tc2 .tc2-total { font-size: 14px; color: var(--tc-ink-2); font-variant-numeric: tabular-nums; }
.tc2 .tc2-total:empty { display: none; }
.tc2 .tc2-total b { color: var(--tc-ink); }

/* Доверие под доставкой */
.tc2 .tc2-trust { display: grid; gap: 8px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--tc-line); font-size: 13px; }
.tc2 .tc2-trust__item { position: relative; }
.tc2 .tc2-trust__item > a { display: inline-flex; align-items: center; gap: 10px; color: var(--tc-ink); text-decoration: none; }
.tc2 .tc2-trust__item > a:hover { color: var(--tc-link); }
.tc2 .tc2-trust__item > a svg { flex: 0 0 18px; color: var(--tc-blue); }
/* Выпадашка с условиями: над ссылкой (блок внизу колонки), с задержкой, мостик от ссылки. */
.tc2 .tc2-tip {
	position: absolute; left: -12px; bottom: calc(100% + 10px); z-index: 40;
	width: 330px; max-width: calc(100vw - 32px); box-sizing: border-box;
	padding: 14px 16px 12px; background: #fff; border-radius: 14px;
	box-shadow: 0 14px 34px rgba(20, 28, 38, .18), 0 0 0 1px rgba(20, 28, 38, .06);
	color: var(--tc-ink); font-size: 13px; line-height: 1.45; text-align: left;
	opacity: 0; visibility: hidden; transform: translateY(4px);
	transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
}
.tc2 .tc2-tip::before { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 12px; }
.tc2 .tc2-tip::after { content: ""; position: absolute; left: 22px; top: 100%; border: 7px solid transparent; border-top-color: #fff; filter: drop-shadow(0 2px 1px rgba(20, 28, 38, .06)); }
.tc2 .tc2-trust__item:hover .tc2-tip,
.tc2 .tc2-trust__item:focus-within .tc2-tip { opacity: 1; visibility: visible; transform: none; transition-delay: .15s, .15s, .15s; }
.tc2 .tc2-tip > b { display: block; margin-bottom: 6px; font-size: 14px; }
.tc2 .tc2-tip ul { margin: 0 0 8px; padding: 0; list-style: none; display: grid; gap: 5px; }
.tc2 .tc2-tip li { position: relative; padding-left: 16px; color: var(--tc-ink-2); }
.tc2 .tc2-tip li::before { content: ""; position: absolute; left: 2px; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: var(--tc-blue); }
.tc2 .tc2-tip li b { color: var(--tc-ink); }
.tc2 .tc2-tip > a { color: var(--tc-link); font-weight: 600; text-decoration: none; }
.tc2 .tc2-tip > a:hover { text-decoration: underline; }
@media (hover: none) { .tc2 .tc2-tip { display: none; } }

/* ── Меню разделов ─────────────────────────────────────────────────────── */
.tc2 .tc2-anchors {
	position: sticky; top: 0; z-index: 20;
	display: flex; gap: 24px; overflow-x: auto; scrollbar-width: none;
	margin: 16px 0 0; padding: 0 16px;
	background: #fff; border: 1px solid var(--tc-line); border-radius: 12px; box-shadow: var(--tc-shadow);
}
.tc2 .tc2-anchors::-webkit-scrollbar { display: none; }
.tc2 .tc2-anchors a {
	padding: 13px 0; white-space: nowrap; font-size: 14px; font-weight: 600;
	color: var(--tc-ink-2); text-decoration: none; border-bottom: 2px solid transparent;
}
.tc2 .tc2-anchors a:hover { color: var(--tc-ink); }
.tc2 .tc2-anchors a.is-on { color: var(--tc-ink); border-bottom-color: var(--tc-blue); }
.tc2 [id^="tc-"] { scroll-margin-top: 72px; }

/* ── Разделы ───────────────────────────────────────────────────────────── */
.tc2 .tovar_body_descr_descr { max-width: 72ch; }
.tc2 .tovar_body_descr_descr.is-clamped {
	max-height: 230px; overflow: hidden;
	-webkit-mask-image: linear-gradient(#000 70%, transparent);
	mask-image: linear-gradient(#000 70%, transparent);
}
.tc2 .tc2-readmore { margin: 8px 0 0; padding: 0; border: 0; background: none; color: var(--tc-link); font-weight: 600; font-size: 14px; cursor: pointer; }
.tc2 .tovar_body_chars_block { max-width: 560px; }
.tc2 .flex_table_string { padding: 9px 12px; border-bottom: 0; border-radius: 6px; }
.tc2 .flex_table_string:nth-child(odd) { background: var(--tc-bg); }

.tc2 .tc2-check { display: flex; gap: 8px; max-width: 460px; margin: 0 0 10px; }
.tc2 .tc2-check input {
	flex: 1 1 auto; min-width: 0; height: 44px; box-sizing: border-box; padding: 0 12px;
	border: 1px solid var(--tc-line-strong); border-radius: 10px; font: inherit; font-size: 14px; color: var(--tc-ink);
}
.tc2 .tc2-check input:focus { outline: 0; border-color: var(--tc-blue); box-shadow: 0 0 0 3px rgba(51, 153, 204, .15); }
.tc2 .tc2-check button { height: 44px; padding: 0 16px; border: 0; border-radius: var(--gsm-r-btn, 10px); background: var(--gsm-btn, #1f6f97); color: var(--gsm-btn-text, #fff); font: inherit; font-size: var(--gsm-fs-btn, 15px); font-weight: 600; cursor: pointer; }
.tc2 .tc2-check button:hover { background: var(--gsm-btn-hover, #185c7d); }
.tc2 .tc2-check-res { margin: 0 0 12px; font-size: 14px; }
.tc2 .tc2-check-res:empty { display: none; }
.tc2 .tc2-check-res.is-ok { color: var(--tc-green); font-weight: 600; }
.tc2 .tc2-check-res.is-maybe { color: var(--tc-amber-ink); }
.tc2 .tc2-check-res.is-no { color: var(--tc-red); font-weight: 600; }

/* ── Ленты товаров: одинаковые плитки ──────────────────────────────────── */
.tc2 .new_carusel > .new_carusel_body > .carusel_item > div {
	max-width: 94%; padding: 12px 10px 10px; text-align: left;
	border: 1px solid var(--tc-line); border-radius: 14px; box-shadow: none;
}
.tc2 .new_carusel > .new_carusel_body > .carusel_item > div * { font-size: 13px; }
.tc2 .new_carusel .tovar_img img { border-radius: 10px; }
.tc2 .new_carusel > .new_carusel_body > .carusel_item > div .carusel_add_basket {
	position: static; width: auto; margin: 8px 0 0; padding: 8px;
	border-radius: 10px; background: var(--tc-blue-soft); color: var(--tc-blue-dark);
	box-shadow: none; text-align: center; font-weight: 600;
}
.tc2 .new_carusel > .new_carusel_body > .carusel_item > div .carusel_add_basket img { display: none; }
.tc2 .new_carusel .carusel_tovar_name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: none; }
.tc2 .new_carusel .t-bold { font-size: 16px !important; font-weight: 700; color: var(--tc-ink); }

/* ── Раскладка страницы (компьютер и планшет) ───────────────────────────
   Слева: фото, меню разделов, описание, характеристики, совместимость, ленты.
   Справа: покупка и доставка во всю высоту — без пустого поля под фото.
   Обёртки товара (itemscope Product) и .flex-cart «растворяются» (display: contents),
   чтобы фото и правая колонка стали ячейками общей сетки с описанием. */
@media all and (min-width: 761px) {
	.tc2 > div {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 380px;
		column-gap: 24px;
		align-items: start;
	}
	.tc2 > div > * { grid-column: 1 / -1; }
	.tc2 > div > div[itemtype$="Product"],
	.tc2 .flex-cart { display: contents; }
	.tc2 > div > .bhead_1 { grid-row: 1; }
	.tc2 h1.tovar_h1 { grid-column: 1 / -1; grid-row: 2; }
	.tc2 .tc-meta { grid-column: 1 / -1; grid-row: 3; }
	.tc2 .flex-cart-image { grid-column: 1; grid-row: 4; }
	.tc2 .flex-cart_right_info { grid-column: 2; grid-row: 4 / span 4; }
	.tc2 > div > .tc2-anchors { grid-column: 1; grid-row: 5; }
	/* Обёртки описания тоже «растворяются»: описание остаётся слева под фото,
	   а «Возможно вас заинтересует» / «Сопутствующие товары» — отдельным рядом во всю ширину
	   под обеими колонками. */
	.tc2 > div > .tovar_body_descr_wrap,
	.tc2 .tovar_body-left-column { display: contents; }
	.tc2 .tovar_body_descr { grid-column: 1; grid-row: 6; margin-top: 16px; }
	.tc2 .tovar-cart-block { grid-column: 1 / -1; grid-row: 8; margin-top: 32px; }
	.tc2 .tovar_body_descr_comments { grid-column: 1 / -1; grid-row: 9; }
}
@media all and (min-width: 761px) and (max-width: 1100px) {
	.tc2 > div { grid-template-columns: minmax(0, 1fr) 340px; }
}

/* ── Липкая панель покупки — только телефон ───────────────────────────── */
.tc2-bar { display: none; }

@media all and (max-width: 1100px) {
	.tc2 .flex-cart { grid-template-columns: minmax(0, 1fr) 340px; }
}
@media all and (max-width: 760px) {
	.tc2 { margin-bottom: 88px; max-width: 100%; overflow-x: hidden; }
	/* Страница свёрстана таблицей: ячейка растягивается под ряды, которые должны
	   прокручиваться вбок (ленты товаров, меню разделов, плитки). width:0 + min-width:100%
	   убирает карточку из расчёта ширины таблицы — она просто занимает ячейку. */
	.tovar_body.tc.tc2 { width: 0 !important; min-width: 100%; }
	.tc2 h1.tovar_h1 { margin-top: 12px; overflow-wrap: anywhere; }
	.tc2 .flex-cart, .tc2 .flex-cart-image, .tc2 .flex-cart_right_info, .tc2 .flex_cart_right_mini { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
	.tc2 .flex-cart-image { grid-template-columns: minmax(0, 1fr); }
	.tc2 .showBox_wrap_wrap { width: 100%; max-width: 100%; }
	.tc2 .flex-cart-image > .showBox_wrap_wrap { grid-column: 1; grid-row: 1; }
	.tc2 .flex-cart-image > #thumblist { grid-column: 1; grid-row: 2; flex-direction: row; overflow-x: auto; overflow-y: hidden; max-height: none; }
	.tc2 .showBox_wrap > .showBox > img, .tc2 .flex-cart-image > img { height: 260px; }

	.tc2 .tc2-variants { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 2px; }
	.tc2 .tc2-var, .tc2 .tc2-var.is-extra { display: grid; flex: 0 0 140px; scroll-snap-align: start; }
	.tc2 .tc2-more { display: none; }
	.tc2 .left_buy_btn_part { flex-basis: 116px; }
	.tc2 .flex_cart_right_mini:first-child { padding: 14px; border-radius: var(--gsm-r-md, 12px); }
	.tc2 .big_price .cart_price, .tc2 .big_price .rur,
	.tc2 .num_td_2 > div:first-child .cart_price_td:not(.big_price) .cart_price,
	.tc2 .num_td_2 > div:first-child .cart_price_td:not(.big_price) .rur { font-size: 30px; }
	.tc2 .tc2-anchors { gap: 18px; border-radius: 0; margin-left: -16px; margin-right: -16px; }

	.tc2 .new_carusel > .new_carusel_body {
		display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory;
		left: 0 !important; transform: none !important; white-space: nowrap;
	}
	.tc2 .new_carusel > .new_carusel_body > .carusel_item { flex: 0 0 160px; width: 160px !important; scroll-snap-align: start; }

	.tc2-bar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
		display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 10px; align-items: center;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		background: #fff; border-top: 1px solid #e4e8ec; box-shadow: 0 -6px 18px rgba(20, 28, 38, .08);
		font-family: 'Open Sans', Tahoma, Verdana, Arial, sans-serif;
		transform: translateY(110%); transition: transform .2s ease;
	}
	.tc2-bar.is-on { transform: none; }
	.tc2-bar b { display: block; font-size: 18px; font-weight: 700; color: #23282d; font-variant-numeric: tabular-nums; }
	.tc2-bar small { display: block; font-size: 12px; color: #6b7480; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.tc2-bar button { height: 44px; border: 0; border-radius: var(--gsm-r-btn, 10px); background: var(--gsm-btn, #1f6f97); color: var(--gsm-btn-text, #fff); font: inherit; font-size: var(--gsm-fs-btn, 15px); font-weight: 600; }
	.tc2-bar button.is-in { background: #17a05f; }
}
@media (prefers-reduced-motion: reduce) {
	.tc2-bar, .tc2 .tc2-var { transition: none; }
}

/* ── Без рамок (14.09.2026): блоки отделяет лёгкая тень, не линия ───────── */
.tc2 .flex-cart-image,
.tc2 .flex_cart_right_mini,
.tc2 .tc2-anchors,
.tc2 .tovar_body_descr {
	border: 0;
	box-shadow: 0 1px 3px rgba(20, 28, 38, .06), 0 4px 14px rgba(20, 28, 38, .04);
}
.tc2 .showBox_wrap_wrap,
.tc2 .showBox_wrap > .showBox > img,
.tc2 .flex-cart-image > img { border: 0; }
.tc2 #thumblist > div { border-color: transparent; background: var(--tc-bg); }
.tc2 #thumblist > div.active-showbox { border-color: var(--tc-blue); background: #fff; }

/* ── Значки способов доставки — плашки 28 px, как у Ozon (14.09.2026) ───── */
.tc2 .tovar_dostavka_title { text-transform: none; }
.tc2 .tovar_dostavka_title::first-letter { text-transform: uppercase; }
.tc2 .tc2-dl-ic {
	display: grid; place-items: center;
	flex: 0 0 28px; width: 28px; height: 28px; border-radius: 8px; overflow: hidden;
}
.tc2 .tc2-dl-ic svg { width: 16px; height: 16px; }
.tc2 .tc2-dl-ic--post { background: #0055a6; color: #fff; }
.tc2 .tc2-dl-ic--cdek { background: #1ab248; color: #fff; }
.tc2 .tc2-dl-ic--pickup { background: var(--tc-blue-soft); color: var(--tc-blue); }

/* ── Правая колонка липнет при прокрутке (14.09.2026) ────────────────────
   Колонка растянута на высоту левой части (фото + описание); внутри неё
   .tc2-sticky «едет» вместе с экраном и останавливается у ряда
   «Возможно вас заинтересует». Отступ сверху (под закреплённую шапку и для
   колонки выше экрана) задаёт скрипт в шаблоне через --tc2-sticky-top. */
@media all and (min-width: 761px) {
	.tovar_body.tc.tc2 { overflow: visible; }
	.tc2 .flex-cart_right_info { align-self: stretch; display: block; }
	.tc2 .tc2-sticky {
		position: sticky; top: var(--tc2-sticky-top, 16px);
		display: flex; flex-direction: column; gap: 16px;
	}
}

/* Меню разделов липнет под закреплённой шапкой, а не под ней (высоту считает скрипт в шаблоне) */
.tc2 .tc2-anchors { top: var(--tc2-head, 0px); }
.tc2 [id^="tc-"] { scroll-margin-top: calc(var(--tc2-head, 0px) + 72px); }

/* «+» добавления фото — строго по центру плитки (подпись скрыта) */
.tc2 #thumblist .label_add_photo { position: relative; display: block; overflow: hidden; color: transparent; }
.tc2 #thumblist .label_add_photo::before {
	content: '+'; position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	font-size: 26px; line-height: 1; color: var(--tc-link);
}
.tc2 #thumblist .showBox.ui-draggable-dragging { z-index: 5; }
.tc2 #thumblist > div.ui-state-active { border-color: var(--tc-blue) !important; background: var(--tc-blue-soft) !important; }

/* ── «Качество»: плитки с фото, название шторкой при наведении (14.09.2026) ── */
.tc2 .tc2-variants { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tc2 .tc2-var {
	position: relative; overflow: hidden;
	gap: 2px; min-height: 0; padding: 6px 6px 8px;
}
.tc2 .tc2-var.is-current { padding: 5px 5px 7px; }
.tc2 .tc2-var__img {
	display: block; aspect-ratio: 1 / 1; margin-bottom: 4px;
	border-radius: 8px; background: #fff; overflow: hidden;
}
.tc2 .tc2-var__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.tc2 .tc2-var.is-out .tc2-var__img img { opacity: .45; filter: grayscale(1); }
.tc2 .tc2-var__n {
	position: absolute; top: 0; left: 0; right: 0; z-index: 2;
	padding: 8px 8px 10px; box-sizing: border-box;
	background: rgba(35, 40, 45, .9); color: #fff !important;
	font-size: 12px; font-weight: 600; line-height: 1.3;
	transform: translateY(-101%); transition: transform .18s ease;
	pointer-events: none;
}
.tc2 .tc2-var:hover .tc2-var__n,
.tc2 .tc2-var:focus .tc2-var__n,
.tc2 .tc2-var:focus-visible .tc2-var__n { transform: translateY(0); }
.tc2 .tc2-var__p { font-size: 13px; font-weight: 600; }
.tc2 .tc2-var__s { font-size: 11px; line-height: 1.25; }
@media all and (max-width: 760px) {
	.tc2 .tc2-var, .tc2 .tc2-var.is-extra { flex: 0 0 104px; }
}
@media (prefers-reduced-motion: reduce) {
	.tc2 .tc2-var__n { transition: none; }
}

/* ── Блок цены без «прыжков» (14.09.2026) ─────────────────────────────────
   Свой блок .tc2-price строит скрипт карточки; старые цены (их переписывает
   upd_price) скрыты, только если новый блок построился. */
.tc2.tc2-price-js .tovar_cart_head_ceny .num_td_2,
.tc2.tc2-price-js .tovar_cart_head_ceny .tc-price-caption { display: none; }
.tc2 .tc2-price { display: flex; flex-direction: column; }
.tc2 .tc2-price__row { display: flex; align-items: baseline; gap: 10px; flex-wrap: nowrap; }
.tc2 .tc2-price__main {
	font-size: 34px; line-height: 1.1; font-weight: 700; color: var(--tc-ink);
	font-variant-numeric: tabular-nums; white-space: nowrap;
}
.tc2 .tc2-price__old {
	font-size: 16px; color: var(--tc-ink-3); text-decoration: line-through;
	font-variant-numeric: tabular-nums; white-space: nowrap; visibility: hidden;
}
.tc2 .tc2-price__old.is-on { visibility: visible; }
.tc2 .tc2-price__note { min-height: 18px; margin-top: 2px; font-size: 13px; line-height: 18px; color: var(--tc-green); }
.tc2 .tc2-price__meta { margin-top: 2px; font-size: 13px; color: var(--tc-ink-2); }
.tc2 .tc2-price__meta b { color: var(--tc-ink); font-weight: 600; }
.tc2 .tc2-price__dot { margin: 0 2px; color: var(--tc-ink-3); }
@media all and (max-width: 760px) {
	.tc2 .tc2-price__main { font-size: 30px; }
}
/* Подпись под ценой — фиксированной высоты: блок не меняет высоту ни на пиксель */
.tc2 .tc2-price__note { height: 18px; min-height: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

/* Телефон: карточки «Покупка» и «Доставка» внутри обёртки .tc2-sticky не склеиваются —
   на компьютере отступ даёт липкая колонка, на телефоне — эта обёртка (14.09.2026). */
@media all and (max-width: 760px) {
	.tc2 .tc2-sticky { display: flex; flex-direction: column; gap: 12px; }
}
/* Строка под ценой: серым «за 1 шт», зелёным — цена со скидкой за количество */
.tc2 .tc2-price__note { color: var(--tc-ink-2); }
.tc2 .tc2-price__note.is-discount { color: var(--tc-green); }

/* ── 15.09.2026: левые блоки прижаты к фото; совместимость свёрнута; плитки «Качество» —
   корзина, подпись снизу, фото варианта в главном окне при наведении ─────────────── */
@media all and (min-width: 761px) {
	/* Высокая правая колонка растягивала строки слева (фото, меню, описание расходились).
	   Пустая растягиваемая строка 7 забирает всю лишнюю высоту — левые блоки идут подряд. */
	.tc2 > div { grid-template-rows: auto auto auto auto auto auto 1fr auto auto; }
}

/* Совместимость: проверка модели по ссылке, список — 3 строки и «Показать все» */
.tc2 .tc2-check-toggle {
	display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px; padding: 0;
	border: 0; background: none; color: var(--tc-link); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
}
.tc2 .tc2-check-toggle svg { width: 16px; height: 16px; }
.tc2 .tc2-check[hidden] { display: none !important; }
.tc2 .tovar_body_descr_devices.is-clamped { max-height: 124px; overflow: hidden; position: relative; }
.tc2 .tovar_body_descr_devices.is-clamped::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 28px;
	background: linear-gradient(rgba(255, 255, 255, 0), #fff); pointer-events: none;
}
.tc2 .tc2-devices-more { margin: 8px 0 0; padding: 0; border: 0; background: none; color: var(--tc-link); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }

/* Плитки «Качество»: ссылка на всю плитку, кнопка корзины поверх */
.tc2 .tc2-var__link { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.tc2 .tc2-var__link:focus-visible { outline: 2px solid var(--tc-blue); outline-offset: 2px; }
.tc2 .tc2-var__img { position: relative; }
.tc2 .tc2-var__cart {
	position: absolute; right: 5px; top: 5px; z-index: 3;
	width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--tc-blue); color: #fff; cursor: pointer;
	box-shadow: 0 2px 6px rgba(20, 28, 38, .18);
	opacity: 0; transform: scale(.85); transition: opacity .15s, transform .15s, background-color .15s;
}
.tc2 .tc2-var:hover .tc2-var__cart,
.tc2 .tc2-var:focus-within .tc2-var__cart,
.tc2 .tc2-var__cart.carusel_added_to_basket { opacity: 1; transform: none; }
.tc2 .tc2-var__cart:hover { background: var(--tc-blue-dark); }
.tc2 .tc2-var__cart svg { width: 16px; height: 16px; }
.tc2 .tc2-var__cart > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (hover: none) { .tc2 .tc2-var__cart { opacity: 1; transform: none; } }

/* Подпись варианта: светлая плашка снизу по фото, с размытием фона */
.tc2 .tc2-var__n {
	top: auto; bottom: 0; left: 0; right: 0; z-index: 2;
	margin: 0; padding: 7px 8px;
	background: rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	color: var(--tc-ink) !important; font-size: 11.5px; font-weight: 600; line-height: 1.3;
	border-top: 1px solid rgba(20, 28, 38, .06);
	box-shadow: 0 -4px 12px rgba(20, 28, 38, .08);
	transform: translateY(101%); opacity: 0;
	transition: transform .2s ease, opacity .2s ease;
}
.tc2 .tc2-var__img { overflow: hidden; }
.tc2 .tc2-var:hover .tc2-var__n,
.tc2 .tc2-var:focus-within .tc2-var__n { transform: translateY(0); opacity: 1; }

/* Фото варианта в главном окне при наведении на плитку */
.tc2 .showBox_wrap_wrap { position: relative; }
.tc2 .tc2-preview {
	position: absolute; inset: 0; z-index: 4;
	display: flex; align-items: center; justify-content: center;
	background: #fff; border-radius: inherit;
	opacity: 0; pointer-events: none; transition: opacity .15s ease;
}
.tc2 .tc2-preview.is-on { opacity: 1; }
.tc2 .tc2-preview img { max-width: 100%; max-height: 100%; object-fit: contain; }
.tc2 .tc2-preview span {
	position: absolute; left: 12px; bottom: 12px; max-width: calc(100% - 24px);
	padding: 5px 10px; border-radius: 999px; background: rgba(35, 40, 45, .78); color: #fff;
	font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
@media (prefers-reduced-motion: reduce) {
	.tc2 .tc2-var__n, .tc2 .tc2-var__cart, .tc2 .tc2-preview { transition: none; }
}
/* Плитка теперь div со ссылкой внутри — рамка при наведении на саму плитку */
.tc2 .tc2-var:not(.is-current):hover { border-color: var(--tc-blue-line, #7bbcdd); }
.tc2 .tc2-var__p, .tc2 .tc2-var__s { position: relative; z-index: 0; }

/* 15.09.2026: длинная группа вариантов не растягивает правую колонку —
   два ряда плиток видны, остальные прокручиваются внутри блока; цена и кнопка
   остаются в первом экране. Подпись варианта — мельче, не больше 3 строк. */
@media all and (min-width: 761px) {
	.tc2 .tc2-variants.is-scroll {
		position: relative; max-height: 318px; overflow-y: auto; overscroll-behavior: contain;
		padding: 2px 4px 2px 2px; margin: -2px -4px -2px -2px; scrollbar-width: thin;
	}
}
.tc2 .tc2-variants-hint { margin-top: 6px; font-size: 12px; color: var(--tc-ink-3); }
@media all and (max-width: 760px) { .tc2 .tc2-variants-hint { display: none; } }
.tc2 .tc2-var__n {
	font-size: 11px !important; line-height: 1.25;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* 15.09.2026: большая группа вариантов — один ряд плиток и край следующего,
   чтобы цена и «В корзину» помещались в первый экран на 900 px. */
@media all and (min-width: 761px) {
	.tc2 .tc2-variants.is-scroll { max-height: 176px; }
}

/* 15.09.2026: блок покупки плотнее — цена и «В корзину» в первом экране на 900 px
   даже у товаров с большой группой вариантов и двумя рядами цветов. */
@media all and (min-width: 761px) {
	.tc2 .flex_cart_right_mini:first-child { gap: 12px; }
	.tc2 .tc2-variants.is-scroll { max-height: 164px; }
	.tc2 .tc2-variants-hint { display: none; }
	.tc2 .tc2-label { margin-bottom: 6px; }
	.tc2 .tc2-colors .cvet_td { gap: 6px; }
	.tc2 .tc2-colors .tovar_colors { width: 30px; height: 30px; padding: 2px; }
	.tc2 .tc-bonus-box { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
	.tc2 .tc-bonus-box p { margin: 0; }
	.tc2 .tc2-price__meta { margin-top: 0; }
}
@media all and (min-width: 761px) {
	.tc2 .tc2-variants.is-scroll { max-height: 140px; }
}

/* ── 15.09.2026: «Варианты» — 4 плитки в ряд, видно два ряда; название при наведении
   закрывает всю плитку (читается целиком) ──────────────────────────────────────── */
@media all and (min-width: 761px) {
	.tc2 .tc2-variants { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
	.tc2 .tc2-variants.is-scroll { max-height: 236px; }
	.tc2 .tc2-var, .tc2 .tc2-var.is-current { padding: 4px 4px 5px; border-radius: 9px; gap: 0; }
	.tc2 .tc2-var.is-current { padding: 3px 3px 4px; }
	.tc2 .tc2-var__img { margin-bottom: 3px; border-radius: 6px; }
	.tc2 .tc2-var__p { font-size: 12px; line-height: 1.25; }
	.tc2 .tc2-var__s { font-size: 10px; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.tc2 .tc2-var__cart { width: 26px; height: 26px; right: 3px; top: 3px; }
	.tc2 .tc2-var__cart svg { width: 14px; height: 14px; }
}
/* Название — поверх всей плитки */
.tc2 .tc2-var__img { position: static; overflow: hidden; }
.tc2 .tc2-var__n {
	position: absolute !important; inset: 0 !important; top: 0 !important; bottom: 0 !important;
	display: flex !important; align-items: center; justify-content: center; text-align: center;
	-webkit-line-clamp: unset !important; overflow: hidden;
	padding: 8px 6px !important; margin: 0; border: 0; border-radius: inherit;
	background: rgba(255, 255, 255, .96) !important;
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
	box-shadow: none !important;
	color: var(--tc-ink) !important; font-size: 11px !important; font-weight: 600; line-height: 1.3;
	overflow-wrap: anywhere; hyphens: auto;
	transform: none !important; opacity: 0; transition: opacity .15s ease;
	z-index: 2; pointer-events: none;
}
.tc2 .tc2-var:hover .tc2-var__n,
.tc2 .tc2-var:focus-within .tc2-var__n { opacity: 1; }
.tc2 .tc2-var__cart { z-index: 3; }
/* Длинные названия (до ~90 знаков) целиком помещаются в плитку 80×112 */
.tc2 .tc2-var__n { padding: 4px 3px !important; font-size: 10px !important; line-height: 1.18 !important; font-weight: 600; letter-spacing: -.01em; }

/* ── Кружки цветов: окошко при долгом наведении — слева «в избранное», справа «в корзину» ── */
.tc2 .tc2-colors { position: relative; }
.tc2 .tc2-cpop {
	position: absolute; z-index: 30; transform: translateX(-50%);
	display: grid; grid-template-columns: 36px auto 36px; align-items: center; gap: 8px;
	padding: 6px; background: #fff; border: 1px solid var(--tc-line); border-radius: 12px;
	box-shadow: 0 10px 28px rgba(20, 28, 38, .18); white-space: nowrap;
	animation: tc2-cpop-in .14s ease-out;
}
.tc2 .tc2-cpop::before {
	content: ''; position: absolute; left: 50%; top: -6px; width: 10px; height: 10px;
	background: #fff; border-left: 1px solid var(--tc-line); border-top: 1px solid var(--tc-line);
	transform: translateX(-50%) rotate(45deg);
}
@keyframes tc2-cpop-in { from { opacity: 0; transform: translate(-50%, -4px); } to { opacity: 1; transform: translate(-50%, 0); } }
.tc2 .tc2-cpop button {
	position: relative; width: 36px; height: 36px; margin: 0; padding: 0; border: 0; border-radius: var(--gsm-r-btn, 10px);
	display: grid; place-items: center; cursor: pointer; float: none; top: auto; left: auto;
}
.tc2 .tc2-cpop__fav { background: var(--tc-bg); }
.tc2 .tc2-cpop__fav:hover { background: var(--tc-blue-soft); }
.tc2 .tc2-cpop__fav img { width: 20px; height: 20px; position: static; margin: 0; }
.tc2 .tc2-cpop__cart { background: var(--tc-blue); color: #fff; }
.tc2 .tc2-cpop__cart:hover { background: var(--tc-blue-dark); }
.tc2 .tc2-cpop__cart > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.tc2 .tc2-cpop__name { font-size: 12px; font-weight: 600; color: var(--tc-ink); padding: 0 2px; }
.tc2 .tc2-cpop__out { font-size: 11px; color: var(--tc-ink-3); }
@media (prefers-reduced-motion: reduce) { .tc2 .tc2-cpop { animation: none; } }
/* Название на плитке: крупно для коротких, длинные скрипт уменьшает до «влезает целиком» (мин. 8,5 px) */
.tc2 .tc2-var__n { font-size: 11px !important; line-height: 1.18 !important; }

/* ── «Бумеранг» в корзину: летящее фото и прыжок корзины (15.09.2026) ─────── */
.tc2-fly {
	position: fixed; z-index: 10050; pointer-events: none;
	object-fit: contain; background: #fff; border-radius: 12px;
	box-shadow: 0 10px 28px rgba(20, 28, 38, .28);
	will-change: transform, opacity;
}
@keyframes tc2-cart-bump {
	0% { transform: scale(1); }
	30% { transform: scale(1.22) rotate(-6deg); }
	55% { transform: scale(.92) rotate(4deg); }
	80% { transform: scale(1.06); }
	100% { transform: scale(1); }
}
.tc2-cart-bump { animation: tc2-cart-bump .55s ease-out; }
@media (prefers-reduced-motion: reduce) { .tc2-cart-bump { animation: none; } }

/* Экономия при покупке нескольких штук; неактивная корзина в окошке цвета (15.09.2026) */
.tc2 .tc2-saving { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--tc-green-soft); color: var(--tc-green); font-size: 12px; font-weight: 700; white-space: nowrap; }
.tc2 .tc2-cpop__cart.is-disabled { background: var(--tc-bg); color: var(--tc-ink-3); cursor: not-allowed; }
.tc2 .tc2-cpop__cart.is-disabled:hover { background: var(--tc-bg); }

/* «С этим покупают» (17.09.2026): те же плитки, что в «Вариантах»; колонок столько, сколько влезает по 130 px */
.tc2 .tc2-variants.tc2-buy { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; margin: 4px 0 8px; overflow: visible; }
.tc2 .tc2-buy .tc2-var { display: grid; align-content: start; flex: none; }
.tc2 .tc2-buy .tc2-var:hover { border-color: var(--tc-blue-line, #7bbcdd); }
.tc2 .tc2-buy .tc2-var__p { font-size: 14px; }
.tc2 .tc2-buy__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; font-size: 12px; line-height: 1.3; color: var(--tc-ink-2, #6b7480); }
/* Корзина в «С этим покупают» (18.09.2026): выезжает при наведении с лёгким пружинным
   движением, уходит медленно и плавно — поэтому у появления и исчезновения разные кривые. */
.tc2 .tc2-buy .tc2-var__cart {
	opacity: 0; transform: translateY(-6px) scale(.6); pointer-events: none;
	transition: opacity .5s ease, transform .55s cubic-bezier(.2, .6, .2, 1), background-color .2s;
}
.tc2 .tc2-buy .tc2-var:hover .tc2-var__cart,
.tc2 .tc2-buy .tc2-var:focus-within .tc2-var__cart,
.tc2 .tc2-buy .tc2-var__cart.carusel_added_to_basket {
	opacity: 1; transform: none; pointer-events: auto;
	transition: opacity .18s ease, transform .32s cubic-bezier(.34, 1.56, .64, 1), background-color .2s;
}
.tc2 .tc2-buy .tc2-var__cart:active { transform: scale(.92); transition-duration: .08s; }
@media (hover: none) {
	.tc2 .tc2-buy .tc2-var__cart { opacity: 1; transform: none; pointer-events: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.tc2 .tc2-buy .tc2-var__cart, .tc2 .tc2-buy .tc2-var:hover .tc2-var__cart { transition: opacity .2s linear; transform: none; }
}
@media all and (max-width: 760px) {
	.tc2 .tc2-variants.tc2-buy { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; }
}

/* Наведение на плитку варианта: цена подменяется на цену этого варианта (23.09.2026).
   Приглушаем цвет, чтобы было видно — это не ваша цена, а предпросмотр. */
.tc2.tc2-price-peek .tc2-price__main { color: var(--tc-ink-2); transition: color .15s ease; }
.tc2.tc2-price-peek .tc2-price__note { color: var(--tc-ink-2); }

/* ── Расположение вариантов: сравнение А / Б (30.09.2026) ───────────────────── */
/* А: исполнение — компактные чипы в зоне покупки (без фото и без своих «В корзину») */
.tc2-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.tc2-chip { display: inline-flex; flex-direction: column; gap: 1px; min-width: 76px; padding: 6px 10px; border: 1px solid var(--gsm-line-strong, #ccd3da);
	border-radius: var(--gsm-r-btn, 10px); background: var(--gsm-card, #fff); color: var(--gsm-ink, #23282d); font-size: 12px; line-height: 16px; text-decoration: none; }
.tc2-chip b { font-weight: 600; font-size: 13px; }
.tc2-chip span { color: var(--gsm-ink-2, #6b7480); }
.tc2-chip:hover { border-color: var(--gsm-blue, #3399cc); }
.tc2-chip.is-current { border: 2px solid var(--gsm-blue, #3399cc); background: var(--gsm-blue-soft, #f0f8fc); padding: 5px 9px; }
.tc2-chip.is-out { border-style: dashed; opacity: .6; }
.tc2-variants--alt { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); margin-bottom: 16px; }
/* Б: весь блок под кнопкой «В корзину», свёрнут */
.tc2-quality--b { order: 0; margin-top: 12px; border-top: 1px solid var(--gsm-line, #e6e9ec); padding-top: 10px; }
.tc2-quality--b > summary { cursor: pointer; font-weight: 600; font-size: 14px; list-style: none; display: flex; align-items: center; gap: 6px; }
.tc2-quality--b > summary::-webkit-details-marker { display: none; }
.tc2-quality--b > summary::after { content: '›'; margin-left: auto; transform: rotate(90deg); transition: transform .2s; color: var(--gsm-ink-2, #6b7480); }
.tc2-quality--b[open] > summary::after { transform: rotate(-90deg); }
.tc2-quality--b .tc2-variants { margin-top: 10px; }
/* Переключатель для сравнения (копия и администраторы) */
.tc2-modesw { position: fixed; left: 16px; bottom: 16px; z-index: 50; display: flex; gap: 8px; align-items: center; padding: 8px 12px; border-radius: 999px;
	background: var(--gsm-ink, #23282d); color: #fff; font-size: 13px; box-shadow: 0 4px 16px rgba(0,0,0,.2); }
.tc2-modesw a { color: #cfe8f5; text-decoration: none; padding: 2px 8px; border-radius: 999px; }
.tc2-modesw a:hover { background: rgba(255,255,255,.12); }
.tc2-modesw b { padding: 2px 8px; border-radius: 999px; background: #fff; color: var(--gsm-ink, #23282d); }
.tc2-sticky .tc2-quality.tc2-quality--b, .flex-cart_right_info .tc2-quality.tc2-quality--b { order: 0; }
/* В: «Варианты» — вкладка в строке разделов карточки, раскрывается плавно между вкладками и описанием */
.tc2-anchors__var { border: 0; background: none; padding: 0; font: inherit; color: inherit; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.tc2-anchors__var::after { content: '›'; transform: rotate(90deg); transition: transform .25s; color: var(--gsm-ink-2, #6b7480); }
.tc2-anchors__var.is-active { color: var(--gsm-blue-dark, #2b83b0); }
.tc2-anchors__var.is-active::after { transform: rotate(-90deg); }
.tc2-varpanel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.tc2-varpanel.is-open { grid-template-rows: 1fr; }
.tc2-varpanel__in { overflow: hidden; }
.tc2-varpanel__body { padding: 0 0 16px; margin-bottom: 16px; border-bottom: 1px solid var(--gsm-line, #e6e9ec); }
.tc2-varpanel .tc2-variants { margin: 0; }
/* В (и «Альтернативы» в А): плитки того же размера, что в правой колонке (~108 px), а не растянутые на ширину описания */
.tc2 .tc2-varpanel .tc2-variants, .tc2 .tc2-variants.tc2-variants--alt { display: grid; grid-template-columns: repeat(auto-fill, 108px); gap: 8px; max-height: none; overflow: visible; }
/* В: одна строка-карусель, плитки 84 px, фото 48 px (30.09.2026) */
.tc2 .tc2-varpanel .tc2-variants { display: flex; gap: 6px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; padding-bottom: 4px; scrollbar-width: thin; }
.tc2 .tc2-varpanel .tc2-var { flex: 0 0 84px; width: 84px; scroll-snap-align: start; padding: 4px 4px 6px; font-size: 11px; line-height: 14px; }
.tc2 .tc2-varpanel .tc2-var.is-current { padding: 3px 3px 5px; }
.tc2 .tc2-varpanel .tc2-var__img { aspect-ratio: auto; height: 48px; margin-bottom: 3px; }
.tc2 .tc2-varpanel .tc2-var__p { font-size: 12px; }
.tc2 .tc2-varpanel .tc2-var__s { font-size: 10px; line-height: 12px; }
.tc2 .tc2-varpanel .tc2-var__cart { display: none; } /* своя «В корзину» — только в правой колонке */
/* В: карточки как в мобильной версии — квадратное фото на светлом фоне, подпись под фото, цена, наличие (30.09.2026) */
.tc2 .tc2-varpanel .tc2-variants { gap: 10px; }
.tc2 .tc2-varpanel .tc2-var { flex: 0 0 124px; width: 124px; padding: 0; border: 0; border-radius: 12px; background: none; box-shadow: none; font-size: 12px; line-height: 16px; }
.tc2 .tc2-varpanel .tc2-var.is-current { padding: 0; }
.tc2 .tc2-varpanel .tc2-var__img { display: flex; flex-direction: column; height: auto; aspect-ratio: auto; margin: 0 0 4px; background: none; border-radius: 0; overflow: visible; }
.tc2 .tc2-varpanel .tc2-var__img img { width: 100%; height: auto; aspect-ratio: 1 / 1; padding: 10px; box-sizing: border-box; object-fit: contain;
	border-radius: 12px; background: var(--gsm-bg, #f3f5f7); }
.tc2 .tc2-varpanel .tc2-var.is-current .tc2-var__img img { box-shadow: inset 0 0 0 2px var(--gsm-blue, #3399cc); }
.tc2 .tc2-varpanel .tc2-var:hover .tc2-var__img img { box-shadow: inset 0 0 0 1px var(--gsm-line-strong, #ccd3da); }
.tc2 .tc2-varpanel .tc2-var.is-current:hover .tc2-var__img img { box-shadow: inset 0 0 0 2px var(--gsm-blue, #3399cc); }
.tc2 .tc2-varpanel .tc2-var__n { position: static; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 6px 2px 0;
	padding: 0; background: none; color: var(--gsm-ink, #23282d); font-size: 12px; line-height: 16px; opacity: 1; transform: none; }
.tc2 .tc2-varpanel .tc2-var.is-current .tc2-var__n { font-weight: 600; color: var(--gsm-blue-dark, #2b83b0); }
.tc2 .tc2-varpanel .tc2-var__p { margin: 0 2px; font-size: 14px; font-weight: 700; }
.tc2 .tc2-varpanel .tc2-var__s { margin: 0 2px; font-size: 11px; line-height: 14px; }
/* В: подпись под фото — старые правила подписи-плашки заданы с !important, перекрываем только внутри панели */
.tc2 .tc2-varpanel .tc2-var__n { position: static !important; transform: none !important; opacity: 1 !important; background: none !important;
	-webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none !important; border: 0 !important; padding: 0 !important; margin: 6px 2px 0 !important;
	color: var(--gsm-ink, #23282d) !important; font-size: 12px !important; font-weight: 400; line-height: 16px !important; -webkit-line-clamp: 2; pointer-events: auto; }
.tc2 .tc2-varpanel .tc2-var.is-current .tc2-var__n { font-weight: 600; color: var(--gsm-blue-dark, #2b83b0) !important; }
/* В: как карточка каталога мобильной версии — фото, цена, наличие, серое название; всё по левому краю (30.09.2026).
   Название стоит внутри блока фото — .tc2-var__img раскрыт (display: contents), порядок задаётся order. */
.tc2 .tc2-varpanel .tc2-var { display: flex !important; flex-direction: column; align-items: stretch; flex: 0 0 112px; width: 112px; text-align: left; }
.tc2 .tc2-varpanel .tc2-var__img { display: contents !important; }
.tc2 .tc2-varpanel .tc2-var__img img { order: 0; width: 112px; height: 112px; padding: 6px; border-radius: 12px; }
.tc2 .tc2-varpanel .tc2-var__p { order: 1; margin: 8px 0 0 !important; font-size: 15px; font-weight: 700; line-height: 20px; text-align: left; }
.tc2 .tc2-varpanel .tc2-var__s { order: 2; margin: 0 !important; font-size: 12px; line-height: 16px; text-align: left; }
.tc2 .tc2-varpanel .tc2-var__n { order: 3; margin: 2px 0 0 !important; color: var(--gsm-ink-2, #6b7480) !important; font-size: 12px !important; line-height: 16px !important;
	font-weight: 400; text-align: left; }
.tc2 .tc2-varpanel .tc2-var.is-current .tc2-var__n { color: var(--gsm-blue-dark, #2b83b0) !important; font-weight: 600; }
.tc2 .tc2-varpanel .tc2-var__link { z-index: 3; }
/* Переключатель сравнения — в правый верхний угол, под шапку (30.09.2026) */
.tc2-modesw { left: auto; bottom: auto; right: 16px; top: 128px; }
