/* https://zpl.io/Edq33Yg */
.sw32-button {
  font-family: "Red Hat Display", sans-serif;
  text-decoration: none;
  padding: 0.5625rem 0.8125rem;
  border-radius: 40px;
  transition-property: color, fill, background-color, border-color, opacity;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  font-size: 1.125rem;
  color: var(--primary-black-600);
  font-weight: bold;
  background-color: var(--accent-green-300);
  display: inline-flex;
  border: solid 0.1875rem var(--accent-green-300);
  align-items: center;
  fill: var(--primary-black-600);

  &:hover,
  &:active {
    background-color: var(--semantic-green-500);
    border-color: var(--semantic-green-500);
    color: var(--primary-black-600);
    fill: var(--primary-black-600);
  }

  svg {
    margin-left: 0.5rem;
    flex-shrink: 0;
    width: 16px;
  }

  path {
    fill: currentColor;
  }

  &.secondary.dark {
    background-color: var(--primary-black-600);
    color: var(--neutral-white);
    fill: var(--neutral-white);
  }

  &.secondary {
    background-color: transparent;
  }

  &.secondary:hover,
  &.secondary:active {
    background-color: var(--accent-green-300);
    border-color: var(--accent-green-300);
    color: var(--primary-black-600);
    fill: var(--primary-black-600);
  }

  &.tertiary {
    background: transparent;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    position: relative;
    height: 2.75rem;
    border: 0;
    isolation: isolate;
    box-sizing: border-box;
    line-height: 1;

    &:before {
      content: "";
      background-color: var(--accent-green-300);
      border-radius: 9999px;
      width: 2.75rem;
      height: 100%;
      z-index: -1;
      position: absolute;
      top: 0;
      left: 0;
      transition-property: width;
      transition-duration: 0.4s;
      transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }

    &:hover:before,
    &:active:before {
      width: 100%;
    }

    &.disabled {
      cursor: not-allowed;
      pointer-events: none;
      opacity: 0.4;
    }
  }

  &.tertiary.dark {
    color: var(--accent-green-300);

    &:before {
      background-color: var(--neutral-gray-400);
    }

    &.disabled {
      cursor: not-allowed;
      pointer-events: none;
      opacity: 0.4;
    }
  }

  &.submit-spinner {
    g {
      fill: #050505;
    }
  }

  @media (max-width: 768px) {
    font-size: 0.875rem;
    line-height: 1.43;
  }
}
