/* Custom Pointer Styles - Desktop Only */
body {
    cursor: none !important;
    margin: 0;
    min-height: 100vh;
}

#custom-pointer, 
#custom-follower {
    position: fixed;
    border-radius: 50%;
    pointer-events: none;
    transform: translate(0, 0);
    will-change: transform, width, height;
    top: 0;
    left: 0;
    display: none; /* Oculto por defecto */
}

#custom-pointer {
    background-color: rgba(116, 60, 148, 0.5);
    mix-blend-mode: multiply;
    transition: 
        background-color 0.3s ease,
        transform 0.1s linear;
    z-index: 999999;
}

#custom-follower {
    background-color: rgba(248, 159, 50, 0.5);
    mix-blend-mode: multiply;
    transition: 
        width 0.2s ease-out, 
        height 0.2s ease-out,
        background-color 0.3s ease,
        transform 0.2s ease-out;
    z-index: 999998;
}

/* Elementos interactivos */
a, button, input, textarea, select, [role="button"], [tabindex="0"] {
    cursor: none !important;
}

/* Hover state */
body.link-hover #custom-follower {
    background-color: #d64090 !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}

/* Dispositivos móviles y tablets */
@media (max-width: 1024px), (hover: none) {
    body {
        cursor: auto !important;
    }
    
    a, button, input, textarea, select, [role="button"], [tabindex] {
        cursor: auto !important;
    }
    
    #custom-pointer, 
    #custom-follower {
        display: none !important;
    }
}