/* Breadcrumbs: closer to the main menu, larger font. */
.single-product .ct-container-full[data-vertical-spacing] {
	padding-top: 8px;
}

.single-product .ct-breadcrumbs {
	margin-block: 0 10px;
	font-size: 14px;
	line-height: 1.5;
}

.single-product .ct-breadcrumbs .last-item {
	color: rgba(43, 47, 54, 0.55);
}

@media (max-width: 767px) {
	.single-product .ct-breadcrumbs {
		font-size: 13px;
	}
}

.single-product .ct-product-gallery-container > .ct-media-container {
	display: block;
	height: 340px !important;
	max-height: 340px !important;
	aspect-ratio: auto !important;
	overflow: hidden;
}

.single-product .ct-product-gallery-container > .ct-media-container img {
	display: block;
	width: auto !important;
	height: 340px !important;
	max-height: 340px !important;
	margin: 0 auto;
	object-fit: contain;
	border-radius: 12px;
	background: #fff;
}

/* Compact product page on top of Blocksy default — no template override. */

/* Photos: light pad, image fills the width, compact even with a single photo. */
.single-product .ct-product-gallery-container {
	padding: 8px;
	border-radius: 16px;
	background: var(--vc-light, var(--vc-light));
}

.single-product .ct-product-gallery-container .flexy-item .ct-media-container {
	display: block;
	height: 340px !important;
	aspect-ratio: auto !important;
}

.single-product .ct-product-gallery-container .flexy-item img {
	display: block;
	width: auto !important;
	height: 340px !important;
	max-width: 100%;
	max-height: 340px !important;
	margin: 0 auto;
	object-fit: contain;
	border-radius: 12px;
	background: #fff;
}

.single-product .ct-product-gallery-container .flexy-pills {
	margin: 8px auto 0;
}

.single-product .ct-product-gallery-container .flexy-pills ol {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	max-width: 320px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.single-product .ct-product-gallery-container .flexy-pills li {
	width: auto;
	margin: 0;
}

.single-product .ct-product-gallery-container .flexy-pills img {
	width: 100%;
	height: auto;
	border: 2px solid transparent;
	border-radius: 10px;
	cursor: pointer;
	opacity: 0.72;
	transition: opacity 0.15s ease, border-color 0.15s ease;
}

.single-product .ct-product-gallery-container .flexy-pills li.active img,
.single-product .ct-product-gallery-container .flexy-pills img:hover {
	border-color: var(--vc-accent, var(--vc-accent));
	opacity: 1;
}

/* One primary button style across the site: solid accent. */
.single-product .summary.entry-summary .single_add_to_cart_button,
.single-product .summary.entry-summary .button,
.woocommerce .button,
.vc-product-card__form .button {
	border: 0;
	border-radius: 12px;
	background: var(--vc-accent, var(--vc-accent));
	box-shadow: 0 4px 0 rgba(43, 47, 54, 0.12);
	color: #fff;
	font-weight: 700;
	min-height: 48px;
	text-shadow: none;
}

.single-product .summary.entry-summary .single_add_to_cart_button:hover,
.single-product .summary.entry-summary .single_add_to_cart_button:focus-visible,
.single-product .summary.entry-summary .button:hover,
.woocommerce .button:hover,
.vc-product-card__form .button:hover {
	background: var(--vc-dark, var(--vc-dark));
	box-shadow: 0 3px 0 rgba(43, 47, 54, 0.18);
	color: #fff;
}

/* «Перейти в корзину» появляется рядом с «В корзину» после AJAX-добавления.
   Blocksy рисует его квадратным и низким — выравниваем по основной кнопке. */
.single-product .summary.entry-summary .ct-cart-actions .added_to_cart,
.single-product .summary.entry-summary .added_to_cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin: 0;
	padding: 0 22px;
	color: var(--vc-dark, var(--vc-dark));
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	background: rgba(43, 47, 54, 0.06);
	border: 0;
	border-radius: 12px;
	box-shadow: none;
	transition: background-color 0.2s var(--vc-ease);
}

.single-product .summary.entry-summary .added_to_cart:hover,
.single-product .summary.entry-summary .added_to_cart:focus-visible {
	color: var(--vc-dark, var(--vc-dark));
	background: rgba(43, 47, 54, 0.12);
	box-shadow: none;
}

.single-product .summary.entry-summary .added_to_cart:focus-visible {
	outline: 3px solid var(--vc-accent, var(--vc-accent));
	outline-offset: 2px;
}

/* Stock accent in brand colours. */
.single-product .summary.entry-summary .stock.in-stock {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--vc-dark, var(--vc-dark));
	font-weight: 600;
}

.single-product .summary.entry-summary .stock.in-stock::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--vc-accent, var(--vc-accent));
	box-shadow: 0 0 0 4px rgba(240, 78, 54, 0.12);
}

/* Tabs: left aligned, old-site look — dark active with caret, light inactive. */
.single-product .woocommerce-tabs {
	margin-top: 28px;
}

/* Blocksy задаёт `.product > .woocommerce-tabs { padding-top: 60px }` — в карточке
   это лишний воздух, отступ сокращён до 10px (запрос владельца 2026-11-02). */
.single-product .product > .woocommerce-tabs {
	padding-top: 10px;
}

.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 4px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.single-product .woocommerce-tabs ul.tabs li {
	position: relative;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--vc-light, var(--vc-light));
}

.single-product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 10px 20px;
	color: var(--vc-dark, var(--vc-dark));
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.3;
	text-decoration: none;
	text-transform: uppercase;
}

/* Активный таб — просто чуть темнее неактивного: без тёмной плашки,
   без каретки и акцентной полосы (решение владельца 2026-11-02). */
.single-product .woocommerce-tabs ul.tabs li.active {
	background: rgba(43, 47, 54, 0.09);
}

.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--vc-dark, var(--vc-dark));
}

.single-product .woocommerce-tabs ul.tabs li.active::after {
	content: none;
	border: 0;
}

.single-product .woocommerce-tabs .panel {
	margin: 0;
	padding: 18px 20px;
	border: 1px solid rgba(43, 47, 54, 0.08);
	border-radius: 0 12px 12px 12px;
	background: #fff;
}

/* Описание из импорта — по абзацу на строку. Убираем «портянку»: короткий межстрочный
   отступ; блок не ограничиваем по ширине — текст идёт по панели, без пустоты справа. */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description p {
	margin: 0 0 8px;
	line-height: 1.55;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description p:last-child {
	margin-bottom: 0;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description br + br {
	display: none;
}

/* Подзаголовки и маркированные списки описания (собираются в inc/product.php). */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .vc-desc__head {
	margin: 14px 0 8px;
	color: var(--vc-dark, var(--vc-dark));
	font-weight: 700;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .vc-desc__head:first-child {
	margin-top: 0;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .vc-desc__list {
	margin: 0 0 10px;
	padding-left: 20px;
	list-style: disc;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .vc-desc__list li {
	margin: 0 0 4px;
	line-height: 1.55;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description .vc-desc__list li::marker {
	color: var(--vc-accent, var(--vc-accent));
}

@media (max-width: 767px) {
	.single-product .woocommerce-tabs ul.tabs li a {
		padding: 9px 14px;
		font-size: 13px;
	}

	.single-product .woocommerce-tabs .panel {
		padding: 14px;
	}
}

/* Mobile: compact native. */
@media (max-width: 767px) {
	.single-product .ct-product-gallery-container {
		padding: 6px;
		border-radius: 14px;
	}

	.single-product .ct-product-gallery-container > .ct-media-container,
	.single-product .ct-product-gallery-container .flexy-item .ct-media-container {
		height: 220px !important;
		max-height: 220px !important;
		aspect-ratio: auto !important;
		overflow: hidden;
	}

	.single-product .ct-product-gallery-container > .ct-media-container img,
	.single-product .ct-product-gallery-container .flexy-item img {
		width: auto !important;
		height: 220px !important;
		max-height: 220px !important;
		border-radius: 10px;
	}

	.single-product .ct-product-gallery-container .flexy-pills ol {
		display: flex;
		gap: 6px;
		max-width: none;
		margin: 0;
		padding: 0 0 4px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.single-product .ct-product-gallery-container .flexy-pills ol::-webkit-scrollbar {
		display: none;
	}

	.single-product .ct-product-gallery-container .flexy-pills li {
		flex: 0 0 56px;
		scroll-snap-align: start;
	}

	.single-product .summary.entry-summary .price {
		font-size: 30px;
	}
}

/* Lightbox */
.vc-lightbox {
	position: fixed;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
}

.vc-lightbox::backdrop {
	background: rgba(43, 47, 54, 0.92);
}

.vc-lightbox__body {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	width: 100%;
	height: 100%;
	padding: 24px;
}

.vc-lightbox__figure {
	position: relative;
	margin: 0;
	max-width: min(1100px, 86vw);
	max-height: 86vh;
	text-align: center;
}

.vc-lightbox__img {
	display: block;
	max-width: 100%;
	max-height: 82vh;
	margin: 0 auto;
	object-fit: contain;
	border-radius: 12px;
	background: #fff;
}

.vc-lightbox__caption {
	margin-top: 10px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.8);
}

.vc-lightbox__nav {
	flex: none;
	width: 48px;
	height: 48px;
}

/* Наведение — только плотнее стекло и ярче рамка. Красного в лайтбоксе нет. */
.vc-lightbox__nav:hover,
.vc-lightbox__close:hover {
	border-color: rgba(255, 255, 255, 0.8);
	background: rgba(43, 47, 54, 0.58);
}

.vc-lightbox__nav:focus-visible,
.vc-lightbox__close:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.85);
	outline-offset: 2px;
}

.vc-lightbox__nav .vc-icon,
.vc-lightbox__close .vc-icon {
	width: 20px;
	height: 20px;
	stroke-width: 2;
}

/* Стрелка «назад» — та же иконка, развёрнутая влево.
   Сами стрелки — обычные flex-элементы рядом с фото, а не у краёв экрана. */
.vc-lightbox__icon--prev {
	transform: scaleX(-1);
}

/* Кнопки лайтбокса — прозрачное стекло в языке сайта: тот же blur, что у .vc-glass,
   белая рамка и белая иконка (читаются и на фото, и на тёмной подложке). */
.vc-lightbox__nav,
.vc-lightbox__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 10px;
	background: rgba(43, 47, 54, 0.38);
	color: #fff;
	box-shadow: 0 12px 28px -16px rgba(0, 0, 0, 0.75);
	backdrop-filter: blur(14px) saturate(1.4);
	-webkit-backdrop-filter: blur(14px) saturate(1.4);
	cursor: pointer;
	transition: background-color 0.18s var(--vc-ease, ease), border-color 0.18s var(--vc-ease, ease);
	/* Фото — position:relative, поэтому кнопки должны идти выше него. */
	z-index: 2;
}

/* Браузеры без backdrop-filter: просто плотная подложка. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.vc-lightbox__nav,
	.vc-lightbox__close {
		background: rgba(43, 47, 54, 0.72);
	}
}

/* Крестик — над правым верхним углом фото, чуть правее него: угол кадра
   упирается в угол кнопки. */
.vc-lightbox__close {
	position: absolute;
	right: -12px;
	bottom: calc(100% + 12px);
	z-index: 2;
	width: 44px;
	height: 44px;
}

/* Низкие окна: места над фото не хватает — крестик ложится на угол фото. */
@media (max-height: 760px) {
	.vc-lightbox__close {
		top: 8px;
		right: 8px;
		bottom: auto;
	}
}

/* Лайтбокс, как и другие поп-апы, не прячет скроллбар: overflow страницы не трогаем,
   иначе макет становится шире и содержимое дёргается на ширину скроллбара. */


@media (max-width: 767px) {
	.vc-lightbox__body {
		padding: 12px;
		gap: 8px;
	}

	.vc-lightbox__figure {
		max-width: 92vw;
	}

	.vc-lightbox__img {
		max-height: 76vh;
	}

	/* Мобиле фото почти во всю ширину — стрелки ложатся на его края. */
	.vc-lightbox__nav {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 44px;
		height: 44px;
	}

	.vc-lightbox__nav--prev {
		left: 12px;
	}

	.vc-lightbox__nav--next {
		right: 12px;
	}

	.vc-lightbox__close {
		width: 40px;
		height: 40px;
		/* Фото почти во всю ширину — сдвиг меньше, чтобы крестик не ушёл за экран. */
		right: -8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vc-lightbox__nav,
	.vc-lightbox__close {
		transition: none;
	}
}

/* Desktop: vertical thumb rail + large photo + buy card. */
@media (min-width: 1024px) {
	.single-product .ct-product-gallery-container {
		display: grid;
		grid-template-columns: 76px minmax(0, 1fr);
		grid-template-areas: "pills main";
		gap: 14px;
		align-items: start;
		height: auto !important;
		padding: 12px;
		overflow: visible !important;
	}

	.single-product .ct-product-gallery-container .flexy-container {
		display: contents;
	}

	.single-product .ct-product-gallery-container .flexy-pills {
		grid-area: pills;
		order: 0;
		margin: 0;
		max-width: none;
	}

	.single-product .ct-product-gallery-container .flexy-pills ol {
		display: flex;
		flex-direction: column;
		gap: 8px;
		max-width: none;
		margin: 0;
		padding: 0;
	}

	.single-product .ct-product-gallery-container .flexy-pills li {
		flex: 0 0 auto;
	}

	.single-product .ct-product-gallery-container .flexy {
		grid-area: main;
		min-width: 0;
	}

	.single-product .ct-product-gallery-container > .ct-media-container {
		grid-area: main;
	}

	.single-product .ct-product-gallery-container .flexy-view,
	.single-product .ct-product-gallery-container .flexy-items,
	.single-product .ct-product-gallery-container .flexy-item {
		height: auto !important;
		overflow: visible !important;
	}

	.single-product .ct-product-gallery-container .flexy-item img,
	.single-product .ct-product-gallery-container > .ct-media-container img {
		width: auto !important;
		height: 420px !important;
		max-height: 420px !important;
		object-fit: contain;
	}
}

/* Quick order */
.vc-slide-hidden {
	display: none !important;
}

.single-product .vc-quick-order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	margin-top: 8px;
	padding: 0 18px;
	border: 1px solid rgba(43, 47, 54, 0.18);
	border-radius: 12px;
	background: var(--vc-light, var(--vc-light));
	color: var(--vc-dark, var(--vc-dark));
	font-weight: 700;
	cursor: pointer;
}

.single-product .vc-quick-order:hover {
	border-color: var(--vc-accent, var(--vc-accent));
	color: var(--vc-accent, var(--vc-accent));
}

.vc-callback__product {
	margin: 0 0 14px;
	padding: 10px 12px;
	border-left: 3px solid var(--vc-accent, var(--vc-accent));
	border-radius: 8px;
	background: var(--vc-light, var(--vc-light));
	color: var(--vc-dark, var(--vc-dark));
	font-weight: 600;
}

/* Custom product gallery: vertical thumbs, centered main photo. */
.vc-gallery {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 12px;
	border-radius: 16px;
	background: var(--vc-light, var(--vc-light));
}

.vc-gallery__thumbs {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.vc-gallery__thumb {
	width: 76px;
	height: 76px;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 10px;
	background: #fff;
	overflow: hidden;
	cursor: pointer;
}

.vc-gallery__thumb.is-active {
	border-color: var(--vc-accent, var(--vc-accent));
}

.vc-gallery__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.vc-gallery__main {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 420px;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: #fff;
	cursor: zoom-in;
}

.vc-gallery__img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 420px;
	margin: 0 auto;
	object-fit: contain;
	border-radius: 12px;
	background: #fff;
}

/* Desktop: gallery left, buy card right. Колонка фото уже (0.75fr) — фото стоит
   почти вплотную к превьюшкам, а колонка покупки получает больше места под текст. */
@media (min-width: 1024px) {
	.single-product .product-entry-wrapper {
		display: grid;
		grid-template-columns: minmax(0, 0.75fr) minmax(0, 1fr);
		gap: 28px;
		align-items: start;
	}

	.single-product .product-entry-wrapper > .vc-gallery {
		grid-column: 1;
	}

	.single-product .product-entry-wrapper > .summary {
		grid-column: 2;
	}

	.single-product .product-entry-wrapper > .woocommerce-tabs,
	.single-product .product-entry-wrapper > .related,
	.single-product .product-entry-wrapper > .upsells {
		grid-column: 1 / -1;
	}
}

@media (max-width: 1023px) {
	.single-product .product-entry-wrapper {
		display: block;
	}
}

@media (max-width: 767px) {
	.vc-gallery {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 8px;
	}

	.vc-gallery__thumbs {
		flex-direction: row;
		gap: 6px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.vc-gallery__thumbs::-webkit-scrollbar {
		display: none;
	}

	.vc-gallery__thumb {
		flex: 0 0 56px;
		width: 56px;
		height: 56px;
	}

	.vc-gallery__main {
		min-height: 0;
	}

	.vc-gallery__img {
		max-height: 260px;
	}
}

/* Price: solid brand dark, no gradient/outline. */
.single-product .summary.entry-summary .price {
	display: inline-flex;
	align-items: baseline;
	gap: 10px;
	margin: 0 0 14px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--vc-dark, var(--vc-dark));
	-webkit-text-fill-color: currentColor;
	-webkit-text-stroke: 0;
	font-size: clamp(30px, 3.2vw, 38px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.1;
	filter: none;
}

.single-product .summary.entry-summary .price ins {
	color: var(--vc-dark, var(--vc-dark));
	-webkit-text-fill-color: currentColor;
	text-decoration: none;
}

.single-product .summary.entry-summary .price del {
	color: rgba(43, 47, 54, 0.45);
	-webkit-text-fill-color: currentColor;
	font-size: 0.5em;
	font-weight: 600;
	-webkit-text-stroke: 0;
}

.single-product .summary.entry-summary .price .woocommerce-Price-currencySymbol {
	font-size: 0.72em;
	font-weight: 700;
}

/* Tabs: three equal columns across the full width. */
.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: nowrap;
	justify-content: stretch;
	gap: 0;
	width: 100%;
}

.single-product .woocommerce-tabs ul.tabs li {
	flex: 1 1 0;
	min-width: 0;
	text-align: center;
}

.single-product .woocommerce-tabs ul.tabs li a {
	padding: 12px 16px;
	text-align: center;
}

/* Tabs stay inside the page container. */
.single-product .woocommerce-tabs {
	box-sizing: border-box;
	width: 100%;
	max-width: 1320px;
	margin-inline: auto;
	padding-inline: 16px;
}

/* Equal tab widths regardless of label length. */
.single-product .woocommerce-tabs ul.tabs li {
	flex: 1 1 0 !important;
	width: 0;
}

/* Tabs: light inactive, slate active, subtle separators. */
.single-product .woocommerce-tabs ul.tabs li + li {
	box-shadow:
		inset 1px 0 0 rgba(43, 47, 54, 0.06),
		inset 0 -1px 0 rgba(43, 47, 54, 0.08);
}

.single-product .woocommerce-tabs ul.tabs li.active {
	background: rgba(43, 47, 54, 0.09);
	box-shadow: none;
}

.single-product .woocommerce-tabs .panel {
	border-radius: 0 0 12px 12px;
	box-shadow: 0 10px 24px rgba(50, 58, 69, 0.06);
}

/* Ни каретки, ни акцентной полосы у активного таба. */
.single-product .woocommerce-tabs ul.tabs li.active::after {
	content: none;
	border: 0;
}

/* Blocksy рисует красную 3px-полосу под активным табом (li.active::before,
   специфичность выше нашей) — в карточке её быть не должно: таб отличается только фоном. */
body.single-product div.product div.woocommerce-tabs ul.tabs li.active::before {
	content: none;
}

/* Подпись активного таба остаётся тёмной — таб отличается только фоном. */
.single-product .woocommerce-tabs ul.tabs li.active > a,
.single-product .woocommerce-tabs ul.tabs li.active > a:hover,
.single-product .woocommerce-tabs ul.tabs li.active > a:focus,
.single-product .woocommerce-tabs ul.tabs li.active > a:focus-visible {
	color: var(--vc-dark, var(--vc-dark)) !important;
	-webkit-text-fill-color: currentColor;
}

/* Гасим возможные полосы/рамки ссылки таба из родительской темы. */
.single-product .woocommerce-tabs ul.tabs li a {
	border: 0;
	box-shadow: none;
}

@media (max-width: 767px) {
	.single-product .woocommerce-tabs ul.tabs {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 0;
	}

	.single-product .woocommerce-tabs ul.tabs li {
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0;
	}

	.single-product .woocommerce-tabs ul.tabs li a {
		padding: 10px 6px;
		font-size: 12px;
		white-space: nowrap;
	}
}

/* Навигация по категории под табами: «Вернуться к…» слева, «Следующий продукт» справа.
   Акцент — только на hover/focus, заливок нет. */
.single-product .vc-product-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 18px;
}

.vc-product-nav__back,
.vc-product-nav__next {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	min-height: 44px;
	padding: 9px 14px;
	border: 1px solid rgba(43, 47, 54, 0.14);
	border-radius: var(--vc-radius-sm, 10px);
	background: var(--vc-light, var(--vc-light));
	color: var(--vc-dark, var(--vc-dark));
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	transition: color 0.18s var(--vc-ease, ease), border-color 0.18s var(--vc-ease, ease), background-color 0.18s var(--vc-ease, ease);
}

.vc-product-nav__back:hover,
.vc-product-nav__next:hover,
.vc-product-nav__back:focus-visible,
.vc-product-nav__next:focus-visible {
	border-color: rgba(240, 78, 54, 0.45);
	background: #fff;
	color: var(--vc-accent, var(--vc-accent));
}

.vc-product-nav__back:focus-visible,
.vc-product-nav__next:focus-visible {
	outline: 2px solid var(--vc-accent, var(--vc-accent));
	outline-offset: 2px;
}

.vc-product-nav__back .vc-icon,
.vc-product-nav__next .vc-icon {
	width: 16px;
	height: 16px;
	stroke-width: 2;
}

/* «Назад» — та же иконка стрелки, развёрнутая влево. */
.vc-product-nav__back .vc-icon {
	transform: scaleX(-1);
}

.vc-product-nav__back-text {
	min-width: 0;
}

.vc-product-nav__back-name {
	font-weight: 700;
	max-width: 46ch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Следующий товар + поповер с фото и артикулом. Ссылка не прыгает, когда чип один. */
.vc-product-nav__next {
	position: relative;
	margin-left: auto;
}

/* Крайний случай: товар последний в категории — ссылки нет, состояние читается текстом. */
.vc-product-nav__last {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 9px 14px;
	border: 1px dashed rgba(43, 47, 54, 0.18);
	border-radius: var(--vc-radius-sm, 10px);
	color: var(--vc-muted, rgba(43, 47, 54, 0.66));
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.vc-product-nav__pop {
	position: absolute;
	right: 0;
	bottom: calc(100% + 10px);
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: min(300px, 72vw);
	padding: 8px;
	border: 1px solid var(--vc-line, rgba(43, 47, 54, 0.12));
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 16px 38px -18px rgba(43, 47, 54, 0.5), 0 2px 6px rgba(43, 47, 54, 0.08);
	color: var(--vc-dark, var(--vc-dark));
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	pointer-events: none;
	transition: opacity 0.18s var(--vc-ease, ease), transform 0.18s var(--vc-ease, ease), visibility 0s linear 0.18s;
	z-index: 30;
}

.vc-product-nav__pop-img {
	width: 56px;
	height: 56px;
	flex: none;
	border-radius: 8px;
	background: var(--vc-light, var(--vc-light));
	object-fit: contain;
}

/* Длинные артикулы (например SILENT-100 CHZ DESIGN) должны переноситься внутри карточки,
   а не вылезать за её край. */
.vc-product-nav__sku {
	min-width: 0;
	white-space: normal;
	overflow-wrap: anywhere;
	hyphens: auto;
}

/* Поповер только там, где есть настоящий hover: на тач-устройствах тап сразу ведёт на товар. */
@media (hover: hover) and (pointer: fine) {
	.vc-product-nav__next:hover .vc-product-nav__pop,
	.vc-product-nav__next:focus-visible .vc-product-nav__pop {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		transition-delay: 0s;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vc-product-nav__back,
	.vc-product-nav__next,
	.vc-product-nav__pop {
		transition: none;
	}
}

@media (max-width: 767px) {
	.single-product .vc-product-nav {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
		margin-top: 14px;
	}

	.vc-product-nav__back {
		justify-content: flex-start;
	}

	.vc-product-nav__back,
	.vc-product-nav__next,
	.vc-product-nav__last {
		width: 100%;
	}

	.vc-product-nav__next {
		justify-content: space-between;
	}

	.vc-product-nav__back-name {
		max-width: none;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.vc-product-nav__pop {
		display: none;
	}
}

/* Похожие товары: catalog.css на карточке товара не грузится, поэтому карточки
   получают тот же компактный вид, что и в каталоге — сетка, фото, бренд, цена, кнопка. */
.single-product .related ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-product .related ul.products li.vc-product-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 10px;
	overflow: hidden;
	text-align: left;
	background: #fff;
	border: 1px solid rgba(43, 47, 54, 0.12);
	border-radius: 16px;
	transition: border-color 0.25s var(--vc-ease), box-shadow 0.25s var(--vc-ease);
}

@media (hover: hover) and (pointer: fine) {
	.single-product .related ul.products li.vc-product-card:hover {
		border-color: rgba(43, 47, 54, 0.24);
		box-shadow: 0 12px 30px -18px rgba(43, 47, 54, 0.35);
	}
}

.single-product .related .vc-product-card__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 8px;
	overflow: hidden;
	background: var(--vc-light, var(--vc-light));
	border-radius: 12px;
	text-decoration: none;
}

.single-product .related .vc-product-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.single-product .related .vc-product-card__meta {
	margin: 0;
	color: rgba(43, 47, 54, 0.55);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.single-product .related .vc-product-card__title {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.single-product .related .vc-product-card__title a {
	color: var(--vc-dark, var(--vc-dark));
	text-decoration: none;
}

.single-product .related .vc-product-card__title a:hover {
	color: var(--vc-accent, var(--vc-accent));
}

/* Описание в компактной карточке не выводим — как в сетке каталога. */
.single-product .related .vc-product-card__excerpt {
	display: none;
}

.single-product .related .vc-product-card__stock {
	color: rgba(43, 47, 54, 0.55);
	font-size: 12.5px;
	line-height: 1.3;
}

.single-product .related .vc-product-card__stock p {
	margin: 0;
}

.single-product .related .vc-product-card__purchase {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: auto;
}

.single-product .related .vc-product-card__price {
	color: var(--vc-dark, var(--vc-dark));
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
	text-align: right;
}

.single-product .related .vc-product-card__price del {
	margin-right: 6px;
	color: rgba(43, 47, 54, 0.45);
	font-size: 13px;
	font-weight: 600;
}

.single-product .related .vc-product-card__form {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}

/* Степпер здесь без AJAX-скрипта каталога инертен — в «Похожих» только кнопка. */
.single-product .related .vc-qty {
	display: none;
}

.single-product .related .vc-product-card__add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 40px;
	padding: 8px 14px;
	border: 0;
	border-radius: 10px;
	background: var(--vc-accent, var(--vc-accent));
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s var(--vc-ease);
}

.single-product .related .vc-product-card__add:hover,
.single-product .related .vc-product-card__add:focus-visible {
	background: var(--vc-dark, var(--vc-dark));
	color: #fff;
}

.single-product .related .vc-product-card__add[disabled] {
	background: rgba(43, 47, 54, 0.12);
	color: rgba(43, 47, 54, 0.55);
	cursor: default;
}

@media (max-width: 1279px) {
	.single-product .related ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1023px) {
	.single-product .related ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Ссылка входа в блоке «только для покупателей». */
.vc-review-login {
	margin-left: 6px;
	color: var(--vc-accent, #f04e36);
	font-weight: 600;
	white-space: nowrap;
}

.vc-review-login:hover {
	text-decoration: underline;
}
/* Карточка товара: весь блок (заголовок + фото/покупка) выше на 10 мм на десктопе. */
@media (min-width: 1024px) {
	.single-product .vc-product-title {
		margin-top: -10mm;
	}
}
/* Последняя категория в крошках товара — активная ссылка. */
.vc-breadcrumbs__link--last {
	color: var(--vc-dark, var(--vc-dark));
}

.vc-breadcrumbs__link--last:hover,
.vc-breadcrumbs__link--last:focus-visible {
	color: var(--vc-accent, var(--vc-accent));
}