.cta-button {
  align-items: center;
  -moz-column-gap: var(--space-sm);
  column-gap: var(--space-sm);
  display: flex;
  flex-direction: row;
  font-weight: var(--font-weight-semibold);
  justify-content: center;
  max-width: -moz-fit-content;
  max-width: fit-content;
  overflow: hidden;
  text-align: center;
  text-transform: uppercase;
  transition: var(--transition-fast);

  @media (width < 1024px) {
    font-size: var(--font-size-sm);
    line-height: 2.2rem;
    min-height: 4.5rem;
    min-width: 10rem;
    padding: var(--space-sm) var(--space-md);
  }

  @media (width >= 1024px) {
    font-size: var(--font-size-lg);
    line-height: 2.6rem;
    min-height: 5.5rem;
    min-width: 18.6rem;
    padding: var(--space-md) var(--space-xl);

    &:hover {
      box-shadow: var(--box-shadow-default);
    }
  }
}

.cta-button--primary {
  background-color: var(--color-brand-primary);
  border: 0.1rem solid var(--color-brand-secondary);
  color: var(--color-white);

  @media (width >= 1024px) {

    &:hover {
      background-color: color-mix(in srgb, var(--color-brand-primary) 90%, var(--color-brand-secondary) 10%);
    }
  }

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

.cta-button--secondary {
  background-color: var(--color-brand-secondary);
  border: 0.1rem solid var(--color-brand-primary);
  color: var(--color-text-primary);

  @media (width >= 1024px) {

    &:hover {
      background-color: color-mix(in srgb, var(--color-brand-secondary) 90%, var(--color-brand-primary) 10%);
    }
  }

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

.cta-button--accent {
  background-color: var(--color-accent);
  border: 0.1rem solid var(--color-white);
  color: var(--color-white);

  @media (width >= 1024px) {

    &:hover {
      background-color: color-mix(in srgb, var(--color-accent) 75%, var(--color-white) 25%);
    }
  }

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