.woocommerce div.product {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	column-gap: var(--gap-xl);
	row-gap: var(--gap-s);
}

.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary,
.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images {
	width: 100%;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--gap-s);
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n + 2) {
	width: 100%;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(1) {
	grid-column: span 4;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image {
	border-radius: 3px;
	border: 1px solid var(--light-grey);
}

.woocommerce div.product .product_title p {
	font-size: clamp(27px, 5.1vw, 51px);
	color: var(--blue-grey);
}

.woocommerce div.product div.summary * {
	margin: 0;
}

.woocommerce div.product div.summary {
	display: flex;
	flex-direction: column;
	gap: var(--gap-s);
}

.woocommerce div.product h3 {
	font-weight: 700;
	color: var(--dark-blue-grey);
}

.woocommerce div.product div.summary .product_meta {
	position: relative;
	margin-top: -15px;
}

.woocommerce div.product div.summary .product_meta:after {
	content: '';
	width: 80%;
	max-width: 230px;
	background: #F4F4F4;
	height: 2px;
	display: block;
	margin-top: var(--gap-s);
}

.woocommerce div.product div.summary .attributes_wrapper {
	color: var(--blue-grey);
	font-weight: 700;
	margin-bottom: var(--gap-xs);
}

.woocommerce div.product p.price,
.woocommerce div.product .woocommerce-variation-price .price .amount {
	font-weight: 600;
	color: var(--blue-grey);
	font-size: clamp(24px, 4vw, 40px);
}

.woocommerce div.product p.price .variable_price_prefix {
	font-size: 20px;
	color: var(--blue-grey);
	font-weight: 400;
}

.woocommerce div.product p.price .variable_price_suffix {
	font-size: 18px;
	color: var(--mid-grey);
	font-weight: 400;
}

.woocommerce div.product p.price .small-text,
.woocommerce-price-suffix,
.woocommerce-price-variation-suffix {
	font-weight: 400;
	color: var(--mid-grey);
	font-size: 16px;
}

.woocommerce div.product form.cart:before,
.woocommerce div.product form.cart:after {
	width: 80%;
	max-width: 230px;
	content: '';
	background: #F4F4F4;
	height: 2px;
	display: block;
	margin-bottom: var(--gap-s);
}

.woocommerce div.product form.cart:after {
	margin-bottom: 0;
	margin-top: var(--gap-s);
	clear: both;
}

.woocommerce.single-product div.product form.cart .button {
	min-width: 0;
}

.woocommerce div.product form.cart div.quantity,
.woocommerce div.product form.cart .button {
	float: none;
}

.woocommerce div.product span.price del {
	font-size: clamp(24px, 4vw, 30px);
	color: var(--yellow);
	font-weight: 400;
	margin-right: 5px;
	& span.amount bdi {
		color: var(--mid-grey);
		font-size: clamp(24px, 4vw, 30px);
	}
}

.woocommerce div.product p.price ins, .woocommerce div.product span.price ins {
	text-decoration: none;
	color: #E8560D;
}

.woocommerce div.product form.cart .variations {
	margin: 0;
}

.woocommerce div.product form.cart .variations tr {
	display: flex;
	flex-flow: column;
}

.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th {
	text-align: left;
	display: flex;
	flex-direction: column;
}

.woocommerce div.product form.cart .variations {
	margin-bottom: var(--gap-xs);
	max-width: 300px;
}

.woocommerce-variation.single_variation {
	display: grid;
	gap: var(--gap-xs);
}

.woocommerce.single-product div.product form.cart .variations select {
	height: 40px;
	background: var(--super-light-grey) calc(100% - 20px) center / 18px 12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 13'%3E%3Cpath fill='%23949494' d='M19.4 1.9 18 .2l-8 8.5L2.2.2.5 1.9 10 12.2l9.4-10.3Z'/%3E%3C/svg%3E");
	padding: 10px 45px 10px 20px;
	width: 100%;
}

.woocommerce div.product form.cart .reset_variations {
	text-decoration: none;
}

.woocommerce.single-product div.product form.cart .woocommerce-variation-price .woocommerce-price-suffix {
	display: none;
}

.add-to-inner {
	display: flex;
	gap: 10px;
}

.woocommerce div.product form.cart div.quantity {
	display: flex;
}

.product .stock_message {
	color: var(--mid-grey);
}

.product .stock_message strong {
	color: var(--light-blue);
}

.product .the_usps {
	display: grid;
	gap: var(--gap-xs);
}

.product .the_usps > .usp {
	background: #fff;
	justify-self: flex-start;
	padding: 0;
}

.product .the_usps > .usp *,
.product .the_usps > .usp p {
	color: var(--blue-grey);
	text-align: left;
}

.product .fc_download_grid:before,
.product .installation_video:before,
.product .technical_gallery:before {
	width: 80%;
	max-width: 230px;
	content: '';
	background: #F4F4F4;
	height: 2px;
	display: block;
	margin-bottom: var(--gap-s);
}

.product .key_features {
	margin-bottom: var(--gap-s);
}

.product .fc_download_grid .the_downloads p.small-text {
	word-break: break-word;
}

.product .technical_gallery_container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.product_spec_table {
	display: grid;
	grid-template-columns: 35% auto;
	gap: 2px;
	border-radius: var(--border-radius-s);
	overflow: hidden;
	background: #fff;
	& > div {
		padding: 10px 15px;
		display: flex;
		align-items: center;
	}
	& p {
		margin: 0;
	}
	& .spec_header {
		background-color: var(--yellow);
		font-weight: 700;
	}
	& .spec_content {
		background-color: var(--super-light-grey);
	}
}

@media (width < 1500px) {
	.product_spec_table {
		grid-template-columns: 1fr;
	}
}

@media (width < 1024px) {
	.product_spec_table {
		grid-template-columns: 35% auto;
	}
}

@media (width < 800px) {
	.product_spec_table {
		grid-template-columns: 1fr
	}
}

.yith-wapo-container {
	& .yith-wapo-block {
		& .yith-wapo-addon {
			&:not(:first-of-type) {
				margin-top: 20px;
			}
			& .wapo-addon-title {
				font-size: 18px;
				margin-bottom: 10px !important;
			}
			&.yith-wapo-addon-type-number {
				& .yith-wapo-option {
					& div.label {
						& input {
							border-radius: var(--border-radius-s);
							border: none;
							height: 40px;
							padding: 0 20px;
							background-color: var(--super-light-grey);
						}
					}
				}
			}
			&.yith-wapo-addon-type-label {
				& .yith-wapo-option {
					& div.label {
						& .label-container-display {
							border-radius: var(--border-radius-s);
						}
					}
				}
			}
			&.yith-wapo-addon-type-color {
				& .yith-wapo-option {
					& div.label {
						& span.color {
							border-radius: var(--border-radius-s);
						}
					}
				}
			}
		}
	}
}

@media (min-width: 640px) {
	.product .the_usps {
		grid-template-columns: repeat(2, 1fr);
	}
	.product .the_usps > .usp {
		opacity: 1;
		grid-area: auto;
	}
}

@media (max-width: 1400px) {
	.woocommerce div.product {
		grid-template-columns: repeat(2, 1fr);
	}
	.product .fc_download_grid .the_downloads {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 1024px) {
	.woocommerce div.product {
		grid-template-columns: 1fr;
	}
	.product .key_features:before {
		width: 80%;
		max-width: 230px;
		content: '';
		background: #F4F4F4;
		height: 2px;
		display: block;
		margin-bottom: var(--gap-s);
	}
	.product .fc_download_grid .the_downloads {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 800px) {
	.product .fc_download_grid .the_downloads {
		grid-template-columns: 1fr;
	}
	.woocommerce.single-product div.product form.cart .button {
		flex: 1;
	}
}
