/* Purchase area tuned to the supplied reference layout. */
.gn-product-top {
	grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) minmax(315px, 0.65fr);
}

.gn-product-purchase {
	min-width: 0;
}

@media (min-width: 1151px) {
	.gn-product-purchase {
		width: 100%;
		max-width: 380px;
		justify-self: end;
	}
}

.gn-product-purchase-card {
	container: gn-purchase / inline-size;
	position: sticky;
	top: 96px;
	isolation: isolate;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.gn-product-purchase-card::before {
	position: absolute;
	inset: -10px;
	z-index: -1;
	border: 1px solid #dcebe0;
	border-radius: 16px;
	background: linear-gradient(145deg, #fbfefc 0%, #f5faf6 100%);
	box-shadow: 0 8px 22px rgba(28, 83, 48, .07);
	content: "";
	pointer-events: none;
}

.gn-product-deal-heading {
	justify-content: flex-start;
	margin-bottom: 8px;
}

.gn-product-price-label {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px;
	border-radius: 999px;
	background: linear-gradient(105deg, #43c85b, #08783e);
	font-size: 11px;
	font-weight: 600;
}

.gn-product-price-label::before {
	width: 16px;
	height: 22px;
	flex: 0 0 16px;
	background: #fff;
	content: "";
	clip-path: polygon(56% 0, 10% 57%, 43% 57%, 31% 100%, 91% 37%, 57% 37%);
}

.gn-product-price {
	color: #0e1712;
	font-size: clamp(40px, 7.4cqw, 60px);
	font-weight: 900;
	letter-spacing: -.05em;
	line-height: 1.02;
}

.gn-product-price-row {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	margin: 15px 0;
	gap: 8px 12px;
}

.gn-product-price-row .gn-product-price {
	flex: 0 0 auto;
}

.gn-product-price-row .gn-product-regular-price {
	margin-top: 0;
}

.gn-product-price .woocommerce-Price-currencySymbol {
	font-size: .48em;
	font-weight: 850;
}

.gn-product-sale-note,
.gn-product-regular-price {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	margin: 9px 8px 0 0;
	font-size: 14px;
	line-height: 1.35;
}

.gn-product-sale-note {
    gap: 5px;
    padding: 5px 10px;
	border-radius: 999px;
	margin:0 !important;
	background: #e5f7e9;
	color: #087b35;
	font-size: 13px;
	font-weight: 850;
}

.gn-product-sale-note::before {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	border: 2px solid currentColor;
	border-radius: 50% 50% 50% 6px;
	content: "";
	transform: rotate(-45deg) scale(.75);
}

.gn-product-regular-price {
	margin-right: 0;
	padding-left: 20px;
	border-left: 1px solid #ccd9cf;
	color: #68716c;
}

.gn-product-regular-price del {
	margin-left: 5px;
}

.gn-wholesale-price {
	margin: 10px 0 10px;
    padding: 5px 10px;
	border-color: #d9eee0;
	border-radius: 22px;
	background: linear-gradient(110deg, #f4faf5, #f8fcf9);
}

.gn-wholesale-price__intro {
	align-items: center;
	flex-wrap: nowrap;
	gap: 0;
}

.gn-wholesale-price__label {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 12px;
    margin: 0;
    padding-right: 13px;
    border-right: 1px solid #b9d6c2;
    color: #153f29;
    font-size: clamp(13px, 2cqw, 17px);
    font-weight: 850;
    white-space: nowrap;
}

.gn-wholesale-price__label::before {
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23116b3b' stroke-width='3' stroke-linejoin='round'%3E%3Cpath d='m24 4 10 5v11l-10 5-10-5V9l10-5Zm0 10v11m-10-16 10 5 10-5M11 22l10 5v11l-10 5-10-5V27l10-5Zm0 10v11M1 27l10 5 10-5m16-5 10 5v11l-10 5-10-5V27l10-5Zm0 10v11m-10-16 10 5 10-5'/%3E%3C/svg%3E");
	content: "";
}

.gn-wholesale-price__toggle {
	min-height: clamp(33px, 6.5cqw, 55px);
	margin-left: 12px;
	padding: 8px clamp(12px, 2.7cqw, 25px);
	border: 1px solid #80ca91;
	border-radius: 999px;
	background: #fff;
	color: #116738;
	font-size: clamp(13px, 2cqw, 17px);
	font-weight: 850;
	white-space: nowrap;
}

.gn-wholesale-price__toggle::after {
	margin-left: 10px;
	content: "›";
	font-size: 1.45em;
	line-height: .7;
}

.gn-wholesale-price__toggle:hover,
.gn-wholesale-price__toggle:focus-visible {
	border-color: #4eb66d;
	background: #eef8f0;
	color: #0d5b31;
}

.gn-wholesale-price__revealed {
	padding: 5px 15px;
	border-radius: 999px;
	margin-left: 15px;
	background: #e0f3e5;
	color: #105c32;
	font-size: 16px;
}

.gn-wholesale-price__content {
	margin-top: 13px;
	padding-top: 13px;
	border-color: #d8e9dc;
}

.gn-wholesale-price__content .gn-wholesale-price__label {
	padding: 0;
	border: 0;
	font-size: 13px;
	font-weight: 600;
}

.gn-wholesale-price__content .gn-wholesale-price__label::before {
	display: none;
}

.gn-product-stock {gap: 12px;font-size: 14px;font-weight: 850;}

.gn-product-stock svg {
	width: clamp(23px, 2cqw, 43px);
	height: clamp(23px, 2cqw, 43px);
	padding: clamp(5px, 1cqw, 9px);
	box-sizing: border-box;
	border-radius: 50%;
	background: #42b95d;
	color: #fff;
	stroke: #fff;
}

.gn-product-stock.is-out-of-stock svg {
	background: #d83f4e;
}

.gn-product-cart-form {
	margin-top: 2px;
}

.gn-product-cart-form form.cart,
.gn-product-cart-form form.cart .woocommerce-variation-add-to-cart {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	align-items: stretch;
	gap: 10px !important;
}

/* Quantity and cart share row one; Buy Now and wishlist share row two. */
.gn-product-cart-form form.cart .quantity {
	display: inline-flex !important;
	grid-column: 1 / span 2;
	grid-row: 1;
	flex: none !important;
	align-items: center;
	width: 100% !important;
	min-height: clamp(46px, 8.5cqw, 80px);
	max-width: 100%;
	margin: 0 !important;
	padding: 3px;
	border: 1px solid #d9dee2;
	border-radius: 18px;
	background: #fff;
}

.gn-product-cart-form .quantity .qty {
	width: clamp(54px, 10cqw, 96px);
	min-height: clamp(40px, 7.8cqw, 72px);
	margin: 0;
	border: 0;
	background: transparent;
}

.gn-product-cart-form .quantity .minus,
.gn-product-cart-form .quantity .plus {
	width: clamp(42px, 8cqw, 76px);
	min-width: 0;
	min-height: clamp(40px, 7.8cqw, 72px);
	margin: 0;
	border: 0;
	border-radius: 13px;
	background: #f5f6f6;
	color: #14763e;
}

.gn-product-cart-form .single_add_to_cart_button,
.gn-product-cart-form .ux-buy-now-button {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: clamp(7px, 1.8cqw, 17px);
	border: 0 !important;
	border-radius: clamp(12px, 2.2cqw, 22px) !important;
	color: #fff !important;
	font-size: clamp(13px, 3.7cqw, 18px) !important;
	font-weight: 850 !important;
	line-height: 1.1 !important;
	white-space: nowrap !important;
}
.gn-product-cart-form form.cart > .single_add_to_cart_button,
.gn-product-cart-form form.cart .woocommerce-variation-add-to-cart > .single_add_to_cart_button {
	width: 100% !important;
	min-width: 0 !important;
	flex: none !important;
	padding: 0 10px !important;
	font-size: clamp(13px, 3.7cqw, 18px) !important;
}

.gn-product-cart-form form.cart > .single_add_to_cart_button,
.gn-product-cart-form form.cart .woocommerce-variation-add-to-cart > .single_add_to_cart_button {
	grid-column: 3 / span 4;
	grid-row: 1;
}

.gn-product-cart-form form.cart > .ux-buy-now-button,
.gn-product-cart-form form.cart .woocommerce-variation-add-to-cart > .ux-buy-now-button {
	grid-column: 1 / span 3;
	grid-row: 2;
}

.gn-product-cart-form form.cart > .gn-product-wishlist,
.gn-product-cart-form form.cart .woocommerce-variation-add-to-cart > .gn-product-wishlist {
	grid-column: 4 / span 3;
	grid-row: 2;
}

.gn-product-cart-form form.cart > .variations,
.gn-product-cart-form form.cart > .single_variation_wrap {
	grid-column: 1 / -1;
}

.gn-product-cart-form .single_add_to_cart_button::before,
.gn-product-cart-form .ux-buy-now-button::before {
	display: block;
	width: clamp(18px, 4.2cqw, 38px);
	height: clamp(18px, 4.2cqw, 38px);
	flex: 0 0 auto;
	background: #fff;
	content: "";
}

.gn-product-cart-form .single_add_to_cart_button::before {
	mask: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 7H6'/%3E%3C/svg%3E");
}

.gn-product-cart-form .ux-buy-now-button::before {
	clip-path: polygon(57% 0, 8% 57%, 42% 57%, 29% 100%, 92% 35%, 57% 35%);
}

.gn-product-cart-form .single_add_to_cart_button {
	background: linear-gradient(110deg, #167b48, #075c35) !important;
	box-shadow: 0 5px 12px rgba(7, 92, 53, .14) !important;
}

.gn-product-cart-form .single_add_to_cart_button:hover {
	background: linear-gradient(110deg, #126c3f, #064c2d) !important;
}

.gn-product-cart-form .ux-buy-now-button {
	background: linear-gradient(110deg, #16b934, #07951f) !important;
	box-shadow: 0 5px 12px rgba(9, 159, 39, .15) !important;
	font-size: clamp(14px, 4cqw, 18px) !important;
	text-transform: uppercase !important;
}

.gn-product-cart-form .ux-buy-now-button:hover {
	background: linear-gradient(110deg, #0fa72b, #087f1b) !important;
}

.gn-product-contact {
	min-height: clamp(48px, 9cqw, 84px);
	margin-top: 10px;
	border-radius: clamp(11px, 2cqw, 20px);
	font-size: 16px;
}

.gn-product-contact svg {
	width: clamp(21px, 4.5cqw, 42px);
	height: clamp(21px, 4.5cqw, 42px);
}

.gn-product-secondary-actions {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(120px, 1fr);
	gap: 12px;
	margin: 12px 0 17px;
}

.gn-product-secondary-actions > button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(6px, 1.6cqw, 15px);
	min-height: clamp(44px, 8.3cqw, 78px);
	margin: 0;
	padding: 0 10px;
	border: 1px solid #dce4ed;
	border-radius: clamp(10px, 1.8cqw, 18px);
	background: #f5f7fb;
	color: #145b34;
	font-size: 14px;
	cursor: pointer;
}

.gn-product-secondary-actions .gn-product-contact {
	min-height: clamp(44px, 8.3cqw, 78px);
	margin: 0;
	padding: 0 10px;
	border-color: #45b96a;
	background: linear-gradient(110deg, #f1faf3, #f8fcf9);
	color: #12683a !important;
	font-size: 16px;
	white-space: nowrap;
}

.gn-product-wishlist {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	min-height: clamp(44px, 8.3cqw, 78px);
	margin: 0;
	padding: 0 8px;
	border: 1px solid #cfe2d6;
	border-radius: clamp(10px, 1.8cqw, 18px);
	background: linear-gradient(110deg, #f6faf7, #fff);
	color: #145b34;
	font-size: 14px;
}

.gn-product-secondary-actions svg,
.gn-product-wishlist svg {
	width: clamp(20px, 4cqw, 36px);
	height: clamp(20px, 4cqw, 36px);
}

.gn-product-wishlist .yith-wcwl-add-to-wishlist {
	width: 100%;
	margin: 0;
}

.gn-product-wishlist > *,
.gn-product-wishlist :is(a, button, [role="button"]) {
	width: 100%;
}

.gn-product-wishlist :is(a, button, [role="button"]) {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: inherit;
	margin: 0;
	padding: 0 4px;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
	box-shadow: none;
}

.gn-product-wishlist a {
	text-align: center;
}

.gn-product-assurances {
	margin-top: 18px;
	padding-top: 17px;
}

.gn-product-assurances > div {
	gap: clamp(5px, 1.3cqw, 12px);
	padding: 3px clamp(4px, 1.5cqw, 14px);
	font-size: 13px;
}

.gn-product-assurances svg {
	width: clamp(42px, 9cqw, 84px);
	height: clamp(42px, 9cqw, 84px);
	padding: clamp(8px, 1.8cqw, 17px);
}

@container gn-purchase (min-width: 650px) {
	.gn-product-sale-note,
	.gn-product-regular-price {
		font-size: 18px;
	}

	.gn-product-cart-form form.cart > .single_add_to_cart_button,
	.gn-product-cart-form form.cart > .ux-buy-now-button,
	.gn-product-cart-form form.cart .woocommerce-variation-add-to-cart > .single_add_to_cart_button
	{
		font-size: clamp(17px, 2.2cqw, 23px) !important;
	}

	.gn-wholesale-price {
		margin: 24px 0 20px;
		padding: 18px 28px;
	}

	.gn-volume-discount {
		margin: 17px 0 20px;
		padding: 22px;
		border-radius: 24px;
	}

	.gn-volume-discount__heading {
		gap: 14px;
		margin-bottom: 15px;
	}

	.gn-volume-discount__heading::before {
		width: 40px;
		height: 40px;
	}

	.gn-volume-discount__tiers {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 14px;
	}

	.gn-volume-discount__tiers li {
		align-items: center;
		justify-content: center;
		min-height: clamp(84px, 13cqw, 122px);
		padding: 12px 8px;
		border-radius: 22px;
		text-align: center;
	}

	.gn-volume-discount__tiers li.is-active {
		border-width: 3px;
	}

	.gn-volume-discount__tiers li.is-active::after {
		top: -20px;
		right: 4px;
		width: clamp(30px, 5.2cqw, 48px);
		height: clamp(30px, 5.2cqw, 48px);
	}
}

@container gn-purchase (max-width: 380px) {
	.gn-product-purchase-card {
		padding: 0;
	}

	.gn-wholesale-price__intro {
		flex-wrap: wrap;
		gap: 8px;
	}

	.gn-wholesale-price__label {
		padding-right: 0;
		border-right: 0;
	}

	.gn-wholesale-price__toggle {
		margin-left: 0;
	}

	.gn-product-regular-price {
		padding-left: 10px;
	}

	.gn-product-contact {
		font-size: 14px;
	}

	.gn-product-secondary-actions .gn-product-contact {
		font-size: 14px;
	}

}

@container gn-purchase (max-width: 520px) {
	.gn-product-cart-form form.cart,
	.gn-product-cart-form form.cart .woocommerce-variation-add-to-cart {
		grid-template-columns: minmax(154px, .85fr) minmax(0, 1.15fr);
	}

	.gn-product-cart-form form.cart .quantity {
		grid-column: 1;
	}

	.gn-product-cart-form form.cart > .single_add_to_cart_button,
	.gn-product-cart-form form.cart .woocommerce-variation-add-to-cart > .single_add_to_cart_button {
		grid-column: 2;
	}

	.gn-product-cart-form form.cart > .ux-buy-now-button,
	.gn-product-cart-form form.cart .woocommerce-variation-add-to-cart > .ux-buy-now-button {
		grid-column: 1;
	}

	.gn-product-cart-form form.cart > .gn-product-wishlist,
	.gn-product-cart-form form.cart .woocommerce-variation-add-to-cart > .gn-product-wishlist {
		grid-column: 2;
	}
}

@media (max-width: 720px) {
	.gn-product-top {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.gn-product-purchase {
		grid-column: auto;
	}

	.gn-product-purchase-card {
		max-width: none;
	}

	.gn-product-price {
		font-size: clamp(38px, 10cqw, 54px);
	}

	.gn-product-secondary-actions > button,
	.gn-product-wishlist {
		font-size: 12px;
	}

	.gn-product-assurances > div {
		font-size: 11px;
	}
}

@media (max-width: 380px) {
	.gn-product-cart-form .single_add_to_cart_button::before,
	.gn-product-cart-form .ux-buy-now-button::before {
		width: 16px;
		height: 16px;
	}

	.gn-product-cart-form form.cart > .single_add_to_cart_button,
	.gn-product-cart-form form.cart > .ux-buy-now-button,
	.gn-product-cart-form form.cart .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
	.gn-product-cart-form form.cart .woocommerce-variation-add-to-cart > .ux-buy-now-button {
		gap: 5px;
		padding: 0 5px !important;
	}
}
