.sparkle-paw-btn-wrapper-299aba71 {
    position: relative;
    display: block;
    width: 100%;
}

.sparkle-paw-btn-299aba71 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.1s ease, box-shadow 0.3s ease;
    user-select: none;
    position: relative;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.sparkle-paw-btn-299aba71:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.sparkle-paw-btn-299aba71:active {
    transform: translateY(1px);
}

/* Floating Paw Sparkles */
.paw-sparkle-299aba71 {
    position: absolute;
    pointer-events: none;
    z-index: 99999;
    width: 28px;
    height: 28px;
    transform: translate(-50%, -50%);
    animation: sparkleFloatAndFade-299aba71 3.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.paw-sparkle-299aba71 svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
    filter: drop-shadow(0 2px 5px rgba(0,0,0,0.25));
}

@keyframes sparkleFloatAndFade-299aba71 {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.3) rotate(0deg);
    }
    10% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.2) rotate(var(--paw-rotation, 15deg));
    }
    50% {
        /* Scale gets significantly bigger during its journey */
        transform: translate(calc(-50% + var(--paw-x-drift, 20px)), calc(-50% + var(--paw-y-drift, -40px))) scale(2.2) rotate(var(--paw-rotation, 15deg));
        opacity: 0.9;
    }
    100% {
        opacity: 0;
        /* Reaches maximum scale (3.5) as it fades away completely */
        transform: translate(calc(-50% + var(--paw-x-drift-final, 40px)), calc(-50% + var(--paw-y-drift-final, -120px))) scale(3.5) rotate(calc(var(--paw-rotation, 15deg) * 1.5));
    }
}
