/* ===========================
   CUSTOM CURSOR
   =========================== */

/* Hide default cursor */
* {
    cursor: none !important;
}

/* Custom cursor dot */
#cursor {
    position: fixed;
    width: 13px;
    height: 13px;
    background: rgba(255, 255, 255, 0.586);
    border-radius: 50%;
    pointer-events: none;
    z-index: 9999;
    mix-blend-mode: difference;
    opacity: 0.7;
    transition: transform 0.15s ease, width 0.3s ease, height 0.3s ease;
    transform: translate(-50%, -50%);
}

/* Hover state - empty cursor */
#cursor.hover {
    background: rgba(255, 255, 255, 0);
}

/* ===========================
   TEXT CURSOR - SLIM LINE
   =========================== */

#cursor.text-mode {
    width: 2px !important;
    border-radius: 2px !important;
    background: rgba(57, 126, 237, 0.8) !important;
    opacity: 1 !important;
}

/* Different sizes for different text */
#cursor.text-large {
    height: 70px !important; /* For large hero text */
}

#cursor.text-medium {
    height: 40px !important; /* For headings */
}

#cursor.text-small {
    height: 25px !important; /* For body text */
}

/* ===========================
   RESPONSIVE - MOBILE
   =========================== */

@media (max-width: 768px) {
    /* Hide custom cursor on mobile */
    #cursor {
        display: none !important;
    }
    
    /* Show normal cursor on mobile */
    * {
        cursor: auto !important;
    }
}