.wp-block-gp-counter-counter,
.gp-counter-block {
	--gp-counter-theme-primary: var(--accent, var(--wp--preset--color--primary, currentColor));
	--gp-counter-number-color: var(--gp-counter-theme-primary);
	--gp-counter-label-color: var(--gp-counter-theme-primary);
	--gp-counter-number-size: clamp(2.4rem, 5vw, 4.5rem);
	--gp-counter-label-size: 1rem;
	--gp-counter-gap: 0.65rem;
	--gp-counter-label-width: 24ch;
}

.gp-counter-block {
	width: 100%;
	box-sizing: border-box;
}

.wp-block-gp-counter-group,
.gp-counter-group {
	--gp-counter-group-columns: 3;
	--gp-counter-rotate-duration: 600ms;
	width: 100%;
	box-sizing: border-box;
}

.gp-counter-group__track {
	display: grid;
	grid-template-columns: repeat(var(--gp-counter-group-columns), minmax(0, 1fr));
	gap: inherit;
}

.gp-counter-group__track > * {
	min-width: 0;
}

.gp-counter {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--gp-counter-gap);
	text-align: inherit;
	color: inherit;
	font-family: inherit;
}

.gp-counter > * + * {
	margin-top: var(--gp-counter-gap);
}

.gp-counter-block.has-background .gp-counter {
	padding: 0;
}

.gp-counter-block.align-left,
.gp-counter-block.align-left .gp-counter {
	align-items: flex-start;
	text-align: left;
}

.gp-counter-block.align-center,
.gp-counter-block.align-center .gp-counter {
	align-items: center;
	text-align: center;
}

.gp-counter-block.align-right,
.gp-counter-block.align-right .gp-counter {
	align-items: flex-end;
	text-align: right;
}

.gp-counter__number {
	margin: 0;
	color: var(--gp-counter-number-color);
	font-size: var(--gp-counter-number-size);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.03em;
	display: inline-flex;
	align-items: baseline;
	gap: 0.04em;
	flex-wrap: wrap;
}

.gp-counter__number > * + * {
	margin-left: 0.04em;
}

.gp-counter__label {
	margin: 0;
	max-width: var(--gp-counter-label-width);
	color: var(--gp-counter-label-color);
	font-size: var(--gp-counter-label-size);
	line-height: 1.35;
	font-weight: 600;
}

.gp-counter__prefix,
.gp-counter__suffix,
.gp-counter__value {
	color: inherit;
	font: inherit;
	line-height: inherit;
}

.gp-counter-group.is-mobile-responsive .gp-counter-group__track {
	grid-template-columns: 1fr;
}

.gp-counter-group.is-mobile-slider {
	overflow: hidden;
}

.gp-counter-group.is-mobile-slider .gp-counter-group__track {
	display: flex;
	gap: 0;
	width: calc(var(--gp-counter-total-items, 1) * 100%);
	max-width: none;
	transition: transform var(--gp-counter-rotate-duration) ease;
	transform: translate3d(0, 0, 0);
	will-change: transform;
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.gp-counter-group.is-mobile-slider .gp-counter-group__track > * {
	box-sizing: border-box;
	flex: 0 0 calc(100% / var(--gp-counter-total-items, 1));
	max-width: calc(100% / var(--gp-counter-total-items, 1));
	width: calc(100% / var(--gp-counter-total-items, 1));
	min-width: calc(100% / var(--gp-counter-total-items, 1));
}

.gp-counter-group.is-mobile-fade {
	position: relative;
}

.gp-counter-group.is-mobile-fade .gp-counter-group__track {
	display: block;
	position: relative;
}

.gp-counter-group.is-mobile-fade .gp-counter-group__track > * {
	inset: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: translateY(10px);
	transition: opacity var(--gp-counter-rotate-duration) ease, transform var(--gp-counter-rotate-duration) ease;
	width: 100%;
}

.gp-counter-group.is-mobile-fade .gp-counter-group__track > *.is-active {
	opacity: 1;
	pointer-events: auto;
	position: relative;
	transform: translateY(0);
}

@media (max-width: 768px) {
	.gp-counter-block {
		--gp-counter-number-size: clamp(2.1rem, 10vw, 3.5rem);
		--gp-counter-label-size: 0.95rem;
	}
}
