/* Smooth Cursor - Shared across all pages */
.smooth-cursor {
    position: fixed;
    width: 8px;
    height: 8px;
    background: white;
    border-radius: 50%;
    pointer-events: none;
    z-index: 99999;
    transform: translate(-50%, -50%);
    transition: width 0.2s ease, height 0.2s ease;
}

.smooth-cursor-follower {
    position: fixed;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    pointer-events: none;
    z-index: 99998;
    transform: translate(-50%, -50%);
    transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
    display: none;
}

* {
    cursor: none !important;
}

a, button, input, textarea {
    cursor: none !important;
}

input, textarea {
    cursor: none !important;
}

.smooth-cursor.hover {
    width: 16px;
    height: 16px;
    background: white;
}

.smooth-cursor-follower.hover {
    display: none;
}

/* Cursor on dark backgrounds */
.smooth-cursor.on-dark {
    background: white;
}

.smooth-cursor-follower.on-dark {
    display: none;
}

/* Cursor on light backgrounds */
.smooth-cursor.on-light {
    background: black;
}

.smooth-cursor-follower.on-light {
    display: none;
}

.smooth-cursor.on-light.hover {
    width: 16px;
    height: 16px;
    background: black;
}

.smooth-cursor.on-dark.hover {
    width: 16px;
    height: 16px;
    background: white;
}

/* Hide custom cursor on mobile/touch devices */
@media (max-width: 1024px), (pointer: coarse) {
    .smooth-cursor,
    .smooth-cursor-follower {
        display: none !important;
    }

    * {
        cursor: auto !important;
    }

    a, button, input, textarea {
        cursor: pointer !important;
    }

    input, textarea {
        cursor: text !important;
    }
}
