.ticket-suck-in {
    animation: ticketSuckIn 0.8s cubic-bezier(0.5, -0.5, 0.5, 1.5) forwards !important;
}

@keyframes ticketSuckIn {
    0% {
        transform: translateY(15px);
        opacity: 1;
    }

    30% {
        transform: translateY(30px);
        opacity: 1;
    }

    100% {
        transform: translateY(100%);
        opacity: 1;
    }
}

.ticket-crumpled {
    transform: scale(0.98) !important;
    background-image:
        linear-gradient(110deg, transparent 40%, rgba(0, 0, 0, 0.04) 41%, rgba(0, 0, 0, 0.08) 42%, transparent 43%),
        linear-gradient(-30deg, transparent 60%, rgba(0, 0, 0, 0.03) 61%, rgba(0, 0, 0, 0.07) 62%, transparent 63%),
        linear-gradient(15deg, transparent 25%, rgba(0, 0, 0, 0.03) 26%, rgba(0, 0, 0, 0.06) 27%, transparent 28%),
        linear-gradient(-150deg, transparent 75%, rgba(0, 0, 0, 0.04) 76%, rgba(0, 0, 0, 0.08) 77%, transparent 78%) !important;
    box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.06), 0 5px 25px rgba(0, 0, 0, 0.2) !important;
}