/* Lucide Icons - Clean Foundation */
/* Based on https://lucide.dev/guide/packages/lucide-static */

/* Base Lucide Icon Class - Official Recommendation */
.lucide-icon { 
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px; 
  height: 24px; 
  stroke: currentColor; 
  fill: none; 
  stroke-width: 2; 
  stroke-linecap: round; 
  stroke-linejoin: round; 
  flex-shrink: 0;
}

/* Size Variants - Override base size when needed */
.lucide-icon.w-3 { 
  width: 0.75rem; 
  height: 0.75rem; 
}
.lucide-icon.w-4 { 
  width: 1rem; 
  height: 1rem; 
}
.lucide-icon.w-5 { 
  width: 1.25rem; 
  height: 1.25rem; 
}
.lucide-icon.w-6 { 
  width: 1.5rem; 
  height: 1.5rem; 
}

/* Color Variants */
.lucide-icon.text-primary-400 { 
  color: rgb(96 165 250); /* text-primary-400 */
}
.lucide-icon.text-white { 
  color: rgb(255 255 255); /* text-white */
}
.lucide-icon.text-gray-500 { 
  color: rgb(107 114 128); /* text-gray-500 */
}

/* Alignment Helpers */
.lucide-icon.align-baseline { 
  align-self: baseline;
}
.lucide-icon.align-middle { 
  align-self: middle;
}
.lucide-icon.align-top { 
  align-self: top;
}

/* Spacing Helpers */
.lucide-icon.gap-1 { margin-right: 0.25rem; }
.lucide-icon.gap-2 { margin-right: 0.5rem; }
.lucide-icon.gap-3 { margin-right: 0.75rem; }

.lucide-icon.gap-1-left { margin-left: 0.25rem; }
.lucide-icon.gap-2-left { margin-left: 0.5rem; }
.lucide-icon.gap-3-left { margin-left: 0.75rem; }

/* Vertical Alignment Fix for Text */
.lucide-icon.align-text {
  vertical-align: -0.125em; /* Slight adjustment for better text alignment */
}

/* Container Classes for Icon + Text */
.icon-text-group {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.icon-text-group.tight {
  gap: 0.25rem;
}

.icon-text-group.loose {
  gap: 0.75rem;
}
