/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Styles for sortable sub-menus */
.sortable-ghost {
  opacity: 0.4;
  background-color: #f0f0f0;
  transform: scale(0.95);
  transition: all 0.2s ease;
}

.sortable-chosen {
  transform: scale(1.02) rotate(1deg);
  box-shadow: 0 5px 15px rgba(0,0,0,0.15);
  z-index: 999;
}

.sortable-drag {
  transform: scale(1.05) rotate(2deg);
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
  opacity: 0.9;
}

.sortable-dragging {
  opacity: 0.8;
  transform: scale(1.05) rotate(2deg);
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
  z-index: 1000;
  transition: all 0.2s ease;
}

.sortable-item {
  transition: all 0.2s ease;
  position: relative;
}

.sortable-item:hover .sort-handle {
  opacity: 0.8;
}

.sortable-placeholder {
  background-color: #f0f0f0;
  border: 2px dashed #b48c80;
  border-radius: 5px;
  opacity: 0.6;
  transition: all 0.2s ease;
  margin: 5px 0;
}

.sortable-placeholder::before {
  content: "Déposer ici";
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b48c80;
  font-size: 14px;
  font-weight: 500;
  height: 100%;
  opacity: 0.7;
}

.sort-handle {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  opacity: 0.6;
  transition: opacity 0.2s ease, transform 0.1s ease;
  border-radius: 3px;
  padding: 2px;
}

.sort-handle:hover {
  opacity: 1;
  transform: scale(1.1);
  background-color: rgba(180, 140, 128, 0.1);
}

.sort-handle:active {
  transform: scale(0.95);
}

/* Animation pour les éléments qui se réorganisent */
.sortable-item:not(.sortable-dragging) {
  transition: transform 0.3s cubic-bezier(0.2, 0, 0.2, 1);
}

/* Effet de pulsation sur le placeholder */
@keyframes placeholder-pulse {
  0% { opacity: 0.6; }
  50% { opacity: 0.8; }
  100% { opacity: 0.6; }
}

.sortable-placeholder.active {
  animation: placeholder-pulse 1s infinite;
}
