.sticky-cta {
  position: fixed;
  left: 50%;
  bottom: 3.2rem;
  z-index: 200;
  max-width: calc(100% - 3.2rem);
  transform: translate(-50%, calc(100% + 4rem));
  opacity: 0;
  pointer-events: none;
  transition: transform 420ms var(--ease), opacity 420ms var(--ease);
}

.sticky-cta.is-visible {
  transform: translate(-50%, 0);
  opacity: 1;
  pointer-events: auto;
}

.sticky-cta__inner {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  padding: 1.4rem 1.4rem 1.4rem 3.2rem;
  background: var(--canvas);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-hover);
}

.sticky-cta__text {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--ink);
  white-space: nowrap;
}

.sticky-cta .button {
  flex: 0 0 auto;
}

@media (max-width: 640px) {
  .sticky-cta {
    bottom: 2rem;
  }

  .sticky-cta__inner {
    padding: 0;
    gap: 0;
    background: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .sticky-cta__text {
    display: none;
  }

  .sticky-cta .button {
    box-shadow: var(--shadow-hover);
  }
}
