.sl-checkbox-grid {
  z-index: 10;
}

.sl-checkbox-cell {
  pointer-events: none;
}

.sl-tile-checkbox {
  width: 20px;
  height: 20px;
  transition: all 0.2s;
  opacity: 0.8;
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 3px;
}

.sl-tile-checkbox:hover {
  opacity: 1;
  transform: scale(1.15);
  background-color: rgba(0, 0, 0, 0.4);
}

.sl-tile-checkbox svg {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
}

.sl-tile-checkbox .checkmark {
  opacity: 0;
  transition: opacity 0.2s;
}

.sl-tile-checkbox.checked .checkmark {
  opacity: 1;
}

.sl-tile-checkbox.checked rect {
  fill: rgba(76, 175, 80, 0.8);
}

.sl-tile-preview .sl-tile.sl-visible {
  opacity: 1;
  visibility: visible;
}

.sl-tile-preview .sl-tile:not(.sl-visible) {
  visibility: hidden;
}

.sl-tile.sl-inactive {
  pointer-events: none;
}

.slice-form label.sl-file {
  border: 3px dashed var(--primary-color);
}

dialog.dialog-auto-height {
  min-height: auto;
}

dialog.dialog-upload-progress p {
  margin-bottom: 0px !important;
}

#sl-discount-row > div {
  display: flex;
  align-items: center;
}

div.sl-tile-checkbox {
  display: none;
}

#slider .slice-form .sl-columns .sl-left-column {
  width: 60%;
  min-width: 60%;
  max-width: 60%;
}

.sl-columns .sl-right-column {
  position: relative;
  width: 40%;
  height: 100%;
  min-width: 40%;
  max-width: 40%;
}

.sl-tile-preview {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: visible;
}

.sl-tile-preview-size {
  width: 100%;
  height: 100%;
}

.slice-holder .sl-image,
.slice-holder .sl-image * {
  user-select: none;
}

.slice-holder .sl-selection .sl-grid {
  left: 0px;
  top: 0px;
  width: calc(100% - 0px);
  height: calc(100% - 0px);
}

@media not screen and (min-width: 980px) {
  #slider .slice-form .sl-columns .sl-left-column {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }

  .sl-columns .sl-right-column {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
}

.sl-dimension-display {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: bold;
  padding: 8px;
}

.sl-dimension-display span {
  text-align: center;
}

.sl-display-value {
  display: block;
  text-align: center;
  font-weight: bold;
  padding: 8px;
}