/**
 * CartNexa Product Price Widget CSS
 * Isolated per-widget styling with luxury baby aesthetic
 */

.cn-product-price-wrapper {
	width: 100%;
	font-family: var(--cn-font-family, sans-serif);
	box-sizing: border-box;
}

.cn-price-container {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.cn-price-main {
	display: inline-flex;
	align-items: baseline;
	gap: 10px;
	font-size: 28px;
	font-weight: 800;
	line-height: 1.2;
}

/* Struck Regular Price */
.cn-price-regular {
	color: var(--cn-body, #667085);
	font-size: 20px;
	font-weight: 500;
	text-decoration: line-through;
	opacity: 0.75;
}

/* Sale & Current Price */
.cn-price-sale,
.cn-price-current {
	color: var(--cn-primary, #25C4C8);
	font-weight: 800;
	text-decoration: none;
}

.cn-price-sale bdi,
.cn-price-current bdi {
	color: inherit;
}

/* Discount Badge */
.cn-price-discount-badge {
	background-color: var(--cn-danger, #EF4444);
	color: #FFFFFF;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 50px;
	box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2);
	display: inline-block;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Tax Label */
.cn-price-tax-label {
	font-size: 12px;
	color: var(--cn-body, #667085);
	margin-top: 4px;
	font-weight: 500;
}

/* Dynamic Update Pulse Animation */
.cn-price-updated {
	animation: cnPricePulse 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes cnPricePulse {
	0% {
		opacity: 0.4;
		transform: scale(0.96);
	}
	50% {
		opacity: 1;
		transform: scale(1.04);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
