.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[data-style="alternate"] .button-link {
	background-color: var(--sw-button-secondary-bg);
	color: var(--sw-button-secondary-color);
}

.custom-button .button-link {
	display: inline-block;
	padding: 10px 17px;
	font-size: var(--text-base);
	font-weight: 600;
	color: var(--sw-button-primary-color);
	line-height: var(--leading-none);
	letter-spacing: var(--tracking-wider);
	text-decoration: none;
	text-transform: uppercase;
	border: 1px solid var(--sw-button-primary-bg);
	border-radius: 3px;
	background-color: var(--sw-button-primary-bg);
	transition: color var(--transition-appendix), background-color var(--transition-appendix), border-color var(--transition-appendix);
}

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

	.custom-button[data-style="alternate"] .button-link:hover {
		background-color: var(--sw-button-secondary-bg-hover);
		border-color: var(--sw-button-secondary-bg-hover);
		color: var(--sw-button-secondary-color-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 {
		padding: 10px var(--space-5);
		font-size: var(--text-lg);
		letter-spacing: 0.04em;
	}
}