.cta-phone {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.cta-phone__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.cta-phone__svg {
  display: block;
  width: 22px;
  height: 22px;
  fill: #ef6400;
  transform: translateX(0);
  transform-origin: 50% 50%;
  animation: sePhoneRing 0.55s linear infinite;
}

@keyframes sePhoneRing {
  0% { transform: translateX(0); }
  10% { transform: translateX(-3px); }
  20% { transform: translateX(3px); }
  30% { transform: translateX(-3px); }
  40% { transform: translateX(3px); }
  50% { transform: translateX(-2px); }
  60% { transform: translateX(2px); }
  70% { transform: translateX(-2px); }
  80% { transform: translateX(2px); }
  90% { transform: translateX(-1px); }
  100% { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
  .cta-phone__svg {
    animation: none;
  }
}

.cta-phone__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.1;
}

.cta-phone__num {
  color: #ef6400;
  line-height: 1.05;
  height: auto;
  font-weight: 900;
}

/* Center icon and number line together in desktop CTA */
.cta-phone--desktop {
  align-items: center;
}

.cta-phone--desktop .cta-phone__icon {
  width: 44px;
  height: 44px;
  margin-top: 0;
}

.cta-phone--desktop .cta-phone__svg {
  width: 22px;
  height: 22px;
}

.cta-phone--desktop .cta-phone__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.1;
}

.cta-phone--desktop .cta-phone__label {
  line-height: 1.1;
}

.cta-phone--desktop .cta-phone__num {
  line-height: 1.05;
  height: auto;
  font-weight: 900;
}

.cta-phone--compact .cta-phone__icon {
  width: 32px;
  height: 32px;
}

.cta-phone--compact .cta-phone__svg {
  width: 18px;
  height: 18px;
}

.ty-call-btn .cta-phone__svg,
.lp-top-call-btn .cta-phone__svg {
  fill: #fff;
}
