.cta-arrow-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 30px;
  border: none;
  border-radius: 100px;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  text-decoration: none;
  cursor: pointer;
  margin: 0 !important;
  color: var(--cta-arrow-btn-color, #fff);
  background-color: var(--cta-arrow-btn-bg, #179b93);
  box-shadow: inset 0 0 0 100px rgba(0, 0, 0, 0);
  transition:
    background-color 300ms ease-in-out,
    box-shadow 300ms ease-in-out;
}

.cta-arrow-btn:hover,
.cta-arrow-btn:focus {
  text-decoration: none;
  color: var(--cta-arrow-btn-color, #fff);
}

.cta-arrow-btn:hover {
  background-color: var(
    --cta-arrow-btn-bg-hover,
    var(--cta-arrow-btn-bg, #179b93)
  );
  box-shadow: inset 0 0 0 100px
    rgba(0, 0, 0, var(--cta-arrow-btn-hover-shade, 0.08));
}

.cta-arrow-btn__arrow {
  --cta-arrow-btn-arrow-gap: 6px;

  position: relative;
  margin-left: 5px;
  display: block;
  flex: 0 0 auto;
  width: 20px;
  height: 13px;
  overflow: hidden;
}

.cta-arrow-btn__arrow-glyph {
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 300ms ease-in-out;
}

.cta-arrow-btn__text {
  font-weight: 500;
}

.cta-arrow-btn__arrow-glyph:last-child {
  transform: translateX(calc(-100% - var(--cta-arrow-btn-arrow-gap)));
}

.cta-arrow-btn:hover .cta-arrow-btn__arrow-glyph:first-child {
  transform: translateX(calc(100% + var(--cta-arrow-btn-arrow-gap)));
}

.cta-arrow-btn:hover .cta-arrow-btn__arrow-glyph:last-child {
  transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {
  .cta-arrow-btn,
  .cta-arrow-btn__arrow-glyph {
    transition: none;
  }

  .cta-arrow-btn:hover .cta-arrow-btn__arrow-glyph:first-child,
  .cta-arrow-btn__arrow-glyph:last-child {
    transform: none;
  }
}
