/* Hub Fotos — shared styles */
[x-cloak] { display: none !important; }
html { scroll-behavior: smooth; }

/* Step transition */
.step-enter { animation: fadeSlide .25s ease forwards; }
@keyframes fadeSlide {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Hero gradient (landing) */
.gradient-hero { background: linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #4f46e5 100%); }

/* Card hover (landing) */
.card-hover { transition: transform .2s, box-shadow .2s; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(79,70,229,.15); }

/* Spinner */
@keyframes spin { to { transform: rotate(360deg); } }
.animate-spin { animation: spin 1s linear infinite; }
