@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;500;600;700;800&display=swap');

*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'Cairo', sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* Skeleton shimmer */
@keyframes shimmer {
  0%   { background-position: -800px 0; }
  100% { background-position:  800px 0; }
}
.animate-pulse {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 800px 100%;
  animation: shimmer 1.5s infinite;
}
.animate-pulse > * { background: transparent !important; }

/* Hero gradient */
.hero-gradient {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 60%, #1d4ed8 100%);
}

/* Product card consistent height */
.product-card { display: flex; flex-direction: column; }
.product-card > a + div { flex: 1; display: flex; flex-direction: column; }
.product-card > a + div .flex { margin-top: auto; }

/* Line clamp fallback */
.line-clamp-1 { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }
.line-clamp-2 { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

/* Smooth cart slide */
#cart-modal { transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
