@keyframes float {

  0%,
  100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-10px);
  }
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }

  100% {
    background-position: 200% 0;
  }
}

@keyframes pulse-glow {

  0%,
  100% {
    box-shadow: 0 0 5px rgba(59, 130, 246, 0.5);
  }

  50% {
    box-shadow: 0 0 20px rgba(59, 130, 246, 0.8), 0 0 30px rgba(59, 130, 246, 0.6);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes heartBeat {
  0% {
    transform: scale(1);
  }

  14% {
    transform: scale(1.3);
  }

  28% {
    transform: scale(1);
  }

  42% {
    transform: scale(1.3);
  }

  70% {
    transform: scale(1);
  }
}

.animate-float {
  animation: float 3s ease-in-out infinite;
  will-change: transform;
}

.animate-shimmer {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  background-size: 200% 100%;
  animation: shimmer 2s infinite;
}

.animate-pulse-glow {
  animation: pulse-glow 2s ease-in-out infinite;
}

.animate-fade-in {
  animation: fadeIn 0.6s ease-out forwards;
}

.animate-heart-beat {
  animation: heartBeat 1s ease;
}

.hover-lift {
  transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
  will-change: transform;
}

.hover-lift:hover {
  transform: translateY(-8px) scale(1.02);
}

.card-gradient {
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}

.text-gradient {
  background: linear-gradient(135deg, #1e293b, #475569);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.bg-main-gradient {
  background: linear-gradient(to right, #eaf6fc 0%, #ffffff 50%, #eaf6fc 100%);
}

.category-active {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  color: white;
  box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
}

.theme-card {
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transform: translateZ(0);
  backface-visibility: hidden;
}

.premium-badge {
  background: linear-gradient(135deg, #f59e0b, #d97706);
}

.new-badge {
  background: linear-gradient(135deg, #10b981, #059669);
}

.featured-badge {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}

.favorite-btn {
  transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
  cursor: pointer;
}

.favorite-btn.active {
  color: #ef4444;
  opacity: 1;
}

.theme-image {
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  will-change: transform;
}

.theme-card:hover .theme-image {
  transform: scale(1.05);
}

.theme-overlay {
  transition: opacity 0.4s ease-out;
}

.theme-actions {
  transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}

* {
  scroll-behavior: smooth;
}






@keyframes float {

  0%,
  100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-20px);
  }
}

@keyframes pulse-glow {

  0%,
  100% {
    box-shadow: 0 0 10px rgba(59, 130, 246, 0.3);
  }

  50% {
    box-shadow: 0 0 30px rgba(59, 130, 246, 0.6), 0 0 40px rgba(59, 130, 246, 0.4);
  }
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }

  100% {
    background-position: 200% 0;
  }
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.animate-float {
  animation: float 4s ease-in-out infinite;
}

.animate-pulse-glow {
  animation: pulse-glow 3s ease-in-out infinite;
}

.animate-shimmer {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  background-size: 200% 100%;
  animation: shimmer 2s infinite;
}

.animate-rotate-slow {
  animation: rotate 20s linear infinite;
}

.bg-main-gradient {
  background: linear-gradient(to right, #eaf6fc 0%, #ffffff 50%, #eaf6fc 100%);
}

.text-gradient {
  background: linear-gradient(135deg, #1e293b, #475569);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.card-gradient {
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}

.feature-card {
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.hover-lift {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.hover-lift:hover {
  transform: translateY(-12px) scale(1.03);
}

.icon-glow {
  filter: drop-shadow(0 0 10px rgba(59, 130, 246, 0.3));
}

.section-divider {
  background: linear-gradient(90deg, transparent, #e2e8f0, transparent);
  height: 1px;
}