.flacsan-counter {
	--flacsan-counter-color: #1a1a1a;
	--flacsan-counter-size: 3rem;
	--flacsan-counter-weight: 700;
	--flacsan-counter-unit-size: 1.5rem;
	--flacsan-counter-unit-color: inherit;
	--flacsan-counter-title-size: 1rem;
	--flacsan-counter-title-color: #555555;
	--flacsan-counter-gap: 0.15em;

	display: flex;
	flex-direction: column;
	font-family: inherit;
}

.flacsan-counter--left {
	align-items: flex-start;
	text-align: left;
}

.flacsan-counter--center {
	align-items: center;
	text-align: center;
}

.flacsan-counter--right {
	align-items: flex-end;
	text-align: right;
}

.flacsan-counter__value {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: var(--flacsan-counter-gap);
	color: var(--flacsan-counter-color);
	line-height: 1;
}

.flacsan-counter--left .flacsan-counter__value {
	justify-content: flex-start;
}

.flacsan-counter--center .flacsan-counter__value {
	justify-content: center;
}

.flacsan-counter--right .flacsan-counter__value {
	justify-content: flex-end;
}

.flacsan-counter__number {
	font-size: var(--flacsan-counter-size);
	font-weight: var(--flacsan-counter-weight);
	font-variant-numeric: tabular-nums;
}

.flacsan-counter__before,
.flacsan-counter__after,
.flacsan-counter__prefix,
.flacsan-counter__suffix {
	font-size: var(--flacsan-counter-unit-size);
	color: var(--flacsan-counter-unit-color);
	font-weight: 500;
}

.flacsan-counter__title {
	margin-top: 0.5rem;
	font-size: var(--flacsan-counter-title-size);
	color: var(--flacsan-counter-title-color);
}
