.button {
  display: inline-block;
  color: inherit;
  text-decoration: none;

  &.full-width {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  &.button-primary-rounded {
    border: 2px solid --var(color-primary);
    background-color: --var(color-primary);
    color: --var(color-white);
    font-weight: --var(font-weight-bold);
    font-size: --var(font-size-regular-medium);
    border-radius: 50px;
    padding: 10px;

    svg {
      width: 35px;
      height: 35px;
      margin-right: 10px;

      circle {
        fill: --var(color-white);
      }

      path {
        fill: --var(color-primary);
      }
    }

    &:hover {
      background-color: transparent;
      color: --var(color-primary);

      svg {
        circle {
          fill: --var(color-primary);
        }

        path {
          fill: --var(color-white);
        }
      }
    }
  }

  &.button-arrow {
    color: --var(color-primary);
    font-weight: --var(font-weight-bold);
    font-size: --var(font-size-small);
    border-radius: 50px;
    padding: 20px 60px 20px 0;
    position: relative;

    &::after {
      content: '';
      position: absolute;
      background-image: url("/assets/icons/arrow-next-bb27768b.svg");
      background-size: cover;
      background-position: center center;
      width: 28px;
      height: 15px;
      top: calc(50% - (15px / 2));
      right: 20px;
    }
  }

  &.button-primary-rounded-arrow {
    background-color: var(--color-primary);
    color: var(--color-white);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-small);
    border-radius: 50px;
    padding: 20px 60px 20px 30px;
    position: relative;

    &:hover {
      opacity: 0.9;
    }

    &::after {
      content: '';
      position: absolute;
      background-image: url("/assets/icons/arrow-next-white-63fac6e6.svg");
      background-size: cover;
      background-position: center center;
      width: 28px;
      height: 15px;
      top: calc(50% - (15px / 2));
      right: 20px;
    }
  }
}

.button-primary-icon {
  padding: 10px 20px;
  background-color: var(--color-primary);
  color: var(--color-white);

  svg {
    width: 35px;
    margin-right: 12px;

    circle {
      fill: var(--color-white);
    }

    g {
      fill: var(--color-primary);
    }
  }

  &.full-width {
    text-align: center;
    width: 100%;
  }
}

.button-green {
  background-color: var(--color-light-green);
  color: var(--color-primary);
  padding: 10px 40px 10px 20px;
  position: relative;
  font-weight: var(--font-weight-medium);

  &::after {
    content: '';
    position: absolute;
    background-image: url("/assets/icons/new-arrow-primary-2516c2ac.svg");
    background-size: cover;
    background-position: center center;
    width: 14px;
    height: 11px;
    top: calc(50% - (11px / 2));
    right: 20px;
  }

  &:hover, &:focus {
    background-color: var(--color-white);
  }
}

.button-secondary {
  background-color: var(--color-secondary);
  color: var(--color-white);
  padding: 10px 40px 10px 20px;
  position: relative;
  font-weight: var(--font-weight-medium);

  &::after {
    content: '';
    position: absolute;
    background-image: url("/assets/icons/new-arrow-white-540d522a.svg");
    background-size: cover;
    background-position: center center;
    width: 14px;
    height: 11px;
    top: calc(50% - (11px / 2));
    right: 20px;
  }

  &:hover, &:focus {
    background-color: var(--color-white);
    color: var(--color-secondary);

    &::after {
      background-image: url("/assets/icons/new-arrow-secondary-d730b57c.svg");
    }
  }
}

.button-red {
  background-color: var(--color-red);
  color: var(--color-white);
  padding: 10px 40px 10px 20px;
  position: relative;
  font-weight: var(--font-weight-medium);

  &::after {
    content: '';
    position: absolute;
    background-image: url("/assets/icons/new-arrow-white-540d522a.svg");
    background-size: cover;
    background-position: center center;
    width: 14px;
    height: 11px;
    top: calc(50% - (11px / 2));
    right: 20px;
  }

  &:hover, &:focus {
    background-color: var(--color-primary);
  }
}
