.hover-lift:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.bg-gradient-custom {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

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

.glass-effect {
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, 0.9);
}

.text-shadow {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.pulse-border {
  animation: pulse-border 2s infinite;
}

@keyframes pulse-border {
  0%,
  100% {
    border-color: #3b82f6;
  }
  50% {
    border-color: #8b5cf6;
  }
}

.shimmer {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

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

/* Enhanced responsive breakpoints */
@media (max-width: 480px) {
  .mobile-compact {
    padding: 1rem;
  }
  .mobile-title {
    font-size: 1.5rem;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .tablet-spacing {
    padding: 1.5rem;
  }
}

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

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

.qr-button:hover {
  background: linear-gradient(45deg, #10b981, #059669);
}

.link-button:hover {
  background: linear-gradient(45deg, #3b82f6, #2563eb);
}
