/* ==========================================================================
   CUSTOM CURSOR — Desktop (1280px – 1920px)
   Shared, site-wide. Hides the native cursor and replaces it with an
   element that js/cursor.js moves and re-skins depending on what's
   under the pointer (link, disabled item, the draggable reviews
   carousel, plain text, etc). Only on real mice/trackpads — touch
   devices never load this experience.
   ========================================================================== */

@media (pointer: fine) {
    html,
    * {
        cursor: none !important;
    }

    .custom-cursor {
        position: fixed;
        top: 0;
        left: 0;
        width: 2.4rem;
        height: 2.4rem;
        z-index: 99999;
        pointer-events: none;
        transform: translate(-50%, -50%);
        will-change: transform;
    }

    .custom-cursor.is-hidden {
        opacity: 0;
    }

    .custom-cursor img {
        display: block;
        width: 100%;
        height: 100%;
        filter: drop-shadow(0 0.2rem 0.3rem rgba(0, 0, 0, 0.25));
    }
}
