.wp-block-button:not(.is-style-secondary):not(.is-style-text)
	> .wp-block-button__link {
	box-shadow: 0 8px 18px -14px rgba(15, 23, 42, 0.28);
	transition:
		box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		background-color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.wp-block-button:not(.is-style-text)
	> .wp-block-button__link:not(:disabled):hover {
	transform: translateY(-2px);
}

.wp-block-button:not(.is-style-secondary):not(.is-style-text)
	> .wp-block-button__link:not(:disabled):hover {
	background-color: var(--wp--preset--color--text-dark);
	box-shadow: 0 12px 24px -16px rgba(15, 23, 42, 0.32);
	color: var(--wp--preset--color--white);
}

.wp-block-button.is-style-secondary > .wp-block-button__link {
	transition:
		border-color 0.25s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.wp-block-button.is-style-secondary
	> .wp-block-button__link:not(:disabled):hover {
	border-color: var(--wp--preset--color--text-dark);
}

.wp-block-button__link.has-operiva-button-icon {
	align-items: center;
	display: inline-flex;
	gap: 0.5em;
}

.operiva-button-icon {
	display: inline-flex;
	flex: 0 0 auto;
	height: 1em;
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	width: 1em;
}

.wp-block-button__link:not(:disabled):hover .operiva-button-icon {
	transform: translateX(3px);
}

.operiva-button-icon svg {
	display: block;
	fill: none;
	height: 100%;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 100%;
}

.wp-block-button.has-operiva-button-caption,
.editor-styles-wrapper
	.wp-block-button.has-operiva-button-caption-preview {
	display: inline-table;
}

.operiva-button-caption,
.editor-styles-wrapper
	.wp-block-button.has-operiva-button-caption-preview::after {
	caption-side: bottom;
	color: var(--wp--preset--color--text-light);
	display: table-caption;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.25;
	overflow-wrap: anywhere;
	padding-top: 0.375rem;
	text-align: center;
}

.editor-styles-wrapper
	.wp-block-button.has-operiva-button-caption-preview::after {
	content: attr(data-operiva-button-caption);
}

.wp-block-buttons:has(.has-operiva-button-caption),
.editor-styles-wrapper
	.wp-block-buttons:has(.has-operiva-button-caption-preview) {
	align-items: flex-start;
}

.wp-block-buttons:has(.has-operiva-button-caption)
	> .wp-block-button:not(.has-operiva-button-caption)::after,
.editor-styles-wrapper
	.wp-block-buttons:has(.has-operiva-button-caption-preview)
	> .wp-block-button:not(.has-operiva-button-caption-preview)::after {
	caption-side: bottom;
	content: "";
	display: table-caption;
	font-size: 0.75rem;
	line-height: 1.25;
	min-height: 0.9375rem;
	padding-top: 0.375rem;
}

.wp-block-buttons:has(.has-operiva-button-caption)
	> .wp-block-button:not(.has-operiva-button-caption),
.editor-styles-wrapper
	.wp-block-buttons:has(.has-operiva-button-caption-preview)
	> .wp-block-button:not(.has-operiva-button-caption-preview) {
	display: inline-table;
}

.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview
	.wp-block-button__link {
	align-items: center;
	display: inline-flex;
	gap: 0.5em;
}

.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon-position="left"]
	.wp-block-button__link::before,
.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon-position="right"]
	.wp-block-button__link::after {
	background-color: currentColor;
	content: "";
	display: inline-flex;
	flex: 0 0 auto;
	height: 1em;
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	width: 1em;
}

.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview
	.wp-block-button__link:not(:disabled):hover::before,
.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview
	.wp-block-button__link:not(:disabled):hover::after {
	transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-button > .wp-block-button__link:not(:disabled):hover,
	.wp-block-button__link:not(:disabled):hover .operiva-button-icon,
	.editor-styles-wrapper
		.wp-block-button.has-operiva-button-icon-preview
		.wp-block-button__link:not(:disabled):hover::before,
	.editor-styles-wrapper
		.wp-block-button.has-operiva-button-icon-preview
		.wp-block-button__link:not(:disabled):hover::after {
		transform: none;
	}
}

.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon="arrow-right"][data-operiva-icon-position="left"]
	.wp-block-button__link::before,
.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon="arrow-right"][data-operiva-icon-position="right"]
	.wp-block-button__link::after {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E");
}

.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon="arrow-left"][data-operiva-icon-position="left"]
	.wp-block-button__link::before,
.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon="arrow-left"][data-operiva-icon-position="right"]
	.wp-block-button__link::after {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M19 12H5m6 6-6-6 6-6'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M19 12H5m6 6-6-6 6-6'/%3E%3C/svg%3E");
}

.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon="external"][data-operiva-icon-position="left"]
	.wp-block-button__link::before,
.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon="external"][data-operiva-icon-position="right"]
	.wp-block-button__link::after {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E");
}

.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon="download"][data-operiva-icon-position="left"]
	.wp-block-button__link::before,
.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon="download"][data-operiva-icon-position="right"]
	.wp-block-button__link::after {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 4v12m-5-5 5 5 5-5M5 20h14'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 4v12m-5-5 5 5 5-5M5 20h14'/%3E%3C/svg%3E");
}

.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon="mail"][data-operiva-icon-position="left"]
	.wp-block-button__link::before,
.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon="mail"][data-operiva-icon-position="right"]
	.wp-block-button__link::after {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4 6h16v12H4z'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4 6h16v12H4z'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E");
}

.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon="phone"][data-operiva-icon-position="left"]
	.wp-block-button__link::before,
.editor-styles-wrapper
	.wp-block-button.has-operiva-button-icon-preview[data-operiva-icon="phone"][data-operiva-icon-position="right"]
	.wp-block-button__link::after {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M6 5h4l2 5-3 2a11 11 0 0 0 5 5l2-3 5 2v4c0 1-1 2-2 2A17 17 0 0 1 4 7c0-1 1-2 2-2z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M6 5h4l2 5-3 2a11 11 0 0 0 5 5l2-3 5 2v4c0 1-1 2-2 2A17 17 0 0 1 4 7c0-1 1-2 2-2z'/%3E%3C/svg%3E");
}
