/* BASE PARA ANIMACIONES */
.anim-item {
  opacity: 0;
  filter: blur(10px);
  will-change: transform, opacity, filter;
}

/* ESTADO FINAL ACTIVADO */
.anim-show {
  opacity: 1 !important;
  filter: blur(0) !important;
  transform: translate(0, 0) scale(1) !important;
  transition: 
    transform 1.8s cubic-bezier(0.22, 1, 0.36, 1), 
    opacity 1.5s ease, 
    filter 1.2s ease !important;
}

/* TIPOS DE ANIMACIÓN INICIALES */
[data-anim="top"] { transform: translateY(-80px); }
[data-anim="up"] { transform: translateY(80px); }
[data-anim="left"] { transform: translateX(-80px); }
[data-anim="right"] { transform: translateX(80px); }
[data-anim="zoom"] { transform: scale(0.85); }
[data-anim="fade"] { transform: scale(0.95); }

/* EFECTOS HOVER PREMIUM */
.hover-premium {
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.5s ease;
  border-radius: 8px;
}
.hover-premium:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.2);
  z-index: 10;
}

.hover-shine {
  position: relative;
  overflow: hidden;
  transition: all 0.5s ease;
}
.hover-shine::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%);
  transform: skewX(-25deg);
  transition: all 0.75s;
}
.hover-shine:hover::before {
  left: 125%;
}
