/* =========================================================
   ЕВРОСАНТЕХНИКА — ВАРИАНТЫ V1.3
========================================================= */

/* Нативный select остаётся в DOM для WooCommerce. */
.single-product form.variations_form.cart select.es-variation-native-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	border: 0 !important;
	opacity: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

/* Варианты теперь находятся ДО параметров товара. */
.single-product form.variations_form.cart.es-variations-form--priority {
	display: block !important;
	margin: 20px 0 18px !important;
	padding: 18px 0 18px !important;
	border-top: 1px solid #e5dacb !important;
	border-bottom: 1px solid #e5dacb !important;
}

.single-product form.variations_form.cart.es-variations-form--priority table.variations {
	width: 100% !important;
	margin: 0 !important;
	border-collapse: collapse !important;
}

.single-product form.variations_form.cart.es-variations-form--priority table.variations tr,
.single-product form.variations_form.cart.es-variations-form--priority table.variations th.label,
.single-product form.variations_form.cart.es-variations-form--priority table.variations td.value {
	display: block !important;
	width: 100% !important;
}

.single-product form.variations_form.cart.es-variations-form--priority table.variations th.label,
.single-product form.variations_form.cart.es-variations-form--priority table.variations td.value {
	padding: 0 !important;
	border: 0 !important;
	text-align: left !important;
}

.single-product form.variations_form.cart.es-variations-form--priority table.variations th.label {
	margin: 0 0 11px !important;
}

.single-product form.variations_form.cart.es-variations-form--priority table.variations th.label label {
	color: #8b7a5a !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
}

/* =========================================================
   КНОПКИ ВАРИАЦИЙ
========================================================= */

.single-product .es-variation-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
}

.single-product .es-variation-option {
	min-height: 42px;
	padding: 9px 14px;
	border: 1px solid #d9d0c3;
	border-radius: 0;
	background: #fff;
	color: #111;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition:
		background-color .18s ease,
		color .18s ease,
		border-color .18s ease,
		transform .18s ease;
}

.single-product .es-variation-option:hover:not(:disabled),
.single-product .es-variation-option:focus-visible:not(:disabled) {
	border-color: #111;
	outline: none;
	transform: translateY(-1px);
}

.single-product .es-variation-option.is-active {
	border-color: #111;
	background: #111;
	color: #fff;
}

.single-product .es-variation-option:disabled {
	opacity: .32;
	cursor: not-allowed;
	transform: none;
}

/* Сброс вариаций */
.single-product form.variations_form.cart .reset_variations {
	display: inline-block !important;
	margin-top: 10px !important;
	color: #777 !important;
	font-size: 12px !important;
	text-decoration: none !important;
	border-bottom: 1px solid #bbb;
}

/* Стандартную кнопку корзины WooCommerce не показываем. */
.single-product form.variations_form.cart .quantity,
.single-product form.variations_form.cart .single_add_to_cart_button,
.single-product form.variations_form.cart .woocommerce-variation-add-to-cart {
	display: none !important;
}

/* =========================================================
   УБИРАЕМ МИГАНИЕ СТАТУСА НАЛИЧИЯ WOOCOMMERCE
========================================================= */

/*
 * WooCommerce при переключении цвета пересчитывает вариацию
 * и может на долю секунды показывать:
 * "Нет в наличии", "В наличии" и т.п.
 *
 * На нашем интерфейсе этот блок не нужен.
 */
.single-product .woocommerce-variation-availability {
	display: none !important;
}

/* Дополнительная страховка от отдельных stock-элементов. */
.single-product .woocommerce-variation .stock {
	display: none !important;
}

/* =========================================================
   ПРОЕКТ
========================================================= */

.single-product .es-project-single-action--after-variations {
	margin: 0 0 22px !important;
}

.single-product .es-project-single-action--after-variations .es-project-single-note {
	margin: 8px 0 0 !important;
	color: #777 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
}

.single-product .es-project-single-action--after-variations .es-project-single-note:empty {
	display: none !important;
}

/* =========================================================
   ЕДИНЫЙ ХОЛСТ ДЛЯ ФОТОГРАФИЙ
   Фото не обрезаем и не растягиваем.
========================================================= */

.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image > a {
	background: #fff !important;
}

.single-product .woocommerce-product-gallery__image > a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
}

.single-product .woocommerce-product-gallery__image > a img,
.single-product .woocommerce-product-gallery__image img.wp-post-image {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	object-position: center center !important;
}

@media (min-width: 901px) {
	.single-product .woocommerce-product-gallery__image > a {
		height: 610px !important;
		padding: 22px !important;
	}
}

@media (max-width: 900px) {
	.single-product .woocommerce-product-gallery__image > a {
		height: min(88vw, 440px) !important;
		padding: 14px !important;
	}
}

@media (max-width: 560px) {
	.single-product .es-variation-option {
		flex: 1 1 calc(50% - 8px);
		min-height: 42px;
		padding: 9px 10px;
		font-size: 12.5px;
	}
}

/* =========================================================
   ПРОЕКТНЫЕ КНОПКИ
========================================================= */

.single-product .es-project-single-action--after-variations {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 190px !important;
	gap: 10px !important;
	align-items: stretch !important;
}

.single-product .es-project-single-action--after-variations .es-project-single-button {
	width: 100% !important;
	margin: 0 !important;
}

.single-product .es-project-single-action--after-variations .es-project-open-secondary {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 56px !important;
	padding: 0 18px !important;
	margin: 0 !important;
	border: 1px solid #111 !important;
	background: #fff !important;
	color: #111 !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: .10em !important;
	line-height: 1.15 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	transition:
		background-color .18s ease,
		color .18s ease !important;
}

.single-product .es-project-single-action--after-variations .es-project-open-secondary:hover,
.single-product .es-project-single-action--after-variations .es-project-open-secondary:focus-visible {
	background: #111 !important;
	color: #fff !important;
	outline: none !important;
}

.single-product .es-project-single-action--after-variations .es-project-single-note {
	grid-column: 1 / -1 !important;
}

@media (max-width: 640px) {
	.single-product .es-project-single-action--after-variations {
		grid-template-columns: 1fr !important;
	}

	.single-product .es-project-single-action--after-variations .es-project-open-secondary {
		width: 100% !important;
		min-height: 50px !important;
	}
}