/* Shared icon + text row — structural only.
   SOURCE OF TRUTH: templates/partials/icon-text.css
   Colors, sizes and typography are driven by Style-tab controls, so nothing
   here should hardcode a brand value. Class names are intentionally unsuffixed:
   the markup is identical across components by design. Each generated copy is
   anchored to its Elementor widget wrapper for site-CSS specificity. */

.elementor-widget-understanding_the_solution_27557 .tw-icon-text-list,
.elementor-widget-understanding-the-solution_27557 .tw-icon-text-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(var(--tw-it-cols, 2), minmax(0, 1fr));
	column-gap: var(--tw-it-col-gap, 32px);
	row-gap: var(--tw-it-row-gap, 22px);
}

.elementor-widget-understanding_the_solution_27557 .tw-icon-text,
.elementor-widget-understanding-the-solution_27557 .tw-icon-text {
	display: flex;
	align-items: center;
	gap: var(--tw-it-gap, 16px);
	margin: 0;
}

.elementor-widget-understanding_the_solution_27557 .tw-icon-text__icon,
.elementor-widget-understanding-the-solution_27557 .tw-icon-text__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--tw-it-ring-size, 46px);
	height: var(--tw-it-ring-size, 46px);
	border: var(--tw-it-ring-width, 2px) solid var(--tw-it-accent, currentColor);
	border-radius: 50%;
	color: var(--tw-it-accent, currentColor);
	font-size: var(--tw-it-icon-size, 22px);
	line-height: 1;
}

.elementor-widget-understanding_the_solution_27557 .tw-icon-text--no-ring .tw-icon-text__icon,
.elementor-widget-understanding-the-solution_27557 .tw-icon-text--no-ring .tw-icon-text__icon {
	width: auto;
	height: auto;
	border: 0;
	border-radius: 0;
}

/* Elementor renders icons as inline SVG by default, where font-size and color
   have no effect — both properties have to be mirrored onto the svg. */
.elementor-widget-understanding_the_solution_27557 .tw-icon-text__icon svg,
.elementor-widget-understanding-the-solution_27557 .tw-icon-text__icon svg {
	width: var(--tw-it-icon-size, 22px);
	height: var(--tw-it-icon-size, 22px);
	fill: var(--tw-it-accent, currentColor);
	display: block;
}

.elementor-widget-understanding_the_solution_27557 .tw-icon-text__icon i,
.elementor-widget-understanding-the-solution_27557 .tw-icon-text__icon i {
	font-size: var(--tw-it-icon-size, 22px);
	color: var(--tw-it-accent, currentColor);
}

/* The label may be a heading element when the row is a feature title, so the
   browser's default heading margins have to be cleared. */
.elementor-widget-understanding_the_solution_27557 .tw-icon-text__label,
.elementor-widget-understanding-the-solution_27557 .tw-icon-text__label {
	min-width: 0;
	margin: 0;
}

/* Bullet variant: no ring, a small accent dot instead of a glyph. */
.elementor-widget-understanding_the_solution_27557 .tw-icon-text-list--bullets,
.elementor-widget-understanding-the-solution_27557 .tw-icon-text-list--bullets {
	--tw-it-cols: 1;
}

.elementor-widget-understanding_the_solution_27557 .tw-icon-text-list--bullets .tw-icon-text,
.elementor-widget-understanding-the-solution_27557 .tw-icon-text-list--bullets .tw-icon-text {
	align-items: baseline;
	gap: var(--tw-it-gap, 10px);
}

/* Rows that supply their own glyph opt out of the dot — otherwise a bullet
   list with icons draws both markers. */
.elementor-widget-understanding_the_solution_27557 .tw-icon-text-list--bullets .tw-icon-text:not(.tw-icon-text--has-icon)::before,
.elementor-widget-understanding-the-solution_27557 .tw-icon-text-list--bullets .tw-icon-text:not(.tw-icon-text--has-icon)::before {
	content: "";
	flex: 0 0 auto;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--tw-it-accent, currentColor);
	transform: translateY(-3px);
}

@media (max-width: 767px) {
	.elementor-widget-understanding_the_solution_27557 .tw-icon-text-list,
	.elementor-widget-understanding-the-solution_27557 .tw-icon-text-list {
		--tw-it-cols: 1;
	}
}
