.cgd-container-e91b4c73 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	row-gap: 0;
	border-top: var(--cgd-divider-width, 1px) solid var(--cgd-divider-color, #d8d3cc);
	border-bottom: var(--cgd-divider-width, 1px) solid var(--cgd-divider-color, #d8d3cc);
}

.cgd-item-e91b4c73 {
	/* Grid's default align-items: stretch already makes this cell match
	 * the tallest item in its row. It's flex here so its own child (the
	 * content wrapper) can be told to fill that full stretched height in
	 * turn — see .cgd-item-content-e91b4c73 below. Without that, the row
	 * divider would sit right under each block's own text instead of
	 * lining up across the row. */
	display: flex;
	flex-direction: column;
	padding: 32px 24px 32px 24px;
}

.cgd-item-content-e91b4c73 {
	/* position: relative anchors the ::after row-divider below. No
	 * padding-bottom here — the gap between the content and the divider
	 * comes entirely from the outer cell's Cell Padding (bottom), via
	 * the ::after's negative bottom offset referencing
	 * --cgd-cell-padding-bottom (set on .cgd-item-e91b4c73 and inherited
	 * down through this element to its ::after).
	 *
	 * Spacing between the icon/image, title, and description is the
	 * flex `gap` here (driven by the Content Gap control), not margins
	 * on the individual children — see .cgd-icon/.cgd-image/.cgd-title
	 * below, which carry no margin-bottom of their own. */
	position: relative;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	gap: 16px;
}

.cgd-item-content-e91b4c73::after {
	/* The row divider itself. Width 100% of this element (i.e. the
	 * content width, already inset from the vertical dividers by Cell
	 * Padding left/right — same as before). The negative bottom offset
	 * pushes it down from this element's own (padding-free) bottom edge
	 * to the outer cell's true bottom edge, i.e. the row boundary. */
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	bottom: calc(-1 * var(--cgd-cell-padding-bottom, 32px));
}

.cgd-icon-e91b4c73 {
	display: inline-flex;
	line-height: 1;
}

.cgd-icon-e91b4c73 svg,
.cgd-icon-e91b4c73 img {
	display: block;
}

.cgd-image-e91b4c73 {
	display: block;
	object-fit: cover;
	object-position: center;
}

.cgd-title-e91b4c73 {
	margin: 0;
}

.cgd-description-e91b4c73 {
	margin: 0;
}

.cgd-editor-notice-e91b4c73 {
	padding: 20px;
	background: #f5f5f5;
	border: 1px dashed #ccc;
	text-align: center;
	color: #888;
}
