/* Barchasbino storefront styles. All selectors are intentionally namespaced. */
:where(.product, .wc-block-grid__product, .wc-block-product, .woocommerce-product-gallery, .woocommerce-product-gallery__wrapper, .woocommerce-loop-product__link, .wc-block-components-product-image) {
	position: relative;
}

.woo-badge-v2 {
	box-sizing: border-box;
	display: flex;
	position: absolute;
	z-index: var(--wb-z, 20);
	flex-direction: var(--wb-direction, column);
	flex-wrap: wrap;
	gap: var(--wb-gap, 6px);
	max-width: calc(100% - (var(--wb-x, 10px) * 2));
	margin: 0;
	padding: 0;
	pointer-events: none;
	transform: scale(var(--wb-scale, 1));
	transform-origin: top right;
	list-style: none;
}

.woo-badge-v2--pending { display: none; }
.woo-badge-v2--top-left { inset: var(--wb-y, 10px) auto auto var(--wb-x, 10px); transform-origin: top left; }
.woo-badge-v2--top-center { inset: var(--wb-y, 10px) auto auto 50%; transform: translateX(-50%) scale(var(--wb-scale, 1)); transform-origin: top center; }
.woo-badge-v2--top-right { inset: var(--wb-y, 10px) var(--wb-x, 10px) auto auto; transform-origin: top right; }
.woo-badge-v2--middle-left { inset: 50% auto auto var(--wb-x, 10px); transform: translateY(-50%) scale(var(--wb-scale, 1)); transform-origin: center left; }
.woo-badge-v2--middle-center { inset: 50% auto auto 50%; transform: translate(-50%, -50%) scale(var(--wb-scale, 1)); transform-origin: center; }
.woo-badge-v2--middle-right { inset: 50% var(--wb-x, 10px) auto auto; transform: translateY(-50%) scale(var(--wb-scale, 1)); transform-origin: center right; }
.woo-badge-v2--bottom-left { inset: auto auto var(--wb-y, 10px) var(--wb-x, 10px); transform-origin: bottom left; }
.woo-badge-v2--bottom-center { inset: auto auto var(--wb-y, 10px) 50%; transform: translateX(-50%) scale(var(--wb-scale, 1)); transform-origin: bottom center; }
.woo-badge-v2--bottom-right { inset: auto var(--wb-x, 10px) var(--wb-y, 10px) auto; transform-origin: bottom right; }

.woo-badge-v2 *, .woo-badge-v2 *::before, .woo-badge-v2 *::after { box-sizing: border-box; }

.woo-badge-v2__item {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	max-width: 100%;
	min-height: 28px;
	padding: var(--wb-py, 6px) var(--wb-px, 10px);
	border: 1px solid var(--wb-border, transparent);
	border-radius: var(--wb-radius, 999px);
	background: var(--wb-bg, #334155);
	color: var(--wb-color, #fff);
	font-family: inherit;
	font-size: var(--wb-font, 13px);
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	opacity: var(--wb-opacity, 1);
	box-shadow: var(--wb-shadow, 0 2px 8px rgba(15, 23, 42, .16));
	pointer-events: auto;
	white-space: nowrap;
	overflow: hidden;
}

.woo-badge-v2__item.is-round {
	width: max(38px, calc((var(--wb-py, 6px) * 2) + var(--wb-font, 13px)));
	height: max(38px, calc((var(--wb-py, 6px) * 2) + var(--wb-font, 13px)));
	padding: 4px;
	border-radius: 50%;
	aspect-ratio: 1;
}
.woo-badge-v2__item.is-round.has-countdown { width: auto; height: auto; min-width: 72px; min-height: 72px; padding: 8px; aspect-ratio: auto; }
.woo-badge-v2__item.is-round.has-countdown .woo-badge-v2__content { flex-direction: column; gap: .25em; }

.woo-badge-v2__item.is-square { border-radius: min(var(--wb-radius, 4px), 8px); }
.woo-badge-v2__item.is-ribbon { border-radius: min(var(--wb-radius, 4px), 8px) 0 0 min(var(--wb-radius, 4px), 8px); }
.woo-badge-v2__icon { margin-inline-end: .4em; font-size: 1em; }
.woo-badge-v2__icon:only-child { margin-inline-end: 0; }
.woo-badge-v2__text { overflow: hidden; max-width: 22ch; text-overflow: ellipsis; }
.woo-badge-v2__image { display: block; width: auto; max-width: 120px; height: auto; max-height: 80px; object-fit: contain; }
.woo-badge-v2__content { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; gap: .35em; max-width: 100%; }
.woo-badge-v2__background-image { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; opacity: .42; object-fit: cover; pointer-events: none; }
.woo-badge-v2__item.has-background-image { text-shadow: 0 1px 2px rgba(0,0,0,.4); }

.woo-badge-v2__countdown { display: inline-flex; direction: ltr; align-items: baseline; gap: .18em; padding-inline-start: .35em; font-variant-numeric: tabular-nums; }
.woo-badge-v2__countdown span { min-width: 2ch; font-weight: 800; }
.woo-badge-v2__countdown i { font-size: .68em; font-style: normal; font-weight: 500; opacity: .82; }
.woo-badge-v2__countdown b { font-weight: 500; opacity: .6; }
.woo-badge-v2__countdown.is-expired { direction: inherit; padding: 0; }
.woo-badge-v2__item.countdown-boxed .woo-badge-v2__countdown span { padding: .12em .28em; border-radius: .25em; background: rgba(0,0,0,.18); }
.woo-badge-v2__item.countdown-split .woo-badge-v2__countdown { margin-inline-start: .3em; padding: .3em .5em; border-inline-start: 1px solid currentColor; }
.woo-badge-v2__item.countdown-minimal .woo-badge-v2__countdown i { display: none; }
.woo-badge-v2__item.countdown-pill .woo-badge-v2__countdown { padding: .25em .55em; border-radius: 999px; background: rgba(255,255,255,.2); }
.woo-badge-v2__item.countdown-dark .woo-badge-v2__countdown { padding: .3em .5em; border-radius: .35em; background: #0f172a; color: #fff; }
.woo-badge-v2__item.countdown-light .woo-badge-v2__countdown { padding: .3em .5em; border-radius: .35em; background: #fff; color: #0f172a; }
.woo-badge-v2__item.countdown-accent .woo-badge-v2__countdown span { color: #fde047; font-size: 1.08em; }
.woo-badge-v2__item.countdown-stacked .woo-badge-v2__countdown { display: grid; grid-template-columns: repeat(7, auto); grid-template-rows: auto auto; align-items: center; }
.woo-badge-v2__item.countdown-stacked .woo-badge-v2__countdown span { grid-row: 1; }
.woo-badge-v2__item.countdown-stacked .woo-badge-v2__countdown i { grid-row: 2; text-align: center; }
.woo-badge-v2__item.countdown-stacked .woo-badge-v2__countdown b { grid-row: 1 / span 2; }
.woo-badge-v2__item.countdown-rtl-digits .woo-badge-v2__countdown { direction: rtl; }

.woo-badge-v2__item[data-tooltip] { position: relative; }
.woo-badge-v2__item[data-tooltip]::after {
	position: absolute;
	inset: auto 50% calc(100% + 8px) auto;
	z-index: 2;
	width: max-content;
	max-width: 240px;
	padding: 6px 9px;
	border-radius: 6px;
	background: #0f172a;
	color: #fff;
	content: attr(data-tooltip);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	opacity: 0;
	pointer-events: none;
	transform: translateX(50%) translateY(4px);
	transition: opacity .16s ease, transform .16s ease;
	white-space: normal;
}

.woo-badge-v2__item[data-tooltip]:hover::after,
.woo-badge-v2__item[data-tooltip]:focus-visible::after {
	opacity: 1;
	transform: translateX(50%) translateY(0);
}

.woo-badge-v2__item:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }

@media (min-width: 769px) and (max-width: 1024px) {
	.woo-badge-v2--hide-tablet { display: none; }
}

@media (max-width: 768px) {
	.woo-badge-v2 { --wb-gap: 4px; }
	.woo-badge-v2--hide-mobile { display: none; }
	.woo-badge-v2__item { min-height: 24px; font-size: min(var(--wb-font, 13px), 12px); }
	.woo-badge-v2__item.is-mobile-hidden { display: none; }
	.woo-badge-v2__item[data-tooltip]::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.woo-badge-v2__item[data-tooltip]::after { transition: none; }
}

@media print {
	.woo-badge-v2 { display: none !important; }
}

.woo-badge-v2-notice {
	margin: 16px 0;
	padding: 14px 16px;
	border-inline-start: 4px solid #7c3aed;
	border-radius: 8px;
	background: #f5f3ff;
	color: #4c1d95;
}

.woo-badge-v2-notice p { margin: 6px 0 0; }
