/* Animações para MT Montagem de Móveis */

/* Fade-in básico */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Slide-in para menus */
@keyframes slideIn {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}

/* Piscar */
@keyframes piscar {
  0%, 50%, 100% {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

/* Jump up */
@keyframes jumpUp {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0);
  }
}

/* Rotação contínua */
@keyframes girar {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* Lightbox fade in */
@keyframes lightboxFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Lightbox fade out */
@keyframes lightboxFadeOut {
  from {
    opacity: 1;
    transform: scale(1);
  }

  to {
    opacity: 0;
    transform: scale(0.95);
  }
}

/* Classe utilitária para fade-in */
.fade-in {
  animation: fadeIn 0.6s ease-in;
}

/* Classe utilitária para slide-in */
.slide-in {
  animation: slideIn 0.3s ease-in;
}

/* Piscar contínuo */
.piscar {
  animation: piscar 1.2s infinite;
}

/* Pular para cima */
.jump-up {
  animation: jumpUp 0.5s ease-in;
}

/* Rotação contínua (spinner) */
.girar {
  animation: girar 1s linear infinite;
}

/* Escala ao passar */
.scale-on-hover:hover {
  transform: scale(1.05);
}

/* Blur ao passar */
.blur-on-hover:hover {
  filter: blur(1px);
}

/* Carregamento invisível */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}