/**
 * Lucide / brand inline SVG icons (currentColor).
 */
.tdtv-inline-spinner {
	display: inline-block;
	vertical-align: middle;
	line-height: 0;
}

.tdtv-icon {
	display: inline-block;
	vertical-align: middle;
	line-height: 0;
	font-size: 1em;
}

.tdtv-icon svg {
	display: block;
	width: 1em;
	height: 1em;
}

.tdtv-icon--spin svg {
	animation: tdtv-icon-spin 0.8s linear infinite;
}

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

/* Sizing modifiers (match previous fa-2x / fa-3x usage) */
.tdtv-icon--lg svg {
	width: 1.5em;
	height: 1.5em;
}

.tdtv-icon--3x svg {
	width: 3em;
	height: 3em;
}

.tdtv-icon--fw {
	width: 1.25em;
	text-align: center;
}

.tdtv-icon--fw svg {
	margin-left: auto;
	margin-right: auto;
}
