/* Hearth Signature Buttons */

:root {
  --hearth-button-primary-bg: var(--wp--preset--color--navy, #233D4D);
  --hearth-button-primary-text: #ffffff;
  --hearth-button-primary-border: rgba(35, 61, 77, 0.5);
  --hearth-button-primary-shadow: 0 12px 22px rgba(35, 61, 77, 0.2), 0 1px 0 rgba(255, 255, 255, 0.22) inset, 0 -9px 18px rgba(10, 18, 36, 0.2) inset;
  --hearth-button-secondary-bg: var(--wp--preset--color--coral, #FE5F55);
  --hearth-button-secondary-text: #ffffff;
  --hearth-button-secondary-border: rgba(229, 56, 75, 0.44);
  --hearth-button-secondary-shadow: 0 12px 22px rgba(229, 56, 75, 0.2), 0 1px 0 rgba(255, 255, 255, 0.28) inset, 0 -9px 18px rgba(179, 35, 48, 0.2) inset;
  --hearth-button-radius: 18px;
  --hearth-button-height: 52px;
  --hearth-button-padding-x: 26px;
  --hearth-button-font-size: 15px;
  --hearth-button-font-weight: 650;
  --hearth-button-focus-ring: rgba(242, 140, 40, 0.72);
}

.wp-block-button.hearth-signature-button,
.wp-block-button.is-style-hearth-primary,
.wp-block-button.is-style-hearth-secondary,
.wp-block-button.is-style-hearth-ghost,
.wp-block-button.is-style-hearth-teal,
.wp-block-button.is-style-hearth-coral,
.wp-block-button.is-style-hearth-positive,
.wp-block-button.is-style-hearth-highlight,
.wp-block-button.is-style-hearth-yellow,
.wp-block-button.is-style-hearth-purple,
.wp-block-button.is-style-hearth-navy,
.wp-block-button.hearth-button {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.hearth-button,
.wp-block-button.hearth-signature-button > .wp-block-button__link,
.wp-block-button.is-style-hearth-primary > .wp-block-button__link,
.wp-block-button.is-style-hearth-secondary > .wp-block-button__link,
.wp-block-button.is-style-hearth-ghost > .wp-block-button__link,
.wp-block-button.is-style-hearth-teal > .wp-block-button__link,
.wp-block-button.is-style-hearth-coral > .wp-block-button__link,
.wp-block-button.is-style-hearth-positive > .wp-block-button__link,
.wp-block-button.is-style-hearth-highlight > .wp-block-button__link,
.wp-block-button.is-style-hearth-yellow > .wp-block-button__link,
.wp-block-button.is-style-hearth-purple > .wp-block-button__link,
.wp-block-button.is-style-hearth-navy > .wp-block-button__link,
.wp-block-button.hearth-button > .wp-block-button__link {
  --signature-x: 0px;
  --signature-y: 0px;
  --signature-light-x: 50%;
  --signature-light-y: 38%;
  --signature-lens-opacity: 0.34;
  --button-bg: var(--hearth-button-primary-bg);
  --button-text: var(--hearth-button-primary-text);
  --button-border: var(--hearth-button-primary-border);
  --button-shadow: var(--hearth-button-primary-shadow);
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 158px;
  min-height: var(--hearth-button-height);
  padding: 0 var(--hearth-button-padding-x);
  border: 1px solid var(--button-border);
  border-radius: var(--hearth-button-radius);
  overflow: hidden;
  clip-path: inset(0 round var(--hearth-button-radius));
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.02) 42%, rgba(13, 42, 86, 0.18));
  box-shadow: var(--button-shadow);
  font-family: var(--body-sans, Inter, "Open Sans", Arial, sans-serif);
  font-size: var(--hearth-button-font-size);
  font-weight: var(--hearth-button-font-weight);
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  transform: translate3d(var(--signature-x), var(--signature-y), 0);
  transition: transform 220ms cubic-bezier(0.18, 0.78, 0.2, 1), box-shadow 180ms ease, border-color 180ms ease, filter 180ms ease;
  will-change: transform;
}

/* Gutenberg palette classes must take precedence over the Hearth defaults. */
.hearth-button:not(.has-text-color),
.wp-block-button.hearth-signature-button > .wp-block-button__link:not(.has-text-color),
.wp-block-button.is-style-hearth-primary > .wp-block-button__link:not(.has-text-color),
.wp-block-button.is-style-hearth-secondary > .wp-block-button__link:not(.has-text-color),
.wp-block-button.is-style-hearth-ghost > .wp-block-button__link:not(.has-text-color),
.wp-block-button.is-style-hearth-teal > .wp-block-button__link:not(.has-text-color),
.wp-block-button.is-style-hearth-coral > .wp-block-button__link:not(.has-text-color),
.wp-block-button.is-style-hearth-positive > .wp-block-button__link:not(.has-text-color),
.wp-block-button.is-style-hearth-highlight > .wp-block-button__link:not(.has-text-color),
.wp-block-button.is-style-hearth-yellow > .wp-block-button__link:not(.has-text-color),
.wp-block-button.is-style-hearth-purple > .wp-block-button__link:not(.has-text-color),
.wp-block-button.is-style-hearth-navy > .wp-block-button__link:not(.has-text-color),
.wp-block-button.hearth-button > .wp-block-button__link:not(.has-text-color) {
  color: var(--button-text);
}

.hearth-button:not(.has-background),
.wp-block-button.hearth-signature-button > .wp-block-button__link:not(.has-background),
.wp-block-button.is-style-hearth-primary > .wp-block-button__link:not(.has-background),
.wp-block-button.is-style-hearth-secondary > .wp-block-button__link:not(.has-background),
.wp-block-button.is-style-hearth-ghost > .wp-block-button__link:not(.has-background),
.wp-block-button.is-style-hearth-teal > .wp-block-button__link:not(.has-background),
.wp-block-button.is-style-hearth-coral > .wp-block-button__link:not(.has-background),
.wp-block-button.is-style-hearth-positive > .wp-block-button__link:not(.has-background),
.wp-block-button.is-style-hearth-highlight > .wp-block-button__link:not(.has-background),
.wp-block-button.is-style-hearth-yellow > .wp-block-button__link:not(.has-background),
.wp-block-button.is-style-hearth-purple > .wp-block-button__link:not(.has-background),
.wp-block-button.is-style-hearth-navy > .wp-block-button__link:not(.has-background),
.wp-block-button.hearth-button > .wp-block-button__link:not(.has-background) {
  background-color: var(--button-bg);
}

.hearth-button--primary,
.wp-block-button.hearth-signature-button.hearth-button--primary > .wp-block-button__link,
.wp-block-button.is-style-hearth-primary > .wp-block-button__link {
  --button-bg: var(--hearth-button-primary-bg);
  --button-text: var(--hearth-button-primary-text);
  --button-border: var(--hearth-button-primary-border);
  --button-shadow: var(--hearth-button-primary-shadow);
}

.hearth-button--secondary,
.wp-block-button.hearth-signature-button.hearth-button--secondary > .wp-block-button__link,
.wp-block-button.is-style-hearth-secondary > .wp-block-button__link {
  --button-bg: var(--hearth-button-secondary-bg);
  --button-text: var(--hearth-button-secondary-text);
  --button-border: var(--hearth-button-secondary-border);
  --button-shadow: var(--hearth-button-secondary-shadow);
}

.hearth-button--ghost,
.wp-block-button.is-style-hearth-ghost > .wp-block-button__link {
  --button-bg: rgba(255, 255, 255, 0.96);
  --button-text: #16345f;
  --button-border: rgba(47, 93, 159, 0.28);
  --button-shadow: 0 8px 18px rgba(31, 52, 86, 0.1), 0 1px 0 rgba(255, 255, 255, 0.82) inset;
}

.wp-block-button.is-style-hearth-teal > .wp-block-button__link,
.wp-block-button.is-style-hearth-highlight > .wp-block-button__link {
  --button-bg: var(--wp--preset--color--teal, #17BEBB);
  --button-text: #ffffff;
  --button-border: rgba(15, 166, 164, 0.44);
  --button-shadow: 0 12px 22px rgba(15, 166, 164, 0.2), 0 1px 0 rgba(255, 255, 255, 0.28) inset, 0 -9px 18px rgba(10, 125, 123, 0.2) inset;
}

.wp-block-button.is-style-hearth-teal.hearth-signature-button > .wp-block-button__link,
.wp-block-button.is-style-hearth-teal.hearth-button > .wp-block-button__link,
.wp-block-button.is-style-hearth-highlight.hearth-signature-button > .wp-block-button__link,
.wp-block-button.is-style-hearth-highlight.hearth-button > .wp-block-button__link {
  --button-bg: var(--wp--preset--color--teal, #17BEBB);
  --button-text: #ffffff;
  --button-border: rgba(15, 166, 164, 0.44);
  --button-shadow: 0 12px 22px rgba(15, 166, 164, 0.2), 0 1px 0 rgba(255, 255, 255, 0.28) inset, 0 -9px 18px rgba(10, 125, 123, 0.2) inset;
}

.wp-block-button.is-style-hearth-coral > .wp-block-button__link {
  --button-bg: var(--wp--preset--color--coral, #FE5F55);
  --button-text: #ffffff;
  --button-border: rgba(229, 56, 75, 0.44);
  --button-shadow: 0 12px 22px rgba(229, 56, 75, 0.2), 0 1px 0 rgba(255, 255, 255, 0.28) inset, 0 -9px 18px rgba(179, 35, 48, 0.2) inset;
}

.wp-block-button.is-style-hearth-coral.hearth-signature-button > .wp-block-button__link,
.wp-block-button.is-style-hearth-coral.hearth-button > .wp-block-button__link {
  --button-bg: var(--wp--preset--color--coral, #FE5F55);
  --button-text: #ffffff;
  --button-border: rgba(229, 56, 75, 0.44);
  --button-shadow: 0 12px 22px rgba(229, 56, 75, 0.2), 0 1px 0 rgba(255, 255, 255, 0.28) inset, 0 -9px 18px rgba(179, 35, 48, 0.2) inset;
}

.wp-block-button.is-style-hearth-positive > .wp-block-button__link {
  --button-bg: var(--wp--preset--color--green, #23CE6B);
  --button-text: var(--wp--preset--color--navy, #233D4D);
  --button-border: rgba(26, 171, 87, 0.46);
  --button-shadow: 0 12px 22px rgba(26, 171, 87, 0.2), 0 1px 0 rgba(255, 255, 255, 0.32) inset, 0 -9px 18px rgba(18, 138, 68, 0.18) inset;
}

.wp-block-button.is-style-hearth-positive.hearth-signature-button > .wp-block-button__link,
.wp-block-button.is-style-hearth-positive.hearth-button > .wp-block-button__link {
  --button-bg: var(--wp--preset--color--green, #23CE6B);
  --button-text: var(--wp--preset--color--navy, #233D4D);
  --button-border: rgba(26, 171, 87, 0.46);
  --button-shadow: 0 12px 22px rgba(26, 171, 87, 0.2), 0 1px 0 rgba(255, 255, 255, 0.32) inset, 0 -9px 18px rgba(18, 138, 68, 0.18) inset;
}

.wp-block-button.is-style-hearth-yellow > .wp-block-button__link {
  --button-bg: var(--wp--preset--color--yellow, #FEE440);
  --button-text: var(--wp--preset--color--ink, #0A1224);
  --button-border: rgba(250, 208, 0, 0.5);
  --button-shadow: 0 12px 22px rgba(138, 109, 0, 0.16), 0 1px 0 rgba(255, 255, 255, 0.42) inset, 0 -9px 18px rgba(138, 109, 0, 0.16) inset;
}

.wp-block-button.is-style-hearth-yellow.hearth-signature-button > .wp-block-button__link,
.wp-block-button.is-style-hearth-yellow.hearth-button > .wp-block-button__link {
  --button-bg: var(--wp--preset--color--yellow, #FEE440);
  --button-text: var(--wp--preset--color--ink, #0A1224);
  --button-border: rgba(250, 208, 0, 0.5);
  --button-shadow: 0 12px 22px rgba(138, 109, 0, 0.16), 0 1px 0 rgba(255, 255, 255, 0.42) inset, 0 -9px 18px rgba(138, 109, 0, 0.16) inset;
}

.wp-block-button.is-style-hearth-purple > .wp-block-button__link {
  --button-bg: var(--wp--preset--color--purple, #7B4B94);
  --button-text: #ffffff;
  --button-border: rgba(98, 55, 120, 0.46);
  --button-shadow: 0 12px 22px rgba(98, 55, 120, 0.2), 0 1px 0 rgba(255, 255, 255, 0.24) inset, 0 -9px 18px rgba(79, 42, 100, 0.22) inset;
}

.wp-block-button.is-style-hearth-purple.hearth-signature-button > .wp-block-button__link,
.wp-block-button.is-style-hearth-purple.hearth-button > .wp-block-button__link {
  --button-bg: var(--wp--preset--color--purple, #7B4B94);
  --button-text: #ffffff;
  --button-border: rgba(98, 55, 120, 0.46);
  --button-shadow: 0 12px 22px rgba(98, 55, 120, 0.2), 0 1px 0 rgba(255, 255, 255, 0.24) inset, 0 -9px 18px rgba(79, 42, 100, 0.22) inset;
}

.wp-block-button.is-style-hearth-navy > .wp-block-button__link {
  --button-bg: var(--wp--preset--color--navy, #233D4D);
  --button-text: #ffffff;
  --button-border: rgba(35, 61, 77, 0.5);
  --button-shadow: 0 12px 22px rgba(35, 61, 77, 0.2), 0 1px 0 rgba(255, 255, 255, 0.22) inset, 0 -9px 18px rgba(10, 18, 36, 0.2) inset;
}

.wp-block-button.is-style-hearth-navy.hearth-signature-button > .wp-block-button__link,
.wp-block-button.is-style-hearth-navy.hearth-button > .wp-block-button__link {
  --button-bg: var(--wp--preset--color--navy, #233D4D);
  --button-text: #ffffff;
  --button-border: rgba(35, 61, 77, 0.5);
  --button-shadow: 0 12px 22px rgba(35, 61, 77, 0.2), 0 1px 0 rgba(255, 255, 255, 0.22) inset, 0 -9px 18px rgba(10, 18, 36, 0.2) inset;
}

.hearth-button::before,
.wp-block-button.hearth-signature-button > .wp-block-button__link::before,
.wp-block-button.is-style-hearth-primary > .wp-block-button__link::before,
.wp-block-button.is-style-hearth-secondary > .wp-block-button__link::before,
.wp-block-button.is-style-hearth-ghost > .wp-block-button__link::before,
.wp-block-button.is-style-hearth-teal > .wp-block-button__link::before,
.wp-block-button.is-style-hearth-coral > .wp-block-button__link::before,
.wp-block-button.is-style-hearth-positive > .wp-block-button__link::before,
.wp-block-button.is-style-hearth-highlight > .wp-block-button__link::before,
.wp-block-button.is-style-hearth-yellow > .wp-block-button__link::before,
.wp-block-button.is-style-hearth-purple > .wp-block-button__link::before,
.wp-block-button.is-style-hearth-navy > .wp-block-button__link::before,
.wp-block-button.hearth-button > .wp-block-button__link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: radial-gradient(ellipse at var(--signature-light-x) var(--signature-light-y), rgba(255, 255, 255, var(--signature-lens-opacity)), rgba(255, 255, 255, 0.08) 34%, transparent 68%);
  opacity: 0.9;
  pointer-events: none;
  transition: opacity 180ms ease, transform 220ms cubic-bezier(0.18, 0.78, 0.2, 1);
}

.hearth-button::after,
.wp-block-button.hearth-signature-button > .wp-block-button__link::after,
.wp-block-button.is-style-hearth-primary > .wp-block-button__link::after,
.wp-block-button.is-style-hearth-secondary > .wp-block-button__link::after,
.wp-block-button.is-style-hearth-ghost > .wp-block-button__link::after,
.wp-block-button.is-style-hearth-teal > .wp-block-button__link::after,
.wp-block-button.is-style-hearth-coral > .wp-block-button__link::after,
.wp-block-button.is-style-hearth-positive > .wp-block-button__link::after,
.wp-block-button.is-style-hearth-highlight > .wp-block-button__link::after,
.wp-block-button.is-style-hearth-yellow > .wp-block-button__link::after,
.wp-block-button.is-style-hearth-purple > .wp-block-button__link::after,
.wp-block-button.is-style-hearth-navy > .wp-block-button__link::after,
.wp-block-button.hearth-button > .wp-block-button__link::after {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: 1;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: inherit;
  pointer-events: none;
}

.hearth-button:hover,
.hearth-button:focus-visible,
.wp-block-button.hearth-signature-button > .wp-block-button__link:hover,
.wp-block-button.hearth-signature-button > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-primary > .wp-block-button__link:hover,
.wp-block-button.is-style-hearth-primary > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-secondary > .wp-block-button__link:hover,
.wp-block-button.is-style-hearth-secondary > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-ghost > .wp-block-button__link:hover,
.wp-block-button.is-style-hearth-ghost > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-teal > .wp-block-button__link:hover,
.wp-block-button.is-style-hearth-teal > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-coral > .wp-block-button__link:hover,
.wp-block-button.is-style-hearth-coral > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-positive > .wp-block-button__link:hover,
.wp-block-button.is-style-hearth-positive > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-highlight > .wp-block-button__link:hover,
.wp-block-button.is-style-hearth-highlight > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-yellow > .wp-block-button__link:hover,
.wp-block-button.is-style-hearth-yellow > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-purple > .wp-block-button__link:hover,
.wp-block-button.is-style-hearth-purple > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-navy > .wp-block-button__link:hover,
.wp-block-button.is-style-hearth-navy > .wp-block-button__link:focus-visible,
.wp-block-button.hearth-button > .wp-block-button__link:hover,
.wp-block-button.hearth-button > .wp-block-button__link:focus-visible {
  --signature-lens-opacity: 0.48;
  filter: saturate(1.03);
  transform: translate3d(var(--signature-x), calc(var(--signature-y) - 1px), 0);
}

.hearth-button:focus-visible,
.wp-block-button.hearth-signature-button > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-primary > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-secondary > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-ghost > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-teal > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-coral > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-positive > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-highlight > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-yellow > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-purple > .wp-block-button__link:focus-visible,
.wp-block-button.is-style-hearth-navy > .wp-block-button__link:focus-visible,
.wp-block-button.hearth-button > .wp-block-button__link:focus-visible {
  outline: 3px solid var(--hearth-button-focus-ring);
  outline-offset: 4px;
}

.hearth-button:active,
.hearth-button.is-pressing,
.wp-block-button.hearth-signature-button > .wp-block-button__link:active,
.wp-block-button.hearth-signature-button > .wp-block-button__link.is-pressing,
.wp-block-button.is-style-hearth-primary > .wp-block-button__link:active,
.wp-block-button.is-style-hearth-primary > .wp-block-button__link.is-pressing,
.wp-block-button.is-style-hearth-secondary > .wp-block-button__link:active,
.wp-block-button.is-style-hearth-secondary > .wp-block-button__link.is-pressing,
.wp-block-button.is-style-hearth-ghost > .wp-block-button__link:active,
.wp-block-button.is-style-hearth-ghost > .wp-block-button__link.is-pressing,
.wp-block-button.is-style-hearth-teal > .wp-block-button__link:active,
.wp-block-button.is-style-hearth-teal > .wp-block-button__link.is-pressing,
.wp-block-button.is-style-hearth-coral > .wp-block-button__link:active,
.wp-block-button.is-style-hearth-coral > .wp-block-button__link.is-pressing,
.wp-block-button.is-style-hearth-positive > .wp-block-button__link:active,
.wp-block-button.is-style-hearth-positive > .wp-block-button__link.is-pressing,
.wp-block-button.is-style-hearth-highlight > .wp-block-button__link:active,
.wp-block-button.is-style-hearth-highlight > .wp-block-button__link.is-pressing,
.wp-block-button.is-style-hearth-yellow > .wp-block-button__link:active,
.wp-block-button.is-style-hearth-yellow > .wp-block-button__link.is-pressing,
.wp-block-button.is-style-hearth-purple > .wp-block-button__link:active,
.wp-block-button.is-style-hearth-purple > .wp-block-button__link.is-pressing,
.wp-block-button.is-style-hearth-navy > .wp-block-button__link:active,
.wp-block-button.is-style-hearth-navy > .wp-block-button__link.is-pressing,
.wp-block-button.hearth-button > .wp-block-button__link:active,
.wp-block-button.hearth-button > .wp-block-button__link.is-pressing {
  filter: saturate(0.98) brightness(0.98);
  transform: translate3d(var(--signature-x), 1px, 0);
  transition-duration: 90ms;
}

.hearth-button.is-confirming::before,
.wp-block-button.hearth-signature-button > .wp-block-button__link.is-confirming::before,
.wp-block-button.is-style-hearth-primary > .wp-block-button__link.is-confirming::before,
.wp-block-button.is-style-hearth-secondary > .wp-block-button__link.is-confirming::before,
.wp-block-button.is-style-hearth-ghost > .wp-block-button__link.is-confirming::before,
.wp-block-button.is-style-hearth-teal > .wp-block-button__link.is-confirming::before,
.wp-block-button.is-style-hearth-coral > .wp-block-button__link.is-confirming::before,
.wp-block-button.is-style-hearth-positive > .wp-block-button__link.is-confirming::before,
.wp-block-button.is-style-hearth-highlight > .wp-block-button__link.is-confirming::before,
.wp-block-button.is-style-hearth-yellow > .wp-block-button__link.is-confirming::before,
.wp-block-button.is-style-hearth-purple > .wp-block-button__link.is-confirming::before,
.wp-block-button.is-style-hearth-navy > .wp-block-button__link.is-confirming::before,
.wp-block-button.hearth-button > .wp-block-button__link.is-confirming::before {
  animation: hearth-signature-confirm 220ms cubic-bezier(0.18, 0.78, 0.2, 1) both;
}

.hearth-button--full { width: 100%; }

.wp-block-button.hearth-button {
  display: block;
  min-width: 0;
  min-height: 0;
  overflow: visible;
  clip-path: none;
}

.hearth-button.is-disabled,
.hearth-button[aria-disabled="true"],
.wp-block-button__link[aria-disabled="true"],
.wp-block-button.hearth-signature-button.is-disabled > .wp-block-button__link,
.wp-block-button.is-style-hearth-primary.is-disabled > .wp-block-button__link,
.wp-block-button.is-style-hearth-secondary.is-disabled > .wp-block-button__link,
.wp-block-button.is-style-hearth-ghost.is-disabled > .wp-block-button__link,
.wp-block-button.is-style-hearth-teal.is-disabled > .wp-block-button__link,
.wp-block-button.is-style-hearth-coral.is-disabled > .wp-block-button__link,
.wp-block-button.is-style-hearth-positive.is-disabled > .wp-block-button__link,
.wp-block-button.is-style-hearth-highlight.is-disabled > .wp-block-button__link,
.wp-block-button.is-style-hearth-yellow.is-disabled > .wp-block-button__link,
.wp-block-button.is-style-hearth-purple.is-disabled > .wp-block-button__link,
.wp-block-button.is-style-hearth-navy.is-disabled > .wp-block-button__link,
.wp-block-button.hearth-button.is-disabled > .wp-block-button__link {
  cursor: not-allowed;
  filter: grayscale(0.12) saturate(0.78);
  opacity: 0.58;
  pointer-events: none;
}

@keyframes hearth-signature-confirm {
  0% { opacity: 0.16; transform: scale(0.84); }
  45% { opacity: 0.64; transform: scale(1); }
  100% { opacity: 0.18; transform: scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  .hearth-button,
  .hearth-button::before,
  .hearth-button::after,
  .wp-block-button.hearth-signature-button > .wp-block-button__link,
  .wp-block-button.hearth-signature-button > .wp-block-button__link::before,
  .wp-block-button.hearth-signature-button > .wp-block-button__link::after,
  .wp-block-button.is-style-hearth-primary > .wp-block-button__link,
  .wp-block-button.is-style-hearth-primary > .wp-block-button__link::before,
  .wp-block-button.is-style-hearth-primary > .wp-block-button__link::after,
  .wp-block-button.is-style-hearth-secondary > .wp-block-button__link,
  .wp-block-button.is-style-hearth-secondary > .wp-block-button__link::before,
  .wp-block-button.is-style-hearth-secondary > .wp-block-button__link::after,
  .wp-block-button.is-style-hearth-ghost > .wp-block-button__link,
  .wp-block-button.is-style-hearth-ghost > .wp-block-button__link::before,
  .wp-block-button.is-style-hearth-ghost > .wp-block-button__link::after,
  .wp-block-button.is-style-hearth-teal > .wp-block-button__link,
  .wp-block-button.is-style-hearth-teal > .wp-block-button__link::before,
  .wp-block-button.is-style-hearth-teal > .wp-block-button__link::after,
  .wp-block-button.is-style-hearth-coral > .wp-block-button__link,
  .wp-block-button.is-style-hearth-coral > .wp-block-button__link::before,
  .wp-block-button.is-style-hearth-coral > .wp-block-button__link::after,
  .wp-block-button.is-style-hearth-positive > .wp-block-button__link,
  .wp-block-button.is-style-hearth-positive > .wp-block-button__link::before,
  .wp-block-button.is-style-hearth-positive > .wp-block-button__link::after,
  .wp-block-button.is-style-hearth-highlight > .wp-block-button__link,
  .wp-block-button.is-style-hearth-highlight > .wp-block-button__link::before,
  .wp-block-button.is-style-hearth-highlight > .wp-block-button__link::after,
  .wp-block-button.is-style-hearth-yellow > .wp-block-button__link,
  .wp-block-button.is-style-hearth-yellow > .wp-block-button__link::before,
  .wp-block-button.is-style-hearth-yellow > .wp-block-button__link::after,
  .wp-block-button.is-style-hearth-purple > .wp-block-button__link,
  .wp-block-button.is-style-hearth-purple > .wp-block-button__link::before,
  .wp-block-button.is-style-hearth-purple > .wp-block-button__link::after,
  .wp-block-button.is-style-hearth-navy > .wp-block-button__link,
  .wp-block-button.is-style-hearth-navy > .wp-block-button__link::before,
  .wp-block-button.is-style-hearth-navy > .wp-block-button__link::after,
  .wp-block-button.hearth-button > .wp-block-button__link,
  .wp-block-button.hearth-button > .wp-block-button__link::before,
  .wp-block-button.hearth-button > .wp-block-button__link::after {
    animation: none;
    transition: none;
  }

  .hearth-button,
  .wp-block-button.hearth-signature-button > .wp-block-button__link,
  .wp-block-button.is-style-hearth-primary > .wp-block-button__link,
  .wp-block-button.is-style-hearth-secondary > .wp-block-button__link,
  .wp-block-button.is-style-hearth-ghost > .wp-block-button__link,
  .wp-block-button.is-style-hearth-teal > .wp-block-button__link,
  .wp-block-button.is-style-hearth-coral > .wp-block-button__link,
  .wp-block-button.is-style-hearth-positive > .wp-block-button__link,
  .wp-block-button.is-style-hearth-highlight > .wp-block-button__link,
  .wp-block-button.is-style-hearth-yellow > .wp-block-button__link,
  .wp-block-button.is-style-hearth-purple > .wp-block-button__link,
  .wp-block-button.is-style-hearth-navy > .wp-block-button__link,
  .wp-block-button.hearth-button > .wp-block-button__link {
    --signature-x: 0px;
    --signature-y: 0px;
    transform: none;
  }
}

@media (max-width: 640px) {
  .hearth-button,
  .wp-block-button.hearth-signature-button > .wp-block-button__link,
  .wp-block-button.is-style-hearth-primary > .wp-block-button__link,
  .wp-block-button.is-style-hearth-secondary > .wp-block-button__link,
  .wp-block-button.is-style-hearth-ghost > .wp-block-button__link,
  .wp-block-button.is-style-hearth-teal > .wp-block-button__link,
  .wp-block-button.is-style-hearth-coral > .wp-block-button__link,
  .wp-block-button.is-style-hearth-positive > .wp-block-button__link,
  .wp-block-button.is-style-hearth-highlight > .wp-block-button__link,
  .wp-block-button.is-style-hearth-yellow > .wp-block-button__link,
  .wp-block-button.is-style-hearth-purple > .wp-block-button__link,
  .wp-block-button.is-style-hearth-navy > .wp-block-button__link,
  .wp-block-button.hearth-button > .wp-block-button__link {
    min-width: min(158px, 100%);
    white-space: normal;
  }
}
