/* Base layout for the AfiniaLabel "ACF Icon List" Elementor widget. */
.afinia-acf-icon-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.afinia-acf-icon-list .elementor-icon-list-item {
	display: flex;
	align-items: center;
}

.afinia-acf-icon-list .elementor-icon-list-icon {
	display: inline-flex;
	align-items: center;
	line-height: 1;
}

.afinia-acf-icon-list .elementor-icon-list-icon i,
.afinia-acf-icon-list .elementor-icon-list-icon svg {
	display: inline-block;
}

.afinia-acf-icon-list .elementor-icon-list-icon img {
	width: 1em;
	height: 1em;
	object-fit: contain;
}

.afinia-acf-icon-list .elementor-icon-list-text {
	flex: 1;
}

/* Single "ACF Icon" widget. */
.afinia-acf-icon-wrap {
	line-height: 1;
}

.afinia-acf-icon-wrap i,
.afinia-acf-icon-wrap span {
	display: inline-block;
}

.afinia-acf-icon-wrap img {
	width: 1em;
	height: 1em;
	object-fit: contain;
	vertical-align: middle;
}

/* Inlined SVG icons default to 1em so the Size control (font-size) drives them. */
.afinia-acf-icon-svg {
	width: 1em;
	height: 1em;
}

/* ACF Icon Box widget */
.afinia-icon-box-grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 30px;
}

/* flex-direction (Icon Position) and align-items (Vertical Alignment) are set
   per-device by Elementor; "column" is just the default before any override. */
.afinia-icon-box-item {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
}

/* Let the text block take the remaining space so Text Align works in a row
   layout, and allow it to shrink so long words can wrap. */
.afinia-icon-box-content {
	flex: 1 1 auto;
	min-width: 0;
}

.afinia-icon-box-icon-wrap {
	flex: 0 0 auto;
}

.afinia-icon-box-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

/* Image / inline-SVG icons follow the Size control (font-size). */
.afinia-icon-box-icon img,
.afinia-icon-box-icon svg {
	width: 1em;
	height: 1em;
	object-fit: contain;
}

/* Icon view: stacked */
.elementor-view-stacked .afinia-icon-box-icon {
	background-color: #818a91;
	color: #fff;
	fill: #fff;
}

/* Icon view: framed */
.elementor-view-framed .afinia-icon-box-icon {
	border-style: solid;
	border-width: 3px;
}

/* Icon shapes (apply when view = stacked or framed) */
.elementor-shape-circle .afinia-icon-box-icon {
	border-radius: 50%;
}

.elementor-shape-rounded .afinia-icon-box-icon {
	border-radius: 10%;
}

.elementor-shape-square .afinia-icon-box-icon {
	border-radius: 0;
}

.afinia-icon-box-title {
	margin: 0 0 10px;
}

.afinia-icon-box-desc {
	margin: 0;
}