.fpb-product-badges {
	--fpb-badge-gap: 8px;
	z-index: 4;
	display: none;
	position: absolute;
	inset: 0;
}

.fpb-product-badges.is-active {
	display: block;
}

.woocommerce-loop-product__link:has(.fpb-product-badges),
.wc-block-grid__product-image > a:has(.fpb-product-badges),
.product_item_link:has(.fpb-product-badges),
.woocommerce-loop-product__link:has(.fpb-product-notice-bar),
.wc-block-grid__product-image > a:has(.fpb-product-notice-bar),
.product_item_link:has(.fpb-product-notice-bar),
.product_image:has(.fpb-product-badges),
.woocommerce-product-gallery__image:has(.fpb-product-badges),
.woocommerce-product-gallery:has(.fpb-product-badges),
.product_image:has(.fpb-product-notice-bar),
.woocommerce-product-gallery__image:has(.fpb-product-notice-bar),
.woocommerce-product-gallery:has(.fpb-product-notice-bar) {
	position: relative;
}

.fpb-product-badges__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 4;
}

.fpb-product-badges__stack {
	position: absolute;
	display: flex;
	flex-direction: column;
	gap: var(--fpb-badge-gap);
	max-width: calc(100% - 20px);
}

.fpb-product-badges__stack--image_top_left {
	top: 0;
	left: 0;
	align-items: flex-start;
}

.fpb-product-badges__stack--image_top_right {
	top: 0;
	right: 0;
	align-items: flex-end;
}

.fpb-product-badges__below {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fpb-badge-gap);
	margin-top: 10px;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
}

.fpb-product-badges__below.is-in-content {
	display: none;
	position: static;
	inset: auto;
	margin: 8px 0 12px;
	align-items: flex-start;
	justify-content: flex-start;
	width: 100%;
}

.fpb-product-badges__below.is-in-content.is-active {
	display: flex;
}

.fpb-badge-wrap {
	display: inline-flex;
	max-width: 100%;
}

.fpb-product-badges__stack--image_top_left .fpb-badge-wrap {
	margin-top: var(--fpb-top-offset, 10px);
	margin-left: var(--fpb-side-offset, 10px);
}

.fpb-product-badges__stack--image_top_right .fpb-badge-wrap {
	margin-top: var(--fpb-top-offset, 10px);
	margin-right: var(--fpb-side-offset, 10px);
}

.fpb-badge-wrap[data-shadow="soft"] {
	filter: drop-shadow(0 3px 8px rgba(18, 28, 58, 0.18));
}

.fpb-product-notice-bar {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 4;
	pointer-events: none;
}

.fpb-product-notice-bar.is-active {
	display: block;
}

.fpb-product-notice-bar__inner {
	align-items: center;
	background: rgba(248, 250, 253, 0.78);
	border-top: 1px solid rgba(72, 89, 122, 0.08);
	color: #4b5872;
	display: flex;
	justify-content: center;
	min-height: 20px;
	padding: 4px 12px;
	text-align: center;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.fpb-product-notice-bar__label {
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.015em;
	line-height: 1.2;
}

.fpb-badge {
	--fpb-badge-bg: linear-gradient(135deg, #2a63ff, #4b99ff);
	--fpb-badge-color: #ffffff;
	--fpb-badge-gap-local: 6px;
	--fpb-badge-icon-size: 14px;
	align-items: center;
	background: var(--fpb-badge-bg);
	border-radius: 999px;
	color: var(--fpb-badge-color);
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	gap: var(--fpb-badge-gap-local);
	line-height: 1;
	max-width: 100%;
	padding: 9px 12px;
	position: relative;
	text-decoration: none;
	white-space: nowrap;
}

.fpb-badge[data-opacity="90"] {
	opacity: 0.9;
}

.fpb-badge[data-opacity="80"] {
	opacity: 0.8;
}

.fpb-badge[data-icon-size="small"] {
	--fpb-badge-icon-size: 12px;
}

.fpb-badge[data-icon-size="large"] {
	--fpb-badge-icon-size: 16px;
}

.fpb-badge[data-icon-spacing="tight"] {
	--fpb-badge-gap-local: 4px;
}

.fpb-badge[data-icon-spacing="airy"] {
	--fpb-badge-gap-local: 8px;
}

.fpb-badge__label {
	display: inline-block;
	line-height: 1;
	position: relative;
	z-index: 1;
}

.fpb-badge__icon {
	display: block;
	flex: 0 0 auto;
	height: var(--fpb-badge-icon-size);
	position: relative;
	top: -0.5px;
	width: var(--fpb-badge-icon-size);
	z-index: 1;
}

.fpb-badge__icon * {
	fill: currentColor !important;
	stroke: currentColor !important;
}

.fpb-badge__image {
	display: block;
	height: auto;
	max-height: 22px;
	max-width: 140px;
}

.fpb-badge--compact {
	font-size: 10px;
	padding: 7px 10px;
	--fpb-badge-icon-size: 12px;
	--fpb-badge-gap-local: 5px;
}

.fpb-badge--large {
	font-size: 13px;
	padding: 10px 14px;
	--fpb-badge-icon-size: 15px;
	--fpb-badge-gap-local: 7px;
}

.fpb-badge--soft-square {
	border-radius: 0;
}

.fpb-badge--banner {
	border-radius: 8px;
	justify-content: center;
	letter-spacing: 0.01em;
	min-width: 116px;
	padding-inline: 16px;
}

.fpb-badge--tag {
	border-radius: 0;
	clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 50%, 100% 100%, 0 100%);
	min-width: max-content;
	padding: 8px 22px 8px 12px;
}

.fpb-badge--tag[data-placement="image_top_right"] {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 12px 50%);
	padding: 8px 12px 8px 22px;
}

.fpb-badge--notched-tag {
	border-radius: 0;
	clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
	min-width: max-content;
	padding: 8px 30px 8px 14px;
}

.fpb-badge--notched-tag[data-placement="image_top_right"] {
	clip-path: polygon(0 50%, 16px 0, 100% 0, 100% 100%, 16px 100%);
	padding: 8px 14px 8px 30px;
}

.fpb-badge--notched-tag::after {
	background: rgba(255, 255, 255, 0.94);
	border-radius: 999px;
	content: "";
	height: 5px;
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 5px;
}

.fpb-badge--notched-tag[data-placement="image_top_right"]::after {
	left: 8px;
	right: auto;
}

.fpb-badge[data-tone="theme-accent"] {
	--fpb-badge-bg: linear-gradient(135deg, var(--global-palette1, #2a63ff), var(--global-palette2, #7b2ff7));
}

.fpb-badge[data-tone="sky"] {
	--fpb-badge-bg: linear-gradient(135deg, #2a63ff, #4b99ff);
}

.fpb-badge[data-tone="mint"] {
	--fpb-badge-bg: linear-gradient(135deg, #12d3ab, #00c6ff);
}

.fpb-badge[data-tone="peach"] {
	--fpb-badge-bg: linear-gradient(135deg, #ff996b, #ff6f91);
}

.fpb-badge[data-tone="rose"] {
	--fpb-badge-bg: linear-gradient(135deg, #f45ad6, #ff8ca8);
}

.fpb-badge[data-tone="ink"] {
	--fpb-badge-bg: linear-gradient(135deg, #24324f, #18233d);
}

.fpb-badge[data-tone="dark"] {
	--fpb-badge-bg: linear-gradient(135deg, #2d364d, #121927);
}

.fpb-badge[data-tone="light"] {
	--fpb-badge-bg: linear-gradient(135deg, #ffffff, #eef4ff);
	--fpb-badge-color: #18233d;
}

.fpb-badge[data-tone="light"].fpb-badge--notched-tag::after {
	background: rgba(24, 35, 61, 0.7);
}

.fpb-product-badges--archive {
	--fpb-badge-gap: 6px;
}

.fpb-product-badges--archive .fpb-product-badges__stack {
	max-width: calc(100% - 12px);
}

.fpb-product-badges--archive .fpb-badge {
	font-size: 11px;
	padding: 8px 11px;
}

.fpb-product-badges--archive .fpb-badge--compact {
	font-size: 10px;
	padding: 6px 9px;
}

.fpb-product-badges--archive .fpb-badge--large {
	font-size: 12px;
	padding: 9px 12px;
}

.fpb-product-badges--archive .fpb-badge--banner {
	min-width: 104px;
	padding-inline: 14px;
}

.fpb-product-badges--archive .fpb-badge--tag {
	padding: 7px 20px 7px 11px;
}

.fpb-product-badges--archive .fpb-badge--tag[data-placement="image_top_right"] {
	padding: 7px 11px 7px 20px;
}

.fpb-product-badges--archive .fpb-badge--notched-tag {
	padding: 7px 26px 7px 12px;
}

.fpb-product-badges--archive .fpb-badge--notched-tag[data-placement="image_top_right"] {
	padding: 7px 12px 7px 26px;
}

@media (max-width: 782px) {
	.fpb-badge {
		font-size: 11px;
	}

	.fpb-product-notice-bar__inner {
		min-height: 19px;
		padding: 4px 9px;
	}
}

body.dark-mode .fpb-product-notice-bar__inner,
body.kt-theme-dark .fpb-product-notice-bar__inner,
body[data-theme="dark"] .fpb-product-notice-bar__inner,
html[data-theme="dark"] .fpb-product-notice-bar__inner {
	background: rgba(24, 31, 46, 0.76);
	border-top-color: rgba(255, 255, 255, 0.06);
	color: rgba(241, 245, 255, 0.94);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
