/* Animações */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes slideInRight {
  from { opacity: 0; transform: translateX(30px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

.animate-fade-in { animation: fadeIn 0.6s ease-out forwards; }
.animate-slide-up { animation: slideUp 0.6s ease-out forwards; }
.animate-slide-in-left { animation: slideInLeft 0.6s ease-out forwards; }
.animate-slide-in-right { animation: slideInRight 0.6s ease-out forwards; }
.animate-scale-in { animation: scaleIn 0.6s ease-out forwards; }

.animation-delay-100 { animation-delay: 0.1s; }
.animation-delay-200 { animation-delay: 0.2s; }
.animation-delay-300 { animation-delay: 0.3s; }
.animation-delay-400 { animation-delay: 0.4s; }
.animation-delay-500 { animation-delay: 0.5s; }

.smooth-hover {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.smooth-hover:hover {
  transform: translateY(-4px);
}

.image-zoom-container {
  overflow: hidden;
}

.image-zoom {
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.image-zoom-container:hover .image-zoom {
  transform: scale(1.05);
}

html {
  scroll-behavior: smooth;
}

/* Classes customizadas para cores */
.bg-primary { background-color: #79b4df !important; }
.text-primary { color: #79b4df !important; }
.bg-accent { background-color: #79b4df !important; }
.text-accent { color: #79b4df !important; }
.bg-background { background-color: #ffffff !important; }
.text-foreground { color: #090f10 !important; }
.bg-muted { background-color: #f5f5f5 !important; }
.text-muted-foreground { color: #939597 !important; }
.border-border { border-color: #e5e5e5 !important; }

.bg-primary\/10 { background-color: rgba(121, 180, 223, 0.1) !important; }
.bg-primary\/20 { background-color: rgba(121, 180, 223, 0.2) !important; }
.bg-primary\/5 { background-color: rgba(121, 180, 223, 0.05) !important; }
.bg-primary\/90 { background-color: rgba(121, 180, 223, 0.9) !important; }
.bg-accent\/10 { background-color: rgba(121, 180, 223, 0.1) !important; }
.bg-accent\/20 { background-color: rgba(121, 180, 223, 0.2) !important; }
.bg-muted\/30 { background-color: rgba(245, 245, 245, 0.3) !important; }
.text-primary-foreground\/90 { color: rgba(255, 255, 255, 0.9) !important; }
.text-white\/70 { color: rgba(255, 255, 255, 0.7) !important; }
.text-white\/60 { color: rgba(255, 255, 255, 0.6) !important; }
.border-white\/10 { border-color: rgba(255, 255, 255, 0.1) !important; }
.bg-white\/10 { background-color: rgba(255, 255, 255, 0.1) !important; }
.bg-white\/20 { background-color: rgba(255, 255, 255, 0.2) !important; }

.hover\:bg-primary\/10:hover { background-color: rgba(121, 180, 223, 0.1) !important; }
.hover\:bg-primary\/90:hover { background-color: rgba(121, 180, 223, 0.9) !important; }
.hover\:bg-accent\/10:hover { background-color: rgba(121, 180, 223, 0.1) !important; }
.hover\:bg-accent\/20:hover { background-color: rgba(121, 180, 223, 0.2) !important; }
.hover\:border-primary:hover { border-color: #79b4df !important; }
.hover\:border-accent:hover { border-color: #79b4df !important; }
.hover\:text-primary:hover { color: #79b4df !important; }

