/* ============================================================
   PREMIUM MAGNETIC CURSOR STYLES
   ============================================================ */

.cursor-dot,
.cursor-outline {
    pointer-events: none;
    position: fixed;
    top: 0;
    left: 0;
    border-radius: 50%;
    opacity: 0;
    z-index: 9999;
    will-change: transform;
    transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color 0.3s ease, border-color 0.3s ease;
}

.cursor-dot {
    width: 8px;
    height: 8px;
    background-color: var(--primary, #1053f3);
}

.cursor-outline {
    width: 40px;
    height: 40px;
    border: 1.5px solid var(--primary, #1053f3);
}

/* Shown when mouse moves */
body:not(.cursor-hidden) .cursor-dot,
body:not(.cursor-hidden) .cursor-outline {
    opacity: 1;
}

/* Active State (Hovering interactives) */
body.cursor-hover .cursor-dot {
    transform: scale(0.5);
    background-color: var(--primary, #1053f3);
}

body.cursor-hover .cursor-outline {
    transform: scale(1.6);
    background-color: rgba(16, 83, 243, 0.1);
    border-color: rgba(16, 83, 243, 0.3);
}

/* Hidden by default until move */
.cursor-hidden {
    cursor: auto;
}

@media (max-width: 1024px) {
    .cursor-dot,
    .cursor-outline {
        display: none !important;
    }
}
