.rsprk-rsc-outer {
	display: flex;
	width: 100%;
}

.rsprk-random-spin-counter.elementor-counter {
	display: inline-flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.32em;
	box-sizing: border-box;
	width: auto;
	padding: 10px 14px;
	border-radius: 8px;
	background: transparent;
	color: inherit;
	line-height: 1;
	will-change: transform;
}

.rsprk-random-spin-counter.elementor-counter.rsprk-label-before,
.rsprk-random-spin-counter.elementor-counter.rsprk-label-after,
.rsprk-random-spin-counter.elementor-counter.rsprk-label-hidden {
	flex-direction: row;
}

.rsprk-random-spin-counter.elementor-counter.rsprk-label-below {
	flex-direction: column;
	align-items: stretch;
	text-align: center;
}

.rsprk-random-spin-counter.rsprk-label-hidden .rsprk-counter-label {
	display: none;
}

.rsprk-random-spin-counter.elementor-counter .rsprk-counter-main.elementor-counter-number-wrapper {
	display: inline-flex;
	align-items: baseline;
	justify-content: center;
	flex: 1;
	gap: 0.08em;
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.rsprk-random-spin-counter.elementor-counter .rsprk-counter-number,
.rsprk-random-spin-counter.elementor-counter .rsprk-counter-prefix,
.rsprk-random-spin-counter.elementor-counter .rsprk-counter-suffix,
.rsprk-random-spin-counter.elementor-counter .rsprk-counter-label {
	display: inline-block;
	color: inherit;
	line-height: 1;
}

.rsprk-random-spin-counter.elementor-counter .rsprk-counter-number,
.rsprk-random-spin-counter.elementor-counter .rsprk-counter-prefix,
.rsprk-random-spin-counter.elementor-counter .rsprk-counter-suffix {
	font: inherit;
	letter-spacing: inherit;
	font-variant-numeric: tabular-nums;
	transform-origin: 50% 70%;
}

.rsprk-random-spin-counter.elementor-counter .rsprk-counter-prefix.elementor-counter-number-prefix {
	flex-grow: var(--counter-prefix-grow, 0);
	text-align: end;
	white-space: pre-wrap;
}

.rsprk-random-spin-counter.elementor-counter .rsprk-counter-suffix.elementor-counter-number-suffix {
	flex-grow: var(--counter-suffix-grow, 0);
	text-align: start;
	white-space: pre-wrap;
}

.rsprk-random-spin-counter.elementor-counter .rsprk-counter-number.elementor-counter-number {
	flex-grow: var(--counter-number-grow, 0);
}

.rsprk-random-spin-counter.elementor-counter .rsprk-counter-label {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -0.01em;
	opacity: 1;
}

.rsprk-random-spin-counter.elementor-counter .rsprk-counter-label.elementor-counter-title {
	align-items: center;
	display: flex;
	flex: 1;
	justify-content: center;
	margin: 0;
	padding: 0;
}

.rsprk-effect-spin-up.is-spinning .rsprk-counter-number {
	animation: rsprk-rsc-spin-up var(--rsprk-rsc-duration, 800ms) cubic-bezier(0.2, 0.8, 0.2, 1);
}

.rsprk-effect-pulse.is-spinning .rsprk-counter-number {
	animation: rsprk-rsc-pulse var(--rsprk-rsc-duration, 800ms) ease-out;
}

@keyframes rsprk-rsc-spin-up {
	0% {
		transform: translateY(0) scale(1);
		filter: blur(0);
		opacity: 1;
	}

	28% {
		transform: translateY(-0.2em) scale(1.015);
		filter: blur(1.1px);
		opacity: 0.78;
	}

	58% {
		transform: translateY(0.09em) scale(1.005);
		filter: blur(0.45px);
		opacity: 0.92;
	}

	100% {
		transform: translateY(0) scale(1);
		filter: blur(0);
		opacity: 1;
	}
}

@keyframes rsprk-rsc-pulse {
	0% {
		transform: scale(1);
	}

	45% {
		transform: scale(1.08);
	}

	100% {
		transform: scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.rsprk-effect-spin-up.is-spinning .rsprk-counter-number,
	.rsprk-effect-pulse.is-spinning .rsprk-counter-number {
		animation: none;
	}
}
