/* =============================================================
   Icon System — lucide-icons SVG sprite utilities
   Phase G — UI Comprehensive Refactor
   ============================================================= */

.icon {
  width: 1em;
  height: 1em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
  vertical-align: -0.125em;
  /* Inherit colour from parent — works on any background */
  color: inherit;
  /* Prevent icon from being a focus target or announcing to screen readers
     when decorative; caller should add aria-hidden="true" on the <svg> */
  pointer-events: none;
}

/* Size variants — font-size controls the em-based width/height */
.icon-sm { font-size: 14px; }
.icon-md { font-size: 18px; }
.icon-lg { font-size: 24px; }
.icon-xl { font-size: 32px; }

/* Optional thinner stroke for very large display icons */
.icon-thin {
  stroke-width: 1.25;
}

/* Optional bolder stroke for very small icons (≤ 14px) where thin strokes vanish */
.icon-bold {
  stroke-width: 2.25;
}
