.ef-icon-heading {
	display: flex;
	align-items: flex-start;
	gap: var(--ef-gap-s);
	font-size: var(--ef-ih-fs, 1em);
	transition: background-color 0.2s, box-shadow 0.2s;
}

.ef-ih-heading {
	margin: 0;
	font-size: 1em; /* tag is semantic; visual size comes from container */
}

.ef-ih-heading a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s;
}

.ef-ih-heading a:hover {
	color: var(--ef-color-secondary);
}

.ef-ih-icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	height: 1lh;
	font-size: 1em;
	color: inherit;
	fill: inherit;
	transition: color 0.2s;
}

.ef-ih-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

/* Badge variant */
.ef-icon-heading--badge {
	display: inline-flex;
	font-size: var(--ef-font-s);
	font-weight: var(--ef-weight-m);
	background-color: var(--ef-color-accent);
	color: var(--ef-color-secondary);
	padding: var(--ef-pad-s);
	border-radius: var(--ef-radius-l);
}

/* Separator variant */
.ef-icon-heading--separator {
	padding-bottom: var(--ef-gap-m);
	border-bottom: var(--ef-border-m) solid var(--ef-color-border);
}

.ef-icon-list {
	display: flex;
	flex-direction: column;
}
