/* Flying Rocket Animation */
.rocket-container {
    position: relative;
    display: inline-block;
    z-index: 1000;
    overflow: visible;
    /* transform: translateX(250%); */
}

.rocket-btn {
    position: relative;
    overflow: visible;
}

.rocket-icon {
    color: transparent;
}

.rocket-flyaway {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 1;
    pointer-events: none;
    /* transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); */
    color: var(--red);
    z-index: 10;
    /* Position the rocket to appear inside the button */
    transform: translate(-50%, -50%);
}

.rocket-btn:hover .rocket-icon {
    opacity: 0;
}

.rocket-btn:hover .rocket-flyaway {
    opacity: 1;
    transform: translate(-50%, -50%) translateX(-12px) translateY(-2px);
    animation: rocket-fly 5s linear infinite;
}

@keyframes rocket-fly {
    0% {
        transform: translate(-50%, -50%) translateX(0) translateY(0) scale(1.1) rotate(0deg);
        opacity: 1;
    }
    1% {
        transform: translate(-50%, -50%) translateX(0) translateY(0) scale(1.1) rotate(1deg);
        opacity: 1;
    }
    2% {
        transform: translate(-50%, -50%) translateX(0) translateY(0) scale(1.1) rotate(0deg);
        opacity: 1;
    }
    4% {
        transform: translate(-50%, -50%) translateX(0) translateY(0) scale(1.1) rotate(1deg);
        opacity: 1;
    }
    8% {
        transform: translate(-50%, -50%) translateX(0) translateY(0) scale(1.1) rotate(0deg);
        opacity: 1;
    }
    10% {
        transform: translate(-50%, -50%) translateX(0) translateY(0) scale(1.1) rotate(1deg);
        opacity: 1;
    }
    12% {
        transform: translate(-50%, -50%) translateX(0) translateY(0) scale(1.1) rotate(0deg);
        opacity: 1;
    }
    15% {
        transform: translate(-50%, -50%) translateX(3vh) translateY(-3vh) scale(1.2) rotate(0deg);
        opacity: 1;
    }
    25% {
        transform: translate(-50%, -50%) translateX(15vh) translateY(-15vh) scale(1.15) rotate(0deg);
        opacity: 1;
    }
    40% {
        transform: translate(-50%, -50%) translateX(35vh) translateY(-35vh) scale(1.1) rotate(0deg);
        opacity: 1;
    }
    60% {
        transform: translate(-50%, -50%) translateX(55vh) translateY(-55vh) scale(1.0) rotate(0deg);
        opacity: 1;
    }
    80% {
        transform: translate(-50%, -50%) translateX(75vh) translateY(-75vh) scale(0.9) rotate(0deg);
        opacity: 1;
    }
    90% {
        transform: translate(-50%, -50%) translateX(100vh) translateY(-100vh) scale(0.8) rotate(0deg);
        opacity: 0;
    }
    95% {
        transform: translate(-50%, -50%) translateX(0) translateY(0) scale(1.1) rotate(0deg);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, -50%) translateX(0) translateY(0) scale(1.1) rotate(0deg);
        opacity: 1;
    }
}

/* Add a subtle trail effect */
.rocket-flyaway::before {
    content: '';
    position: absolute;
    top: 0%;
    right: 0%;
    width: 3px;
    height: 20px;
    /* border: 1px solid var(--blue); */
    background: linear-gradient(to bottom, var(--accent-color), transparent);
    transform-origin: top center;
    transform: translate(-7px, 7px) rotate(45deg);
    opacity: 0;
    z-index: -1;
}

.rocket-flyaway:after {
    content: "\f135";
    z-index: 1;
}

.rocket-btn:hover .rocket-flyaway::before {
    opacity: 1;
    animation: rocket-trail 5s linear infinite;
}

@keyframes rocket-trail {
    0% {
        opacity: 0;
        height: 20px;
    }
    4% {
        opacity: 1;
        height: 20px;
    }
    8% {
        opacity: 1;
        height: 0;
    }
    12% {
        opacity: 1;
        height: 20px;
    }
    40% {
        opacity: 1;
        height: 40px;
    }
    80% {
        opacity: 1;
        height: 45px;
    }
    90% {
        opacity: 1;
        height: 50px;
    }
    95% {
        opacity: 0;
        height: 20px;
    }
    100% {
        opacity: 0;
        height: 20px;
    }
}