/* ===== LAVA CURSOR ===== */

*, html, body, a, button, .elementor-button {
  cursor: none !important;
}

.lava-cursor-dot {
  position: fixed;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  pointer-events: none;
  z-index: 2147483647;
  transform: translate(-50%, -50%);
  transition: width 0.2s ease, height 0.2s ease;
}

.lava-cursor-glow {
  position: fixed;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(90deg, #0900B2, #8A05FF, #0900B2);
  background-size: 200% 200%;
  animation: cursorGradient 6s linear infinite;
  pointer-events: none;
  z-index: 2147483646;
  transform: translate(-50%, -50%);
  opacity: 0.6;
  filter: blur(8px);
  transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
}

.lava-cursor-ring {
  position: fixed;
  top: 0;
  left: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid rgba(138, 5, 255, 0.6);
  pointer-events: none;
  z-index: 2147483645;
  transform: translate(-50%, -50%);
  transition:
    width 0.25s ease,
    height 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
  box-shadow:
    0 0 10px rgba(9, 0, 178, 0.3),
    0 0 20px rgba(138, 5, 255, 0.3);
}

.lava-cursor-ring.hover {
  width: 46px;
  height: 46px;
  border-color: rgba(138, 5, 255, 0.9);
  box-shadow:
    0 0 16px rgba(9, 0, 178, 0.55),
    0 0 28px rgba(138, 5, 255, 0.55);
}

.lava-cursor-glow.hover {
  width: 50px;
  height: 50px;
  opacity: 1;

  background: linear-gradient(
    90deg,
    #04005e,
    #5f00c7,
    #04005e
  );

  filter: blur(6px);
}

.lava-cursor-ring.click {
  width: 24px;
  height: 24px;
}

@keyframes cursorGradient {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* Disable on touch devices */
@media (hover: none) {
  *, html, body, a, button, .elementor-button {
    cursor: auto !important;
  }
  .lava-cursor-dot,
  .lava-cursor-ring,
  .lava-cursor-glow {
    display: none;
  }
}

/* Zorg dat cursor ook in Elementor popups en modals zichtbaar blijft */
.elementor-popup-modal,
.dialog-widget,
.dialog-lightbox-widget {
  cursor: none !important;
}
.elementor-popup-modal a,
.elementor-popup-modal button,
.elementor-popup-modal .elementor-button,
.elementor-popup-modal input,
.elementor-popup-modal textarea,
.dialog-widget a,
.dialog-widget button,
.dialog-widget .elementor-button {
  cursor: none !important;
}