/* --- LOCOMOTIVE CURSOR STYLES --- */
.locomotive-cursor {
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 9999;
    mix-blend-mode: difference;
}

.cursor-inner {
    position: absolute;
    width: 8px;
    height: 8px;
    background: #fff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.1s ease-out;
}

.cursor-outer {
    position: absolute;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.locomotive-cursor.button-hover .cursor-inner {
    transform: translate(-50%, -50%) scale(0);
}

.locomotive-cursor.button-hover .cursor-outer {
    transform: translate(-50%, -50%) scale(1.5);
    background: rgba(255, 107, 53, 0.2);
    border-color: var(--accent-electric, #ff6b35);
    border-width: 2px;
}

.locomotive-cursor.video-hover .cursor-inner {
    width: 16px;
    height: 16px;
    background: transparent;
    border: 2px solid #fff;
}

.locomotive-cursor.video-hover .cursor-inner::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E");
    background-size: contain;
}

.locomotive-cursor.video-hover .cursor-outer {
    transform: translate(-50%, -50%) scale(2.5);
    border-color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

@media (max-width: 768px) {
    .locomotive-cursor {
        display: none !important;
    }
}

*, *::before, *::after {
    cursor: none !important;
}

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