/**
 * Card Component Styles
 * Reusable card component with optional gradient and hover effects
 */

/* Base Card Styles */
.card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg, 24px);
  padding: 2rem;
  background: white;
  border: 1px solid rgba(0, 0, 0, 0.08);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Card with Gradient Background */
.card-gradient {
  background: linear-gradient(to bottom right, white, rgb(249, 250, 251));
}

/* Card Hover Effect */
.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
  border-color: rgba(255, 48, 170, 0.2);
}

/* Gradient Blob Overlay for Cards */
.card-gradient-blob {
  position: absolute;
  top: 0;
  right: 0;
  width: 16rem;
  height: 16rem;
  background: radial-gradient(circle, rgba(255, 48, 170, 0.05) 0%, rgba(185, 18, 222, 0.05) 50%, transparent 100%);
  border-radius: 50%;
  filter: blur(3rem);
  pointer-events: none;
}

/* Card Content */
.card-content {
  position: relative;
  z-index: 10;
}

/* Fade-in Animation */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.card-animate {
  animation: fadeInUp 0.5s ease-out forwards;
}

/* Stagger animation delays for multiple cards */
.card-animate:nth-child(1) { animation-delay: 0s; }
.card-animate:nth-child(2) { animation-delay: 0.1s; }
.card-animate:nth-child(3) { animation-delay: 0.2s; }
.card-animate:nth-child(4) { animation-delay: 0.3s; }
.card-animate:nth-child(5) { animation-delay: 0.4s; }
.card-animate:nth-child(6) { animation-delay: 0.5s; }

/* Initialize cards as invisible before animation */
.card-animate {
  opacity: 0;
}

/* When cards are in viewport */
.card-animate.visible {
  animation: fadeInUp 0.5s ease-out forwards;
}
