.xpdata-badge-overlay {
	position: absolute;
	top: 10px;
	left: 10px;
	right: 10px;
	z-index: 5;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	pointer-events: none;
}

.xpdata-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 12px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 11px;
	line-height: 1.4;
	white-space: nowrap;
	color: #ffffff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.xpdata-badge--instock {
	background: #1e9e4a;
}

.xpdata-badge--outofstock {
	background: #d63b3b;
}

.xpdata-badge--shipping {
	background: #2f6fed;
}

/* Selo circular da Grade, canto inferior direito da imagem */
.xpdata-grade-circle {
	position: absolute;
	bottom: 8px;
	right: 8px;
	z-index: 5;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	border: 2px dashed #0A957D;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 4px;
	pointer-events: none;
}

.xpdata-grade-circle span {
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	color: #0A957D;
	text-shadow: 0 0 3px #ffffff, 0 0 3px #ffffff, 0 0 5px #ffffff;
}

/* Esconde o texto "✅ Em stock / ❌ Esgotado" que já existia por baixo do título,
   porque agora essa informação já aparece no selo verde/vermelho por cima da imagem. */
.wc-block-components-product-stock-indicator {
	display: none !important;
}

/* Esconde o selo nativo "Promoção" do WooCommerce, para não aparecer por trás
   da nossa própria faixa de promoção. */
.wc-block-components-product-sale-badge {
	display: none !important;
}

/* Destaque para produtos em promoção */
.xpdata-promo-highlight {
	position: relative;
}

.xpdata-promo-ribbon {
	position: absolute;
	top: 10px;
	left: -6px;
	z-index: 6;
	background: #E2231A;
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 12px 4px 10px;
	border-radius: 0 4px 4px 0;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
	pointer-events: none;
}

.xpdata-promo-ribbon::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	border-left: 6px solid transparent;
	border-top: 5px solid #8f0f0a;
}

/* Alinha os botões todos ao mesmo nível, empurrando-os para o fundo do
   cartão, independentemente de o título ou o preço ocuparem mais ou menos
   linhas noutros produtos da mesma fila. */
li.product,
li.wc-block-product {
	display: flex !important;
	flex-direction: column !important;
}

.wp-block-group.flex.flex-column {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1;
}

.price-and-button,
.xpdata-price-and-button {
	margin-top: auto !important;
}

/* Deixa o preço e o botão passarem para linhas diferentes se não houver
   espaço suficiente lado a lado, em vez de espremer o botão. */
.price-and-button,
.xpdata-price-and-button {
	flex-wrap: wrap !important;
	row-gap: 8px;
}

/* Caso o esconder do texto venha do elemento pai (ex: overflow:hidden que só
   expande no hover), força esse pai a não cortar o conteúdo. */
*:has(> .xpdata-atc-text) {
	overflow: visible !important;
	max-width: none !important;
}

/* Esconde o link nativo "Ver carrinho" que aparece a seguir ao botão depois
   de adicionar — é redundante, já que o ícone do carrinho no topo da página
   já mostra a contagem atualizada. */
.added_to_cart.wc_forward {
	display: none !important;
}

.xpdata-atc-text {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: auto !important;
	min-width: max-content !important;
	max-width: none !important;
	flex: 0 0 auto !important;
	flex-shrink: 0 !important;
	box-sizing: border-box;
	padding: 8px 14px !important;
	background-color: #E2231A !important;
	background-image: none !important;
	color: #ffffff !important;
	opacity: 1 !important;
	border: none !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	text-align: center !important;
	text-indent: 0 !important;
	text-transform: none !important;
	white-space: nowrap !important;
	overflow: visible !important;
	transition: none !important;
	cursor: pointer;
}

.xpdata-atc-text:hover {
	background-color: #b81a13 !important;
	color: #ffffff !important;
	text-transform: none !important;
}

.xpdata-atc-text svg,
.xpdata-atc-text img {
	display: none !important;
}

/* Bloqueia qualquer ícone que o tema desenhe via CSS (::before/::after),
   em vez de um <svg>/<img> real dentro do botão. */
.xpdata-atc-text::before,
.xpdata-atc-text::after {
	content: none !important;
	display: none !important;
}
