.wp-block-button__link {
    transition: border-color 0.2s;
}

.wp-block-button__link {
    transition: background-color 0.2s;
}

/*
.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color),
.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color) {
    border-color: var(--wp--preset--color--grey-600);
}
*/

.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background),
.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-background) {
    background-color: transparent;
    backdrop-filter: blur(4px);
}

.wp-block-button:where(.is-style-outline)>.wp-block-button__link:has(svg) {
    padding: 0.8em;
    min-width: 48px;
}

.wp-block-button .wp-block-button__link:where(.is-style-secondary):not(.has-text-color),
.wp-block-button:where(.is-style-secondary)>.wp-block-button__link:not(.has-text-color) {
    background-color: var(--wp--preset--color--primary-200);
}

.wp-block-button .wp-block-button__link:where(.is-style-primary):not(.has-text-color),
.wp-block-button:where(.is-style-primary)>.wp-block-button__link:not(.has-text-color) {
    background-color: var(--wp--preset--color--primary-400);
}

.wp-block-button .wp-block-button__link:where(.is-style-primary-icon),
.wp-block-button:where(.is-style-primary-icon)>.wp-block-button__link {
    background-color: var(--wp--preset--color--primary-400);
    display: flex;
    align-items: center;
    gap: calc(var(--wp--style--block-gap, 1em) / 2)
}

.wp-block-button .wp-block-button__link:where(.is-style-secondary-icon),
.wp-block-button:where(.is-style-secondary-icon)>.wp-block-button__link {
    background-color: var(--wp--preset--color--primary-200);
    display: flex;
    align-items: center;
    gap: calc(var(--wp--style--block-gap) / 2)
}

.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color):hover,
.wp-block-button:where(.is-style-outline)>.wp-block-button__link:not(.has-text-color):hover {
    border-color: white;
    background-color: white;
    color: initial;
}

.wp-block-button .wp-block-button__link:where(.is-style-primary):not(.has-text-color):hover,
.wp-block-button:where(.is-style-primary)>.wp-block-button__link:not(.has-text-color):hover,
.wp-block-button .wp-block-button__link:where(.is-style-primary-icon):not(.has-text-color):hover,
.wp-block-button:where(.is-style-primary-icon)>.wp-block-button__link:not(.has-text-color):hover,
.wp-block-button:where(.is-style-secondary-icon)>.wp-block-button__link:not(.has-text-color):hover {
    background-color: white;
    color: initial;
}

.wp-block-button:where(.is-style-icon)>.wp-block-button__link {
    font-size: 0;
    padding: 12px 20px;
}

.wp-block-button .wp-block-button__link:where(.is-style-outline-icon):not(.has-background),
.wp-block-button:where(.is-style-outline-icon)>.wp-block-button__link:not(.has-background) {
    background-color: initial;
    background-image: none;
}

.wp-block-button .wp-block-button__link:where(.is-style-outline-icon):not(.has-text-color),
.wp-block-button:where(.is-style-outline-icon)>.wp-block-button__link:not(.has-text-color) {
    color: currentColor;
}

.wp-block-button .wp-block-button__link:where(.is-style-outline-icon):not(.has-text-color),
.wp-block-button:where(.is-style-outline-icon)>.wp-block-button__link:not(.has-text-color) {
    border-color: var(--wp--preset--color--grey-600);
}

.wp-block-button .wp-block-button__link:where(.is-style-outline-icon),
.wp-block-button:where(.is-style-outline-icon)>.wp-block-button__link {
    padding: .62em 1.12em;
}

.wp-block-button .wp-block-button__link:where(.is-style-outline-icon):hover,
.wp-block-button:where(.is-style-outline-icon)>.wp-block-button__link:hover {
    border-color: white;
    background-color: white;
    color: initial !important;
}

.wp-block-button .wp-block-button__link:where(.is-style-outline-icon),
.wp-block-button:where(.is-style-outline-icon)>.wp-block-button__link {
    display: flex;
    align-items: center;
    gap: calc(var(--wp--style--block-gap) / 2)
}

.wp-block-button .wp-block-button__link:has(svg),
.wp-block-button .wp-block-button__link:has(img) {
    display: flex;
    align-items: center;
}

.wp-block-button .wp-block-button__link:where(.is-style-link),
.wp-block-button:where(.is-style-link)>.wp-block-button__link {
    background-color: transparent;
    text-decoration: none;
    transition: color 0.3s ease, background-color 0.3s ease;
}

.wp-block-button .wp-block-button__link:where(.is-style-link):hover,
.wp-block-button:where(.is-style-link)>.wp-block-button__link:hover {
    background-color: white;
    color: var(--wp--preset--color--grey-900);
}

.wp-block-button .wp-block-button__link:where(.is-style-link-icon),
.wp-block-button:where(.is-style-link-icon)>.wp-block-button__link {
    background-color: transparent;
    text-decoration: none;
    transition: text-decoration 0.3s ease;
    display: flex;
    align-items: center;
    gap: calc(var(--wp--style--block-gap) / 2);
    padding: 0;
}

.wp-block-button .wp-block-button__link:where(.is-style-link-icon):hover,
.wp-block-button:where(.is-style-link-icon)>.wp-block-button__link:hover {
    text-decoration: underline;
}


.wp-block-button:where(.is-style-icon)>.wp-block-button__link::after,
.wp-block-button:where(.is-style-outline-icon)>.wp-block-button__link::after,
.wp-block-button:where(.is-style-primary-icon)>.wp-block-button__link::after,
.wp-block-button:where(.is-style-secondary-icon)>.wp-block-button__link::after,
.wp-block-button:where(.is-style-link-icon)>.wp-block-button__link::after {
    content: '';
    mask: url('data:image/svg+xml;utf8,<svg width="9" height="14" viewBox="0 0 9 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.12186 6.57131L0.902539 0.0335408C0.799061 -0.0598225 0.6419 0.0584377 0.704142 0.1837L4.05199 6.90197C4.08312 6.96343 4.08312 7.03657 4.05199 7.09803L0.704142 13.8163C0.6419 13.9416 0.798283 14.0598 0.901761 13.9665L8.12108 7.42947C8.37472 7.19995 8.37472 6.80082 8.12108 6.57131H8.12186Z" fill="currentColor" /></svg>');
    display: inline-block;
    height: 14px;
    width: 9px;
    mask-size: cover;
    -webkit-mask-size: cover;
    background-color: currentColor;
}