.themeProductPage {
	--product-section-gap: clamp(3.5rem, 2.679vw + 1.7875rem, 5rem);
	--product-col-gap: clamp(2.5rem, 4.464vw - 0.35625rem, 5rem);
	--product-card-gap: clamp(1rem, 0.446vw + 0.7125rem, 1.25rem);
	--product-card-pad: clamp(1.25rem, 0.446vw + 0.9625rem, 1.5rem);

	--product-radius-lg: 1rem;
	--product-radius: 0.75rem;
	--product-radius-sm: 0.5rem;

	--product-title-size: clamp(1.75rem, 1.339vw + 0.89375rem, 2.5rem);
	--product-h2-size: clamp(1.5rem, 0.893vw + 0.93125rem, 2rem);
	--product-h3-size: clamp(1.25rem, 0.446vw + 0.9625rem, 1.5rem);
	--product-subtitle-size: clamp(1.125rem, 0.446vw + 0.8375rem, 1.375rem);
	--product-body-l: clamp(1rem, 0.223vw + 0.85625rem, 1.125rem);
	--product-body-m: clamp(0.9375rem, 0.112vw + 0.86875rem, 1rem);
	--product-body-s: 0.875rem;
	--product-label-s: 0.75rem;

	--product-ink: var(--sl-grey-900);
	--product-ink-soft: var(--sl-grey-800);
	--product-muted: var(--sl-grey-600);
	--product-hint: var(--sl-grey-500);
	--product-text: #333;
	--product-strong: var(--sl-ink-warm);
	--product-line: var(--sl-grey-200);
	--product-line-strong: var(--sl-grey-300);
	--product-surface: var(--sl-grey-50);
	--product-accent: var(--sl-accent);
	--product-accent-soft: var(--sl-accent-soft);
	--product-accent-wash: rgba(245, 121, 0, 0.15);
	--product-star: #f57f17;
	--product-star-empty: var(--sl-grey-200);

	font-family: var(--theme-font);
	font-weight: 400;
	color: var(--product-text);
}

.themeProductPage .product-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--grid-max-width) + 2 * var(--grid-margin));
	margin-inline: auto;
	padding-inline: var(--grid-margin);
}

.themeProductPage .product-notices {
	padding-top: 1.5rem;
}

.themeProductPage .product-section {
	margin-top: var(--product-section-gap);
}

.themeProductPage .product-section-title,
.themeProductPage .product-delivery-title,
.themeProductPage .product-contact-title {
	font-weight: 600;
	margin: 0;
}

.themeProductPage .product-section-title {
	font-size: var(--product-h2-size);
	line-height: 1.3;
	color: var(--product-ink);
}

.themeProductPage .product-section-lead {
	font-size: var(--product-body-m);
	line-height: 1.4;
	color: var(--product-muted);
	margin: 0.5rem 0 0;
}

.themeProductPage .product-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 2rem;
}

.themeProductPage .product-benefits-grid,
.themeProductPage .product-story-points,
.themeProductPage .product-ingredients-grid,
.themeProductPage .product-delivery-grid,
.themeProductPage .product-reviews-grid {
	margin: 0;
	padding: 0;
	list-style: none;
}

.themeProductPage .product-stars {
	--product-star-size: 1rem;
	--product-star-gap: 0.25rem;
	--product-star-pitch: calc(var(--product-star-size) + var(--product-star-gap));
	--product-star-icon: url("../template-img/icon_star.svg");
	--product-stars-fill: 0%;

	display: inline-block;
	flex: none;
	width: calc(5 * var(--product-star-size) + 4 * var(--product-star-gap));
	height: var(--product-star-size);
	background: linear-gradient(
		to right,
		var(--product-star) var(--product-stars-fill),
		var(--product-star-empty) var(--product-stars-fill)
	);

	-webkit-mask-image:
		var(--product-star-icon), var(--product-star-icon), var(--product-star-icon),
		var(--product-star-icon), var(--product-star-icon);
	mask-image:
		var(--product-star-icon), var(--product-star-icon), var(--product-star-icon),
		var(--product-star-icon), var(--product-star-icon);
	-webkit-mask-size: var(--product-star-size) var(--product-star-size);
	mask-size: var(--product-star-size) var(--product-star-size);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position:
		0 center,
		var(--product-star-pitch) center,
		calc(2 * var(--product-star-pitch)) center,
		calc(3 * var(--product-star-pitch)) center,
		calc(4 * var(--product-star-pitch)) center;
	mask-position:
		0 center,
		var(--product-star-pitch) center,
		calc(2 * var(--product-star-pitch)) center,
		calc(3 * var(--product-star-pitch)) center,
		calc(4 * var(--product-star-pitch)) center;
}

.themeProductPage .product-hero {
	margin-top: 3rem;
}

.themeProductPage .product-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 35.8125rem);
	gap: var(--product-col-gap);
	align-items: start;
}

.woocommerce .themeProductPage .product-hero-grid .product-gallery,
.woocommerce .themeProductPage .product-hero-grid .product-purchase {
	float: none;
	clear: none;
	width: auto;
	margin: 0;
}

.themeProductPage .product-gallery {
	display: flex;
	gap: 1.5rem;
	align-items: flex-start;
}

.themeProductPage .product-gallery-thumbs {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	flex: none;
	width: 5rem;
}

.themeProductPage .product-gallery-thumb {
	display: block;
	width: 5rem;
	height: 6.25rem;
	padding: 0;
	background: #fff;
	border: 2px solid var(--product-line);
	border-radius: var(--product-radius-sm);
	overflow: hidden;
	cursor: pointer;
	transition: border-color 0.2s;
}

.themeProductPage .product-gallery-thumb.is-active,
.themeProductPage .product-gallery-thumb:hover {
	border-color: var(--product-ink);
}

.themeProductPage .product-gallery-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.themeProductPage .product-gallery-main {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	aspect-ratio: 651 / 600;
	background: #fff;
	border-radius: var(--product-radius-lg);
	overflow: hidden;
}

.woocommerce .themeProductPage .product-gallery-main img.product-gallery-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 4%;
	box-sizing: border-box;
}

.themeProductPage .themeSaleLabel {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 2;
	padding: 0.5rem 1rem;
	border-radius: var(--product-radius-sm);
	background: var(--product-accent);
	color: var(--sl-black);
	font-size: var(--product-body-s);
	font-weight: 700;
}

.themeProductPage .product-purchase {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.themeProductPage .product-purchase .product-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 0.75rem;
}

.woocommerce .themeProductPage h1.product_title {
	margin: 0;
	font-size: var(--product-title-size);
	font-weight: 600;
	line-height: 1.1;
	color: var(--product-ink);
}

.themeProductPage .product-subtitle {
	margin: 0.25rem 0 0;
	font-size: var(--product-h3-size);
	font-weight: 600;
	line-height: 1.4;
	color: var(--product-muted);
}

.themeProductPage .product-rating {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 0.75rem;
}

.themeProductPage .product-rating-link {
	font-size: var(--product-label-s);
	font-weight: 600;
	line-height: 1;
	color: var(--product-hint);
}

.themeProductPage .product-rating-link:hover {
	color: var(--product-ink);
}

.woocommerce .themeProductPage .product-purchase .price {
	margin: 2rem 0 0;
	font-size: var(--product-title-size);
	font-weight: 600;
	line-height: 1.1;
	color: #000;
}

.woocommerce .themeProductPage .product-purchase .price del {
	opacity: 1;
	margin-right: 0.75rem;
	font-size: var(--product-h3-size);
	color: var(--product-hint);
}

.woocommerce .themeProductPage .product-purchase .price ins {
	text-decoration: none;
}

.woocommerce .themeProductPage .woocommerce-product-details__short-description {
	margin-top: 2rem;
	font-size: var(--product-body-l);
	font-weight: 400;
	line-height: 1.5;
	color: var(--product-text);
}

.themeProductPage .woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

.themeProductPage .product-buybox {
	width: 100%;
	margin-top: 2rem;
	padding: 1.5rem;
	box-sizing: border-box;
	background: var(--product-surface);
	border: 1px solid var(--product-line);
	border-radius: var(--product-radius);
}

/* Quantity | add to cart, with the wishlist link centered under the button. */
.woocommerce .themeProductPage .product-buybox form.cart {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	column-gap: 1rem;
	row-gap: 1.25rem;
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce .themeProductPage .product-buybox form.cart::before,
.woocommerce .themeProductPage .product-buybox form.cart::after {
	content: none;
}

.themeProductPage .product-buybox .quantity.product-qty,
.themeProductPage .product-buybox .qib-button-wrapper {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex: none;
	width: auto;
	padding: 0.75rem 1rem;
	background: #fff;
	border: 1px solid var(--product-line);
	border-radius: 1.875rem;
	overflow: visible;
}

.themeProductPage .product-buybox .qib-button-wrapper {
	margin: 0;
}

.themeProductPage .product-buybox .qib-button-wrapper .quantity {
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.themeProductPage .product-buybox .qib-button-wrapper .qib-button,
.themeProductPage .product-qty-btn {
	width: 1rem;
	min-width: 0;
	height: 1rem;
	padding: 0;
	border: 0;
	background: currentColor;
	color: var(--product-strong);
	-webkit-mask: var(--product-qty-icon) no-repeat center / 1rem 1rem;
	mask: var(--product-qty-icon) no-repeat center / 1rem 1rem;
	/* The label text comes from WooCommerce; the design shows the icon alone. */
	font-size: 0 !important;
	line-height: 0;
	cursor: pointer;
	transition: color 0.2s;
}

.themeProductPage .product-buybox .qib-button-wrapper .qib-button:hover,
.themeProductPage .product-buybox .qib-button-wrapper .qib-button:focus-visible,
.themeProductPage .product-qty-btn:hover,
.themeProductPage .product-qty-btn:focus-visible {
	background: currentColor;
	color: var(--product-accent);
}

.themeProductPage .product-buybox .minus {
	--product-qty-icon: url("../template-img/icon_minus.svg");
}

.themeProductPage .product-buybox .plus {
	--product-qty-icon: url("../template-img/icon_plus.svg");
}

.themeProductPage .product-buybox .quantity input.qty,
.themeProductPage .product-buybox .quantity input.input-text.qty.text {
	width: 3ch;
	height: auto;
	padding: 0;
	border: 0;
	background: none;
	text-align: center;
	font-size: var(--product-body-s);
	font-weight: 700;
	line-height: 1.3125rem;
	color: var(--product-strong);
	-moz-appearance: textfield;
	appearance: textfield;
}

.themeProductPage .product-buybox .quantity input.qty::-webkit-outer-spin-button,
.themeProductPage .product-buybox .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.themeProductPage .product-buybox .single_add_to_cart_button {
	display: flex;
	align-items: center;
	justify-content: center;
	grid-column: 2;
	width: 100%;
	min-height: 3.5rem;
	padding: 1rem 1.5rem !important;
	border: 0 !important;
	border-radius: var(--product-radius-sm) !important;
	background: #000 !important;
	color: #fff !important;
	font-family: var(--theme-font);
	font-size: 1rem !important;
	font-weight: 800 !important;
	line-height: 1.5;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.2s;
}

.themeProductPage .product-buybox .single_add_to_cart_button:hover,
.themeProductPage .product-buybox .single_add_to_cart_button:focus-visible {
	background: var(--product-accent) !important;
	color: #fff !important;
}

.themeProductPage .product-buybox .stock {
	display: none;
}

.themeProductPage .product-buybox .stock.out-of-stock {
	display: block;
	grid-column: 1 / -1;
	width: 100%;
	margin: 0;
	font-size: var(--product-body-m);
	font-weight: 600;
	color: #b42318;
}

.themeProductPage .product-buybox .tinvwl_add_to_wishlist_button,
.themeProductPage .product-buybox .tinv-wraper {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	margin: 0 !important;
	font-size: var(--product-body-s);
	font-weight: 500;
	line-height: 1.4;
	color: #374151;
}

.themeProductPage .product-buybox .tinv-wraper {
	grid-column: 2;
}

.themeProductPage .product-buybox .tinvwl_add_to_wishlist_button:hover,
.themeProductPage .product-buybox .tinvwl_add_to_wishlist_button:focus-visible,
.themeProductPage .product-buybox .tinvwl_add_to_wishlist_button.tinvwl-product-in-list {
	color: var(--product-accent);
}

.themeProductPage .product-quickspecs {
	margin: 2rem 0 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.themeProductPage .product-quickspec {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.themeProductPage .product-quickspec dt {
	font-size: var(--product-body-s);
	font-weight: 600;
	line-height: 1rem;
	color: var(--product-strong);
}

.themeProductPage .product-quickspec dd {
	margin: 0;
	font-size: var(--product-body-s);
	font-weight: 400;
	line-height: 1.4;
	color: #707070;
}

.themeProductPage .product-quickspec dd a {
	color: inherit;
}

.themeProductPage .product-quickspec dd a:hover {
	color: var(--product-accent);
}

.themeProductPage .product-benefits-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--product-card-gap);
	margin-top: 2rem;
}

.themeProductPage .product-benefit {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	min-height: 14.75rem;
	padding: var(--product-card-pad);
	box-sizing: border-box;
	background: var(--product-surface);
	border: 1px solid var(--product-line);
	border-radius: var(--product-radius);
}

.themeProductPage .product-benefit-icon {
	display: inline-flex;
	align-self: flex-start;
	padding: 0.75rem;
	border-radius: 1.875rem;
	background: var(--product-line);
}

.themeProductPage .product-benefit-title {
	margin: 0;
	font-size: var(--product-subtitle-size);
	font-weight: 600;
	line-height: 1.2;
	color: var(--product-ink-soft);
}

.themeProductPage .product-benefit-text {
	margin: 0;
	font-size: var(--product-body-s);
	font-weight: 600;
	line-height: 1.4;
	color: var(--product-muted);
}

.themeProductPage .product-story-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--product-col-gap);
	align-items: center;
}

.themeProductPage .product-story-grid--text-only {
	grid-template-columns: minmax(0, 1fr);
}

.themeProductPage .product-story-text {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.themeProductPage .product-story-lead {
	margin: 0;
	font-size: var(--product-body-l);
	line-height: 1.5;
	color: var(--product-strong);
}

.themeProductPage .product-story-body {
	margin: 0;
	font-size: var(--product-body-m);
	line-height: 1.4;
	color: var(--product-text);
}

.themeProductPage .product-story-points {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.themeProductPage .product-story-point {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--product-body-m);
	line-height: 1.4;
	color: var(--product-strong);
}

.themeProductPage .product-story-point img {
	flex: none;
}

.themeProductPage .product-story-media {
	border-radius: var(--product-radius-lg);
	overflow: hidden;
}

.themeProductPage .product-story-image {
	display: block;
	width: 100%;
	aspect-ratio: 663 / 400;
	object-fit: cover;
}

.themeProductPage .product-ingredients-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.themeProductPage .product-ingredient {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: var(--product-card-pad);
	background: var(--product-surface);
	border: 1px solid var(--product-line);
	border-radius: var(--product-radius);
}

.themeProductPage .product-ingredient-name {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	font-size: var(--product-subtitle-size);
	font-weight: 600;
	line-height: 1.2;
	color: var(--product-ink-soft);
}

.themeProductPage .product-ingredient-name img {
	flex: none;
}

.themeProductPage .product-ingredient-text {
	margin: 0;
	font-size: var(--product-body-s);
	line-height: 1.4;
	color: var(--product-muted);
}

.themeProductPage .product-specs .product-section-title {
	color: #000;
}

.themeProductPage .product-specs-table {
	margin: 1.5rem 0 0;
	border: 1px solid var(--product-line);
	border-radius: var(--product-radius);
	overflow: hidden;
}

.themeProductPage .product-spec-row {
	display: grid;
	grid-template-columns: 15.625rem minmax(0, 1fr);
	align-items: start;
	gap: 2.5rem;
	padding: 1.25rem;
	background: #fff;
	border-bottom: 1px solid var(--product-line);
}

.themeProductPage .product-spec-row:nth-child(even) {
	background: var(--product-surface);
}

.themeProductPage .product-spec-row:last-child {
	border-bottom: 0;
}

.themeProductPage .product-spec-label {
	font-size: var(--product-h3-size);
	font-weight: 600;
	line-height: 1.4;
	color: var(--product-strong);
}

.themeProductPage .product-spec-value {
	margin: 0;
	font-size: var(--product-body-m);
	line-height: 1.4;
	color: var(--product-text);
}

.themeProductPage .product-spec-value p {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.themeProductPage .product-spec-value a {
	color: inherit;
	text-decoration: none;
}

.themeProductPage .product-spec-value a:hover,
.themeProductPage .product-spec-value a:focus-visible {
	text-decoration: underline;
}

.themeProductPage .product-delivery-card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2.5rem;
	padding: 2rem;
	box-sizing: border-box;
	background: var(--product-surface);
	border-radius: var(--product-radius-lg);
}

.themeProductPage .product-delivery-intro {
	flex: 0 1 31.5625rem;
}

.themeProductPage .product-delivery-title {
	font-size: var(--product-h3-size);
	line-height: 1.4;
	color: #000;
}

.themeProductPage .product-delivery-text {
	margin: 0.75rem 0 0;
	font-size: var(--product-body-m);
	line-height: 1.4;
	color: #000;
}

.themeProductPage .product-delivery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	gap: 1rem;
	flex: 1 1 30rem;
}

.themeProductPage .product-delivery-option {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: 8.0625rem;
	padding: 1rem;
	background: #fff;
	border-radius: var(--product-radius-sm);
	box-sizing: border-box;
}

.themeProductPage .product-delivery-name {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--product-ink);
}

.themeProductPage .product-delivery-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin: 0;
}

.themeProductPage .product-delivery-price {
	font-size: var(--product-subtitle-size);
	font-weight: 700;
	line-height: 1.2;
	color: #000;
}

.themeProductPage .product-delivery-time {
	font-size: var(--product-label-s);
	font-weight: 500;
	line-height: 1;
	color: var(--product-ink);
	text-align: right;
}

.themeProductPage .product-contact-card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: 2.5rem 2rem;
	box-sizing: border-box;
	background: var(--product-accent-wash);
	border-radius: var(--product-radius-lg);
}

.themeProductPage .product-contact-intro {
	flex: 0 1 32.5rem;
}

.themeProductPage .product-contact-title {
	font-size: var(--product-h2-size);
	line-height: 1.3;
	color: #000;
}

.themeProductPage .product-contact-text {
	margin: 0.5rem 0 0;
	font-size: var(--product-body-m);
	line-height: 1.4;
	color: #000;
}

.themeProductPage .product-contact-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.themeProductPage .product-contact-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.6875rem 1.25rem;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #000;
	border-radius: 1.25rem;
	font-size: var(--product-body-s);
	font-weight: 700;
	line-height: 1.3125rem;
	color: var(--product-strong);
	transition:
		background-color 0.2s,
		color 0.2s;
}

.themeProductPage .product-contact-btn:hover,
.themeProductPage .product-contact-btn:focus-visible {
	background: #000;
	color: #fff;
}

.themeProductPage .product-contact-btn:hover img,
.themeProductPage .product-contact-btn:focus-visible img {
	filter: invert(1);
}

.themeProductPage .product-reviews .product-section-head {
	margin-bottom: 2.5rem;
}

.themeProductPage .product-reviews .product-section-title {
	color: var(--product-strong);
}

.themeProductPage .product-reviews .product-section-lead {
	color: #374151;
}

.themeProductPage .product-section-lead strong {
	font-weight: 600;
}

.themeProductPage .product-reviews-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.themeProductPage .product-review {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 2rem;
	background: #fff;
	border: 1px solid var(--product-line-strong);
	border-radius: var(--product-radius-lg);
}

.themeProductPage .product-review-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}

.themeProductPage .product-review-date {
	font-size: var(--product-label-s);
	font-weight: 500;
	line-height: 1;
	color: var(--product-ink-soft);
}

.themeProductPage .product-review-body {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.themeProductPage .product-review-title {
	margin: 0;
	font-size: var(--product-subtitle-size);
	font-weight: 600;
	line-height: 1.2;
	color: var(--product-ink-soft);
}

.themeProductPage .product-review-body p {
	margin: 0;
	font-size: var(--product-body-m);
	line-height: 1.4;
	color: var(--product-muted);
}

.themeProductPage .product-review-author {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: auto;
}

.themeProductPage .product-review-avatar {
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	object-fit: cover;
}

.themeProductPage .product-review-name {
	font-size: var(--product-body-m);
	font-weight: 700;
	line-height: 1.4;
	color: var(--product-ink);
}

.themeProductPage .product-related {
	margin-top: clamp(4rem, 3.571vw + 1.7125rem, 6rem);
	padding-block: clamp(3.5rem, 3.348vw + 1.35625rem, 5.375rem);
	background: var(--product-surface);
}

.themeProductPage .product-related .related {
	padding-inline: 0;
}

.themeProductPage .product-related .related.products > h2 {
	margin: 0 0 2rem;
	font-size: var(--product-title-size);
	font-weight: 600;
	line-height: 1.1;
	color: var(--product-strong);
	text-align: left;
}

.themeProductPage .product-related .product-grid {
	--product-grid-gap: 1.5rem;
}

@media (max-width: 1399.98px) {
	.themeProductPage .product-benefits-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1199.98px) {
	.themeProductPage .product-ingredients-grid,
	.themeProductPage .product-reviews-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1199.98px) {
	.themeProductPage .product-hero-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.themeProductPage .product-gallery {
		max-width: 47.1875rem;
	}
}

@media (max-width: 991.98px) {
	.themeProductPage .product-story-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.themeProductPage .product-story-media {
		order: -1;
	}

	.themeProductPage .product-spec-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.5rem;
	}
}

@media (max-width: 767.98px) {
	.themeProductPage .product-benefits-grid,
	.themeProductPage .product-ingredients-grid,
	.themeProductPage .product-reviews-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.themeProductPage .product-benefit {
		min-height: 0;
	}

	.themeProductPage .product-gallery {
		flex-direction: column-reverse;
		gap: 0.75rem;
	}

	.themeProductPage .product-gallery-thumbs {
		flex-direction: row;
		width: 100%;
		overflow-x: auto;
	}

	.themeProductPage .product-buybox .single_add_to_cart_button,
	.themeProductPage .product-buybox .tinv-wraper {
		grid-column: 1 / -1;
	}

	.themeProductPage .product-buybox .qib-button-wrapper,
	.themeProductPage .product-buybox .quantity.product-qty {
		justify-self: start;
	}

	.themeProductPage .product-delivery-card,
	.themeProductPage .product-contact-card {
		padding: 1.5rem;
	}

	.themeProductPage .product-review {
		padding: 1.5rem;
	}
}
