/* Animaciones CSS personalizadas para el modal */

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: scale(0.8) translateY(50px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes textSlideIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Clases de animación */
.modal-overlay {
  animation: fadeIn 0.3s ease-out;
}

.modal-content {
  animation: slideIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.animated-title {
  animation: textSlideIn 0.8s ease-out 0.3s both;
}

.animated-text {
  animation: textSlideIn 0.8s ease-out 0.5s both;
}

.animated-button {
  animation: textSlideIn 0.6s ease-out 0.7s both;
}

/* Animaciones de salida */
.modal-exit {
  animation: fadeIn 0.3s ease-out reverse;
}

.modal-content-exit {
  animation: slideIn 0.3s ease-out reverse;
}

/* Estilos del gradiente de fondo */
.gradient-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.7), rgba(147, 51, 234, 0.7));
}

/* Efectos hover */
.learn-more-btn,
.trial-btn {
  transition: all 0.2s ease;
}

.learn-more-btn:hover {
  transform: scale(1.05);
}

.trial-btn:hover {
  background-color: white;
  color: #2563eb;
}

.close-btn {
  transition: background-color 0.2s ease;
}

.close-btn:hover {
  background-color: rgba(255, 255, 255, 0.3);
}

/* Loading spinner */
.loading-spinner {
  border: 3px solid #f3f3f3;
  border-top: 3px solid #3498db;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
  margin: 20px auto;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Responsivo */
@media (max-width: 768px) {
  .modal-content {
    margin: 1rem;
    height: 350px;
  }

  .animated-title {
    font-size: 2rem;
  }

  .animated-text {
    font-size: 1rem;
  }
}
