/* Custom cursor styles for PMU Academy */

/* Hide default cursor */
html, body {
    cursor: url('../images/cursor-default.svg') 16 16, auto;
}

/* Custom cursor for interactive elements */
a, button, .btn, 
.nav-link, .back-to-top, 
.social-icon, .gallery-item, 
.service-card, input[type="submit"], 
.sluzba-option, .form-check-label,
.carousel-control-prev, .carousel-control-next,
.accordion-button, .toggle-menu, .close-menu,
.dropdown-item, .nav-tabs .nav-link {
    cursor: url('../images/cursor-pointer-pink.svg') 16 16, pointer !important;
}

/* Custom cursor for text inputs */
input[type="text"], input[type="email"], 
input[type="tel"], input[type="date"], 
input[type="time"], input[type="number"],
input[type="password"], textarea, 
select, [contenteditable="true"] {
    cursor: url('../images/cursor-text.svg') 16 16, text !important;
}

/* Cursor trail container */
.cursor-trail {
    position: fixed;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: linear-gradient(135deg, #D4AF37, #F7C1CC);
    pointer-events: none;
    z-index: 9999;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: transform 0.1s ease, opacity 0.3s ease;
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.5), 0 0 20px rgba(247, 193, 204, 0.3);
    mix-blend-mode: screen;
}

/* Cursor particles */
.cursor-particle {
    position: fixed;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 9998;
    opacity: 0.8;
    transform: translate(-50%, -50%);
    background: #D4AF37;
    transition: opacity 0.8s ease;
    mix-blend-mode: screen;
}

/* Gold particle variant */
.cursor-particle {
    background: #D4AF37;
}

/* Pink particle variant */
.cursor-particle.pink {
    background: #F7C1CC;
}

/* Show trail when active */
body.cursor-active .cursor-trail {
    opacity: 0.8;
}

/* Ensure cursor visuals work on dark backgrounds */
.bg-dark a, .bg-dark button, 
.bg-dark .btn, .bg-black a, 
.bg-black button, .bg-black .btn,
.hero-section a, .hero-section button, 
.footer a, .footer button {
    cursor: url('../images/cursor-pointer-pink.svg') 16 16, pointer !important;
}

/* Special styles for disabled elements */
button:disabled, 
input:disabled, 
.btn.disabled, 
.nav-link.disabled {
    cursor: not-allowed !important;
}

/* Make sure cursor works in mobile too */
@media (hover: none) {
    html, body,
    a, button, .btn, 
    input, textarea, select {
        cursor: auto !important;
    }
    
    .cursor-trail,
    .cursor-particle {
        display: none !important;
    }
}

/* Added compatibility for Firefox */
@-moz-document url-prefix() {
    html, body {
        cursor: url('../images/cursor-default.svg') 16 16, auto;
    }
    
    a, button, .btn, 
    .nav-link, .back-to-top, 
    .social-icon, .gallery-item, .service-card {
        cursor: url('../images/cursor-pointer-pink.svg') 16 16, pointer !important;
    }
    
    input[type="text"], input[type="email"], 
    input[type="tel"], textarea, select {
        cursor: url('../images/cursor-text.svg') 16 16, text !important;
    }
}