/* Estados iniciales antes de que Motion anime (evita flash) */
[data-animate="fade-up"],
[data-animate="fade-in"],
.motion-pending {
    opacity: 0;
}

[data-animate="fade-up"].motion-pending {
    transform: translateY(5px);
}

[data-animate="scale-in"].motion-pending {
    transform: scale(0.995);
}

.motion-item.motion-pending {
    opacity: 0;
    transform: translateY(4px);
}

/* Botones — micro-interacción consistente */
.btn-motion {
    transition: transform 0.18s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.18s ease;
}

.btn-motion:active:not(:disabled) {
    transform: scale(0.99);
}

@media (prefers-reduced-motion: reduce) {
    [data-animate="fade-up"],
    [data-animate="fade-in"],
    [data-animate="scale-in"],
    .motion-pending,
    .motion-item.motion-pending {
        opacity: 1 !important;
        transform: none !important;
    }

    .btn-motion:active:not(:disabled) {
        transform: none;
    }
}