.wp-block-trybes-donut-chart {
	--dc-ring-track: #e5e5e5;
	--dc-ring-fill: #000000;

	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	font-size: clamp(1rem, 3.2vw, 1.35rem);
	width: fit-content;
	max-width: 100%;
}
.wp-block-trybes-donut-chart.alignwide,
.wp-block-trybes-donut-chart.alignfull {
	width: auto;
}

.donut-chart__ring-wrap {
	position: relative;
	width: var(--dc-ring-size, clamp(160px, 42vw, 220px));
	max-width: 100%;
	aspect-ratio: 1;
}
.donut-chart__ring {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
}
.donut-chart__ring-track {
	stroke: var(--dc-ring-track);
	fill: none;
}
.donut-chart__ring-progress {
	stroke: var(--dc-ring-fill);
	fill: none;
	stroke-linecap: butt;
	transition: stroke-dashoffset 1.15s cubic-bezier(0.16, 0.8, 0.3, 1);
}
@media (prefers-reduced-motion: reduce) {
	.donut-chart__ring-progress {
		transition: none;
	}
}

.donut-chart__photo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 72%;
	aspect-ratio: 1;
	border-radius: 50%;
	overflow: hidden;
}
.donut-chart__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.donut-chart__counter {
	display: flex;
	align-items: baseline;
	justify-content: center;
	font-weight: 800;
	font-size: 2.4em;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
	line-height: 1;
	color: inherit;
}
.donut-chart__tile {
	position: relative;
	height: 1.05em;
	overflow: hidden;
	display: inline-block;
}
.donut-chart__reel {
	display: flex;
	flex-direction: column;
	transform: translateY(calc(var(--n, 0) * -1.05em));
	transition: transform 0.9s cubic-bezier(0.16, 0.9, 0.32, 1.05);
}
.donut-chart__reel span {
	height: 1.05em;
	line-height: 1.05em;
}
.donut-chart__sep {
	padding: 0 0.02em;
}
@media (prefers-reduced-motion: reduce) {
	.donut-chart__reel {
		transition: none;
	}
}

.donut-chart__label {
	font-weight: 700;
	font-size: 1.05em;
	margin: 0.6rem 0 0;
	max-width: 22ch;
	color: inherit;
}
