body {
  box-sizing: border-box;
}

* {
  font-family: 'Poppins', 'Noto Sans Devanagari', sans-serif;
}

.glass-card {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.5);
}

.gradient-hero {
  background: linear-gradient(135deg, #1e3a5f 0%, #0d2137 50%, #1a365d 100%);
}

.gradient-saffron {
  background: linear-gradient(135deg, #ff9933 0%, #ff7b00 100%);
}

.new-badge-glow {
  animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
  from { box-shadow: 0 0 5px #22c55e, 0 0 10px #22c55e; }
  to { box-shadow: 0 0 10px #22c55e, 0 0 20px #22c55e; }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fadeInUp {
  animation: fadeInUp 0.5s ease-out forwards;
}

@keyframes slideIn {
  from {
    transform: translateX(-100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.animate-slideIn {
  animation: slideIn 0.3s ease-out forwards;
}

.skeleton {
  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; }
}

.hover-lift {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.category-card {
  transition: all 0.3s ease;
}

.category-card:hover {
  transform: scale(1.02);
}

.mobile-menu {
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.mobile-menu.hidden {
  transform: translateX(-100%);
  opacity: 0;
}

.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.tricolor-border {
  border-top: 3px solid #ff9933;
  border-bottom: 3px solid #138808;
}

.ashoka-wheel {
  animation: spin 20s linear infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Dark Mode Styles */
.dark {
  color-scheme: dark;
}

.dark body {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
}

.dark .glass-card {
  background: rgba(30, 41, 59, 0.8);
  border: 1px solid rgba(71, 85, 105, 0.3);
}

.dark .text-slate-800 {
  color: #e2e8f0 !important;
}

.dark .text-slate-600 {
  color: #94a3b8 !important;
}

.dark .text-slate-500 {
  color: #64748b !important;
}

.dark .text-slate-400 {
  color: #475569 !important;
}

.dark .bg-white {
  background-color: #1e293b !important;
}

.dark .bg-slate-50 {
  background-color: #0f172a !important;
}

.dark .bg-slate-100 {
  background-color: #1e293b !important;
}

.dark .border-slate-200 {
  border-color: #334155 !important;
}

.dark .skeleton {
  background: linear-gradient(90deg, #1e293b 25%, #334155 50%, #1e293b 75%);
  background-size: 200% 100%;
}
