.wc-block-components-button:not(.is-link) {
	@include reset-typography();
	align-items: center;
	background-color: $black;
	color: $white;
	display: inline-flex;
	font-weight: bold;
	min-height: 3em;
	justify-content: center;
	line-height: 1;
	padding: 0 em($gap);
	text-align: center;
	text-decoration: none;
	text-transform: none;
	position: relative;

	&:disabled,
	&:hover,
	&:focus,
	&:active {
		background-color: $black;
		color: $white;
	}

	.wc-block-components-button__text {
		display: block;

		> svg {
			fill: currentColor;
		}
	}
	.wc-block-components-button__spinner {
		width: 1em;
		height: 1em;
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		height: 100%;
		margin-top: -0.5em;
		color: inherit;
		box-sizing: content-box;

		&::after {
			content: " ";
			display: inline-block;
			margin: 0 auto;
			width: 1em;
			height: 1em;
			box-sizing: border-box;
			transform-origin: 50% 50%;
			transform: translateZ(0) scale(0.5);
			backface-visibility: hidden;
			border-radius: 50%;
			border: 0.2em solid currentColor;
			border-left-color: transparent;
			animation: wc-block-components-button__spinner__animation 1s infinite linear;
		}
	}
	.wc-block-components-button__spinner + .wc-block-components-button__text {
		visibility: hidden;
	}
}

@keyframes wc-block-components-button__spinner__animation {
	0% {
		animation-timing-function: cubic-bezier(0.5856, 0.0703, 0.4143, 0.9297);
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
