/* Cursor Effect */
.rivax-mouse-cursor {
    position: fixed;
    left: 0;
    top: 0;
    pointer-events: none;
    border-radius: 50%;
    transform: translateZ(0);
    z-index: 99999999999;
    visibility: hidden;
    opacity: 0;
    transition: transform 0s ease-out, opacity 0.3s;
}

.rivax-mouse-cursor.outer {
    transition: transform 0.2s ease-out, opacity 0.3s;
}

.rivax-mouse-cursor.visible {
    visibility: visible;
    opacity: 1;
}

.rivax-mouse-cursor::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    transition: 0.3s;
}

.rivax-mouse-cursor.outer::before {
    width: 30px;
    height: 30px;
    border: 2px solid var(--rivax-cursor-outer-color, #4b4e5d);
}

.rivax-mouse-cursor.inner::before {
    width: 6px;
    height: 6px;
    background: var(--rivax-cursor-inner-color, #4b4e5d);
}

.rivax-mouse-cursor.outer.hovered::before {
    opacity: 0;
}

.rivax-mouse-cursor.inner.hovered::before {
    transform: translate(-50%, -50%) scale(12);
    opacity: 0.2;
}

@media (max-width: 1024px) {
    .rivax-mouse-cursor {
        display: none;
    }
}
