/* Sticky CTA — botão flutuante a partir da metade da página */

.sticky-cta {
  position: fixed;
  left: 50%;
  bottom: clamp(1rem, 3vw, 1.5rem);
  z-index: 120;
  transform: translate(-50%, calc(100% + 2rem));
  opacity: 0;
  pointer-events: none;
  transition:
    transform 0.4s var(--ease),
    opacity 0.35s var(--ease);
}

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

.sticky-cta__btn {
  min-width: min(22rem, calc(100vw - 2rem));
  box-shadow:
    0 0 24px rgba(255, 45, 45, 0.45),
    0 10px 32px rgba(0, 0, 0, 0.45);
}

body.lesson-preview-open .sticky-cta {
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, calc(100% + 2rem));
}

@media (max-width: 640px) {
  .sticky-cta {
    bottom: clamp(0.85rem, 3vw, 1.15rem);
    width: calc(100% - 1.5rem);
    max-width: 22rem;
  }

  .sticky-cta__btn {
    width: 100%;
    min-width: 0;
  }
}

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