.drop-zone {
  max-width: 400px;
  height: 200px;
  padding: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 4px dashed #cccccc;
  border-radius: 10px;
  cursor: pointer;
  transition: border-color 0.3s ease;
}

/* Active drag over states */
.drop-zone.drag-over {
  border-color: #4caf50;
  background-color: #f1f8e9;
}

.file-list {
  max-height: 200px;
  max-width: 250px;
  overflow: hidden;
  font-size: 1rem;
}
/* Gallery Container */
.image-gallery {
    display: flex;
    gap: 15px;
    padding: 20px;
    flex-wrap: wrap;
}

/* Wrapper for each image to handle positioning */
.image-item {
    position: relative;
    cursor: pointer;
}

/* Small Thumbnail */
.thumbnail {
    width: 100px;
    height: 100px;
    object-fit: contain;
    border-radius: 8px;
    border: 2px solid #ccc;
    transition: border-color 0.2s;
    cursor: pointer;
}

.image-item:hover .thumbnail {
    border-color: #007bff;
}

.image-item:hover .preview-overlay {
  visibility: visible; /* Shows the dark preview overlay */
  left: 10%;
  top: -80%;
  transform: scale(.75);
}

.image-item.selected img {
    outline: 4px solid #007bff;
}

/* Large Preview Box (Hidden by default) */
.preview-box {
    position: absolute;
    bottom: 115px; /* Places preview above the thumbnail */
    left: 50%;
    transform: translateX(-50%) scale(0.9);
    width: 250px;
    height: 250px;
    background-color: white;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.2);
    opacity: 0;
    pointer-events: none; /* Prevents flickering when mouse moves */
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 5;
    overflow: hidden;
}

/* Large Preview Image */
.preview-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Show Preview on Hover */
.image-item:hover .preview-box {
    opacity: 1;
    transform: translateX(-50%) scale(1);
}

.image-container {
  position: relative;
}

.image-container img {
  cursor: pointer;
}

.preview-overlay {
  position: absolute;
  /*bottom: 0px; /* Places preview above the thumbnail */
  top: -25%;
  left: 150%;
  cursor: pointer;
  /*transform: translateX(-50%) scale(0.9);*/
  width: 400px;
  height: 600px;
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
  pointer-events: none; /* Prevents flickering when mouse moves */
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 5;
  /*overflow: hidden;*/
  visibility: hidden;
  /*top: 0;*/
  /*left: 0;*/
  /*width: 100%;*/
  /*height: 100%;*/
  /*background: rgba(0, 0, 0, 0.5); /* Semi-transparent dimming layer */
  /*display: flex;*/
  /*align-items: center;*/
  /*justify-content: center;*/
  /*opacity: 0; /* Hidden by default */
  /*transition: opacity 0.3s ease;*/
}

.preview-overlay img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sticker-preview {
  position: absolute;
  top: -25%;
  left: 150%;
  cursor: pointer;
  /*transform: translateX(-50%) scale(0.9);*/
  width: 250px;
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
  pointer-events: none; /* Prevents flickering when mouse moves */
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 5;
  visibility: hidden;
}

.sticker-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.note {
  height: 250px;
}

.note img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.image:hover + .preview-overlay {
  /*opacity: 1; /* Shows the dark preview overlay */
  visibility: visible; /* Shows the dark preview overlay */
  transform: translateX(-50%) scale(1);
}

.image:hover + .sticker-preview {
  /*opacity: 1; /* Shows the dark preview overlay */
  visibility: visible; /* Shows the dark preview overlay */
  transform: translateX(-50%) scale(1);
}

tbody tr:hover td {
  background-color: #f1f5f9;
  cursor: pointer;
}

.drag-handle {
  cursor: grab;
  text-align: center;
  user-select: none;
}

tr.dragging {
  opacity: 0.5;
  background-color: #f0f0f0;
  border: 2px dashed #ccc;
}

tr.drag-over {
  border-top: 2px solid #007bff;
}

tr.no-drop, tr.no-drop * {
  pointer-events: none;
}
