.wp-block-button:is(
		.is-style-primary,
		.is-style-secondary,
		.is-style-tertiary,
		.is-style-tertiary-arrow-right,
		.is-style-tertiary-arrow-left,
		.is-style-primary-reverse,
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	)
	> .wp-block-button__link {
	display: inline-flex;
	min-width: 120px;
	height: 40px;
	min-height: 40px;
	padding: 8px 12px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 100px;
	border-width: 1px;
	border-style: solid;
	font-family: "Montserrat", sans-serif;
	text-decoration: none;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		opacity 0.2s ease;
}

.wp-block-button.is-style-primary > .wp-block-button__link {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-primary:hover > .wp-block-button__link {
	background: var(--wp--preset--color--dark-walnut);
	border-color: var(--wp--preset--color--dark-walnut);
}

.wp-block-button.is-style-secondary > .wp-block-button__link {
	display: inline-flex;
	background: var(--wp--preset--color--gray-50);
	color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--gray-100);
}

.wp-block-button.is-style-secondary:hover > .wp-block-button__link {
	background: var(--wp--preset--color--gray-200);
	color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--gray-200);
}

.wp-block-button:is(.is-style-tertiary, .is-style-tertiary-arrow-right, .is-style-tertiary-arrow-left)
	> .wp-block-button__link {
	display: inline-flex;
	padding: 8px 12px;
	align-items: center;
	gap: 8px;
	background: transparent;
	color: var(--wp--preset--color--primary);
	border-color: transparent;
}

.wp-block-button:is(.is-style-tertiary, .is-style-tertiary-arrow-right, .is-style-tertiary-arrow-left):hover
	> .wp-block-button__link {
	border-radius: 100px;
	background: var(--wp--preset--color--gray-50);
	color: var(--wp--preset--color--primary);
	border-color: transparent;
}

.wp-block-button.is-style-primary-reverse > .wp-block-button__link {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--white);
}

.wp-block-button.is-style-primary-reverse:hover > .wp-block-button__link {
	background: var(--wp--preset--color--sunlit-clay);
	color: var(--wp--preset--color--dark-walnut);
	border-color: var(--wp--preset--color--sunlit-clay);
}

.wp-block-button.is-style-tertiary-arrow-right > .wp-block-button__link::after,
.wp-block-button.is-style-tertiary-reverse-arrow-right > .wp-block-button__link::after,
.wp-block-button.is-style-tertiary-arrow-left > .wp-block-button__link::before,
.wp-block-button.is-style-tertiary-reverse-arrow-left > .wp-block-button__link::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background-color: currentColor;
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

.wp-block-button.is-style-tertiary-arrow-right > .wp-block-button__link::after,
.wp-block-button.is-style-tertiary-reverse-arrow-right > .wp-block-button__link::after {
	mask-image: url("../../images/arrow-right.svg");
	-webkit-mask-image: url("../../images/arrow-right.svg");
}

.wp-block-button.is-style-tertiary-arrow-left > .wp-block-button__link::before,
.wp-block-button.is-style-tertiary-reverse-arrow-left > .wp-block-button__link::before {
	mask-image: url("../../images/arrow-left.svg");
	-webkit-mask-image: url("../../images/arrow-left.svg");
}

.wp-block-button:is(
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	)
	> .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--white);
	border-color: transparent;
}

.wp-block-button:is(
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	):hover
	> .wp-block-button__link {
	background: var(--wp--preset--color--gray-50);
	color: var(--wp--preset--color--black);
	border-color: transparent;
}

.wp-block-button:is(
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	)
	> .wp-block-button__link:focus,
.wp-block-button:is(
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	)
	> .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--gray-50);
	color: var(--wp--preset--color--black);
	border-color: transparent;
}

.wp-block-button:is(
		.is-style-primary,
		.is-style-secondary,
		.is-style-tertiary,
		.is-style-tertiary-arrow-right,
		.is-style-tertiary-arrow-left,
		.is-style-primary-reverse,
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	)
	> .wp-block-button__link:focus,
.wp-block-button:is(
		.is-style-primary,
		.is-style-secondary,
		.is-style-tertiary,
		.is-style-tertiary-arrow-right,
		.is-style-tertiary-arrow-left,
		.is-style-primary-reverse,
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	)
	> .wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--custom--color--ring);
	outline-offset: 2px;
	box-shadow: none;
}

.wp-block-button:is(
		.is-style-primary,
		.is-style-secondary,
		.is-style-tertiary,
		.is-style-tertiary-arrow-right,
		.is-style-tertiary-arrow-left,
		.is-style-primary-reverse,
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	)
	> .wp-block-button__link:disabled,
.wp-block-button:is(
		.is-style-primary,
		.is-style-secondary,
		.is-style-tertiary,
		.is-style-tertiary-arrow-right,
		.is-style-tertiary-arrow-left,
		.is-style-primary-reverse,
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	)
	> .wp-block-button__link[aria-disabled="true"],
.wp-block-button:is(
		.is-style-primary,
		.is-style-secondary,
		.is-style-tertiary,
		.is-style-tertiary-arrow-right,
		.is-style-tertiary-arrow-left,
		.is-style-primary-reverse,
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	).is-disabled
	> .wp-block-button__link {
	background: var(--wp--preset--color--gray-200);
	color: var(--wp--preset--color--gray-600);
	border-color: var(--wp--preset--color--gray-300);
	opacity: 0.7;
	pointer-events: none;
	cursor: not-allowed;
}

.is-style-right-arrow-circle > * {
	display: inline-flex;
	align-items: center;
	color: white;
}

.is-style-right-arrow-circle > *::after {
	content: "";
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' class='lucide lucide-arrow-right-circle' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12h8M12 16l4-4-4-4'/%3E%3C/svg%3E");
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-left: 8px;
}

/* Editor-specific fixes so tertiary arrow styles match frontend preview */
.editor-styles-wrapper
	.wp-block-button:is(.is-style-tertiary-arrow-right, .is-style-tertiary-arrow-left)
	> .wp-block-button__link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	background: transparent !important;
	color: var(--wp--preset--color--primary) !important;
	border-color: transparent !important;
}

.editor-styles-wrapper
	.wp-block-button:is(.is-style-tertiary-arrow-right, .is-style-tertiary-arrow-left):hover
	> .wp-block-button__link,
.editor-styles-wrapper
	.wp-block-button:is(.is-style-tertiary-arrow-right, .is-style-tertiary-arrow-left)
	> .wp-block-button__link:focus,
.editor-styles-wrapper
	.wp-block-button:is(.is-style-tertiary-arrow-right, .is-style-tertiary-arrow-left)
	> .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--gray-50) !important;
	color: var(--wp--preset--color--primary) !important;
	border-color: transparent !important;
}

.editor-styles-wrapper
	.wp-block-button:is(
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	)
	> .wp-block-button__link {
	background: transparent !important;
	color: var(--wp--preset--color--white) !important;
	border-color: transparent !important;
}

.editor-styles-wrapper
	.wp-block-button:is(
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	):hover
	> .wp-block-button__link,
.editor-styles-wrapper
	.wp-block-button:is(
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	)
	> .wp-block-button__link:focus,
.editor-styles-wrapper
	.wp-block-button:is(
		.is-style-tertiary-reverse,
		.is-style-tertiary-reverse-arrow-right,
		.is-style-tertiary-reverse-arrow-left
	)
	> .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--gray-50) !important;
	color: var(--wp--preset--color--black) !important;
	border-color: transparent !important;
}

.editor-styles-wrapper .wp-block-button.is-style-tertiary-arrow-right > .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-tertiary-reverse-arrow-right > .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-tertiary-arrow-left > .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.is-style-tertiary-reverse-arrow-left > .wp-block-button__link::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background-color: currentColor;
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}

.editor-styles-wrapper .wp-block-button.is-style-tertiary-arrow-right > .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-tertiary-reverse-arrow-right > .wp-block-button__link::after {
	mask-image: url("../../images/arrow-right.svg");
	-webkit-mask-image: url("../../images/arrow-right.svg");
}

.editor-styles-wrapper .wp-block-button.is-style-tertiary-arrow-left > .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.is-style-tertiary-reverse-arrow-left > .wp-block-button__link::before {
	mask-image: url("../../images/arrow-left.svg");
	-webkit-mask-image: url("../../images/arrow-left.svg");
}
