/* ProjectBloom.ai Custom Styles */\n\n/* Custom animations */\n@keyframes fadeInUp {\n  from {\n    opacity: 0;\n    transform: translateY(30px);\n  }\n  to {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n\n@keyframes slideInLeft {\n  from {\n    opacity: 0;\n    transform: translateX(-30px);\n  }\n  to {\n    opacity: 1;\n    transform: translateX(0);\n  }\n}\n\n@keyframes pulse {\n  0%, 100% {\n    opacity: 1;\n  }\n  50% {\n    opacity: 0.7;\n  }\n}\n\n/* Animation classes */\n.animate-fadeInUp {\n  animation: fadeInUp 0.6s ease-out;\n}\n\n.animate-slideInLeft {\n  animation: slideInLeft 0.6s ease-out;\n}\n\n.animate-pulse-custom {\n  animation: pulse 2s infinite;\n}\n\n/* Custom gradients */\n.gradient-bg {\n  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n}\n\n.gradient-text {\n  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n  -webkit-background-clip: text;\n  -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n\n/* Smooth scrolling */\nhtml {\n  scroll-behavior: smooth;\n}\n\n/* Custom button hover effects */\n.btn-hover-scale {\n  transition: all 0.3s ease;\n}\n\n.btn-hover-scale:hover {\n  transform: scale(1.05);\n}\n\n/* Card hover effects */\n.card-hover {\n  transition: all 0.3s ease;\n}\n\n.card-hover:hover {\n  transform: translateY(-5px);\n  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);\n}\n\n/* Loading states */\n.loading {\n  opacity: 0.6;\n  pointer-events: none;\n}\n\n/* Form focus styles */\ninput:focus, textarea:focus, select:focus {\n  outline: none;\n  ring: 2px;\n  ring-color: #3B82F6;\n  border-color: transparent;\n}\n\n/* Mobile menu toggle */\n.mobile-menu-hidden {\n  display: none;\n}\n\n@media (max-width: 768px) {\n  .mobile-menu-hidden {\n    display: block;\n  }\n}\n\n/* Custom scrollbar */\n::-webkit-scrollbar {\n  width: 8px;\n}\n\n::-webkit-scrollbar-track {\n  background: #f1f5f9;\n}\n\n::-webkit-scrollbar-thumb {\n  background: #cbd5e1;\n  border-radius: 4px;\n}\n\n::-webkit-scrollbar-thumb:hover {\n  background: #94a3b8;\n}\n\n/* Print styles */\n@media print {\n  .no-print {\n    display: none !important;\n  }\n}\n\n/* High contrast mode support */\n@media (prefers-contrast: high) {\n  .bg-gray-50 {\n    background-color: #ffffff;\n  }\n  \n  .text-gray-600 {\n    color: #000000;\n  }\n}\n\n/* Reduced motion support */\n@media (prefers-reduced-motion: reduce) {\n  * {\n    animation-duration: 0.01ms !important;\n    animation-iteration-count: 1 !important;\n    transition-duration: 0.01ms !important;\n  }\n}\n\n/* Dark mode support (future) */\n@media (prefers-color-scheme: dark) {\n  /* Dark mode styles would go here */\n}\n\n/* Utility classes */\n.text-shadow {\n  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.backdrop-blur-custom {\n  backdrop-filter: blur(10px);\n}\n\n/* Campaign page specific styles */\n.campaign-container {\n  max-width: 1200px;\n  margin: 0 auto;\n  padding: 0 1rem;\n}\n\n.campaign-hero {\n  min-height: 60vh;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n/* Success message styles */\n.success-message {\n  animation: fadeInUp 0.5s ease-out;\n}\n\n.success-checkmark {\n  animation: pulse 0.6s ease-out;\n}\n\n/* Form validation styles */\n.form-error {\n  border-color: #ef4444 !important;\n  background-color: #fef2f2;\n}\n\n.form-success {\n  border-color: #10b981 !important;\n  background-color: #f0fdf4;\n}\n\n/* Dashboard styles */\n.dashboard-card {\n  background: white;\n  border-radius: 0.5rem;\n  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);\n  transition: all 0.3s ease;\n}\n\n.dashboard-card:hover {\n  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n}\n\n/* Loading spinner */\n.spinner {\n  border: 4px solid #f3f4f6;\n  border-top: 4px solid #3b82f6;\n  border-radius: 50%;\n  width: 40px;\n  height: 40px;\n  animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n  0% { transform: rotate(0deg); }\n  100% { transform: rotate(360deg); }\n}\n\n/* Notification styles */\n.notification {\n  position: fixed;\n  top: 1rem;\n  right: 1rem;\n  z-index: 1000;\n  max-width: 400px;\n  animation: slideInLeft 0.3s ease-out;\n}\n\n.notification.success {\n  background-color: #10b981;\n  color: white;\n}\n\n.notification.error {\n  background-color: #ef4444;\n  color: white;\n}\n\n.notification.info {\n  background-color: #3b82f6;\n  color: white;\n}