.woocommerce-product-gallery.cheeser-gallery-ready {
	position: relative;
	max-width: 100%;
}

.woocommerce-product-gallery.cheeser-gallery-ready .flex-viewport {
	position: relative;
	height: auto !important;
	aspect-ratio: 3 / 2;
	background: #fff;
}

.woocommerce-product-gallery.cheeser-gallery-ready .woocommerce-product-gallery__wrapper {
	height: 100% !important;
}

.woocommerce-product-gallery.cheeser-gallery-ready .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 100% !important;
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: #fff;
	overflow: hidden;
}

.woocommerce-product-gallery.cheeser-gallery-ready .woocommerce-product-gallery__image > a {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden;
}

.woocommerce-product-gallery.cheeser-gallery-ready .woocommerce-product-gallery__image img {
	display: block;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0;
	object-fit: contain;
}

.woocommerce-product-gallery .cheeser-product-video-slide {
	background: #000 !important;
}

.cheeser-product-video-slide__media {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	background: #000;
}

.cheeser-product-video-slide__media iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: contain;
}

.cheeser-product-video-backdrop {
	position: absolute;
	inset: -12%;
	z-index: 0;
	display: block;
	width: 124%;
	height: 124%;
	border: 0;
	filter: blur( 24px );
	object-fit: cover;
	opacity: 0.72;
	pointer-events: none;
}

.cheeser-product-video-player {
	position: relative;
	z-index: 1;
	display: block;
	width: auto;
	max-width: 100%;
	height: 100%;
	margin: 0 auto;
	border: 0;
	background: transparent;
	object-fit: contain;
}

.woocommerce-product-gallery .flex-control-thumbs {
	display: none !important;
}

.woocommerce-product-gallery .flex-direction-nav {
	position: absolute;
	inset: 0;
	z-index: 30;
	list-style: none;
	margin: 0;
	padding: 0;
	pointer-events: none;
}

.woocommerce-product-gallery .flex-direction-nav a {
	position: absolute;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	transform: translateY( -50% );
	border-radius: 999px;
	background: rgba( 255, 255, 255, 0.92 );
	box-shadow: 0 2px 12px rgba( 0, 0, 0, 0.2 );
	color: #111;
	font-size: 0;
	line-height: 1;
	text-decoration: none;
	opacity: 1;
	pointer-events: auto;
}

.woocommerce-product-gallery .flex-direction-nav a::before {
	content: "";
	display: block;
	position: static;
	width: 12px;
	height: 20px;
	margin: 0;
	border: 0 !important;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'%3E%3Cpath d='M2 2L10 10L2 18' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%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 12 20'%3E%3Cpath d='M2 2L10 10L2 18' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	opacity: 1;
}

.woocommerce-product-gallery .flex-direction-nav .flex-prev {
	left: 12px;
}

.woocommerce-product-gallery .flex-direction-nav .flex-prev::before {
	transform: translateX( 1px ) scaleX( -1 );
}

.woocommerce-product-gallery .flex-direction-nav .flex-next {
	right: 12px;
}

.woocommerce-product-gallery .flex-direction-nav .flex-next::before {
	transform: translateX( -1px );
}

.woocommerce-product-gallery .flex-direction-nav a:hover,
.woocommerce-product-gallery .flex-direction-nav a:focus-visible {
	background: #fff;
	box-shadow: 0 3px 16px rgba( 0, 0, 0, 0.28 );
}

.woocommerce-product-gallery .flex-direction-nav .flex-disabled {
	cursor: default;
	opacity: 0.35;
	pointer-events: none;
}

.woocommerce-product-gallery.cheeser-video-slide-active .woocommerce-product-gallery__trigger {
	display: none;
}

body.cheeser-gallery-modal-open {
	overflow: hidden;
}

.cheeser-gallery-modal[hidden] {
	display: none;
}

.cheeser-gallery-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: block;
}

.cheeser-gallery-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba( 0, 0, 0, 0.94 );
}

.cheeser-gallery-modal__dialog {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.cheeser-gallery-modal__media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc( 100% - 180px );
	height: calc( 100% - 100px );
}

.cheeser-gallery-modal__media img,
.cheeser-gallery-modal__media video,
.cheeser-gallery-modal__media iframe {
	display: block;
	max-width: 100%;
	max-height: 100%;
	border: 0;
	object-fit: contain;
}

.cheeser-gallery-modal__media video,
.cheeser-gallery-modal__media iframe {
	width: min( 1200px, 100% );
	aspect-ratio: 16 / 9;
	background: #000;
}

.cheeser-gallery-modal__close,
.cheeser-gallery-modal__previous,
.cheeser-gallery-modal__next {
	position: absolute;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba( 255, 255, 255, 0.14 );
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 42px;
	line-height: 1;
	cursor: pointer;
}

.cheeser-gallery-modal__close:hover,
.cheeser-gallery-modal__previous:hover,
.cheeser-gallery-modal__next:hover,
.cheeser-gallery-modal__close:focus-visible,
.cheeser-gallery-modal__previous:focus-visible,
.cheeser-gallery-modal__next:focus-visible {
	background: rgba( 255, 255, 255, 0.28 );
}

.cheeser-gallery-modal__close {
	top: 20px;
	right: 20px;
	font-size: 36px;
}

.cheeser-gallery-modal__previous,
.cheeser-gallery-modal__next {
	top: 50%;
	transform: translateY( -50% );
	font-size: 0;
}

.cheeser-gallery-modal__previous::before,
.cheeser-gallery-modal__next::before {
	content: "";
	display: block;
	position: static;
	width: 14px;
	height: 22px;
	margin: 0;
	border: 0 !important;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'%3E%3Cpath d='M2 2L10 10L2 18' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%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 12 20'%3E%3Cpath d='M2 2L10 10L2 18' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.cheeser-gallery-modal__previous::before {
	transform: translateX( 1px ) scaleX( -1 );
}

.cheeser-gallery-modal__next::before {
	transform: translateX( -1px );
}

.cheeser-gallery-modal__previous {
	left: 20px;
}

.cheeser-gallery-modal__next {
	right: 20px;
}

.cheeser-gallery-modal__counter {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX( -50% );
	color: #fff;
	font-size: 14px;
}

.cheeser-board-details {
	margin: 20px 0;
	padding: 18px 20px;
	border: 1px solid rgba( 94, 73, 50, 0.2 );
	border-radius: 8px;
	background: rgba( 248, 245, 239, 0.72 );
}

.cheeser-board-details__people {
	margin: 0;
}

.cheeser-board-order-fields {
	flex: 0 0 100%;
	width: 100%;
	margin: 0;
}

body.cheeser-board-product.woocommerce div.product form.cart:not(.variations_form),
body.cheeser-board-product.woocommerce div.product .woocommerce-variation-add-to-cart {
	display: grid !important;
	grid-template-columns: 86px minmax( 180px, 1fr );
	gap: 14px 12px;
	align-items: center;
}

body.cheeser-board-product.woocommerce div.product form.cart:not(.variations_form) > .cheeser-board-order-fields,
body.cheeser-board-product.woocommerce div.product .woocommerce-variation-add-to-cart > .cheeser-board-order-fields {
	grid-column: 1 / -1;
}

body.cheeser-board-product .cheeser-board-order-fields .form-row {
	float: none;
	width: 100%;
	margin: 0 0 14px;
	padding: 0;
}

body.cheeser-board-product .cheeser-board-order-fields .form-row:last-child {
	margin-bottom: 0;
}

.cheeser-board-order-fields label {
	display: block;
	margin-bottom: 7px;
	font-weight: 600;
}

.cheeser-board-order-fields textarea,
.cheeser-board-order-fields input[type="datetime-local"] {
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 10px 12px;
	border: 1px solid rgba( 94, 73, 50, 0.35 );
	border-radius: 4px;
	background: #fff;
}

.cheeser-board-order-fields textarea {
	height: clamp( 150px, 18vw, 200px );
	min-height: 150px;
	max-height: 200px;
	overflow-y: auto;
	resize: none;
}

.cheeser-board-order-fields small {
	display: block;
	margin-top: 5px;
}

body.cheeser-board-product.woocommerce div.product form.cart:not(.variations_form) > .quantity,
body.cheeser-board-product.woocommerce div.product .woocommerce-variation-add-to-cart > .quantity {
	align-self: center;
	width: 86px;
	height: auto !important;
	margin: 0 !important;
}

body.cheeser-board-product.woocommerce div.product form.cart .quantity .qty {
	box-sizing: border-box;
	width: 86px;
	height: 48px !important;
	min-height: 48px;
	padding: 8px 10px;
	line-height: 1.2;
}

body.cheeser-board-product.woocommerce div.product form.cart .single_add_to_cart_button {
	box-sizing: border-box;
	align-self: center;
	min-height: 48px;
	height: auto;
	margin: 0 !important;
}

.cheeser-board-archive-intro {
	box-sizing: border-box;
	width: min( 1320px, calc( 100% - 32px ) );
	margin: 34px auto 26px;
	padding: clamp( 24px, 4vw, 48px );
	border-radius: 12px;
	background: #f6f0e7;
	text-align: center;
}

.cheeser-board-archive-intro h1 {
	margin: 0 0 12px;
	font-size: clamp( 2rem, 5vw, 3.5rem );
	line-height: 1.08;
}

.cheeser-board-archive-intro__description {
	max-width: 760px;
	margin: 0 auto;
	font-size: clamp( 1rem, 2vw, 1.2rem );
	line-height: 1.6;
}

.cheeser-board-archive-intro__description p:last-child {
	margin-bottom: 0;
}

body.tax-product_cat.term-deski-serow .woo-sidebar-block {
	display: none !important;
}

body.tax-product_cat.term-deski-serow .woo-shop-wrapper {
	align-items: stretch;
}

body.tax-product_cat.term-deski-serow .woo-products-list,
body.tax-product_cat.term-deski-serow .cheeser-board-products-list {
	box-sizing: border-box;
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
}

.cheeser-board-empty {
	width: 100%;
	margin: 24px 0 48px;
	padding: 24px;
	border: 1px solid rgba( 94, 73, 50, 0.18 );
	border-radius: 8px;
	background: #fff;
	text-align: center;
}

@media ( max-width: 600px ) {
	.woocommerce-product-gallery.cheeser-gallery-ready,
	.woocommerce-product-gallery.cheeser-gallery-ready .flex-viewport,
	.woocommerce-product-gallery.cheeser-gallery-ready .woocommerce-product-gallery__wrapper {
		max-width: 100%;
	}

	.woocommerce-product-gallery .flex-direction-nav a {
		width: 42px;
		height: 42px;
	}

	.woocommerce-product-gallery .flex-direction-nav .flex-prev {
		left: 8px;
	}

	.woocommerce-product-gallery .flex-direction-nav .flex-next {
		right: 8px;
	}

	.cheeser-gallery-modal__media {
		width: calc( 100% - 72px );
		height: calc( 100% - 100px );
	}

	.cheeser-gallery-modal__close,
	.cheeser-gallery-modal__previous,
	.cheeser-gallery-modal__next {
		width: 42px;
		height: 42px;
	}

	.cheeser-gallery-modal__previous {
		left: 8px;
	}

	.cheeser-gallery-modal__next,
	.cheeser-gallery-modal__close {
		right: 8px;
	}

	.cheeser-board-details {
		padding: 15px;
	}

	body.cheeser-board-product.woocommerce div.product form.cart:not(.variations_form),
	body.cheeser-board-product.woocommerce div.product .woocommerce-variation-add-to-cart {
		grid-template-columns: 78px minmax( 0, 1fr );
		gap: 12px 10px;
	}

	.cheeser-board-order-fields textarea {
		height: clamp( 140px, 42vw, 180px );
		min-height: 140px;
		max-height: 180px;
	}

	body.cheeser-board-product.woocommerce div.product form.cart:not(.variations_form) > .quantity,
	body.cheeser-board-product.woocommerce div.product .woocommerce-variation-add-to-cart > .quantity,
	body.cheeser-board-product.woocommerce div.product form.cart .quantity .qty {
		width: 78px;
	}

	body.cheeser-board-product.woocommerce div.product form.cart .quantity .qty,
	body.cheeser-board-product.woocommerce div.product form.cart .single_add_to_cart_button {
		height: 46px !important;
		min-height: 46px;
	}

	.cheeser-board-archive-intro {
		width: calc( 100% - 24px );
		margin: 20px auto;
		padding: 22px 16px;
	}
}
