.wp-block-button {
	&.is-style-default,
	&:not([class*="is-style-"]) {
		.wp-block-button__link {
			display: inline-block;
		}
	}
	&.is-style-fill {
		.wp-block-button__link {
			display: inline-block;
		}
		.wp-block-button__link {
			align-items: center;
			color: var(--wp--preset--color--light-01);
			display: inline-flex;
			gap: .5rem;
			justify-content: space-between;
			overflow: hidden;
			padding: 1rem;
			position: relative;
			text-align: center;
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
			z-index: 0;
		}
		.wp-block-button__link:after {
			background-color: var(--wp--preset--color--white);
			content: "";
			block-size: 100%;
			inset-inline-start: 0;
			position: absolute;
			inset-block-start: 100%;
			transform: translateY(-1px);
			transform-origin: top;
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
			inline-size: 100%;
		}
		.wp-block-button__link:hover:after {
			transform: translateY(-6px);
		}
		@media (width <= 781px) {
			.wp-block-button__link {
				inline-size: 100%;
			}
		}
	}
	&.is-style-outline,
	&.is-style-corporate-link {
		.wp-block-button__link {
			display: inline-block;
		}
		.wp-block-button__link {
			align-items: center;
			display: inline-flex;
			gap: .5rem;
			justify-content: space-between;
			padding-block: .5rem;
			padding-inline: 2rem;
			position: relative;
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
			z-index: 0;
		}
		.wp-block-button__link:after {
			--line-width: 15%;
			background-color: var(--wp--preset--color--primary);
			content: "";
			block-size: 1px;
			inset-inline-start: calc(100% - var(--line-width)/2);
			mix-blend-mode: exclusion;
			position: absolute;
			inset-block-start: 50%;
			transform: translateY(-50%);
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
			inline-size: var(--line-width);
		}
		.wp-block-button__link:before {
			background-color: var(--wp--preset--color--primary);
			content: "";
			block-size: 100%;
			inset-inline-start: 0;
			position: absolute;
			inset-block-start: 0;
			transform: scaleX(0);
			transform-origin: left;
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
			inline-size: 100%;
			z-index: -1;
		}
		.wp-block-button__link ion-icon {
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
		}
		.wp-block-button__link:hover:before {
			transform: scaleX(1);
		}
		.wp-block-button__link:not(.has-background) {
			background-color: transparent;
			border-block-width: 1px;
			border-block-style: solid;
			border-block-color: var(--wp--preset--color--primary);
			border-inline-width: 1px;
			border-inline-style: solid;
			border-inline-color: var(--wp--preset--color--primary);
			color: var(--wp--preset--color--primary);
		}
		.wp-block-button__link:not(.has-background):hover {
			color: var(--wp--preset--color--light-01);
		}
		.wp-block-button__link:not(.has-background):hover ion-icon {
			color: var(--wp--preset--color--light-01);
		}
		.wp-block-button__link:not(.has-background) ion-icon {
			color: var(--wp--preset--color--primary);
		}
		.wp-block-button__link.has-background.has-white-background-color {
			background-color: transparent !important;
			border-block-width: 1px;
			border-block-style: solid;
			border-block-color: var(--wp--preset--color--light-01);
			border-inline-width: 1px;
			border-inline-style: solid;
			border-inline-color: var(--wp--preset--color--light-01);
			color: var(--wp--preset--color--light-01);
		}
		.wp-block-button__link.has-background.has-white-background-color:after {
			background-color: var(--wp--preset--color--light-01);
		}
		.wp-block-button__link.has-background.has-white-background-color:before {
			background-color: var(--wp--preset--color--primary);
		}
		.wp-block-button__link.has-background.has-white-background-color ion-icon {
			color: var(--wp--preset--color--light-01);
		}
		@media (width <= 781px) {
			.wp-block-button__link {
				inline-size: 100%;
			}
		}
	}
	&.is-style-conversion-call {
		.wp-block-button__link {
			display: inline-block;
		}
		.wp-block-button__link {
			align-items: center;
			display: inline-flex;
			gap: .5rem;
			justify-content: space-between;
			padding-block: .5rem;
			padding-inline: 2rem;
			position: relative;
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
			z-index: 0;
		}
		.wp-block-button__link:after {
			--line-width: 15%;
			background-color: var(--wp--preset--color--primary);
			content: "";
			block-size: 1px;
			inset-inline-start: calc(100% - var(--line-width)/2);
			mix-blend-mode: exclusion;
			position: absolute;
			inset-block-start: 50%;
			transform: translateY(-50%);
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
			inline-size: var(--line-width);
		}
		.wp-block-button__link:before {
			background-color: var(--wp--preset--color--primary);
			content: "";
			block-size: 100%;
			inset-inline-start: 0;
			position: absolute;
			inset-block-start: 0;
			transform: scaleX(0);
			transform-origin: left;
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
			inline-size: 100%;
			z-index: -1;
		}
		.wp-block-button__link ion-icon {
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
		}
		.wp-block-button__link:hover:before {
			transform: scaleX(1);
		}
		.wp-block-button__link:not(.has-background) {
			background-color: transparent;
			border-block-width: 1px;
			border-block-style: solid;
			border-block-color: var(--wp--preset--color--primary);
			border-inline-width: 1px;
			border-inline-style: solid;
			border-inline-color: var(--wp--preset--color--primary);
			color: var(--wp--preset--color--primary);
		}
		.wp-block-button__link:not(.has-background):hover {
			color: var(--wp--preset--color--light-01);
		}
		.wp-block-button__link:not(.has-background):hover ion-icon {
			color: var(--wp--preset--color--light-01);
		}
		.wp-block-button__link:not(.has-background) ion-icon {
			color: var(--wp--preset--color--primary);
		}
		.wp-block-button__link.has-background.has-white-background-color {
			background-color: transparent !important;
			border-block-width: 1px;
			border-block-style: solid;
			border-block-color: var(--wp--preset--color--light-01);
			border-inline-width: 1px;
			border-inline-style: solid;
			border-inline-color: var(--wp--preset--color--light-01);
			color: var(--wp--preset--color--light-01);
		}
		.wp-block-button__link.has-background.has-white-background-color:after {
			background-color: var(--wp--preset--color--light-01);
		}
		.wp-block-button__link.has-background.has-white-background-color:before {
			background-color: var(--wp--preset--color--primary);
		}
		.wp-block-button__link.has-background.has-white-background-color ion-icon {
			color: var(--wp--preset--color--light-01);
		}
		@media (width <= 781px) {
			.wp-block-button__link {
				inline-size: 100%;
			}
		}
	}
	&.is-style-conversion-form {
		.wp-block-button__link {
			display: inline-block;
		}
		.wp-block-button__link {
			align-items: center;
			display: inline-flex;
			gap: .5rem;
			justify-content: space-between;
			padding-block: .5rem;
			padding-inline: 2rem;
			position: relative;
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
			z-index: 0;
		}
		.wp-block-button__link:after {
			--line-width: 15%;
			background-color: var(--wp--preset--color--primary);
			content: "";
			block-size: 1px;
			inset-inline-start: calc(100% - var(--line-width)/2);
			mix-blend-mode: exclusion;
			position: absolute;
			inset-block-start: 50%;
			transform: translateY(-50%);
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
			inline-size: var(--line-width);
		}
		.wp-block-button__link:before {
			background-color: var(--wp--preset--color--primary);
			content: "";
			block-size: 100%;
			inset-inline-start: 0;
			position: absolute;
			inset-block-start: 0;
			transform: scaleX(0);
			transform-origin: left;
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
			inline-size: 100%;
			z-index: -1;
		}
		.wp-block-button__link ion-icon {
			transition-property: all;
			transition-duration: .3s;
			transition-timing-function: ease;
		}
		.wp-block-button__link:hover:before {
			transform: scaleX(1);
		}
		.wp-block-button__link:not(.has-background) {
			background-color: transparent;
			border-block-width: 1px;
			border-block-style: solid;
			border-block-color: var(--wp--preset--color--primary);
			border-inline-width: 1px;
			border-inline-style: solid;
			border-inline-color: var(--wp--preset--color--primary);
			color: var(--wp--preset--color--primary);
		}
		.wp-block-button__link:not(.has-background):hover {
			color: var(--wp--preset--color--light-01);
		}
		.wp-block-button__link:not(.has-background):hover ion-icon {
			color: var(--wp--preset--color--light-01);
		}
		.wp-block-button__link:not(.has-background) ion-icon {
			color: var(--wp--preset--color--primary);
		}
		.wp-block-button__link.has-background.has-white-background-color {
			background-color: transparent !important;
			border-block-width: 1px;
			border-block-style: solid;
			border-block-color: var(--wp--preset--color--light-01);
			border-inline-width: 1px;
			border-inline-style: solid;
			border-inline-color: var(--wp--preset--color--light-01);
			color: var(--wp--preset--color--light-01);
		}
		.wp-block-button__link.has-background.has-white-background-color:after {
			background-color: var(--wp--preset--color--light-01);
		}
		.wp-block-button__link.has-background.has-white-background-color:before {
			background-color: var(--wp--preset--color--primary);
		}
		.wp-block-button__link.has-background.has-white-background-color ion-icon {
			color: var(--wp--preset--color--light-01);
		}
		@media (width <= 781px) {
			.wp-block-button__link {
				inline-size: 100%;
			}
		}
	}
	&.is-style-header-action {
		margin: 0;
		> .wp-block-button__link {
			display: flex;
			align-items: center;
			block-size: 100%;
			padding-block: 1rem;
			padding-inline: 1.5rem;
			background-color: var(--wp--preset--color--primary);
			color: var(--wp--preset--color--white);
			border-radius: var(--wp--preset--border-radius--none);
			border-block-end-width: 4px;
			border-block-end-style: solid;
			border-block-end-color: var(--wp--preset--color--secondary);
		}
		& + & > .wp-block-button__link {
			border-inline-start-width: 1px;
			border-inline-start-style: solid;
			border-inline-start-color: var(--wp--preset--color--white);
		}
		> .wp-block-button__link:is(:hover,:focus-visible) {
			background-color: var(--wp--preset--color--primary-d);
			color: var(--wp--preset--color--white);
		}
	}
	&.is-style-floating-action {
		> .wp-block-button__link {
			inline-size: 100%;
			border-radius: var(--wp--preset--border-radius--none);
		}
	}
	&.is-style-corporate-link {
		> .wp-block-button__link {
			border-radius: var(--wp--preset--border-radius--none);
		}
	}
}
