.fgpb-boxes {
	width: 100%;
	clear: both;
}

.fgpb-boxes--archive {
	margin-top: 8px;
}

.fgpb-box {
	--fgpb-accent: #f28b80;
	--fgpb-bg: #fff9f8;
	--fgpb-border: #f3d6d1;
	--fgpb-text: #4f403c;
	--fgpb-muted: #8b736d;

	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 14px 0;
	padding: 14px 16px;
	background: var(--fgpb-bg);
	border: 1px solid var(--fgpb-border);
	border-radius: 16px;
	box-shadow: 0 4px 18px rgba(0, 0, 0, .035);
	color: var(--fgpb-text);
	box-sizing: border-box;
	clear: both;
}

.product-grid-item .fgpb-box,
.product-wrapper .fgpb-box,
.wd-product .fgpb-box {
	margin: 9px 0 0;
	padding: 10px 12px;
	border-radius: 14px;
	font-size: 13px;
	box-shadow: none;
}

.fgpb-box__label {
	position: absolute;
	top: -10px;
	left: 14px;
	padding: 4px 9px;
	border-radius: 999px;
	background: var(--fgpb-accent);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .02em;
}

.fgpb-box__media {
	flex: 0 0 54px;
	width: 54px;
	height: 54px;
	border-radius: 13px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.04);
}

.product-grid-item .fgpb-box__media,
.product-wrapper .fgpb-box__media,
.wd-product .fgpb-box__media {
	flex-basis: 46px;
	width: 46px;
	height: 46px;
	border-radius: 12px;
}

.fgpb-box__image {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	display: block;
}

.fgpb-box__content {
	min-width: 0;
	flex: 1;
}

.fgpb-box__title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.28;
	margin: 0 0 4px;
	color: var(--fgpb-text);
}

.fgpb-box__description {
	font-size: 13px;
	line-height: 1.45;
	color: var(--fgpb-muted);
	margin: 0;
}

.fgpb-box__description p {
	margin: 0;
}

.fgpb-box__note {
	margin-top: 5px;
	font-size: 12px;
	line-height: 1.35;
	color: var(--fgpb-muted);
	opacity: .9;
}

.product-grid-item .fgpb-box__title,
.product-wrapper .fgpb-box__title,
.wd-product .fgpb-box__title {
	font-size: 12px;
	line-height: 1.2;
	margin-bottom: 2px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.product-grid-item .fgpb-box__description,
.product-wrapper .fgpb-box__description,
.wd-product .fgpb-box__description {
	font-size: 11px;
	line-height: 1.25;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.product-grid-item .fgpb-box__note,
.product-wrapper .fgpb-box__note,
.wd-product .fgpb-box__note {
	display: none;
}

.fgpb-box--compact {
	padding: 10px 12px;
	gap: 10px;
}

.fgpb-box--compact .fgpb-box__media {
	width: 44px;
	height: 44px;
	flex-basis: 44px;
}

.fgpb-box--minimal {
	background: transparent;
	border: 1px dashed var(--fgpb-border);
	box-shadow: none;
	padding: 10px 12px;
}

.fgpb-box--minimal .fgpb-box__label {
	position: static;
	margin-right: 4px;
	flex: 0 0 auto;
}

@media (max-width: 767px) {
	.fgpb-box {
		margin: 10px 0;
		padding: 11px 12px;
		border-radius: 14px;
		gap: 10px;
	}

	.fgpb-box__media {
		width: 46px;
		height: 46px;
		flex-basis: 46px;
	}

	.fgpb-box__title {
		font-size: 13px;
	}

	.fgpb-box__description {
		font-size: 12px;
	}

	.fgpb-box__note {
		font-size: 11px;
	}
}


/* Archive overlay badge */
.product-grid-item,
.product-wrapper,
.wd-product,
.woocommerce-loop-product__link {
	position: relative;
}

.fgpb-archive-badges {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 20;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	pointer-events: none;
}

.fgpb-archive-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 5px 11px;
	border-radius: 999px;
	background: #f28b80;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .02em;
	box-shadow: 0 4px 12px rgba(242, 139, 128, .28);
	white-space: nowrap;
}

@media (max-width: 767px) {
	.fgpb-archive-badges {
		top: 8px;
		left: 9px;
	}

	.fgpb-archive-badge {
		min-height: 23px;
		padding: 4px 9px;
		font-size: 11px;
	}
}


/* Place our badges under Woodmart labels automatically */
.product-grid-item .product-labels + .fgpb-archive-badges,
.product-wrapper .product-labels + .fgpb-archive-badges,
.wd-product .product-labels + .fgpb-archive-badges,
.product-grid-item .wd-product-labels + .fgpb-archive-badges,
.product-wrapper .wd-product-labels + .fgpb-archive-badges,
.wd-product .wd-product-labels + .fgpb-archive-badges {
	margin-top: 42px;
}

@media (max-width: 767px) {
	.product-grid-item .product-labels + .fgpb-archive-badges,
	.product-wrapper .product-labels + .fgpb-archive-badges,
	.wd-product .product-labels + .fgpb-archive-badges,
	.product-grid-item .wd-product-labels + .fgpb-archive-badges,
	.product-wrapper .wd-product-labels + .fgpb-archive-badges,
	.wd-product .wd-product-labels + .fgpb-archive-badges {
		margin-top: 36px;
	}
}


/* v0.4.2: dynamic safe positioning under Woodmart product labels */
.fgpb-archive-badges {
	top: var(--fgpb-badge-top, 12px) !important;
	left: var(--fgpb-badge-left, 12px) !important;
	z-index: 18 !important;
}

.fgpb-has-dynamic-badge-space .fgpb-archive-badges {
	top: var(--fgpb-badge-top, 12px) !important;
}

@media (max-width: 767px) {
	.fgpb-archive-badges {
		top: var(--fgpb-badge-top-mobile, var(--fgpb-badge-top, 10px)) !important;
		left: var(--fgpb-badge-left, 10px) !important;
	}
}


/* v0.4.3: tighter anchoring directly under Woodmart badge */
.fgpb-archive-badges {
	top: var(--fgpb-badge-top, 12px) !important;
	left: var(--fgpb-badge-left, 12px) !important;
}

.product-grid-item .product-labels + .fgpb-archive-badges,
.product-wrapper .product-labels + .fgpb-archive-badges,
.wd-product .product-labels + .fgpb-archive-badges,
.product-grid-item .wd-product-labels + .fgpb-archive-badges,
.product-wrapper .wd-product-labels + .fgpb-archive-badges,
.wd-product .wd-product-labels + .fgpb-archive-badges {
	margin-top: 0 !important;
}

@media (max-width: 767px) {
	.fgpb-archive-badges {
		top: var(--fgpb-badge-top-mobile, var(--fgpb-badge-top, 10px)) !important;
		left: var(--fgpb-badge-left, 10px) !important;
	}
}


/* v0.4.4: stable Woodmart label stacking */
.fgpb-archive-badges--inside-labels {
	position: static !important;
	top: auto !important;
	left: auto !important;
	z-index: auto !important;
	margin-top: 5px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 5px !important;
	pointer-events: none !important;
}

.product-labels .fgpb-archive-badge,
.wd-product-labels .fgpb-archive-badge {
	display: inline-flex !important;
	width: auto !important;
	max-width: max-content !important;
	min-height: 26px !important;
	padding: 5px 11px !important;
	border-radius: 999px !important;
	background: #f28b80 !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: .02em !important;
	box-shadow: 0 4px 12px rgba(242, 139, 128, .28) !important;
	white-space: nowrap !important;
}

.product-labels,
.wd-product-labels {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
}

@media (max-width: 767px) {
	.fgpb-archive-badges--inside-labels {
		margin-top: 4px !important;
	}

	.product-labels .fgpb-archive-badge,
	.wd-product-labels .fgpb-archive-badge {
		min-height: 23px !important;
		padding: 4px 9px !important;
		font-size: 11px !important;
	}
}


/* v0.4.5: multiple gift boxes on single product page */
.fgpb-boxes--single .fgpb-box + .fgpb-box {
	margin-top: 12px;
}

.fgpb-boxes--single .fgpb-box {
	animation: none;
}


/* v0.5.0: cart free gift label */
.fgpb-cart-gift-label {
	display: inline-flex;
	align-items: center;
	margin-top: 4px;
	padding: 3px 8px;
	border-radius: 999px;
	background: #fff1ef;
	color: #b35f55;
	font-weight: 700;
	font-size: 12px;
}

.fgpb-cart-gift-qty {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	min-height: 28px;
	border-radius: 999px;
	background: #fff1ef;
	color: #b35f55;
	font-weight: 700;
}
