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

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

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

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

.custom-button-primary[data-style="alternate"] .button-link {
	background-color: var(--sw-button-secondary-bg);
	color: var(--sw-button-secondary-color);
}

.custom-button-primary .button-link {
	display: inline-block;
	padding: 7.5px 20px;
	font-size: var(--text-lg);
	color: var(--sw-button-primary-color);
	text-decoration: none;
	background-color: var(--sw-button-primary-bg);
	position: relative;
	margin-right: var(--space-2);
	margin-bottom: var(--space-2);
	text-transform: uppercase;
	font-family: var(--font-display);
	letter-spacing: .08em;
	text-decoration: 1px underline transparent;
	text-underline-offset: 2px;
	transition: box-shadow var(--transition-appendix), text-decoration var(--transition-appendix);
}

.custom-button-primary[data-style="yellow"] .button-link,
.custom-button-primary[data-style="yellow-white"] .button-link {
	background-color: var(--sw-button-secondary-bg);
	color: var(--sw-button-secondary-color);
}

.custom-button-primary .button-link:after {
	content: '';
	background-color: var(--blue-navy);
	height: calc(100% + 8px);
	width: calc(100% + 8px);
	position: absolute;
	bottom: -8px;
	right: -8px;
	clip-path: polygon(8px 100%, 0 calc(100% - 8px), 0% 0%, calc(100% - 8px) 0%, 100% 8px, 100% 100%);
	z-index: -1;
	pointer-events: none;
}

.custom-button-primary[data-style="red-white"] .button-link:after,
.custom-button-primary[data-style="yellow-white"] .button-link:after {
	background-color: var(--white);
}

@media (hover: hover) {
	.custom-button-primary .button-link:hover {
		background-color: var(--sw-button-primary-bg-hover);
		color: var(--sw-button-primary-color-hover);
		box-shadow: inset 0 0 0px 2px var(--blue-dark);
		text-decoration-color: inherit;
	}

	.custom-button-primary[data-style="red-white"] .button-link:hover,
	.custom-button-primary[data-style="yellow-white"] .button-link:hover {
		box-shadow: inset 0 0 0px 2px var(--white);
	}

	.custom-button-primary[data-style="yellow"] .button-link:hover,
	.custom-button-primary[data-style="yellow-white"] .button-link:hover {
		background-color: var(--sw-button-secondary-bg-hover);
		color: var(--sw-button-secondary-color-hover);
	}
}

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