.product-card-list {
	width: 100%;
	display: grid;
	row-gap: 50px;
	column-gap: 20px;
	justify-content: start;
  	justify-items: start;
/* 	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); */
/* 	grid-template-columns: repeat(auto-fit, minmax(331px, 1fr)); */
/* 	grid-template-columns: repeat(auto-fit, minmax(320px, 445px)); */
}
.product-card-list,
.recommendations .product-card-list,
.add-on .product-card-list { 
/* 	grid-template-columns: repeat(auto-fit, minmax(320px, 445px));  */
	grid-template-columns: repeat(3, minmax(320px, 1fr)); 
}

.tinvwl-card-item,
.product-card {
	position: relative;
	height: fit-content;
/* 	max-width: 500px; */
	width: 100%;
	min-width: 0;
}

.product-card__link {}

.product-card__favorite {
	position: absolute;
	z-index: 2;
	padding: 35px;
	cursor: pointer;
}

.product-card__favorite svg path {
	fill: var(--white-color);
}

.product-card__favorite svg path:first-child {
	fill: transparent;
}

.product-card__favorite svg:hover path:last-child {
	fill: var(--accent-color-3);
}

.product-card:hover .product-card__image {
	transform: scale(1);
}

.product-card__favorite svg.liked path:first-child {
	fill: var(--accent-color-3);
}

.product-card__favorite svg.liked path:last-child {
	fill: transparent;
}

.product-card__favorite svg.liked:hover path:last-child {
	fill: var(--accent-color-3);
}

.product-card__figure {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
}

.product-card__figure::before {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
	background-image: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.5) 0%,
		rgba(0, 0, 0, 0) 30%
	);
	border-radius: 20px;
}

.product-card__image {
	width: 100%;
	height: 100%;
	max-height: 629px;
	aspect-ratio: 447 / 629;
	transform: scale(1.2);
	transition: transform 0.4s ease;
	will-change: transform;
}

.product-card__info {
	position: absolute;
	z-index: 1;
	bottom: 0;
	display: flex;
	gap: 10px;
	flex-direction: column;
	padding: 30px;
	color: var(--white-color);
	transition: color 0.4s ease;
	will-change: color;
}

.product-card:hover .product-card__info {
/* 	color: var(--accent-color); */
}

.product-card__title {}

.product-card__price {
	font-weight: 400;
}
.product-card__price > span {
	display: flex;
    flex-direction: column;
	white-space: nowrap;
}
.product-card__price ins,
.product_meta .price ins { text-decoration: none; }

.product-card__availability {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 20px;
}

.product-card__availability-indicator {
	width: 12px;
	height: 12px;
	border-radius: 50%;
}

.product-card__availability--in-stock .indicator {
	--accent-color-rgb: 221, 120, 198;
	background-color: var(--accent-color);
	animation: pulse-flash-on 3s infinite ease-in-out;
}

@keyframes pulse-flash-on {
	0% {
		box-shadow: 0 0 0 0 rgba(var(--accent-color-rgb), 0);
	}
	20% {
		box-shadow: 0 0 5px 6px rgba(var(--accent-color-rgb), 0.5);
	}
	50% {
		box-shadow: 0 0 10px 6px rgba(var(--accent-color-rgb), 0.2);
	}
	51%,
	100% {
		box-shadow: 0 0 0 0 rgba(var(--accent-color-rgb), 0);
	}
}

.product-card__availability--on-order .indicator {
	--accent-color-4-rgb: 100, 200, 255;
	background-color: var(--accent-color-4);
	animation: pulse-flash4-off 1.5s infinite ease-in-out; /* имя совпадает с keyframes */
}

@keyframes pulse-flash4-off {
	0% {
		box-shadow: 0 0 0 0 rgba(var(--accent-color-4-rgb), 0);
	}
	20% {
		box-shadow: 0 0 5px 6px rgba(var(--accent-color-4-rgb), 0.5);
	}
	50% {
		box-shadow: 0 0 10px 6px rgba(var(--accent-color-4-rgb), 0.2);
	}
	51%,
	100% {
		box-shadow: 0 0 0 0 rgba(var(--accent-color-4-rgb), 0);
	}
}

.product-card__availability-text {
	color: var(--accent-color-4);
	line-height: 1;
}

.product-card__basket {
	cursor: pointer;
	position: absolute;
	z-index: 1;
	right: 10px;
	bottom: 0;
	max-width: max-content;
	border: 0;
	border-radius: 50%;
	background-color: var(--accent-color);
	transition: background-color 0.4s ease;
	will-change: background-color;
}

.product-card__basket-inner {
	position: relative;
}

.product-card__basket .basket__counter { display: none; }
.product-card__basket:has(svg.basketed) .basket__counter {
	display: block;
	transform: translateX(-90%) translateY(-10%);
}

.product-card__basket:has(svg.basketed) {
	background-color: var(--white-color);
}

.product-card__basket svg.basketed path {
	fill: var(--accent-color);
}

.product-card__basket svg {
	width: 42px;
	height: 40px;
	margin: 35px;
}

.product-card__basket svg path {
	fill: var(--white-color);
}

.product-card__basket:hover {
	background-color: var(--white-color);
}

.product-card__basket:hover svg path {
	fill: var(--accent-color);
}

/* WooCommerce (start) */
.product-card__wishlist-native,
.product-card__cart-native {
	position: absolute;
	inset: 0;
	opacity: 0;
	z-index: -1;
	pointer-events: none;
}
.product-card__favorite-text,
.product-card__cart-text {
	display: none;
}
.product-card__favorite-btn,
.product-card__cart-btn {
	border: 0;
	background: transparent;
}
.product-card__basket { overflow: hidden; }
.product-card__basket:has(svg.basketed) { overflow: visible; }

header.header { position: relative; }
main.product { overflow: visible; }
.product-info__content {
	display: grid; gap: 50px;
	grid-template-columns: 1fr 1fr;
}
/* .slider .product-info__gallery { 
	margin-top: -200px;
	border-radius: 20px;
    overflow: hidden;
}
.slider .single-product__slider.swiper {
	height: 900px;
	overflow: hidden;
}
.slider .single-product__slider .woocommerce-product-gallery__image {
	float: none !important;
	width: 100% !important;
	border-radius: 20px;
    overflow: hidden;
	aspect-ratio: 666 / 740;
}
.slider .single-product__slider .woocommerce-product-gallery__image img {
	width: 100%;
	height: 100%;
	object-fit: cover; 
	display: block;
} */




.woocommerce-product-gallery__wrapper { 
	flex-direction: column; gap: 10px;
	height: auto !important;
}
.product-info__gallery {
  min-width: 0;
}
.js-pb-product-video,
.woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 666 / 840;
	border-radius: 20px;
}
.product-info__summary{
  position: sticky;
  top: 200px;
  align-self: flex-start;
  height: fit-content;
}


.product-summary__price bdi {
	font-weight: 600;
	font-size: clamp(36px, calc(31.77px + 1.13vw), 48px);
}
.product-actions {
	display: flex; gap: 30px;
	justify-content: space-between;
	flex-direction: column; 
	align-items: start;
}
.product-actions .single_add_to_cart_button,
.product-actions .product-actions__wishlist button {
	height: 57px !important;
	width: 100% !important;
	max-width: 325px !important;
	border: 0 !important;
	padding-block: var(--fz) !important;
    padding-inline: var(--_fz) !important;
	border-radius: var(--_fz) !important;
	white-space: nowrap;
}
.product-actions .single_add_to_cart_button {
	background-color: var(--accent-color) !important;
	color: var(--white-color) !important;
}
.product-actions .single_add_to_cart_button:hover {
	
}
.product-actions .product-actions__wishlist {
	height: 57px !important;
	width: 100% !important;
	max-width: 325px !important;
}
.product-actions .product-actions__wishlist button {
	--fz: 18px;
	--_fz: calc(var(--fz) * 1.5);
	font-size: var(--fz) !important;
	padding-block: var(--fz) !important;
    padding-inline: var(--_fz) !important;
	border-radius: var(--_fz) !important;
	background-color: var(--black-color) !important;
	color: var(--white-color) !important;
	line-height: 1;
}
.product_meta.product_specs {
	display: flex; gap: 30px;
	flex-direction: column;
	margin-top: 40px;
}
.product_spec-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 50px;
}

.product_meta.product_specs .spec__label {
  font-weight: 600;
  margin-bottom: 6px;
}

.product_meta.product_specs .spec__value {
  line-height: 1.3;
}
.product_meta .price {
	display: flex;
    flex-direction: column;
}

.tinv-modal-open,
.tinv-overlay, .tinv-table,
.product_meta .price del,
.woocommerce span.onsale { display: none !important; }


/* WooCommerce (end) */


section.dimensions { margin-top: 80px; }
.dimensions__table-wrapper {
	padding: 24px 32px;
	border-radius: 16px;
	background: #fff;
	position: relative;
}
.dimensions__table {
	width: 100%;
	border-spacing: 0; 
}
.dimensions__table caption {
	position: absolute;
	top: 0; left: 50%;
	transform: translate(-50%, -200%);
	white-space: nowrap;
}
.dimensions__table thead { text-align: center; }
.dimensions__table thead th {
	padding-bottom: 60px;
	font-weight: 600;
	font-size: 32px;
}
.dimensions__table thead th:not(:last-child) { padding-right: 15px; }
.dimensions__table tbody { text-align: center; }
.dimensions__table tbody td { 
	padding: 10px 16px;
	font-weight: 600;
	font-size: 24px;
	color: var(--black-color);
}
.dimensions__table tbody tr td:first-child { border-radius: 10px 0 0 10px; }
.dimensions__table tbody tr td:last-child  { border-radius: 0 10px 10px 0; }
.dimensions__table tbody tr:nth-child(2n+1) {background-color: var(--accent-color); }



.woocommerce-product-gallery__image--video .product-video {
	position: relative;
	width: 100%;
	height: 100%;
}

.woocommerce-product-gallery__image--video .product-video__poster,
.woocommerce-product-gallery__image--video .product-video__el {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.woocommerce-product-gallery__image--video .product-video__poster {
	position: absolute;
	inset: 0;
	z-index: 2;
	opacity: 1;
	transition: opacity .25s ease;
	background: #000; /* пока кадр не сгенерился */
}

.woocommerce-product-gallery__image--video .product-video.is-playing .product-video__poster {
	opacity: 0;
	pointer-events: none;
}

/* По умолчанию controls нет, но на WebKit иногда всплывают элементы — гасим, пока не hover */
.product-video:not(.is-controls) .product-video__el::-webkit-media-controls { display: none !important; }
.product-video:not(.is-controls) .product-video__el::-webkit-media-controls-panel { display: none !important; }
.product-video:not(.is-controls) .product-video__el::-webkit-media-controls-enclosure { display: none !important; }

.product-video .product-video__el { pointer-events: none; }
.product-video.is-controls .product-video__el { pointer-events: auto; }




@media screen and (max-width: 1100px) {
	.product-card-list,
	.recommendations .product-card-list,
	.add-on .product-card-list { 
		grid-template-columns: repeat(2, minmax(320px, 1fr)); 
	}
}
@media (max-width: 1000px) {
  .single-product__slider .woocommerce-product-gallery__wrapper {
    flex-direction: row !important;
    gap: 0 !important;
  }
  .single-product__slider .woocommerce-product-gallery__image {
    float: none !important;
  }
	.product-info__content { grid-template-columns: 1fr; }
	.product .product-actions { 
		flex-direction: row; 
		align-items: center;
	}
}

@media screen and (max-width: 750px) {
	.product-card-list,
	.recommendations .product-card-list,
	.add-on .product-card-list { 
		grid-template-columns: repeat(1, minmax(320px, 1fr)); 
	}
	.recommendations .product-card-list .product-card,
	.add-on .product-card-list .product-card {
		max-width: unset;
	}
}

@media screen and (max-width: 600px) {
	.product .product-actions { 
		flex-direction: column; 
		align-items: start;
	}
	section.dimensions {
		margin-top: 0;
	}
	.dimensions__table-wrapper {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.dimensions__table {
		min-width: 720px;
	}
	.dimensions__table th,
	.dimensions__table td {
		white-space: nowrap;
	}
	.dimensions__table caption {
		position: static;
		transform: none;
		margin-bottom: 16px;
		word-spacing: 9999px;
		text-align: start;
		white-space: pre-line;
	}
}

@media screen and (max-width: 450px) {
	.product-card__basket svg {
		width: 30px;
		height: 30px;
		margin: 24px;
	}
	.product-card__basket:has(svg.basketed) .basket__counter { scale: 0.8; }
}

@media screen and (max-width: 400px) {
	.product .product_spec-wrapper {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}
