/**
 * MYKINGDOM demo — cart promotions (drawer countdown, milestone bar, terms).
 * Every selector is scoped under a `.mkd-promo*` root.
 *
 * @package mykingdom-demo
 */

/* Shortcode wrapper: no card, the drawer renders the parts unwrapped. */

.mkd-promo {
	color: #2c2d2e;
	margin: 0;
	text-align: left;
}

.mkd-promo--empty {
	display: none;
}

/* Countdown --------- live: white 14/700 on a full-bleed #006de5 bar, 28.2 tall */

.mkd-promo__countdown {
	align-items: center;
	background: #006de5;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	font-weight: 700;
	gap: 6px;
	justify-content: center;
	letter-spacing: 0.8px;
	line-height: 18.2px;
	margin: 0 -15px 6px;
	padding: 5px 15px;
	text-align: center;
}

.mkd-promo__countdown-label {
	font-weight: 700;
}

.mkd-promo__clock {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
}

.mkd-promo__countdown-over {
	display: none;
	font-weight: 700;
}

.mkd-promo__countdown.is-expired .mkd-promo__countdown-label,
.mkd-promo__countdown.is-expired .mkd-promo__clock {
	display: none;
}

.mkd-promo__countdown.is-expired .mkd-promo__countdown-over {
	display: inline;
}

/* Milestone bar ------- live: 14/600 hint, 7px rgba(44,45,46,.15) track radius 50 */

.mkd-promo__progress {
	margin: 3px 0;
	padding: 0 0 27px;
}

.mkd-promo__hint {
	color: rgba(44, 45, 46, 0.9);
	font-size: 14px;
	font-weight: 600;
	line-height: 18.2px;
	margin: 2.8px 0 8px;
	text-align: center;
}

.mkd-promo__hint .amount {
	color: #ff5f00;
	font-weight: 700;
}

.mkd-promo__track {
	background: rgba(44, 45, 46, 0.15);
	border-radius: 50px;
	height: 7px;
	margin: 0 20px;
	position: relative;
}

.mkd-promo__fill {
	background: #ff5f00;
	border-radius: 50px;
	display: block;
	height: 100%;
	transition: width 0.3s ease;
}

.mkd-promo__badge {
	align-items: center;
	background: #f4f0e6;
	border: 2px solid #ff5f00;
	border-radius: 50%;
	color: #ff5f00;
	display: flex;
	height: 24px;
	justify-content: center;
	left: var(--mkd-pos, 0%);
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 24px;
}

.mkd-promo__badge-icon {
	display: block;
	height: 14.4px;
	width: 14.4px;
}

.mkd-promo__badge-label {
	color: rgba(44, 45, 46, 0.9);
	font-size: 12px;
	font-weight: 700;
	left: 50%;
	line-height: 19.2px;
	position: absolute;
	top: 25px;
	transform: translateX(-50%);
	white-space: nowrap;
}

.mkd-promo__badge.is-locked {
	opacity: 0.35;
}

.mkd-promo__badge.is-locked .mkd-promo__badge-label {
	text-decoration: line-through;
}


.mkd-promo__terms-row {
	margin: 0 0 10px;
}

.mkd-promo__terms {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 8px;
	margin: 0;
}

.mkd-promo__terms input.mkd-terms {
	height: 12px;
	margin: 0;
	opacity: 0;
	position: absolute;
	width: 12px;
}

.mkd-promo__box {
	color: #2c2d2e;
	flex: 0 0 12px;
	height: 12px;
	width: 12px;
}

.mkd-promo__terms input.mkd-terms:checked ~ .mkd-promo__box--off,
.mkd-promo__terms input.mkd-terms:not(:checked) ~ .mkd-promo__box--on {
	display: none;
}

.mkd-promo__terms input.mkd-terms:checked ~ .mkd-promo__box--on {
	color: #ff5f00;
}

.mkd-promo__terms input.mkd-terms:focus-visible ~ .mkd-promo__box {
	outline: 2px solid #ff5f00;
	outline-offset: 2px;
}

.mkd-promo__terms-text {
	color: rgba(44, 45, 46, 0.9);
	font-size: 12px;
	font-weight: 400;
	line-height: 15.6px;
}

.mkd-promo__terms-text a {
	color: rgba(44, 45, 46, 0.9);
	text-decoration: underline;
}

.mkd-promo__terms-error {
	color: #ff5f00;
	display: block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 6px;
}

.mkd-promo__terms-error:empty {
	display: none;
}

@media (max-width: 549px) {
	.mkd-promo__badge-label {
		font-size: 11px;
	}
}
