/* Countdown — .espt-block-countdown (vars: --size --gap --digit-color --box-color) */
.espt-block-countdown .espt-cd { text-align: center; }
.espt-block-countdown.is-text-align-left .espt-cd { text-align: left; }
.espt-block-countdown.is-text-align-right .espt-cd { text-align: right; }

.espt-block-countdown .espt-cd-title {
	color: var(--bd-ink);
	font-size: calc(var(--size, 28px) * 0.5);
	font-weight: 800;
	margin: 0 0 12px;
}

.espt-block-countdown .espt-cd-units {
	align-items: stretch;
	display: inline-flex;
	flex-wrap: wrap;
	gap: var(--gap, 10px);
	justify-content: center;
	max-width: 100%;
}

.espt-block-countdown .espt-cd-unit {
	align-items: center;
	background: var(--box-color, var(--bd-deep));
	border-radius: calc(var(--bd-radius) * 0.7);
	color: var(--digit-color, #fff);
	display: flex;
	flex-direction: column;
	gap: 2px;
	justify-content: center;
	min-width: calc(var(--size, 28px) * 2.1);
	padding: calc(var(--size, 28px) * 0.35) calc(var(--size, 28px) * 0.3);
	position: relative;
}

.espt-block-countdown .espt-cd-num {
	font-size: var(--size, 28px);
	font-variant-numeric: tabular-nums;
	font-weight: 800;
	line-height: 1;
	transition: transform 0.2s ease;
}

.espt-block-countdown .espt-cd-num.is-tick { animation: espt-cd-tick 0.35s ease; }
@keyframes espt-cd-tick { 0% { transform: translateY(-4px); opacity: 0.4; } 100% { transform: none; opacity: 1; } }

.espt-block-countdown .espt-cd-label {
	font-size: calc(var(--size, 28px) * 0.36);
	letter-spacing: 0.04em;
	opacity: 0.8;
	text-transform: uppercase;
}

.espt-block-countdown .espt-cd-sep {
	align-self: center;
	color: var(--bd-ink);
	display: none;
	font-size: var(--size, 28px);
	font-weight: 800;
	line-height: 1;
}

.espt-block-countdown.is-separator .espt-cd-sep { display: inline; }

.espt-block-countdown .espt-cd-msg {
	color: var(--bd-danger);
	font-size: calc(var(--size, 28px) * 0.5);
	font-weight: 800;
	padding: 12px 0;
}

.espt-block-countdown .espt-cd.is-urgent .espt-cd-unit { animation: espt-cd-pulse 1s ease-in-out infinite; background: var(--bd-danger); }
@keyframes espt-cd-pulse { 0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--bd-danger) 45%, transparent); } 50% { box-shadow: 0 0 0 8px transparent; } }

/* templates */
.espt-block-countdown.is-template-flip .espt-cd-unit { background: linear-gradient(180deg, var(--box-color, var(--bd-deep)) 50%, color-mix(in srgb, var(--box-color, var(--bd-deep)) 80%, #000) 50%); }
.espt-block-countdown.is-template-flip .espt-cd-unit::after { border-top: 1px solid rgba(255, 255, 255, 0.25); content: ""; left: 0; position: absolute; right: 0; top: 50%; }
.espt-block-countdown.is-template-pill .espt-cd-units { background: var(--bd-soft); border-radius: 999px; display: inline-flex; padding: 8px 14px; }
.espt-block-countdown.is-template-pill .espt-cd-unit { background: transparent; color: var(--digit-color, var(--bd-primary)); min-width: auto; padding: 4px 8px; }
.espt-block-countdown.is-template-pill .espt-cd-label { color: var(--bd-muted); opacity: 1; }
.espt-block-countdown.is-template-minimal .espt-cd-unit { background: transparent; color: var(--digit-color, var(--bd-ink)); padding: 0 6px; min-width: auto; }
.espt-block-countdown.is-template-minimal .espt-cd-label { color: var(--bd-muted); }
.espt-block-countdown.is-template-neon .espt-cd-unit { background: #0b1020; border: 1px solid color-mix(in srgb, var(--bd-primary) 50%, transparent); box-shadow: 0 0 18px color-mix(in srgb, var(--bd-primary) 35%, transparent), inset 0 0 12px color-mix(in srgb, var(--bd-primary) 15%, transparent); color: var(--digit-color, var(--bd-accent)); text-shadow: 0 0 10px currentColor; }
.espt-block-countdown.is-template-ring .espt-cd-unit { background: transparent; color: var(--digit-color, var(--bd-ink)); height: calc(var(--size, 28px) * 3); min-width: calc(var(--size, 28px) * 3); padding: 0; width: calc(var(--size, 28px) * 3); }
.espt-block-countdown.is-template-ring .espt-cd-ring { inset: 0; position: absolute; transform: rotate(-90deg); }
.espt-block-countdown.is-template-ring .espt-cd-ring circle { fill: none; stroke-width: 2.5; }
.espt-block-countdown.is-template-ring .espt-cd-ring-bg { stroke: var(--bd-line); }
.espt-block-countdown.is-template-ring .espt-cd-ring-fg { stroke: var(--bd-primary); stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--pct, 100)); stroke-linecap: round; transition: stroke-dashoffset 0.5s linear; }
.espt-block-countdown.is-template-ring .espt-cd-num { font-size: calc(var(--size, 28px) * 0.8); }
.espt-block-countdown.is-template-ring .espt-cd-label { color: var(--bd-muted); font-size: calc(var(--size, 28px) * 0.3); }

@media (max-width: 479.98px) {
	.espt-block-countdown .espt-cd-unit { min-width: calc(var(--size, 28px) * 1.9); }
}

@media (prefers-reduced-motion: reduce) {
	.espt-block-countdown .espt-cd-num.is-tick, .espt-block-countdown .espt-cd.is-urgent .espt-cd-unit { animation: none; }
}
