/* Additional premium styles */

/* Smooth transitions for all elements */
* {
  transition: all 0.2s ease-in-out;
}

/* Enhanced button hover effects */
button:hover {
  transform: translateY(-2px);
}

/* Premium focus states */
input:focus,
select:focus,
button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
}

/* Loading animation for form submission */
.loading {
  position: relative;
  overflow: hidden;
}

.loading::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  animation: loading 1.5s infinite;
}

@keyframes loading {
  0% { left: -100%; }
  100% { left: 100%; }
}

/* Premium gradient backgrounds */
.premium-gradient {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

/* Glass morphism utility */
.glass-morphism {
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  background-color: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

/* Floating animation for decorative elements */
@keyframes float-slow {
  0%, 100% { transform: translateY(0px) rotate(0deg); }
  33% { transform: translateY(-10px) rotate(1deg); }
  66% { transform: translateY(5px) rotate(-1deg); }
}

.float-slow {
  animation: float-slow 6s ease-in-out infinite;
}

/* Premium shadow effects */
.shadow-premium {
  box-shadow: 
    0 10px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04),
    0 0 0 1px rgba(255, 255, 255, 0.05);
}

/* Responsive text scaling */
@media (max-width: 640px) {
  .responsive-text {
    font-size: clamp(1rem, 4vw, 1.25rem);
  }
}

/* Enhanced mobile experience */
@media (max-width: 768px) {
  .mobile-optimized {
    padding: 1rem;
    margin: 0.5rem 0;
  }
}
