/* Non-critical styles for async loading */

/* Animation utilities */
.group:hover .group-hover\:animate-bounce {
  animation: bounce 1s infinite;
}

.group:hover .group-hover\:animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.group:hover .group-hover\:scale-110 {
  transform: scale(1.1);
}

.group:hover .group-hover\:translate-x-2 {
  transform: translateX(0.5rem);
}

.group:hover .group-hover\:translate-x-1 {
  transform: translateX(0.25rem);
}

.hover\:scale-105:hover {
  transform: scale(1.05);
}

.hover\:-translate-y-2:hover {
  transform: translateY(-0.5rem);
}

/* Background patterns */
.bg-pattern {
  background-size: 60px 60px;
}

/* Complex gradients */
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

/* Backdrop blur effects */
.backdrop-blur-sm {
  backdrop-filter: blur(4px);
}

/* Shadow utilities */
.shadow-card {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.shadow-card-hover {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Line clamp utility */
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Performance optimizations for below-the-fold content */
.stats-section,
.featured-stores,
.location-grid,
.popular-categories,
.cta-section {
  content-visibility: auto;
  contain-intrinsic-size: 0 500px;
}