/**
 * APS Icons — sizing, alignment, animation.
 *
 * Inline SVG icons emitted by aps_icon() / apsIcon(). Default sizes via
 * 1em so icons inherit the surrounding font-size; override per-call with
 * the size= arg or per-context with .aps-icon { width: ... } overrides.
 */

.aps-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: -0.125em; /* baseline-align with adjacent text */
	flex-shrink: 0;

}

.aps-icon--spin {
	animation: aps-icon-spin 1s linear infinite;

}

/* Filled variant — used by toggle icons (heart, bookmark, star) where the
   outline form is the default and the filled form represents an "active"
   state. Scoped to specific icons because not every Lucide icon has a
   sensible "filled" interpretation (e.g. eye, search). */
.aps-icon--heart.aps-icon--filled path,
.aps-icon--bookmark.aps-icon--filled path,
.aps-icon--star.aps-icon--filled path {
	fill: currentColor;

}

@keyframes aps-icon-spin {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }

}
