/**
 * Banner de dos columnas: títulos + cuadrícula de imágenes (Team Seven).
 * Fila sin align-center del tema: títulos alineados arriba en desktop.
 * min-width:0 en celdas flex evita que una sola imagen crezca desmesurada (móvil).
 */
.team-seven-banner-img-grid {
	--team-seven-banner-cell-max: 10000px;
	--team-seven-banner-solid-overlay: rgba(5, 84, 242, 0.75);
}

/**
 * Color solido: gana al gradiente !important del child (.it-solution .shadow.theme-hard::after).
 * La variable va en el propio bloque del banner (inline) + Elementor WRAPPER.
 */
.it-solution .elementor-widget-team_seven_banner_image_grid .team-seven-banner-img-grid.team-seven-banner-overlay--solid.shadow.theme-hard::after,
.blue .elementor-widget-team_seven_banner_image_grid .team-seven-banner-img-grid.team-seven-banner-overlay--solid.shadow.theme-hard::after,
.elementor-widget-team_seven_banner_image_grid .team-seven-banner-img-grid.team-seven-banner-overlay--solid.shadow.theme-hard::after {
	background: var(--team-seven-banner-solid-overlay, rgba(5, 84, 242, 0.75)) !important;
	opacity: 1 !important;
}

.team-seven-banner-img-grid .team-seven-banner-img-grid-row {
	align-items: flex-start;
}

.team-seven-banner-img-grid .team-seven-banner-img-grid-row > .team-seven-banner-img-grid-col {
	min-width: 0;
}

.team-seven-banner-img-grid .team-seven-banner-img-grid-title,
.team-seven-banner-img-grid .team-seven-banner-right-title.team-seven-banner-img-grid-title {
	text-align: center;
	width: 100%;
	margin-top: 0;
}

.team-seven-banner-img-grid .team-seven-banner-right-col {
	text-align: left;
}

.team-seven-banner-img-grid .team-seven-banner-right-title {
	margin-bottom: 0.5em;
}

.team-seven-banner-img-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 1rem;
	justify-content: flex-start;
	width: 100%;
	--team-seven-banner-cols: 3;
}

.team-seven-banner-img-cell {
	position: relative;
	margin: 0;
	min-width: 0;
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: min(
		calc((100% - 12px * (var(--team-seven-banner-cols, 3) - 1)) / var(--team-seven-banner-cols, 3)),
		var(--team-seven-banner-cell-max)
	);
	width: min(
		calc((100% - 12px * (var(--team-seven-banner-cols, 3) - 1)) / var(--team-seven-banner-cols, 3)),
		var(--team-seven-banner-cell-max)
	);
	max-width: min(
		calc((100% - 12px * (var(--team-seven-banner-cols, 3) - 1)) / var(--team-seven-banner-cols, 3)),
		var(--team-seven-banner-cell-max)
	);
	align-self: flex-start;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.08);
	box-sizing: border-box;
}

.team-seven-banner-img-cell img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	display: block;
}

@media (max-width: 991.98px) {
	.team-seven-banner-img-grid .team-seven-banner-img-grid-row > .team-seven-banner-img-grid-col + .team-seven-banner-img-grid-col {
		margin-top: 2.25rem;
		padding-top: 0.25rem;
	}

	.team-seven-banner-img-row {
		gap: 10px;
	}
}

@media (max-width: 575.98px) {
	.team-seven-banner-img-grid .team-seven-banner-img-grid-row > .team-seven-banner-img-grid-col + .team-seven-banner-img-grid-col {
		margin-top: 2.5rem;
	}

	.team-seven-banner-img-row {
		gap: 8px;
	}
}
