.custom-button {
	display: flex;
	margin-bottom: var(--space-2);
}

.custom-button.align-left {
	justify-content: flex-start;
}

.custom-button.align-center {
	justify-content: center;
}

.custom-button.align-right {
	justify-content: flex-end;
}

.custom-button .button-link {
	--accent-color: var(--orange);
	display: inline-block;
	padding: 8px 11px 6px;
	font-weight: 700;
	font-size: var(--text-lg);
	letter-spacing: 0.045em;
	line-height: 1;
	border: 2px solid var(--accent-color);
	position: relative;
	margin-left: var(--space-3);
	text-transform: uppercase;
	transition: color var(--transition-appendix-2), border-color var(--transition-appendix-2);
}
.custom-button .button-link:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	translate: -100%;
	height: 100%;
	width: 12px;
	pointer-events: none;
	background-color: var(--accent-color);
	border-radius: 6px 0px 0px 6px;
	box-shadow: 0px -2px 0px 0px var(--accent-color), 0px 2px 0px 0px var(--accent-color);
}
.custom-button .button-link:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0%;
	pointer-events: none;
	background-color: var(--sw-button-primary-bg-hover);
	z-index: -1;
	transition: width var(--transition-appendix-2);
}

.custom-button[data-style='alternate'] .button-link {
	--accent-color: var(--blue-chapel-2);
	background-color: var(--sw-button-secondary-bg);
	color: var(--sw-button-secondary-color);

	&:after {
		background-color: var(--sw-button-secondary-bg-hover);
	}
}

@media (hover: hover) {
	.custom-button .button-link:hover:after {
		width: 100%;
	}
	.custom-button .button-link:hover {
		background-color: transparent;
		color: var(--sw-button-primary-color-hover);
		border-color: var(--sw-button-primary-bg-hover);
	}

	.custom-button[data-style='alternate'] .button-link:hover {
		color: var(--sw-button-secondary-color-hover);
		border-color: var(--sw-button-secondary-bg-hover);
	}
}

.custom-button .button-link:focus-visible {
	outline: var(--sw-focus-color) solid 1px;
	outline-offset: 2px;
}

@media (min-width: 64em) {
	.custom-button .button-link {
		font-size: var(--text-xl);
		padding-block: 12px 9px;
	}
}
