.roi-sticky-cta{
  position: fixed;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: var(--roi-cta-z, 9999);
  background: var(--roi-cta-bg, #FFA500);
  color: var(--roi-cta-text, #000);
  text-decoration: none;
  border-radius: var(--roi-cta-radius, 999px);
  font-size: var(--roi-cta-font, 15px);
  padding: var(--roi-cta-pad-y, 12px) var(--roi-cta-pad-x, 18px);
  box-shadow: var(--roi-cta-shadow, 0 10px 24px rgba(0,0,0,.25));
  line-height: 1.2;
  max-width: calc(100vw - 32px);
  transition: transform .15s ease, background-color .15s ease, filter .15s ease;
  animation: var(--roi-cta-pulse, none);
  will-change: transform;
}

.roi-sticky-cta:hover,
.roi-sticky-cta:focus{
  background: var(--roi-cta-hover-bg, #E59400);
  transform: translateY(-1px);
  outline: none;
  filter: brightness(0.98);
}

.roi-sticky-cta:active{
  transform: translateY(0px) scale(.99);
}

.roi-sticky-cta__label{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 92vw;
  font-weight: 800;
  letter-spacing: .2px;
}

/* Mobile: center for thumb reach */
@media (max-width: 768px){
  .roi-sticky-cta{
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%);
  }
  .roi-sticky-cta:hover,
  .roi-sticky-cta:focus{
    transform: translateX(-50%) translateY(-1px);
  }
  .roi-sticky-cta:active{
    transform: translateX(-50%) scale(.99);
  }
}

@media (max-width: 420px){
  .roi-sticky-cta{
    font-size: 14px;
    padding: 11px 14px;
  }
  .roi-sticky-cta__label{
    max-width: 86vw;
  }
}

@keyframes roiPulse {
  0%   { transform: translateY(0) scale(1); }
  35%  { transform: translateY(-2px) scale(1.04); }
  70%  { transform: translateY(0) scale(1); }
  100% { transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce){
  .roi-sticky-cta{ animation: none !important; transition: none !important; }
}
