.elementor-widget-ccb-repeater { width: 100%; }
.ccb-repeater {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	--ccb-grid-rows: auto;
	--ccb-equal-rows: auto;
	--ccb-equal-align: start;
	grid-auto-rows: var(--ccb-grid-rows, auto);
	align-items: var(--ccb-equal-align, start);
	gap: 24px;
}
.ccb-repeater > .ccb-repeater-item {
	display: flex;
	align-items: stretch;
	min-width: 0;
}
/* Stretch the Elementor document wrapper and its roots, including Atomic roots. */
.ccb-repeater > .ccb-repeater-item > .elementor {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
}
.ccb-repeater > .ccb-repeater-item > .elementor > * { flex-grow: 1; }

/* Optional Flex mode; the default grid and its existing responsive rules remain intact. */
.ccb-repeater.ccb-repeater--flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: var(--ccb-flex-align, flex-start);
}
.ccb-repeater--flex > .ccb-repeater-item {
	box-sizing: border-box;
	max-width: 100%;
	flex-grow: var(--ccb-flex-grow, 0);
	flex-shrink: 0;
	flex-basis: calc((100% - (var(--ccb-flex-columns, 3) - 1) * var(--ccb-flex-gap, 24px)) / var(--ccb-flex-columns, 3));
}
