.stepper {
	display: inline-flex;
	align-items: center;
	width: -moz-fit-content;
	width: fit-content;
	border: var(--component-border-width-md) solid var(--stroke-subtle);
	border-radius: var(--component-radii-md);
}

.button {
	align-items: center;
	border: none;
	cursor: pointer;
	display: inline-flex;
	flex-grow: 0;
	flex-shrink: 0;
	justify-content: center;
	text-align: center;
	vertical-align: baseline;
	white-space: nowrap;
	transition-property: background-color, stroke-color, color;
	transition-duration: 150ms;
	transition-timing-function: ease;
	position: relative;
}

.button.right {
	border-top-right-radius: var(--component-radii-md);
	border-bottom-right-radius: var(--component-radii-md);
}

.button.left {
	border-top-left-radius: var(--component-radii-md);
	border-bottom-left-radius: var(--component-radii-md);
}

.button:focus-visible {
	box-shadow: inset var(--shadows-focus);
	outline: none;
	z-index: 1;
}

.stepper.disabled {
	pointer-events: none;
	opacity: 0.5;
}

.button:disabled {
	pointer-events: none;
	opacity: 0.5;
}

/* .button-disabled {
	pointer-events: none;
	opacity: 0.5;
} */

.value {
	align-items: center;
	display: flex;
	justify-content: center;
	text-align: center;
	font: var(--font-label-sm);
	white-space: nowrap;
	min-width: 0;
	flex-grow: 1;
	flex-shrink: 1;
	padding: 0 var(--component-spacing-xs);
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	font-feature-settings: "tnum" !important;
	font-variant-numeric: tabular-nums !important;
}

/* Size variants */

.size-small .button {
	width: var(--size-control-small);
	height: var(--size-control-small);
	font: var(--font-label-xs);
}

.size-small .value {
	font: var(--font-label-xs);
	min-height: var(--size-control-small);
}

.size-medium .button {
	width: var(--size-control-medium);
	height: var(--size-control-medium);
	font: var(--font-label-sm);
}

.size-medium .value {
	font: var(--font-label-sm);
	min-height: var(--size-control-medium);
}

.size-large .button {
	width: var(--size-control-large);
	height: var(--size-control-large);
	font: var(--font-label-md);
}

.size-large .value {
	font: var(--font-label-md);
	min-height: var(--size-control-large);
}
