/* DG Discount Badge — frontend */

.dg-discount-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .3em;
	background: var(--dg-db-bg, #5da457);
	color: var(--dg-db-color, #fff);
	font-size: var(--dg-db-font-size, 16px);
	font-weight: var(--dg-db-font-weight, 400);
	text-transform: var(--dg-db-transform, none);
	line-height: 1;
	padding: var(--dg-db-pad-y, 5px) var(--dg-db-pad-x, 10px);
	border-radius: var(--dg-db-radius, 999px);
	border: var(--dg-db-border-width, 0) solid var(--dg-db-border-color, transparent);
	white-space: nowrap;
	position: relative;
	overflow: hidden;
	vertical-align: middle;
	box-sizing: border-box;
}

.dg-discount-badge--shadow {
	box-shadow: 0 2px 6px rgba(0, 0, 0, .18);
}

/* Destacado para descuentos altos */
.dg-discount-badge--hot {
	background: var(--dg-db-hot-bg, #d63638);
	color: var(--dg-db-hot-color, #fff);
}

/* Animaciones */
.dg-discount-badge--anim-pulse {
	animation: dg-db-pulse 2s ease-in-out infinite;
}

@keyframes dg-db-pulse {
	0%, 100% { transform: scale(1); }
	50%      { transform: scale(1.07); }
}

.dg-discount-badge--anim-shine::after {
	content: "";
	position: absolute;
	top: 0;
	left: -60%;
	width: 40%;
	height: 100%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent);
	transform: skewX(-20deg);
	animation: dg-db-shine 3s ease-in-out infinite;
}

@keyframes dg-db-shine {
	0%   { left: -60%; }
	40%  { left: 130%; }
	100% { left: 130%; }
}

@media (prefers-reduced-motion: reduce) {
	.dg-discount-badge--anim-pulse,
	.dg-discount-badge--anim-shine::after {
		animation: none;
	}
}

/* Ubicaciones automáticas */
.dg-db-wrap {
	margin: .4em 0;
	line-height: 1;
}

.woocommerce ul.products li.product.dg-db-has-overlay,
ul.products li.product.dg-db-has-overlay {
	position: relative;
}

.dg-db-overlay {
	position: absolute;
	z-index: 5;
	line-height: 1;
	pointer-events: none;
}

.dg-db-overlay--top-left     { top: var(--dg-db-offset, 10px); left: var(--dg-db-offset, 10px); }
.dg-db-overlay--top-right    { top: var(--dg-db-offset, 10px); right: var(--dg-db-offset, 10px); }
.dg-db-overlay--bottom-left  { bottom: var(--dg-db-offset, 10px); left: var(--dg-db-offset, 10px); }
.dg-db-overlay--bottom-right { bottom: var(--dg-db-offset, 10px); right: var(--dg-db-offset, 10px); }

/* Reemplazo del "¡Oferta!" nativo: se neutraliza el estilo del tema y queda solo el badge */
.woocommerce span.onsale.dg-db-onsale,
span.onsale.dg-db-onsale {
	background: none;
	padding: 0;
	margin: 0;
	min-width: 0;
	min-height: 0;
	width: auto;
	height: auto;
	line-height: 1;
	border-radius: 0;
	box-shadow: none;
	border: 0;
}

/* Widget de Elementor */
.dg-db-elementor {
	line-height: 1;
}

/* Widget flotante (Posición → Flotante sobre el contenedor) */
.elementor-widget.dg-db-float-yes {
	position: absolute;
	width: auto;
	max-width: none;
	margin: 0;
	z-index: 5;
}

.elementor-widget.dg-db-float-yes.dg-db-corner-top-left     { top: var(--dg-db-el-offset, 10px); left: var(--dg-db-el-offset, 10px); }
.elementor-widget.dg-db-float-yes.dg-db-corner-top-right    { top: var(--dg-db-el-offset, 10px); right: var(--dg-db-el-offset, 10px); }
.elementor-widget.dg-db-float-yes.dg-db-corner-bottom-left  { bottom: var(--dg-db-el-offset, 10px); left: var(--dg-db-el-offset, 10px); }
.elementor-widget.dg-db-float-yes.dg-db-corner-bottom-right { bottom: var(--dg-db-el-offset, 10px); right: var(--dg-db-el-offset, 10px); }
