.weeklys-cta-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;

  height: 42px;
  padding: 0 17px;

  font-family: Helvetica, Arial, sans-serif;
  font-weight: bold;
  font-size: 17px;

  color: #ffffff;
  border: none;
  border-radius: 5px;
  cursor: pointer;

  background-image: linear-gradient(
    90deg,
    #de4627 0%,
    #ff6c00 25%,
    #f79153 60%,
    #de4627 100%
  );
  background-size: 400% 100%;
  animation: weeklysWave 6s ease-in-out infinite alternate;

  transition: transform 0.2s ease;
}

.weeklys-cta-button:hover {
  transform: translateY(-1px);
}

.weeklys-cta-button svg {
  width: 16px;
  fill: #ffffff;
  transition: transform 0.25s ease;
}

.weeklys-cta-button:hover svg {
  transform: translateX(4px);
}

@keyframes weeklysWave {
  from { background-position: 0% 50%; }
  to   { background-position: 100% 50%; }
}

.weeklys-cta-button.animate-icon i,
.weeklys-cta-button.animate-icon svg {
  transition: transform 0.25s ease;
}

.weeklys-cta-button.animate-icon:hover i,
.weeklys-cta-button.animate-icon:hover svg {
  transform: translateX(4px);
}
.weeklys-cta-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;

  font-family: Helvetica, Arial, sans-serif;
  font-weight: bold;
  font-size: 17px;

  cursor: pointer;
  background-size: 400% 100%;
  animation-name: weeklysWave;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  transition: transform 0.2s ease;
  text-decoration: none;
  border: none;
}

.weeklys-cta-button.inline {
  width: auto;
  display: inline-flex;
}

.weeklys-cta-button.full-width {
  width: 100%;
  display: block;
  text-align: center;
}

.weeklys-cta-button:hover {
  transform: translateY(-1px);
}

.weeklys-cta-button.animate-icon i,
.weeklys-cta-button.animate-icon svg {
  transition: transform 0.25s ease;
}

.weeklys-cta-button.animate-icon:hover i,
.weeklys-cta-button.animate-icon:hover svg {
  transform: translateX(4px);
}

.weeklys-cta-button svg {
  width: 16px;
  fill: currentColor;
}

@keyframes weeklysWave {
  from { background-position: 0% 50%; }
  to   { background-position: 100% 50%; }
}