dl.brxe-immomakler-definition-list {
	display: grid;
	grid-template-columns: var(--immomakler-col-left, 40%) auto;
	margin: 0;
}
.brxe-immomakler-definition-list dt {
	grid-column: 1;
	padding: 5px 0;
	margin: 0;
	font-weight: 600;
	text-align: start;
}
.brxe-immomakler-definition-list dd {
	grid-column: 2;
	padding: 5px 0;
	margin: 0;
	text-align: start;
}

.immomakler-feature-item {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}

.immomakler-feature-icon {
	margin-right: .5rem;
	display: inline-flex;
	font-size: inherit;
}

.immomakler-feature-icon svg,
.immomakler-feature-icon i {
	display: block;
}

.brxe-immomakler-single-features ul.immomakler-features {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	row-gap: var(--immomakler-feature-column-gap, 8px);
	column-gap: var(--immomakler-feature-margin-gap, 8px);
	list-style: none;
	padding: 0;
	margin: 0;
}

.immomakler-feature-text {
	white-space: nowrap;
}

/* Data Boxes ("Eckdaten-Boxen") */
.brxe-immomakler-data-boxes .immomakler-data-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
/* Reset browser defaults via the label/value classes (not via `dt`/`dd` tag
   selectors) so per-instance margin/padding controls — which target the same
   classes — match this rule's specificity and win via cascade order. */
.brxe-immomakler-data-boxes .immomakler-data-label,
.brxe-immomakler-data-boxes .immomakler-data-value {
	margin: 0;
	padding: 0;
	font-weight: inherit;
}
.brxe-immomakler-data-boxes .immomakler-data-list--style-grid {
	display: grid;
}
.brxe-immomakler-data-boxes .immomakler-data-list--style-flex {
	display: flex;
	flex-wrap: wrap;
}
.brxe-immomakler-data-boxes .immomakler-data-list--style-flex .immomakler-data-box {
	flex: 1 1 auto;
	max-width: 300px;
}
.brxe-immomakler-data-boxes .immomakler-data-box {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	min-width: 0;
}
.brxe-immomakler-data-boxes .immomakler-data-label,
.brxe-immomakler-data-boxes .immomakler-data-value {
	min-width: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}
.brxe-immomakler-data-boxes .immomakler-data-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.brxe-immomakler-data-boxes .immomakler-data-icon svg {
	display: block;
	width: 1em;
	height: 1em;
}
.brxe-immomakler-data-boxes .immomakler-data-icon--native svg,
.brxe-immomakler-data-boxes .immomakler-data-icon--native svg * {
	fill: currentColor;
	stroke: currentColor;
}
.brxe-immomakler-data-boxes .immomakler-data-divider--line {
	border: 0;
	border-left-style: solid;
	align-self: stretch;
}

/* ----- Layout presets ----- */
.brxe-immomakler-data-boxes .immomakler-data-list--layout-stacked .immomakler-data-box {
	display: flex;
	flex-direction: column;
}
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-ilv .immomakler-data-icon  { order: 1; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-ilv .immomakler-data-label { order: 2; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-ilv .immomakler-data-value { order: 3; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-ivl .immomakler-data-icon  { order: 1; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-ivl .immomakler-data-value { order: 2; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-ivl .immomakler-data-label { order: 3; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-liv .immomakler-data-label { order: 1; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-liv .immomakler-data-icon  { order: 2; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-liv .immomakler-data-value { order: 3; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-lvi .immomakler-data-label { order: 1; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-lvi .immomakler-data-value { order: 2; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-lvi .immomakler-data-icon  { order: 3; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-vil .immomakler-data-value { order: 1; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-vil .immomakler-data-icon  { order: 2; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-vil .immomakler-data-label { order: 3; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-vli .immomakler-data-value { order: 1; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-vli .immomakler-data-label { order: 2; }
.brxe-immomakler-data-boxes .immomakler-data-list--stack-order-vli .immomakler-data-icon  { order: 3; }

.brxe-immomakler-data-boxes .immomakler-data-list--layout-inline .immomakler-data-box {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-items: center;
}
.brxe-immomakler-data-boxes .immomakler-data-list--layout-inline .immomakler-data-icon {
	grid-column: 1;
	grid-row: 1 / span 2;
	align-self: center;
	margin-bottom: 0;
}
.brxe-immomakler-data-boxes .immomakler-data-list--layout-inline .immomakler-data-label {
	grid-column: 2;
	grid-row: 1;
}
.brxe-immomakler-data-boxes .immomakler-data-list--layout-inline .immomakler-data-value {
	grid-column: 2;
	grid-row: 2;
}

.brxe-immomakler-data-boxes .immomakler-data-list--layout-mixed .immomakler-data-box {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-items: center;
}
.brxe-immomakler-data-boxes .immomakler-data-list--layout-mixed .immomakler-data-icon {
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	margin-bottom: 0;
}
.brxe-immomakler-data-boxes .immomakler-data-list--layout-mixed .immomakler-data-value {
	grid-column: 2;
	grid-row: 1;
}
.brxe-immomakler-data-boxes .immomakler-data-list--layout-mixed .immomakler-data-label {
	grid-column: 1 / -1;
	grid-row: 2;
}
