/*
 * Карточка товара (templates/tovar.php) в едином оформлении сайта (14.09.2026).
 * Только вид: классы, на которые завязаны скрипты (buy_btn_tovar, input_with_increment,
 * showBox, tovar_cdek_delivery_info, change-city-tovar и др.), не менялись.
 * Всё под .tc — на остальной сайт не влияет. Значения — из --gsm-* (страница /design/).
 */
.tc {
	--tc-blue: var(--gsm-blue, #3399cc);
	--tc-blue-dark: var(--gsm-blue-dark, #2b83b0);
	--tc-blue-soft: var(--gsm-blue-soft, #f0f8fc);
	--tc-link: var(--gsm-link, #2876a5);
	--tc-green: var(--gsm-green, #17a05f);
	--tc-green-soft: var(--gsm-green-soft, #eefaf3);
	--tc-red: var(--gsm-red, #d64545);
	--tc-amber-soft: var(--gsm-amber-soft, #fff8e6);
	--tc-amber-ink: var(--gsm-amber-ink, #8a5a00);
	--tc-ink: var(--gsm-ink, #23282d);
	--tc-ink-2: var(--gsm-ink-2, #6b7480);
	--tc-ink-3: var(--gsm-ink-3, #949ba5);
	--tc-line: var(--gsm-line, #e4e8ec);
	--tc-line-strong: var(--gsm-line-strong, #ccd3da);
	--tc-bg: var(--gsm-bg, #f6f7f9);
	--tc-shadow: var(--gsm-shadow, 0 1px 2px rgba(20, 28, 38, .05), 0 1px 3px rgba(20, 28, 38, .04));
	color: var(--tc-ink);
	font-size: 15px;
	line-height: 1.5;
	margin-bottom: 32px;
}
.tc .rur:before { content: '₽'; font-family: inherit !important; font-size: inherit !important; line-height: inherit; }
.tc .rur { font-family: inherit !important; margin-left: 2px; }
.tc .rur > span { display: none; }

/* ── Заголовок ─────────────────────────────────────────────────────────────── */
.tc .bhead_1 { margin: 4px 0 8px; }
.tc .breadcrumblist { font-size: 13px; color: var(--tc-ink-2); line-height: 1.6; }
.tc .breadcrumblist a, .tc .breadcrumblist .color-blue { color: var(--tc-link); text-decoration: none; }
.tc .breadcrumblist a:hover span { color: var(--tc-blue-dark); }
.tc .breadcrumblist .razd { margin: 0 6px; color: var(--tc-ink-3); }
.tc h1.tovar_h1 { margin: 0 0 6px; font-size: 26px !important; line-height: 1.25; font-weight: 700; color: var(--tc-ink); }
.tc .tc-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin: 0 0 16px; font-size: 13px; color: var(--tc-ink-2); }
.tc .tc-meta b { font-weight: 600; color: var(--tc-ink); }
.tc .tc-meta .tovar_rating_wrapper { margin: 0; }

/* ── Верх: галерея + покупка + доставка ────────────────────────────────────── */
.tc .flex-cart {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 16px;
	align-items: start;
	width: 100%;
	margin: 0;
	background: none;
	border: 0;
	border-radius: 0;
}
.tc .flex-cart-image,
.tc .flex_cart_right_mini {
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--tc-line);
	border-radius: 16px;
	box-shadow: var(--tc-shadow);
}
.tc .flex-cart-image { width: auto; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.tc .flex-cart_right_info { display: flex; flex-direction: column; gap: 16px; width: auto; margin: 0; padding: 0; border: 0; }
.tc .flex_cart_right_mini {
	min-width: 0;
	padding: 20px;
	top: 0;
	white-space: normal;
	color: var(--tc-ink);
	font-size: 14px;
}

/* Галерея */
.tc .showBox_wrap_wrap { width: 100%; margin: 0; border-radius: 12px; background: #fff; }
.tc .showBox_wrap > a.showBox { justify-content: center; align-items: center; }
.tc .showBox_wrap > .showBox > img,
.tc .flex-cart-image > img {
	width: 100%;
	height: 440px;
	max-height: 60vh;
	object-fit: contain;
	padding: 0;
}
.tc .next_photo, .tc .prev_photo {
	width: 40px; height: 40px; border-radius: 50%;
	top: calc(50% - 20px);
	background: rgba(255, 255, 255, .92);
	color: var(--tc-ink);
	box-shadow: 0 2px 8px rgba(20, 28, 38, .15);
}
.tc .prev_photo { left: 8px; }
.tc .next_photo { right: 8px; }
.tc .flex-cart-image .clearfix { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; justify-content: flex-start; }
.tc .flex-cart-image .clearfix:after { display: none; }
.tc .flex-cart-image .clearfix > div {
	width: 72px; margin: 0; padding: 4px;
	border: 1px solid var(--tc-line); border-radius: 10px;
	background: #fff; cursor: pointer; transition: border-color .15s;
}
.tc .flex-cart-image .clearfix > div:hover { border-color: var(--tc-line-strong); }
.tc .flex-cart-image .clearfix > div.active-showbox { border-color: var(--tc-blue); box-shadow: 0 0 0 2px var(--tc-blue-soft); }
.tc .flex-cart-image img.photo_preview { display: block; width: 100%; height: 62px; object-fit: contain; }
.tc .flex-cart-image .label_add_photo { display: flex; align-items: center; justify-content: center; height: 100%; min-height: 62px; font-size: 12px; color: var(--tc-link); text-align: center; cursor: pointer; }
.tc .tovar_rating_wrapper { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--tc-ink-2); }
.tc .tovar_rating_wrapper .tovar_rating { font-weight: 600; color: var(--tc-ink); }
.tc .flex-cart-image > p { margin: 0; font-size: 13px; color: var(--tc-ink-2); }

/* Цена */
.tc .tc-price-caption { margin: 0 0 2px; font-size: 13px; color: var(--tc-ink-2); }
.tc .tc-price-caption b { font-weight: 600; color: var(--tc-ink); }
.tc .tovar_cart_head_ceny { margin: 0 0 12px; }
.tc .num_td_2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; padding: 0; min-width: 0; }
.tc .num_td_2 > div, .tc .num_td_2 > div:first-child { width: auto; display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.tc .num_td_2 > div > div { display: inline; }
.tc .cart_price_td { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 0 8px; }
.tc .cart_price, .tc .cart_price_td .rur { font-size: 17px; line-height: 1.2; color: var(--tc-ink-2); margin: 0; }
.tc .big_price .cart_price, .tc .big_price .rur { font-size: 34px; line-height: 1.1; font-weight: 700; color: var(--tc-ink); margin: 0; }
.tc .num_td_2 > div:first-child .cart_price_td:not(.big_price) .cart_price,
.tc .num_td_2 > div:first-child .cart_price_td:not(.big_price) .rur { font-size: 34px; font-weight: 700; color: var(--tc-ink); }
.tc .old_cart_price { order: -1; flex-basis: 100%; font-size: 14px !important; color: var(--tc-ink-3); line-height: 1.2; }
.tc .old_cart_price.hidden { display: none; }
.tc .old_cart_price .price_data { color: var(--tc-ink-3); text-decoration: line-through; }
.tc .old_cart_price .price_data:after { display: none; }
.tc .price_label { font-size: 13px; color: var(--tc-ink-2); }
.tc .price_label.price_label_active { font-size: 13px; color: var(--tc-ink); }
.tc .num_td_2 .alert_wrap { display: inline-block; vertical-align: middle; }

/* Бонусы */
.tc .tc-bonus-box { margin: 0 0 14px; }
.tc .tc-bonus {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 4px 10px; border-radius: 999px;
	background: var(--tc-green-soft); color: var(--tc-green);
	font-size: 13px; font-weight: 600;
}
.tc .tc-bonus .alert_wrap { display: inline-block; }
.tc .tc-bonus-box p { margin: 6px 0 0; font-size: 13px; color: var(--tc-ink-2); }
.tc .tc-bonus-box p b { color: var(--tc-ink); }

/* Наличие */
.tc .tovar_cart_nalichie { margin: 0 0 14px; }
.tc .tovar_cart_nalichie table, .tc .tovar_cart_nalichie td { width: auto; padding: 0; border: 0; }
.tc .tovar_cart_nalichie td { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 14px; }
.tc .tovar_cart_nalichie td > span { color: var(--tc-green); font-weight: 600; }
.tc .tovar_cart_nalichie td > span.no_nalichie { color: var(--tc-ink-2); }
.tc .tovar_cart_nalichie td > br { display: none; }
.tc .tovar_cart_nalichie td > span + span { color: var(--tc-ink-2); font-weight: 400; }
.tc .tovar_cart_nalichie .shops_qty { color: var(--tc-link); }

/* Количество и кнопка */
.tc .buy_and_izb_block { align-items: stretch; }
.tc .buy_btn_block.buy_btn_block_cart_product { font-size: 16px; margin: 0 0 12px; gap: 10px; }
.tc .left_buy_btn_part { flex: 0 0 auto; }
.tc .right_buy_btn_part { flex: 1 1 auto; display: flex; flex-direction: column; gap: 8px; }
.tc .input_with_increment.modern_style {
	height: 48px; box-sizing: border-box; padding: 0 4px;
	border: 1px solid var(--tc-line-strong); border-radius: 12px; background: #fff;
}
.tc .input_with_increment .change_input_decrement,
.tc .input_with_increment .change_input_increment {
	position: relative; width: 36px; height: 36px; margin: 0; border-radius: 8px; color: var(--tc-ink-2);
}
.tc .input_with_increment .change_input_decrement:hover,
.tc .input_with_increment .change_input_increment:hover { background: var(--tc-bg); color: var(--tc-ink); }
.tc .input_with_increment .change_input_decrement:hover div,
.tc .input_with_increment .change_input_increment:hover div { box-shadow: none; }
.tc .input_with_increment .change_input_decrement div,
.tc .input_with_increment .change_input_increment div { width: 12px; }
.tc .input_with_increment input { width: 40px; height: 100%; font-size: 16px; font-weight: 600; color: var(--tc-ink); background: transparent; outline: 0; }
.tc .buy_btn_tovar,
.tc .buy_one_click_button {
	height: 48px; margin: 0; padding: 0 16px;
	border-radius: var(--gsm-r-btn, 10px); font-size: var(--gsm-fs-btn, 15px); font-weight: 600; line-height: 1;
	white-space: nowrap;
}
.tc .buy_btn_tovar { display: block; line-height: 48px; text-align: center; }
.tc .buy_btn_tovar:first-letter { text-transform: uppercase; }
.tc .buy_btn_tovar.in_basket:hover { background: #128a51; }
.tc .buy_one_click_button { display: flex; align-items: center; justify-content: center; border: 1px solid var(--tc-blue); color: var(--tc-blue); background: #fff; cursor: pointer; }

/* «Заказать» / подписка, когда нет в наличии */
.tc .tovar_cart_knopka_block { margin: 0 0 12px; }
.tc .buy_and_izb_block .notify.uvedomit {
	display: flex; align-items: center; justify-content: center;
	height: 48px; padding: 0 16px; box-sizing: border-box;
	border-radius: 12px; background: var(--tc-blue); color: #fff;
	font-size: 16px; font-weight: 600; cursor: pointer;
}
.tc .buy_and_izb_block .notify.uvedomit:first-letter { text-transform: uppercase; }
.tc .buy_and_izb_block .notify.uvedomit[is_uved="1"] { background: var(--tc-blue-soft); color: var(--tc-blue-dark); }

/* Цена от количества + избранное */
.tc .adaptive_price_block { align-items: center; gap: 12px; margin: 0; font-size: 13px; color: var(--tc-ink-2); }
.tc .adaptive_price_block > div:first-child { display: flex; flex-direction: column; gap: 2px; }
.tc .adaptive_price_line b { color: var(--tc-ink); font-weight: 600; }
.tc .tovar_izb_block {
	flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; margin: 0 0 0 auto; box-sizing: border-box;
	border: 1px solid var(--tc-line); border-radius: 10px; background: #fff; cursor: pointer;
}
.tc .tovar_izb_block:hover { border-color: var(--tc-line-strong); background: var(--tc-bg); }
.tc .tovar_izb_block img { width: 20px; height: 20px; }

/* Доставка */
.tc .city-delivery { margin: 0 0 12px; font-size: 16px; font-weight: 600; color: var(--tc-ink); }
.tc .city-delivery .change-city-tovar { color: var(--tc-link); border-bottom: 1px dashed currentColor; cursor: pointer; }
.tc .city-delivery-wrap, .tc .delivery-block { width: 100%; max-width: none; box-sizing: border-box; }
.tc .delivery-block { display: flex; flex-direction: column; }
.tc .delivery-block > div:not(.delivery-weight) {
	display: flex !important; align-items: center; gap: 10px;
	margin: 0 !important; padding: 9px 0;
	border-top: 1px solid var(--tc-line);
}
.tc .delivery-block > div:first-child { border-top: 0; padding-top: 0; }
.tc .tovar_dostavka_title { flex: 1 1 auto; min-width: 0; gap: 10px; font-size: 14px; color: var(--tc-ink); }
.tc .tovar_dostavka_title { text-transform: capitalize; }
.tc .tovar_dostavka_title .img_wrap { flex: 0 0 28px; width: 28px; height: 28px; margin: 0; justify-content: center; border-radius: 8px; overflow: hidden; }
.tc .tovar_dostavka_title img { max-width: 28px; max-height: 28px; object-fit: contain; }
.tc .delivery-block > div > span:last-child { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; text-align: right; font-size: 13px; color: var(--tc-ink-2); }
.tc .delivery_list_price { width: auto; text-align: right; font-size: 14px; font-weight: 600; color: var(--tc-ink); white-space: nowrap; } /* 27.10.2026: было 90px из styles.css — «на оформлении» вылезало за карточку */
.tc .tovar_data_delivery { font-size: 12px; color: var(--tc-ink-2); white-space: nowrap; }
.tc .tover_delivery_error { font-size: 12px; color: var(--tc-ink-3); }
.tc .delivery-weight { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--tc-line); font-size: 13px; color: var(--tc-ink-2); }
.tc .delivery-weight b { color: var(--tc-ink); font-weight: 600; }
.tc .kak_wrap_line { display: none; }

/* ── Описание, совместимость, характеристики ───────────────────────────────── */
.tc .tovar_body_descr_wrap { width: 100%; margin-top: 16px; }
.tc .tovar_body-left-column { width: 100%; }
.tc .tovar_body_descr {
	box-sizing: border-box; width: 100%;
	margin: 0 0 16px; padding: 4px 24px 20px;
	background: #fff; border: 1px solid var(--tc-line); border-radius: 16px; box-shadow: var(--tc-shadow);
}
.tc h3.tovar_cart_block_desc,
.tc h3.tovar_cart_block_variants {
	width: auto; margin: 0; padding: 18px 0 10px;
	font-size: 18px; font-weight: 700; color: var(--tc-ink); background: none; border-radius: 0;
}
.tc .tovar_body_descr h3.tovar_cart_block_desc ~ h3.tovar_cart_block_desc,
.tc .tovar_body_descr h3.tovar_cart_block_variants { margin-top: 12px; border-top: 1px solid var(--tc-line); }
.tc .tovar_description_wrapper, .tc .tovar_body_descr_blocks { box-sizing: border-box; width: 100%; margin: 0; padding: 0; }
.tc .tovar_body_descr_descr { font-size: 15px; line-height: 1.6; color: var(--tc-ink); overflow-wrap: anywhere; }
.tc .tovar_body_descr_descr:empty { display: none; }
.tc .tovar_body_descr_devices { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; }
.tc .tovar_body_descr_devices a {
	margin: 0; padding: 5px 12px; border-radius: 999px;
	background: var(--tc-blue-soft); color: var(--tc-blue-dark); text-decoration: none; white-space: nowrap;
}
.tc .tovar_body_descr_devices a:before { display: none; }
.tc .tovar_body_descr_devices a:hover { background: var(--tc-blue); color: #fff; }
.tc .tovar_body_chars_block { font-size: 14px; }
.tc .flex_table_string { padding: 7px 0; align-items: baseline; border-bottom: 1px solid var(--tc-line); }
.tc .flex_table_string:last-child { border-bottom: 0; }
.tc .flex_table_string .table_first_td { flex: 0 0 40%; color: var(--tc-ink-2); gap: 6px; }
.tc .flex_table_string .table_td_wrapper { display: none; }
.tc .flex_table_string .table_last_td { flex: 1 1 auto; width: auto; color: var(--tc-ink); font-weight: 600; }
.tc .akb-warning {
	overflow: hidden; padding: 12px 16px; border-radius: 12px;
	background: var(--tc-amber-soft); color: var(--tc-amber-ink); font-size: 13px; line-height: 1.5;
}
.tc .tovar_body_descr .variants_tovars_1 { left: 0; }

/* ── Карусели ниже ─────────────────────────────────────────────────────────── */
.tc .tovar-cart-block { box-sizing: border-box; width: 100%; max-width: 100%; padding: 0; margin: 8px 0 0; overflow: hidden; }
.tc .tovar-cart-block h3 { width: auto; margin: 0; padding: 8px 0 12px; font-size: 22px; font-weight: 700; color: var(--tc-ink); }
.tc .vozmozhno_zainteresuet_1, .tc .related_tovars_1 { left: 0; }

/* ── Планшет и телефон ─────────────────────────────────────────────────────── */
@media all and (max-width: 1100px) {
	.tc .flex-cart { grid-template-columns: minmax(0, 1fr) 300px; }
}
@media all and (max-width: 760px) {
	.tc { width: 100% !important; margin-bottom: 20px; }
	.tc h1.tovar_h1 { font-size: 21px !important; }
	.tc .flex-cart { display: flex; flex-direction: column; gap: 12px; margin: 0; width: 100%; }
	.tc .flex-cart-image, .tc .flex-cart_right_info { width: 100%; }
	.tc .flex-cart-image { padding: 12px; border-radius: 14px; }
	.tc .flex_cart_right_mini { padding: 16px; border-radius: 14px; }
	.tc .flex-cart_right_info { gap: 12px; border-top: 0; }
	.tc .showBox_wrap > .showBox > img, .tc .flex-cart-image > img { height: 300px; }
	.tc .flex-cart-image .clearfix { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; }
	.tc .flex-cart-image .clearfix > div { flex: 0 0 64px; width: 64px; }
	.tc .flex-cart-image img.photo_preview { height: 54px; }
	.tc .big_price .cart_price, .tc .big_price .rur,
	.tc .num_td_2 > div:first-child .cart_price_td:not(.big_price) .cart_price,
	.tc .num_td_2 > div:first-child .cart_price_td:not(.big_price) .rur { font-size: 30px; }
	.tc .tovar_body_descr_wrap { width: 100%; margin-top: 12px; }
	.tc .tovar_body_descr { padding: 2px 16px 16px; border-radius: 14px; }
	.tc .tovar_body_descr_descr { font-size: 14px; }
	.tc .flex_table_string .table_first_td { flex-basis: 48%; }
	.tc .flex_table_string .table_last_td { width: auto; }
	.tc .tovar-cart-block h3 { font-size: 19px; }
}
