/* Custom Cursor */
@media (pointer: fine) {
    .cursor-core {
        position: fixed;
        top: 0; left: 0;
        width: 8px; height: 8px;
        background-color: var(--primary);
        border-radius: 50%;
        transform: translate(-50%, -50%);
        pointer-events: none;
        z-index: 10000;
        transition: width 0.2s, height 0.2s, background-color 0.2s;
    }

    .cursor-ring {
        position: fixed;
        top: 0; left: 0;
        width: 32px; height: 32px;
        border: 1px solid var(--primary);
        border-radius: 50%;
        transform: translate(-50%, -50%);
        pointer-events: none;
        z-index: 9999;
        transition: width 0.3s, height 0.3s, background-color 0.3s, border-color 0.3s;
    }

    /* Hover States */
    .cursor-core.hovering-link {
        transform: translate(-50%, -50%) scale(1.5);
        background-color: var(--secondary);
    }

    .cursor-ring.hovering-link {
        width: 45px; height: 45px;
        border-color: var(--secondary);
        background-color: rgba(139, 92, 246, 0.1);
    }

    .cursor-core.hovering-btn {
        width: 0; height: 0; /* Hide core */
    }

    .cursor-ring.hovering-btn {
        width: 60px; height: 60px;
        background-color: rgba(0, 217, 255, 0.1);
        border-color: var(--primary);
        box-shadow: 0 0 20px rgba(0, 217, 255, 0.3);
    }
}
