@import "calendar.css";

/* Ensure draggable elements respond correctly to touch interactions */
[data-draggable-target="child"] {
  user-select: none;
  cursor: grab;
  touch-action: none; /* Prevent scrolling or native gestures while dragging */
  -webkit-tap-highlight-color: transparent; /* Remove tap highlight on iOS */
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.dragging {
  transform: scale(1.05) translateZ(0);
  transition: transform 0.2s ease, background-color 0.2s ease;
  opacity: 0.8;
  touch-action: none;
  will-change: transform;
  z-index: 9999;
}

.draggable.dragging {
  pointer-events: none;
}

[data-draggable-target="child"]:hover,
[data-draggable-target="child"]:focus {
  cursor: grab;
  box-shadow: 0 0.5em 0.5em -0.4em rgba(110, 67, 67, 0.3);
}

.invalid-drop {
  border: 2px dashed red !important;
}

.dragoveranotherparent {
  cursor: not-allowed !important;
  opacity: 0.6;
}

/* Adjust transitions for better mobile performance */
[data-draggable-target="child"] {
  transition: transform 0.2s ease, background-color 0.3s ease;
}

/* Handle neon effect for visual feedback */
.neon-act {
  color: #DBF60C;
  filter: drop-shadow(0 0 2px #DBF60C) drop-shadow(0 0 5px #DBF60C) drop-shadow(0 0 10px #DBF60C);
  transition: 0.2s all ease;
}

.neon-act:hover {
  filter: drop-shadow(0 0 2px #DBF60C) drop-shadow(0 0 5px #DBF60C) drop-shadow(0 0 10px #DBF60C) drop-shadow(0 0 15px #DBF60C);
}

/* Add a subtle effect when elements are being dragged over a valid drop zone */
[data-draggable-target="parent"].drag-over {
  outline: 2px dashed #4CAF50;
  background-color: rgba(76, 175, 80, 0.1);
  transition: background-color 0.2s ease;
}

.disabled-style {
  opacity: 0.5;
  pointer-events: none;
}
