﻿/* ===== EVE Custom Cursor (ring-only, slate/teal, tooltip-aware) ===== */
:root {
    --cursor-ring: rgba(94,234,212,.9);
    --cursor-ring-idle: rgba(148,163,184,.55);
    --cursor-shadow: 0 0 20px rgba(94,234,212,.45);
    --cursor-size: 30px;
    --cursor-border: 2px;
}

@media (pointer: fine) and (hover: hover) {
    /* Hide native cursor globally EXCEPT inputs/iframes and tooltip triggers */
    body.eve-cursor-active *:not(input):not(textarea):not(select):not(iframe) {
        cursor: none !important;
    }

    /* Always allow OS cursor over tooltip triggers (Bootstrap or custom) */
    body.eve-cursor-active [data-bs-toggle="tooltip"],
    body.eve-cursor-active [data-tooltip],
    body.eve-cursor-active .has-tooltip,
    body.eve-cursor-active [title] {
        cursor: auto !important;
    }

    /* When JS explicitly opts into native mode (e.g., typing), restore cursor */
    body.eve-cursor-native, body.eve-cursor-native * {
        cursor: auto !important;
    }

    .eve-cursor {
        position: fixed;
        left: 0;
        top: 0;
        z-index: 100000;
        width: 0;
        height: 0;
        pointer-events: none;
        opacity: 0;
        transition: opacity .18s ease;
    }

    html.is-loading .eve-cursor {
        opacity: 0 !important;
    }
    /* hide during preloader */

    .eve-cursor__ring {
        position: absolute;
        width: var(--cursor-size);
        height: var(--cursor-size);
        border-radius: 50%;
        transform: translate3d(-50%,-50%,0);
        border: var(--cursor-border) solid var(--cursor-ring-idle);
        box-shadow: 0 0 0 1px rgba(255,255,255,.06), inset 0 0 10px rgba(94,234,212,.10);
        backdrop-filter: blur(2px);
        will-change: transform, border-color, box-shadow, opacity;
    }

    /* visibility states */
    .eve-cursor.--hidden {
        opacity: 0;
    }

    .eve-cursor.--show {
        opacity: 1;
    }

    /* link/btn hover */
    .eve-cursor.--link .eve-cursor__ring {
        border-color: var(--cursor-ring);
        box-shadow: 0 0 0 1px rgba(255,255,255,.06), inset 0 0 12px rgba(94,234,212,.16), var(--cursor-shadow);
    }

    /* pointer down feedback */
    .eve-cursor.--down .eve-cursor__ring {
        transform: translate3d(-50%,-50%,0) scale(.86);
        opacity: .95;
    }

    /* reduced motion: snap instead of animate */
    @media (prefers-reduced-motion: reduce) {
        .eve-cursor, .eve-cursor__ring {
            transition: none !important;
        }
    }
}
