/**
 * GP Pricing Grid widget (scoped).
 *
 * @package gp-clinic
 */

.gp-pricing-grid {
	--gp-pricing-blue: #030280;
	--gp-pricing-gray: #ccccc6;
	--gp-pricing-discount: #df8c66;
	--gp-pricing-old-price: #9a9a91;
	--gp-pricing-white: #ffffff;
	--gp-pricing-button-hover: #44438f;
	--gp-pricing-carousel-full: 1073px;
	--gp-pricing-carousel-peek: 80px;
	--gp-pricing-carousel-right-fade: 0px;
	--gp-pricing-carousel-left-fade: 0px;

	box-sizing: border-box;
	max-width: 1344px;
	margin-left: auto;
	margin-right: auto;
	/* background: var(--gp-pricing-white); */
}

.gp-pricing-grid *,
.gp-pricing-grid *::before,
.gp-pricing-grid *::after {
	box-sizing: border-box;
}

.gp-pricing-grid__editor-notice {
	margin: 0 0 11px;
}

.gp-pricing-grid__product {
	margin: 0 0 11px;
}
/* .gp-pricing-grid__product:last-child, .gp-pricing-grid__product:nth-child(4) {
    margin: 0;
} */

.gp-pricing-grid__product-title {
	margin: 0;
	width: 260px;
	min-height: 179px;
	padding: 20px;
	background: var(--gp-pricing-gray);
	color: var(--gp-pricing-blue);
	font-family: Poppins, sans-serif;
	font-weight: 400;
	font-size: 22px;
	line-height: 26px;
	letter-spacing: 0;
}

.gp-pricing-grid__variations {
	display: grid;
	grid-template-columns: repeat(4, 260px);
	gap: 11px;
}

.gp-pricing-grid__variation-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	width: 260px;
	min-height: var(--gp-variation-card-height, 179px);
	border: 1px solid #CCCCC6;
	background: var(--gp-pricing-white);
	cursor: default;
}

.gp-pricing-grid__variation-footer {
	margin-top: auto;
}

.gp-pricing-grid__variation-title {
	height: var(--gp-variation-title-height, auto);
	min-height: 40px;
	margin: 0;
	padding: 9px 20px;
	background: var(--gp-pricing-gray);
	color: var(--gp-pricing-blue);
	font-family: Poppins, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	text-transform: uppercase;
	white-space: normal;
	overflow: visible;
	overflow-wrap: break-word;
	text-overflow: clip;
}

.gp-pricing-grid__price {
	margin: 10px 0 0 20px;
	padding-right: 55px;
	color: var(--gp-pricing-blue);
	font-family: Poppins, sans-serif;
	font-weight: 400;
	font-size: 32px;
	line-height: 37px;
}

.gp-pricing-grid__price .woocommerce-Price-amount,
.gp-pricing-grid__price .amount,
.gp-pricing-grid__price bdi {
	color: inherit;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	display: inline;
}

.gp-pricing-grid__old-price .woocommerce-Price-amount,
.gp-pricing-grid__old-price .amount,
.gp-pricing-grid__old-price bdi,
.gp-pricing-grid__old-price del,
.gp-pricing-grid__old-price span {
	color: inherit;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	display: inline;
}

.gp-pricing-grid__cart-icon {
	position: absolute;
	top: calc(var(--gp-variation-title-height, 40px) + 11px);
	right: 20px;
	display: block;
	width: 35px;
	height: 35px;
	line-height: 0;
}

/* Reset theme button decoration while preserving the existing icon geometry. */
.gp-pricing-grid button.gp-pricing-grid__cart-icon {
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
}

.gp-pricing-grid button.gp-pricing-grid__cart-icon:hover,
.gp-pricing-grid button.gp-pricing-grid__cart-icon:focus {
	background: transparent;
}

.gp-pricing-grid button.gp-pricing-grid__cart-icon:focus-visible {
	outline: 2px solid var(--gp-pricing-blue);
	outline-offset: 3px;
}

.gp-pricing-grid__cart-icon svg {
	display: block;
	width: 35px;
	height: 35px;
}

.gp-pricing-grid__cart-icon svg path {
	stroke: var(--gp-pricing-blue);
}

.gp-pricing-grid__sale-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 10px 0 0 20px;
	padding-right: 55px;
}

.gp-pricing-grid__discount {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 30px;
	background: var(--gp-pricing-discount);
	color: var(--gp-pricing-white);
	font-family: Poppins, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	text-align: center;
}

.gp-pricing-grid__old-price {
	position: relative;
	display: inline-block;
	color: var(--gp-pricing-old-price);
	font-family: Poppins, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	text-decoration: none !important;
}

/* WC price markup: pseudo-element strikethrough on old-price wrapper. */
.gp-pricing-grid__old-price::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 1px;
	background-color: #9a9a91;
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 2;
}

.gp-pricing-grid__old-price *,
.gp-pricing-grid__old-price bdi,
.gp-pricing-grid__old-price .woocommerce-Price-amount,
.gp-pricing-grid__old-price .amount,
.gp-pricing-grid__old-price .woocommerce-Price-currencySymbol {
	text-decoration: none !important;
}

.gp-pricing-grid__old-price ins {
	text-decoration: none !important;
}

.gp-pricing-grid .gp-pricing-grid__variation-footer hr.gp-pricing-grid__divider {
	display: block;
	width: calc(100% - 40px);
	height: 1px;
	margin: 0 20px;
	border: 0;
	background-color: #030280;
}

.gp-pricing-grid__unit-price {
	margin: 10px 20px 10px;
	color: var(--gp-pricing-blue);
	font-family: Poppins, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	text-transform: uppercase;
}

.gp-pricing-grid a.added_to_cart,
.gp-pricing-grid a.wc-forward {
	display: none !important;
}

.gp-pricing-grid__loader {
	position: absolute;
	top: 51px;
	right: 20px;
	z-index: 2;
	display: block;
	width: 40px;
	height: 40px;
	line-height: 0;
	pointer-events: none;
}

.gp-pricing-grid__loader svg {
	display: block;
	width: 40px;
	height: 40px;
}

.gp-pricing-grid__variation-card--loading {
	opacity: 0.6;
	pointer-events: none;
	cursor: wait;
}

.gp-pricing-grid__variation-card--loading .gp-pricing-grid__cart-icon {
	opacity: 0;
	visibility: hidden;
}

.gp-pricing-grid__variation-card:hover {
	border-color: #030280;
}

.gp-pricing-grid__variation-card:hover .gp-pricing-grid__variation-title {
	background: var(--gp-pricing-blue);
	color: var(--gp-pricing-white);
}

/* Tablet / desktop card text. Titles may wrap and are equalized by the widget script. */
@media (min-width: 768px) {
	.gp-pricing-grid__variation-title {
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
	}

	.gp-pricing-grid__sale-row {
		flex-wrap: nowrap;
	}

	.gp-pricing-grid__price,
	.gp-pricing-grid__old-price,
	.gp-pricing-grid__unit-price,
	.gp-pricing-grid__price .woocommerce-Price-amount,
	.gp-pricing-grid__old-price .woocommerce-Price-amount,
	.gp-pricing-grid__price .amount,
	.gp-pricing-grid__old-price .amount,
	.gp-pricing-grid__price bdi,
	.gp-pricing-grid__old-price bdi {
		white-space: nowrap;
		word-break: normal;
		overflow-wrap: normal;
	}
}

/* Variation carousel (>4 variations, tablet/desktop only) */
@media (min-width: 768px) {
	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variation-carousel {
		position: relative;
		min-width: 0;
		overflow: visible;
	}

	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variation-viewport {
		overflow-x: auto;
		overflow-y: visible;
		overscroll-behavior-x: contain;
		scroll-behavior: smooth;
		scrollbar-width: none;
		-ms-overflow-style: none;
		padding-right: var(--gp-pricing-carousel-peek);
		margin-right: calc(-1 * var(--gp-pricing-carousel-peek));
		scroll-padding-right: var(--gp-pricing-carousel-peek);
		/* -webkit-mask-image: linear-gradient(
			to right,
			#000 0,
			#000 calc(100% - var(--gp-pricing-carousel-peek)),
			transparent 100%
		);
		mask-image: linear-gradient(
			to right,
			#000 0,
			#000 calc(100% - var(--gp-pricing-carousel-peek)),
			transparent 100%
		);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-size: 100% 100%;
		mask-size: 100% 100%; */
	}

	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variation-viewport::-webkit-scrollbar {
		display: none;
	}

	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variations {
		display: flex;
		flex-wrap: nowrap;
		width: max-content;
	}

}

/* Desktop: fluid down to tablet; max design 1344px (5×260 + 4×11 gap) */
@media (min-width: 1025px) {
	.gp-pricing-grid {
		--gp-desktop-gap: 11px;
		--gp-desktop-side-space: 48px;
		--gp-visible-variations-width: calc((var(--gp-card-width) * 4) + (var(--gp-desktop-gap) * 3));
		--gp-pricing-carousel-full: var(--gp-visible-variations-width);
		width: min(100%, 1344px);
		max-width: 1344px;
		overflow-x: clip;
	}

	.gp-pricing-grid:has(.gp-pricing-grid__product--has-variation-carousel) {
		overflow-x: visible;
	}

	.gp-pricing-grid__product-title {
		width: var(--gp-card-width);
		height: var(--gp-variation-card-height, 179px);
		min-height: var(--gp-variation-card-height, 179px);
		grid-column: 1;
		grid-row: 1;
	}

	.gp-pricing-grid__variation-card {
		width: var(--gp-card-width);
		flex: 0 0 var(--gp-card-width);
		min-width: 0;
		border: 1px solid #CCCCC6;
	}

	.gp-pricing-grid__product {
		display: grid;
		grid-template-columns: var(--gp-card-width) minmax(0, var(--gp-visible-variations-width));
		column-gap: var(--gp-desktop-gap);
		width: 100%;
		align-items: start;
	}

	.gp-pricing-grid__variations {
		grid-column: 2;
		grid-row: 1;
		margin-top: 0;
		grid-template-columns: repeat(4, var(--gp-card-width));
		gap: var(--gp-desktop-gap);
	}

	.gp-pricing-grid__product--has-variation-carousel {
		overflow: visible;
		grid-template-columns: var(--gp-card-width) minmax(0, var(--gp-visible-variations-width));
	}

	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variation-carousel {
		grid-column: 2;
		grid-row: 1;
		width: var(--gp-visible-variations-width);
		max-width: none;
		min-width: 0;
		overflow: visible;
	}

	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variation-viewport {
		box-sizing: content-box;
		width: var(--gp-visible-variations-width);
		max-width: none;
	}

	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variations {
		display: flex;
		flex-wrap: nowrap;
		width: max-content;
		gap: var(--gp-desktop-gap);
	}
}

/* Wide desktop: capped card size + full peek */
@media (min-width: 1141px) {
	.gp-pricing-grid {
		--gp-card-width: clamp(200px, calc((100vw - 96px - 44px) / 5), 260px);
		--gp-pricing-carousel-peek: clamp(40px, 6vw, 80px);
	}
}

/* Narrow desktop 1025–1140: fluid cards from viewport (no 260px cap) */
@media (min-width: 1025px) and (max-width: 1140px) {
	.gp-pricing-grid {
		--gp-card-width: calc((100vw - 96px - 44px) / 5);
		--gp-pricing-carousel-peek: clamp(0px, 4vw, 40px);
	}

	.gp-pricing-grid__variation-title {
		font-size: 12px;
		line-height: 22px;
	}

	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variation-carousel,
	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variation-viewport {
		width: var(--gp-visible-variations-width);
		max-width: var(--gp-visible-variations-width);
	}
}

/* Narrow desktop: reduced card typography (wide desktop >1250px unchanged) */
@media (min-width: 1025px) and (max-width: 1250px) {
	.gp-pricing-grid__price,
	.gp-pricing-grid__price .woocommerce-Price-amount,
	.gp-pricing-grid__price .amount,
	.gp-pricing-grid__price bdi {
		font-size: 24px;
		line-height: 30px;
	}

	.gp-pricing-grid__unit-price {
		font-size: 12px;
		line-height: 18px;
	}

	.gp-pricing-grid__discount {
		font-size: 14px;
		line-height: 22px;
	}

	.gp-pricing-grid__old-price,
	.gp-pricing-grid__old-price .woocommerce-Price-amount,
	.gp-pricing-grid__old-price .amount,
	.gp-pricing-grid__old-price bdi,
	.gp-pricing-grid__old-price del,
	.gp-pricing-grid__old-price span {
		font-size: 14px;
		line-height: 22px;
	}
}

@media (min-width: 1141px) and (max-width: 1250px) {
	.gp-pricing-grid__variation-title {
		font-size: 14px;
		line-height: 22px;
	}
}

@media (max-width: 1024px) {
	.gp-pricing-grid__variations {
		margin-top: 20px;
	}
}

/* Tablet: fluid cards; Figma target 1024px → 940px grid, 220px cards */
@media (min-width: 768px) and (max-width: 1024px) {
	.gp-pricing-grid {
		--gp-tablet-gap: 20px;
		--gp-card-width: min(220px, calc(((100vw - 84px) - (var(--gp-tablet-gap) * 3)) / 4));
		--gp-visible-variations-width: calc((var(--gp-card-width) * 4) + (var(--gp-tablet-gap) * 3));
		--gp-pricing-carousel-full: var(--gp-visible-variations-width);
		--gp-pricing-carousel-peek: clamp(18px, 4vw, 48px);
		--gp-card-inner-x: clamp(10px, 2vw, 20px);
		--gp-card-icon-size: clamp(22px, 2.8vw, 29px);
		--gp-variation-title-font: clamp(12px, 1.60vw, 16px);
		--gp-variation-title-line: 20px;
		--gp-price-font: clamp(24px, 3vw, 30px);
		--gp-price-line: clamp(30px, 3.6vw, 36px);
		--gp-small-font: clamp(11px, 1.35vw, 14px);
		--gp-small-line: 18px;
		/* width: 100%;
		max-width: 940px;
		margin-left: auto;
		margin-right: auto; */
	}

	.gp-pricing-grid__product {
		display: block;
		width: 100%;
		max-width: 100%;
	}

	.gp-pricing-grid__product {
	    margin: 0 0 20px;
	}

	.gp-pricing-grid__product-title {
		width: 100%;
		min-height:66px;
		padding: 20px;
		line-height: 26px;
		margin-bottom: 0;
	}

	.gp-pricing-grid__variations {
		display: flex;
		flex-wrap: nowrap;
		gap: var(--gp-tablet-gap);
		width: max-content;
		margin-top: 0;
	}

	.gp-pricing-grid__variation-card {
		width: var(--gp-card-width);
		flex: 0 0 var(--gp-card-width);
		min-width: 0;
		min-height: var(--gp-variation-card-height, 179px);
		border: 1px solid #CCCCC6;
	}

	.gp-pricing-grid:has(.gp-pricing-grid__product--has-variation-carousel) {
		overflow-x: visible;
	}

	.gp-pricing-grid__product--has-variation-carousel {
		overflow: visible;
	}

	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variation-carousel {
		width: 100%;
		max-width: 100%;
		margin-top: 20px;
	}

	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variation-viewport {
		box-sizing: content-box;
		width: 100%;
		max-width: 100%;
		padding-left: var(--gp-pricing-carousel-peek);
		padding-right: var(--gp-pricing-carousel-peek);
		margin-left: calc(-1 * var(--gp-pricing-carousel-peek));
		margin-right: calc(-1 * var(--gp-pricing-carousel-peek));
		scroll-padding-left: var(--gp-pricing-carousel-peek);
		scroll-padding-right: var(--gp-pricing-carousel-peek);
		/* -webkit-mask-image: linear-gradient(
			to right,
			transparent 0,
			#000 var(--gp-pricing-carousel-peek),
			#000 calc(100% - var(--gp-pricing-carousel-peek)),
			transparent 100%
		);
		mask-image: linear-gradient(
			to right,
			transparent 0,
			#000 var(--gp-pricing-carousel-peek),
			#000 calc(100% - var(--gp-pricing-carousel-peek)),
			transparent 100%
		); */
	}

	.gp-pricing-grid__product:not(.gp-pricing-grid__product--has-variation-carousel) .gp-pricing-grid__variations {
		width: var(--gp-visible-variations-width);
		max-width: 100%;
	}

	.gp-pricing-grid__variation-title {
		padding-left: var(--gp-card-inner-x);
		padding-right: var(--gp-card-inner-x);
		font-size: var(--gp-variation-title-font);
		line-height: var(--gp-variation-title-line);
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
	}

	.gp-pricing-grid__price {
		margin-left: var(--gp-card-inner-x);
		padding-right: calc(var(--gp-card-icon-size) + 16px);
		font-size: var(--gp-price-font);
		line-height: var(--gp-price-line);
		white-space: nowrap;
	}

	.gp-pricing-grid__price .woocommerce-Price-amount,
	.gp-pricing-grid__price bdi,
	.gp-pricing-grid__price .woocommerce-Price-currencySymbol {
		font-size: inherit;
		line-height: inherit;
	}

	.gp-pricing-grid__cart-icon {
		width: var(--gp-card-icon-size);
		height: var(--gp-card-icon-size);
		right: var(--gp-card-inner-x);
		top: calc(var(--gp-variation-title-height, 40px) + 12px);
	}

	.gp-pricing-grid__cart-icon svg {
		width: 100%;
		height: 100%;
	}

	.gp-pricing-grid__sale-row {
		margin-left: var(--gp-card-inner-x);
		gap: clamp(6px, 0.9vw, 9px);
	}

	.gp-pricing-grid__discount {
		width: clamp(48px, 5.8vw, 56px);
		height: 30px;
		font-size: var(--gp-small-font);
		line-height: 22px;
	}

	.gp-pricing-grid__old-price,
	.gp-pricing-grid__old-price .woocommerce-Price-amount,
	.gp-pricing-grid__old-price bdi,
	.gp-pricing-grid__old-price .woocommerce-Price-currencySymbol {
		font-size: var(--gp-small-font);
		line-height: var(--gp-small-line);
		white-space: nowrap;
	}

	.gp-pricing-grid .gp-pricing-grid__variation-footer hr.gp-pricing-grid__divider {
		width: calc(100% - (var(--gp-card-inner-x) * 2));
		margin-left: var(--gp-card-inner-x);
		margin-right: var(--gp-card-inner-x);
	}

	.gp-pricing-grid__unit-price {
		margin-left: var(--gp-card-inner-x);
		margin-right: var(--gp-card-inner-x);
		font-size: var(--gp-small-font);
		line-height: var(--gp-small-line);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.gp-pricing-grid {
		max-width: 345px;
	}

	.gp-pricing-grid__product {
		display: block;
	}

	.gp-pricing-grid__product-title {
		width: 100%;
		max-width: 345px;
		min-height: 66px;
		font-size: 20px;
		line-height: 26px;
		margin-top: 40px;
	}

	.gp-pricing-grid__variations {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.gp-pricing-grid__product {
		margin: 0;
	}

	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variation-carousel {
		display: block;
	}

	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variation-viewport {
		overflow: visible;
		width: auto;
		max-width: none;
		-webkit-mask-image: none;
		mask-image: none;
	}

	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variations {
		display: grid;
		grid-template-columns: 1fr;
		flex-wrap: wrap;
		width: 100%;
	}

	.gp-pricing-grid__product--has-variation-carousel .gp-pricing-grid__variation-viewport {
		margin-right: 0;
		padding-right: 0;
		scroll-padding-right: 0;
	}

	.gp-pricing-grid__variation-carousel.is-overflowing,
	.gp-pricing-grid__variation-carousel.has-right {
		--gp-pricing-carousel-right-fade: 0px;
	}

	.gp-pricing-grid__variation-card {
		width: 100%;
		max-width: 345px;
		min-height: var(--gp-variation-card-height, 179px);
	}

	.gp-pricing-grid__variation-title {
		display: flex;
		align-items: center;
		height: var(--gp-variation-title-height, auto);
		min-height: 40px;
		padding: 9px 20px;
		font-size: 15px;
		line-height: 22px;
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
	}

	.gp-pricing-grid__price {
		font-size: 35px;
		line-height: 40px;
	}

	.gp-pricing-grid__discount {
		font-size: 15px;
		line-height: 22px;
	}

	.gp-pricing-grid__old-price,
	.gp-pricing-grid__old-price .woocommerce-Price-amount,
	.gp-pricing-grid__old-price .amount,
	.gp-pricing-grid__old-price bdi,
	.gp-pricing-grid__old-price del,
	.gp-pricing-grid__old-price span {
		font-size: 15px;
		line-height: 22px;
	}

	.gp-pricing-grid__unit-price {
		font-size: 15px;
		line-height: 22px;
	}
}

.gp-pricing-grid__product--hidden {
	overflow: hidden;
	max-height: 0;
	margin-bottom: 0 !important;
	opacity: 0;
	transform: translateY(-10px);
	transition:
		max-height 0.4s ease,
		opacity 0.35s ease,
		transform 0.35s ease,
		margin-bottom 0.4s ease;
	pointer-events: none;
}

.gp-pricing-grid--expanded .gp-pricing-grid__product--hidden {
	overflow: visible;
	max-height: 5000px;
	margin-bottom: 11px !important;
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
	.gp-pricing-grid__product--hidden {
		transition: none;
	}

	.gp-pricing-grid--expanded .gp-pricing-grid__product--hidden {
		max-height: none;
		transform: none;
	}
}

.gp-pricing-grid__actions {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: 100%;
	margin-top: 29px;
}

.gp-pricing-grid__toggle-products {
	display: block;
	width: 432px;
	max-width: 100%;
	height: 40px;
	margin: 0;
	padding: 0 20px;
	border: none;
	background: var(--gp-pricing-blue);
	color: var(--gp-pricing-white);
	font-family: Poppins, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
}

.gp-pricing-grid__toggle-products:hover,
.gp-pricing-grid__toggle-products:focus {
	background: var(--gp-pricing-button-hover);
	color: var(--gp-pricing-white);
}

/* Single selected product layout */
.gp-pricing-grid--single-product {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gp-pricing-grid--single-product .gp-pricing-grid__product {
	display: block;
	grid-template-columns: none;
	column-gap: 0;
	margin: 0;
}

.gp-pricing-grid--single-product .gp-pricing-grid__product-title,
.gp-pricing-grid--single-product .gp-pricing-grid__actions {
	display: none;
}

.gp-pricing-grid--single-product .gp-pricing-grid__variation-carousel,
.gp-pricing-grid--single-product .gp-pricing-grid__variation-viewport,
.gp-pricing-grid--single-product .gp-pricing-grid__variations {
	width: 100%;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: 10px;
	overflow: visible;
	padding: 0;
	margin: 0;
	-webkit-mask-image: none;
	mask-image: none;
}

.gp-pricing-grid--single-product .gp-pricing-grid__variation-card {
	width: 100%;
	display: block;
	flex: 0 0 auto;
	min-height: 108px;
	border: 1px solid #030280;
	padding: 20px;
	position: relative;
	box-sizing: border-box;
	background: transparent;
	color: #030280;
}

.gp-pricing-grid--single-product .gp-pricing-grid__variation-title {
	height: auto;
	margin: 0 55px 5px 0;
	padding: 0;
	background: transparent;
	color: #030280;
	font-family: Poppins, sans-serif;
	font-weight: 400;
	font-size: 22px;
	line-height: 26px;
	letter-spacing: 0;
	text-transform: none;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
}

.gp-pricing-grid--single-product .gp-pricing-grid__single-price-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.gp-pricing-grid--single-product .gp-pricing-grid__price {
	margin: 0;
	padding: 0;
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	color: #030280;
	font-family: Poppins, sans-serif;
	font-weight: 400;
	font-size: 32px;
	line-height: 37px;
	letter-spacing: 0;
}

.gp-pricing-grid--single-product .gp-pricing-grid__sale-row {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

.gp-pricing-grid--single-product .gp-pricing-grid__variation-footer {
	margin-top: 16px;
}

.gp-pricing-grid--single-product .gp-pricing-grid__variation-footer hr.gp-pricing-grid__divider {
	width: 100%;
	margin: 0;
}

.gp-pricing-grid--single-product .gp-pricing-grid__unit-price {
	margin: 10px 0 0;
}

.gp-pricing-grid--single-product .gp-pricing-grid__discount {
	width: 60px;
	height: 30px;
	background: #DF8C66;
	color: #ffffff;
	font-family: Poppins, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.gp-pricing-grid--single-product .gp-pricing-grid__old-price,
.gp-pricing-grid--single-product .gp-pricing-grid__old-price .woocommerce-Price-amount,
.gp-pricing-grid--single-product .gp-pricing-grid__old-price bdi,
.gp-pricing-grid--single-product .gp-pricing-grid__old-price .woocommerce-Price-currencySymbol {
	font-family: Poppins, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 22px;
	color: #9A9A91;
	text-decoration: line-through;
	white-space: nowrap;
}

.gp-pricing-grid--single-product .gp-pricing-grid__cart-icon {
	width: 35px;
	height: 35px;
	position: absolute;
	top: 20px;
	right: 20px;
	color: #030280;
}

.gp-pricing-grid--single-product .gp-pricing-grid__cart-icon svg {
	width: 35px;
	height: 35px;
}

.gp-pricing-grid--single-product .gp-pricing-grid__cart-icon svg path {
	stroke: #030280;
}

.gp-pricing-grid--single-product .gp-pricing-grid__variation-card:hover {
	border-color: #7E7EA2;
}

.gp-pricing-grid--single-product .gp-pricing-grid__variation-card:hover .gp-pricing-grid__variation-title {
	background: transparent;
	color: #7E7EA2;
}

.gp-pricing-grid--single-product .gp-pricing-grid__variation-card:hover .gp-pricing-grid__price,
.gp-pricing-grid--single-product .gp-pricing-grid__variation-card:hover .gp-pricing-grid__price .woocommerce-Price-amount,
.gp-pricing-grid--single-product .gp-pricing-grid__variation-card:hover .gp-pricing-grid__price .amount,
.gp-pricing-grid--single-product .gp-pricing-grid__variation-card:hover .gp-pricing-grid__price bdi,
.gp-pricing-grid--single-product .gp-pricing-grid__variation-card:hover .gp-pricing-grid__cart-icon,
.gp-pricing-grid--single-product .gp-pricing-grid__variation-card:hover .gp-pricing-grid__cart-icon svg path {
	color: #7E7EA2;
	stroke: #7E7EA2;
}

@media (max-width: 767px) {
	.gp-pricing-grid--single-product .gp-pricing-grid__variation-card {
		min-height: 138px;
		padding: 20px;
	}

	.gp-pricing-grid--single-product .gp-pricing-grid__variation-title {
		font-size: 24px;
		line-height: 29px;
		margin-right: 55px;
		margin-bottom: 5px;
	}

	.gp-pricing-grid--single-product .gp-pricing-grid__price {
		font-size: 24px;
		line-height: 29px;
	}

	.gp-pricing-grid--single-product .gp-pricing-grid__old-price,
	.gp-pricing-grid--single-product .gp-pricing-grid__old-price .woocommerce-Price-amount,
	.gp-pricing-grid--single-product .gp-pricing-grid__old-price bdi,
	.gp-pricing-grid--single-product .gp-pricing-grid__old-price .woocommerce-Price-currencySymbol {
		font-size: 15px;
		line-height: 22px;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.gp-pricing-grid__actions {
		margin-top: 20px;
	}

	.gp-pricing-grid__toggle-products {
		width: 380px;
	}
}

@media (max-width: 767px) {
	.gp-pricing-grid__actions {
		margin-top: 20px;
	}

	.gp-pricing-grid__toggle-products {
		width: 100%;
		max-width: 345px;
		font-size: 15px;
		line-height: 22px;
	}
}
