.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-m);
  border: 1px solid transparent;
  border-radius: var(--radius-radius-l);
  cursor: pointer;
}

.btn--primary {
  padding: var(--space-s) var(--space-m);
  background: transparent;
  color: var(--font-color-black);

  position: relative;
  overflow: hidden;
  z-index: 1;
}

.btn > span {
  overflow: hidden;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 4px;
}

.btn--primary::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--font-color-brand);
  border-radius: var(--radius-radius-l);
  z-index: -1;

  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
  transform-origin: 100% 50%;
}

.btn--primary::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--font-color-black);
  border-radius: var(--radius-radius-l);
  z-index: -2;
}

.btn--secondary {
  padding: var(--space-s) var(--space-xs);
  background: transparent;
  color: var(--font-color-brand);
  border-radius: var(--radius-radius-l);
  border: 2px solid var(--font-color-black);

  position: relative;
  overflow: hidden;
  z-index: 1;
}

.btn--secondary::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 98%;
  height: 98%;
  background: var(--font-color-black);
  border-radius: var(--radius-radius-l);
  border: 2px solid var(--font-color-black);
  z-index: -1;

  transition: transform 0.3s cubic-bezier(0.7, 0, 0.2, 1);
  transform-origin: 100% 50%;
}

.btn--secondary::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 98%;
  height: 98%;
  background: var(--font-color-brand);
  border: 2px solid var(--font-color-black);
  border-radius: var(--radius-radius-l);
  z-index: -2;
}

.btn__text {
  color: var(--font-color-black);
  font-family: var(--font-body);
  font-size: var(--font-size-copy-s);
  font-style: normal;
  font-weight: var(--font-weight-bold);
  line-height: normal;
}

.btn__text--secondary {
  color: var(--font-color-brand);
}

.btn__icon {
  margin-top: 4px;
}

@media (hover: hover) {
  .btn--primary:hover::before,
  .btn--secondary:hover::before {
    transform: scale3d(0, 1, 1);
    transform-origin: 0% 50%;
  }

  .btn--primary:hover {
    .btn__text,
    .btn__icon {
      color: var(--font-color-brand);
      animation:
        jumpUpStart 0.2s forwards,
        jumpUpEnd 0.2s forwards 0.2s;
    }
  }

  .btn--secondary:hover {
    .btn__text,
    .btn__icon {
      color: var(--font-color-black);
      animation:
        jumpUpStart 0.2s forwards,
        jumpUpEnd 0.2s forwards 0.2s;
    }
  }

  /* .btn--primary:hover span {
    animation: jumpUp 2s forwards;
  } */
}

@keyframes jumpUpStart {
  to {
    transform: translateY(-250%);
  }
}

@keyframes jumpUpEnd {
  from {
    transform: translateY(100%);
  }

  to {
    transform: translateY(0);
  }
}

/* @keyframes jumpUp {
  0% {
    transform: translateY(0);
    color: var(--font-color-black);
    animation-timing-function: cubic-bezier(0.5, 0, 1, 0.5);
  }
  49.9% {
    transform: translateY(-105%);
    color: var(--font-color-black);
  }
  50% {
    transform: translateY(105%);
    color: var(--font-color-brand);
    animation-timing-function: cubic-bezier(0, 0.5, 0.5, 1);
  }
  100% {
    transform: translateY(0);
    color: var(--font-color-brand);
  }
} */
