*,
*::before,
*::after {
	box-sizing: border-box;
}

:host {
	display: block;
}

.stats {
	padding-block: var(--g-spacing-3xl);
	background: var(--g-color-background-subtle);
}

.stats__title {
	margin: 0 0 var(--g-spacing-xl);
	font: var(--g-typography-h3-font);
	text-align: center;
	color: var(--g-color-content-default);
}

.stats__grid {
	display: grid;
	grid-template-columns: repeat(var(--columns, 4), 1fr);
	gap: var(--g-spacing-xl);
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
}

@media (max-width: 640px) {
	.stats__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.stats__item {
	display: flex;
	flex-direction: column;
	gap: var(--g-spacing-xs);
}

.stats__value {
	font: var(--g-typography-h2);
	white-space: nowrap;
	line-height: 1;
	color: var(--g-color-content-primary, #7c3aed);
}

.stats__label {
    font: var(--g-typography-h5-font);
	color: var(--g-color-content-default);
}

.stats__context {
	font: var(--g-typography-body-sm-font);
	color: var(--g-color-content-subtle);
}
