/* Prevent text selection and image dragging */
* {
    -webkit-user-select: none;  /* Chrome, Safari, Opera */
    -moz-user-select: none;     /* Firefox */
    -ms-user-select: none;      /* Internet Explorer/Edge */
    user-select: none;          /* Non-prefixed version */
    
    -webkit-user-drag: none;    /* Prevent dragging */
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;

    cursor: url('/img/zmcursor.png'), auto;
}

/* Specifically target images and links */
img, a {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    
    -webkit-user-drag: none;
    -moz-user-drag: none;
    -ms-user-drag: none;
    user-drag: none;
}


button:hover, input:hover, a:hover {
    cursor: url("/img/zmpoint.png"), auto !important;
    cursor: url("/img/zmpoint.png"), default !important;
    cursor: url("/img/zmpoint.png"), pointer !important;
    cursor: url("/img/zmpoint.png") !important;
}

span:hover, label:hover {
    cursor: url('/img/zmcursor.png'), auto;
}

/* Allow selection in input fields if needed */
input, textarea {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

html {
    scroll-behavior: smooth !important;
    scrollbar-width: thin !important;
    scrollbar-color: #6a5a2d #1f1b0a !important;
    cursor: url('/img/zmcursor.png'), auto;
}

body {
  scrollbar-width: thin !important;
  scrollbar-color: #6a5a2d #1f1b0a !important;
  cursor: url('/img/zmcursor.png'), auto;
}

::-webkit-scrollbar {
  -webkit-appearance: none !important;
  width: 14px !important;
  height: 14px !important;
}

::-webkit-scrollbar-track {
  background: linear-gradient(to bottom, #1f190a, #282114) !important;
  border-radius: 8px !important;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, #6a572d, #8b763d, #a6784c) !important;
  border-radius: 8px !important;
  border: 2px solid #0a1f0a !important;
  min-height: 40px !important;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(135deg, #6a572d, #8b763d, #a6784c) !important;
}

::-webkit-scrollbar-corner {
  background: #0a1f0a !important;
}

/* For older Firefox versions */
@supports (-moz-appearance: none) {
  * {
    scrollbar-width: thin;
    scrollbar-color: var(--medium-green) var(--dark-green-1);
  }
}

/* Comet Browser Specific Scrollbar */
@supports (-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none) {
  :root {
    --comet-scrollbar-track: #0a1f0a;
    --comet-scrollbar-thumb: linear-gradient(135deg, #6a572d, #8b763d, #a6784c);
    --comet-scrollbar-width: 14px;
  }
  
  /* Force Webkit styling */
  html, body {
    scrollbar-width: thin !important;
    scrollbar-color: #6a4e2d #1f190a !important;
  }
  
  ::-webkit-scrollbar {
    width: var(--comet-scrollbar-width) !important;
    height: var(--comet-scrollbar-width) !important;
    background: var(--comet-scrollbar-track) !important;
  }
  
  ::-webkit-scrollbar-track {
    background: var(--comet-scrollbar-track) !important;
    border-radius: 8px !important;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3) !important;
  }
  
  ::-webkit-scrollbar-thumb {
    background: var(--comet-scrollbar-thumb) !important;
    border-radius: 8px !important;
    border: 2px solid var(--comet-scrollbar-track) !important;
  }
  
  ::-webkit-scrollbar-thumb:window-inactive {
    background: linear-gradient(135deg, #3d311a, #6a4e2d) !important;
  }
}

.parallax {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.zombie-float-left {
    animation: floatLeft 25s linear infinite;
}

.zombie-float-right {
    animation: floatRight 30s linear infinite;
}

@keyframes floatLeft {
    0% { transform: translateX(-300px); }
    100% { transform: translateX(calc(100vw + 300px)); }
}

@keyframes floatRight {
    0% { transform: translateX(calc(100vw + 300px)); }
    100% { transform: translateX(-300px); }
}

.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

.pulse {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}