/**
 * Heroicons Base Styles
 * Minimal styling for self-hosted SVG sprite icons
 */

/* Base icon styles - inherits text size */
.heroicon {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    color: inherit;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Menu icon specific sizing - scales with menu text */
.heroicon.menu-icon {
    width: 1.1em;
    height: 1.1em;
}

/* Small icons - 0.875x text size */
.heroicon.icon-sm {
    width: 0.875em;
    height: 0.875em;
}

/* Large icons - 1.5x text size */
.heroicon.icon-lg {
    width: 1.5em;
    height: 1.5em;
}

/* Extra large icons - 2x text size */
.heroicon.icon-xl {
    width: 2em;
    height: 2em;
}

/* Icon in button */
button .heroicon,
a .heroicon {
    pointer-events: none;
}

/* Icon with text alignment */
.icon-with-text {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.icon-with-text .heroicon {
    flex-shrink: 0;
}
