.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	position: relative;
}

.woocommerce span.onsale.gb-manual-badge,
.woocommerce span.onsale.gb-auto-badge,
.woocommerce-page span.onsale.gb-manual-badge,
.woocommerce-page span.onsale.gb-auto-badge {
	--gbpb-color-1: #ef4444;
	--gbpb-color-2: #b91c1c;
	--gbpb-color-text: #ffffff;
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 9;
	display: flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	max-width: calc(100% - 24px);
	min-height: 40px;
	padding: 7px 12px;
	background: linear-gradient(135deg, var(--gbpb-color-1) 0%, var(--gbpb-color-2) 100%);
	color: var(--gbpb-color-text);
	border-radius: 16px;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: 0.04em;
	text-align: center;
	text-transform: uppercase;
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
	pointer-events: none;
	box-sizing: border-box;
	isolation: isolate;
	overflow: visible;
	white-space: normal;
	word-break: break-word;
}

.woocommerce span.onsale.gb-manual-badge::before,
.woocommerce span.onsale.gb-manual-badge::after,
.woocommerce span.onsale.gb-auto-badge::before,
.woocommerce span.onsale.gb-auto-badge::after,
.woocommerce-page span.onsale.gb-manual-badge::before,
.woocommerce-page span.onsale.gb-manual-badge::after,
.woocommerce-page span.onsale.gb-auto-badge::before,
.woocommerce-page span.onsale.gb-auto-badge::after {
	box-sizing: border-box;
}

.woocommerce span.onsale.gb-badge-gold,
.woocommerce-page span.onsale.gb-badge-gold {
	--gbpb-color-1: #f7d774;
	--gbpb-color-2: #c89c2c;
	--gbpb-color-text: #2b2100;
}

.woocommerce span.onsale.gb-badge-red,
.woocommerce-page span.onsale.gb-badge-red {
	--gbpb-color-1: #ef4444;
	--gbpb-color-2: #b91c1c;
	--gbpb-color-text: #ffffff;
}

.woocommerce span.onsale.gb-badge-green,
.woocommerce-page span.onsale.gb-badge-green {
	--gbpb-color-1: #22c55e;
	--gbpb-color-2: #15803d;
	--gbpb-color-text: #ffffff;
}

.woocommerce span.onsale.gb-badge-blue,
.woocommerce-page span.onsale.gb-badge-blue {
	--gbpb-color-1: #3b82f6;
	--gbpb-color-2: #1d4ed8;
	--gbpb-color-text: #ffffff;
}

.woocommerce span.onsale.gb-badge-black,
.woocommerce-page span.onsale.gb-badge-black {
	--gbpb-color-1: #2f2f2f;
	--gbpb-color-2: #111111;
	--gbpb-color-text: #ffffff;
}

.woocommerce span.onsale.gb-badge-purple,
.woocommerce-page span.onsale.gb-badge-purple {
	--gbpb-color-1: #a855f7;
	--gbpb-color-2: #7e22ce;
	--gbpb-color-text: #ffffff;
}

.woocommerce span.onsale.gb-badge-orange,
.woocommerce-page span.onsale.gb-badge-orange {
	--gbpb-color-1: #fb923c;
	--gbpb-color-2: #ea580c;
	--gbpb-color-text: #ffffff;
}

.woocommerce span.onsale.gb-badge-pink,
.woocommerce-page span.onsale.gb-badge-pink {
	--gbpb-color-1: #f472b6;
	--gbpb-color-2: #db2777;
	--gbpb-color-text: #ffffff;
}

.woocommerce span.onsale.gb-badge-shape-rounded,
.woocommerce-page span.onsale.gb-badge-shape-rounded {
	border-radius: 16px;
}

.woocommerce span.onsale.gb-badge-shape-pill,
.woocommerce-page span.onsale.gb-badge-shape-pill {
	border-radius: 999px;
	padding-inline: 16px;
}

.woocommerce span.onsale.gb-badge-shape-square,
.woocommerce-page span.onsale.gb-badge-shape-square {
	border-radius: 0;
}

.woocommerce span.onsale.gb-badge-shape-circle,
.woocommerce span.onsale.gb-badge-shape-star,
.woocommerce span.onsale.gb-badge-shape-burst,
.woocommerce span.onsale.gb-badge-shape-sticker,
.woocommerce span.onsale.gb-badge-shape-shield,
.woocommerce span.onsale.gb-badge-shape-hexagon,
.woocommerce-page span.onsale.gb-badge-shape-circle,
.woocommerce-page span.onsale.gb-badge-shape-star,
.woocommerce-page span.onsale.gb-badge-shape-burst,
.woocommerce-page span.onsale.gb-badge-shape-sticker,
.woocommerce-page span.onsale.gb-badge-shape-shield,
.woocommerce-page span.onsale.gb-badge-shape-hexagon {
	max-width: none;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
	white-space: normal;
	word-break: break-word;
	text-align: center;
}

.woocommerce span.onsale.gb-badge-shape-circle,
.woocommerce-page span.onsale.gb-badge-shape-circle {
	width: 82px;
	min-height: 82px;
	height: 82px;
	border-radius: 50%;
	font-size: 11px;
}

.woocommerce span.onsale.gb-badge-shape-ribbon,
.woocommerce-page span.onsale.gb-badge-shape-ribbon {
	top: 18px !important;
	left: -28px !important;
	width: 150px !important;
	max-width: 150px;
	min-height: 0;
	padding: 7px 20px !important;
	border-radius: 0 !important;
	font-size: 12px !important;
	font-weight: 900;
	line-height: 1.15;
	justify-content: center;
	align-items: center;
	text-align: center;
	transform: rotate(-45deg) !important;
	transform-origin: center !important;
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.24);
	clip-path: none !important;
}

.woocommerce span.onsale.gb-badge-shape-ribbon::before,
.woocommerce-page span.onsale.gb-badge-shape-ribbon::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 38%);
	pointer-events: none;
}

.woocommerce span.onsale.gb-badge-shape-ribbon::after,
.woocommerce-page span.onsale.gb-badge-shape-ribbon::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid rgba(255, 255, 255, 0.22);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
	pointer-events: none;
}

.woocommerce span.onsale.gb-badge-shape-star,
.woocommerce-page span.onsale.gb-badge-shape-star {
	width: 82px;
	min-height: 82px;
	height: 82px;
	padding: 14px;
	font-size: 11px;
	line-height: 1.08;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
	box-shadow: 0 14px 24px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.2);
	clip-path: polygon(50% 0%, 61% 34%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 34%);
}

.woocommerce span.onsale.gb-badge-shape-burst,
.woocommerce-page span.onsale.gb-badge-shape-burst {
	width: 94px;
	min-height: 94px;
	height: 94px;
	padding: 13px;
	font-size: 11px;
	line-height: 1.08;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.26);
	box-shadow: 0 16px 28px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.22);
	filter: saturate(1.08);
	clip-path: polygon(50% 0%, 62% 12%, 79% 4%, 85% 20%, 100% 19%, 92% 34%, 100% 50%, 89% 63%, 100% 81%, 82% 80%, 79% 96%, 62% 88%, 50% 100%, 38% 88%, 21% 96%, 18% 80%, 0% 81%, 11% 63%, 0% 50%, 8% 34%, 0% 19%, 15% 20%, 21% 4%, 38% 12%);
}

.woocommerce span.onsale.gb-badge-shape-medal,
.woocommerce-page span.onsale.gb-badge-shape-medal {
	width: 82px;
	max-width: none;
	min-height: 82px;
	height: 82px;
	padding: 11px;
	border-radius: 50%;
	overflow: visible !important;
	z-index: 20;
	isolation: isolate;
	font-size: 12px;
	font-weight: 900;
	line-height: 1.05;
	color: #ffffff;
	background:
		radial-gradient(circle at 28% 24%, rgba(255, 255, 255, 0.42) 0%, rgba(255, 255, 255, 0.14) 20%, rgba(255, 255, 255, 0) 42%),
		radial-gradient(circle at 50% 35%, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 58%),
		linear-gradient(155deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 36%),
		linear-gradient(145deg, var(--gbpb-color-1) 0%, var(--gbpb-color-2) 100%);
	border: 1px solid rgba(255, 255, 255, 0.26);
	box-shadow:
		0 16px 30px rgba(0, 0, 0, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.34),
		inset 0 0 0 3px rgba(255, 255, 255, 0.12);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}

.woocommerce span.onsale.gb-badge-shape-medal::before,
.woocommerce span.onsale.gb-badge-shape-medal::after,
.woocommerce-page span.onsale.gb-badge-shape-medal::before,
.woocommerce-page span.onsale.gb-badge-shape-medal::after {
	content: "";
	position: absolute;
	bottom: -28px;
	width: 22px;
	height: 42px;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.34) 100%),
		linear-gradient(180deg, var(--gbpb-color-1) 0%, var(--gbpb-color-2) 100%);
	clip-path: polygon(0 0, 100% 0, 78% 100%, 50% 74%, 22% 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
	z-index: 0;
}

.woocommerce span.onsale.gb-badge-shape-medal::before,
.woocommerce-page span.onsale.gb-badge-shape-medal::before {
	left: 16px;
	transform: rotate(-8deg);
}

.woocommerce span.onsale.gb-badge-shape-medal::after,
.woocommerce-page span.onsale.gb-badge-shape-medal::after {
	right: 16px;
	transform: rotate(8deg);
}

.woocommerce span.onsale.gb-badge-shape-sticker,
.woocommerce-page span.onsale.gb-badge-shape-sticker {
	width: 78px;
	min-height: 78px;
	height: 78px;
	padding: 12px;
	border-radius: 50%;
	font-size: 11px;
	line-height: 1.08;
	transform: rotate(-9deg);
	border: 1px solid rgba(255, 255, 255, 0.22);
	box-shadow:
		0 14px 26px rgba(0, 0, 0, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.woocommerce span.onsale.gb-badge-shape-sticker::after,
.woocommerce-page span.onsale.gb-badge-shape-sticker::after {
	content: "";
	position: absolute;
	top: 10px;
	right: 12px;
	width: 22px;
	height: 16px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.3);
	filter: blur(1px);
	z-index: 1;
}

.woocommerce span.onsale.gb-badge-shape-price-tag,
.woocommerce-page span.onsale.gb-badge-shape-price-tag {
	width: 112px;
	max-width: none;
	min-height: 44px;
	height: auto;
	padding: 9px 24px 9px 13px;
	border-radius: 0;
	font-size: 11px;
	clip-path: polygon(0 0, 82% 0, 100% 50%, 82% 100%, 0 100%);
}

.woocommerce span.onsale.gb-badge-shape-price-tag::after,
.woocommerce-page span.onsale.gb-badge-shape-price-tag::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 13px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.85);
	transform: translateY(-50%);
	z-index: 1;
}

.woocommerce span.onsale.gb-badge-shape-shield,
.woocommerce-page span.onsale.gb-badge-shape-shield {
	width: 78px;
	min-height: 86px;
	height: 86px;
	padding: 14px 11px 18px;
	font-size: 10.5px;
	line-height: 1.08;
	background:
		radial-gradient(circle at 30% 22%, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.08) 24%, rgba(255, 255, 255, 0) 44%),
		linear-gradient(150deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 34%),
		linear-gradient(145deg, var(--gbpb-color-1) 0%, var(--gbpb-color-2) 100%);
	border: 1px solid rgba(255, 255, 255, 0.22);
	box-shadow:
		0 14px 26px rgba(0, 0, 0, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.28),
		inset 0 0 0 2px rgba(255, 255, 255, 0.08);
	clip-path: polygon(50% 0%, 88% 12%, 92% 45%, 76% 82%, 50% 100%, 24% 82%, 8% 45%, 12% 12%);
}

.woocommerce span.onsale.gb-badge-shape-hexagon,
.woocommerce-page span.onsale.gb-badge-shape-hexagon {
	width: 86px;
	min-height: 78px;
	height: 78px;
	padding: 12px 11px;
	font-size: 10.5px;
	line-height: 1.08;
	background:
		radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.08) 26%, rgba(255, 255, 255, 0) 44%),
		linear-gradient(150deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 32%),
		linear-gradient(145deg, var(--gbpb-color-1) 0%, var(--gbpb-color-2) 100%);
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow:
		0 14px 24px rgba(0, 0, 0, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.24),
		inset 0 0 0 2px rgba(255, 255, 255, 0.08);
	clip-path: polygon(22% 0%, 78% 0%, 100% 50%, 78% 100%, 22% 100%, 0% 50%);
}

@media (max-width: 767px) {
	.woocommerce span.onsale.gb-manual-badge,
	.woocommerce span.onsale.gb-auto-badge,
	.woocommerce-page span.onsale.gb-manual-badge,
	.woocommerce-page span.onsale.gb-auto-badge {
		top: 10px;
		left: 10px;
		padding: 6px 10px;
		font-size: 11px;
	}

	.woocommerce span.onsale.gb-badge-shape-ribbon,
	.woocommerce-page span.onsale.gb-badge-shape-ribbon {
		width: 140px !important;
		max-width: 140px;
		font-size: 11px !important;
	}

	.woocommerce span.onsale.gb-badge-shape-circle,
	.woocommerce-page span.onsale.gb-badge-shape-circle,
	.woocommerce span.onsale.gb-badge-shape-star,
	.woocommerce-page span.onsale.gb-badge-shape-star,
	.woocommerce span.onsale.gb-badge-shape-burst,
	.woocommerce-page span.onsale.gb-badge-shape-burst {
		width: 86px;
		min-height: 86px;
		height: 86px;
		font-size: 10px;
	}

	.woocommerce span.onsale.gb-badge-shape-medal,
	.woocommerce-page span.onsale.gb-badge-shape-medal {
		width: 74px;
		min-height: 74px;
		height: 74px;
		font-size: 10.5px;
	}

	.woocommerce span.onsale.gb-badge-shape-medal::before,
	.woocommerce span.onsale.gb-badge-shape-medal::after,
	.woocommerce-page span.onsale.gb-badge-shape-medal::before,
	.woocommerce-page span.onsale.gb-badge-shape-medal::after {
		bottom: -24px;
		width: 20px;
		height: 38px;
	}

	.woocommerce span.onsale.gb-badge-shape-sticker,
	.woocommerce-page span.onsale.gb-badge-shape-sticker {
		width: 72px;
		min-height: 72px;
		height: 72px;
		font-size: 10px;
	}

	.woocommerce span.onsale.gb-badge-shape-shield,
	.woocommerce-page span.onsale.gb-badge-shape-shield {
		width: 72px;
		min-height: 80px;
		height: 80px;
		font-size: 9.5px;
	}

	.woocommerce span.onsale.gb-badge-shape-hexagon,
	.woocommerce-page span.onsale.gb-badge-shape-hexagon {
		width: 80px;
		min-height: 72px;
		height: 72px;
		font-size: 9.5px;
	}
}

.woocommerce div.product div.images {
	position: relative;
}

.woocommerce div.product span.onsale.gb-single-product-badge {
	top: 18px;
	left: 18px;
	z-index: 30;
}
