.cta-wrapper-60103cdc {
    display: inline-block;
}
.cta-btn-60103cdc {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 30px;
    background: #000;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    overflow: hidden;
    position: relative;
    transition: all 0.3s ease;
    text-decoration: none;
    z-index: 1;
}
.cta-btn-60103cdc:hover,
.cta-btn-60103cdc:focus {
    text-decoration: none;
    outline: none;
}
.cta-icon-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Continuous Animations */
.cta-btn-60103cdc.anim-slide .cta-icon-wrapper {
    animation: slide-arrow 1.5s infinite ease-in-out;
}
@keyframes slide-arrow {
    0% { transform: translateX(0); }
    50% { transform: translateX(10px); }
    100% { transform: translateX(0); }
}
.cta-btn-60103cdc.anim-push .cta-icon-wrapper {
    animation: push-arrow 1s infinite ease-in-out;
}
@keyframes push-arrow {
    0%, 100% { transform: translateX(0) scale(1); }
    50% { transform: translateX(5px) scale(1.1); }
}
.cta-btn-60103cdc.anim-exit-enter .cta-icon-wrapper {
    animation: exit-enter-arrow 2s infinite linear;
}
@keyframes exit-enter-arrow {
    0% { transform: translateX(0); opacity: 1; }
    40% { transform: translateX(20px); opacity: 0; }
    50% { transform: translateX(-20px); opacity: 0; }
    60% { transform: translateX(-10px); opacity: 1; }
    100% { transform: translateX(0); opacity: 1; }
}
.cta-btn-60103cdc.anim-swipe .cta-icon-wrapper {
    animation: swipe-arrow 1.2s infinite ease-out;
}
@keyframes swipe-arrow {
    0% { transform: translateX(-15px); opacity: 0; }
    50% { transform: translateX(0); opacity: 1; }
    100% { transform: translateX(15px); opacity: 0; }
}
.cta-btn-60103cdc.anim-bounce .cta-icon-wrapper {
    animation: bounce-arrow 1s infinite;
}
@keyframes bounce-arrow {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}
.cta-btn-60103cdc.anim-pulse .cta-icon-wrapper {
    animation: pulse-arrow 1.5s infinite;
}
@keyframes pulse-arrow {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}
.cta-btn-60103cdc.anim-float .cta-icon-wrapper {
    animation: float-arrow 2s infinite ease-in-out;
}
@keyframes float-arrow {
    0%, 100% { transform: translateY(0) translateX(0); }
    50% { transform: translateY(-5px) translateX(5px); }
}
.cta-btn-60103cdc.anim-shake .cta-icon-wrapper {
    animation: shake-arrow 0.5s infinite;
}
@keyframes shake-arrow {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-3px); }
    75% { transform: translateX(3px); }
}
.cta-btn-60103cdc.anim-rotate .cta-icon-wrapper {
    animation: rotate-arrow 2s infinite linear;
}
@keyframes rotate-arrow {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.cta-btn-60103cdc.anim-zoom .cta-icon-wrapper {
    animation: zoom-arrow 1.2s infinite ease-in-out;
}
@keyframes zoom-arrow {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.5); opacity: 0.7; }
}
.cta-btn-60103cdc.anim-elastic .cta-icon-wrapper {
    animation: elastic-arrow 1.5s infinite cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
@keyframes elastic-arrow {
    0% { transform: translateX(0); }
    50% { transform: translateX(15px); }
    100% { transform: translateX(0); }
}
.cta-btn-60103cdc.anim-comet .cta-icon-wrapper {
    animation: comet-arrow 1.5s infinite;
}
@keyframes comet-arrow {
    0% { transform: translateX(0) scale(1); filter: drop-shadow(0 0 0 rgba(255,255,255,0)); }
    50% { transform: translateX(10px) scale(1.1); filter: drop-shadow(-5px 0 5px rgba(255,255,255,0.8)); }
    100% { transform: translateX(0) scale(1); filter: drop-shadow(0 0 0 rgba(255,255,255,0)); }
}
.cta-btn-60103cdc.anim-trail .cta-icon-wrapper {
    animation: trail-arrow 1.5s infinite;
}
@keyframes trail-arrow {
    0% { transform: translateX(0); }
    50% { transform: translateX(8px); text-shadow: -4px 0 5px rgba(255,255,255,0.5); }
    100% { transform: translateX(0); text-shadow: none; }
}
.cta-btn-60103cdc.anim-glow-sweep .cta-icon-wrapper {
    animation: glow-sweep-arrow 2s infinite;
}
@keyframes glow-sweep-arrow {
    0% { filter: drop-shadow(0 0 2px #fff); transform: translateX(0); }
    50% { filter: drop-shadow(0 0 10px #fff); transform: translateX(5px); }
    100% { filter: drop-shadow(0 0 2px #fff); transform: translateX(0); }
}
.cta-btn-60103cdc.anim-3d-flow .cta-icon-wrapper {
    animation: flow-3d-arrow 2s infinite ease-in-out;
}
@keyframes flow-3d-arrow {
    0%, 100% { transform: perspective(100px) translateZ(0) translateX(0); }
    50% { transform: perspective(100px) translateZ(10px) translateX(5px); }
}

/* Premium Hover Animations */
.cta-btn-60103cdc.hvr-glow-pulse:hover {
    box-shadow: 0 0 15px rgba(255,255,255,0.5);
    animation: hover-glow-pulse 1.5s infinite alternate;
}
@keyframes hover-glow-pulse {
    from { box-shadow: 0 0 10px rgba(255,255,255,0.4); }
    to { box-shadow: 0 0 25px rgba(255,255,255,0.8); }
}

.cta-btn-60103cdc.hvr-light-sweep::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.4), rgba(255,255,255,0));
    transform: skewX(-25deg);
    transition: all 0.5s;
    z-index: -1;
}
.cta-btn-60103cdc.hvr-light-sweep:hover::before {
    animation: hover-sweep 1.5s infinite;
}
@keyframes hover-sweep {
    0% { left: -100%; }
    100% { left: 200%; }
}

.cta-btn-60103cdc.hvr-border-flow {
    position: relative;
}
.cta-btn-60103cdc.hvr-border-flow::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0%;
    height: 3px;
    background-color: currentColor;
    transition: width 0.4s ease;
}
.cta-btn-60103cdc.hvr-border-flow:hover::after {
    width: 100%;
}

.cta-btn-60103cdc.hvr-gradient-flow:hover {
    background-size: 200% 200%;
    animation: hover-gradient-flow 3s ease infinite;
}
@keyframes hover-gradient-flow {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.cta-btn-60103cdc.hvr-3d-lift:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.cta-btn-60103cdc.hvr-magnetic {
    transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.cta-btn-60103cdc.hvr-magnetic:hover {
    transform: translate(random(-5,5)*1px, random(-5,5)*1px); /* Pseudo random effect */
}

.cta-btn-60103cdc.hvr-ripple {
    position: relative;
    overflow: hidden;
}
.cta-btn-60103cdc.hvr-ripple::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
    background-image: radial-gradient(circle, rgba(255,255,255,0.7) 10%, transparent 10.01%);
    background-repeat: no-repeat;
    background-position: 50%;
    transform: scale(10, 10);
    opacity: 0;
    transition: transform .5s, opacity 1s;
}
.cta-btn-60103cdc.hvr-ripple:hover::after {
    transform: scale(0, 0);
    opacity: .3;
    transition: 0s;
}

.cta-btn-60103cdc.hvr-energy-ring {
    position: relative;
}
.cta-btn-60103cdc.hvr-energy-ring::before {
    content: '';
    position: absolute;
    top: -5px; left: -5px; right: -5px; bottom: -5px;
    border: 2px solid currentColor;
    border-radius: inherit;
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.3s;
}
.cta-btn-60103cdc.hvr-energy-ring:hover::before {
    opacity: 1;
    transform: scale(1);
    animation: pulse-ring 2s infinite;
}
@keyframes pulse-ring {
    0% { transform: scale(1); opacity: 1; }
    100% { transform: scale(1.2); opacity: 0; }
}

.cta-btn-60103cdc.hvr-soft-shine:hover {
    filter: brightness(1.2) contrast(1.1);
}

.cta-btn-60103cdc.hvr-edge-glow:hover {
    box-shadow: inset 0 0 20px rgba(255,255,255,0.5);
}

.cta-btn-60103cdc.hvr-neon-flicker:hover {
    animation: neon-flicker 1.5s infinite;
}
@keyframes neon-flicker {
    0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% { text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 20px #ff00de, 0 0 40px #ff00de; }
    20%, 24%, 55% { text-shadow: none; }
}

.cta-btn-60103cdc.hvr-cyberpunk:hover {
    animation: glitch-skew 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both infinite;
}
@keyframes glitch-skew {
    0% { transform: skew(0deg); }
    20% { transform: skew(-10deg); }
    40% { transform: skew(10deg); }
    60% { transform: skew(-5deg); }
    80% { transform: skew(5deg); }
    100% { transform: skew(0deg); }
}

.cta-btn-60103cdc.hvr-liquid {
    position: relative;
}
.cta-btn-60103cdc.hvr-liquid::before {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 10px;
    background: rgba(255,255,255,0.3);
    border-radius: 50% 50% 0 0;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 0.4s;
}
.cta-btn-60103cdc.hvr-liquid:hover::before {
    transform: scaleY(1);
    animation: wave 2s infinite linear;
}
@keyframes wave {
    0% { background-position-x: 0; }
    100% { background-position-x: 100px; }
}

.cta-btn-60103cdc.hvr-expand:hover {
    letter-spacing: 2px;
}

.cta-btn-60103cdc.hvr-shrink:hover {
    transform: scale(0.95);
}

.cta-btn-60103cdc.hvr-wobble:hover {
    animation: hvr-wobble-horizontal 1s ease-in-out infinite;
}
@keyframes hvr-wobble-horizontal {
    16.65% { transform: translateX(8px); }
    33.3% { transform: translateX(-6px); }
    49.95% { transform: translateX(4px); }
    66.6% { transform: translateX(-2px); }
    83.25% { transform: translateX(1px); }
    100% { transform: translateX(0); }
}

.cta-btn-60103cdc.hvr-jelly:hover {
    animation: jelly 0.9s infinite;
}
@keyframes jelly {
    0%, 100% { transform: scale(1, 1); }
    25% { transform: scale(1.05, 0.95); }
    50% { transform: scale(0.95, 1.05); }
    75% { transform: scale(1.02, 0.98); }
}

.cta-btn-60103cdc.hvr-flip:hover {
    transform: rotateX(360deg);
    transition: transform 0.8s;
}

.cta-btn-60103cdc.hvr-color-shift:hover {
    filter: hue-rotate(90deg);
}
