/* Multi-Category Tree Selector Styles */

.multi-category-tree-wrapper {
  width: 100%;
}

.selected-categories-display {
  min-height: 2.5rem;
}

.selected-categories-display .inline-flex {
  transition: all 0.2s ease-in-out;
}

.selected-categories-display .inline-flex:hover {
  background-color: var(--logo-cream-light, #f7f5f1);
  border-color: rgba(var(--logo-brown-rgb, 101, 67, 33), 0.3);
}

.category-tree-level {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.category-node {
  transition: background-color 0.15s ease-in-out;
}

.category-node:hover {
  background-color: rgba(249, 250, 251, 0.5);
}

.category-node label {
  transition: color 0.15s ease-in-out;
}

.category-node input[type="checkbox"] {
  transition: all 0.15s ease-in-out;
}

.category-node input[type="checkbox"]:checked {
  background-color: var(--logo-brown, #654321);
  border-color: var(--logo-brown, #654321);
}

.category-node input[type="checkbox"]:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--logo-brown, #654321);
}

.category-children {
  transition: all 0.2s ease-in-out;
  overflow: hidden;
}

.category-children.hidden {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
}

/* Quick action buttons */
.multi-category-tree-wrapper button[data-action*="addQuickCategory"] {
  transition: all 0.2s ease-in-out;
}

.multi-category-tree-wrapper button[data-action*="addQuickCategory"]:hover {
  transform: scale(1.05);
}

/* Modal styles */
.multi-category-tree-wrapper .fixed.inset-0 {
  backdrop-filter: blur(4px);
}

.multi-category-tree-wrapper .fixed.inset-0 .bg-gray-500 {
  transition: opacity 0.3s ease-in-out;
}

/* Search input styles */
.multi-category-tree-wrapper input[type="text"] {
  transition: all 0.2s ease-in-out;
}

.multi-category-tree-wrapper input[type="text"]:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--logo-brown, #654321);
  border-color: var(--logo-brown, #654321);
}

/* Selection summary styles */
.multi-category-tree-wrapper [data-multi-category-tree-target="selectionSummary"] {
  transition: all 0.2s ease-in-out;
}

/* Expand/collapse icon animation */
.multi-category-tree-wrapper [data-multi-category-tree-target="expandIcon"] svg {
  transition: transform 0.2s ease-in-out;
}

/* Responsive adjustments */
@media (max-width: 640px) {
  .multi-category-tree-wrapper .sm\:max-w-4xl {
    max-width: 24rem;
    margin-left: 1rem;
    margin-right: 1rem;
  }
  
  .multi-category-tree-wrapper .category-tree-level {
    font-size: 0.875rem;
  }
  
  .multi-category-tree-wrapper .selected-categories-display .inline-flex {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
  }
}

/* Compact mode */
.multi-category-tree-wrapper[data-multi-category-tree-compact-mode-value="true"] .selected-categories-display {
  min-height: 2rem;
}

.multi-category-tree-wrapper[data-multi-category-tree-compact-mode-value="true"] .selected-categories-display .inline-flex {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
}

.multi-category-tree-wrapper[data-multi-category-tree-compact-mode-value="true"] button {
  font-size: 0.75rem;
  padding: 0.25rem 0.75rem;
}

/* Animation for adding/removing categories */
@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.multi-category-tree-wrapper .selected-categories-display .inline-flex {
  animation: fadeInScale 0.2s ease-out;
}

/* Loading state (for future enhancement) */
.multi-category-tree-wrapper.loading {
  opacity: 0.5;
  pointer-events: none;
}

.multi-category-tree-wrapper.loading::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url("data:image/svg+xml,%3csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3e%3cg fill='none' fill-rule='evenodd'%3e%3cg transform='translate(1 1)' stroke='%23000' stroke-width='2'%3e%3ccircle stroke-opacity='.5' cx='18' cy='18' r='18'/%3e%3cpath d='m36 18c0-9.94-8.06-18-18-18'%3e%3canimateTransform attributeName='transform' type='rotate' dur='1s' values='0 18 18;360 18 18' repeatCount='indefinite'/%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
}
