/*
 * The property excerpt is rendered as a <p> (skins/bootstrap3/single/excerpt.php).
 * Divi's reset `p:not(.has-background):last-of-type { padding-bottom: 0 }`
 * (specificity 0,2,1) outranks the skin's `.immomakler-single
 * .immomakler-property-excerpt` rule (0,2,0) and strips the excerpt box's
 * bottom padding when it's the last <p> in its container. Restore it with a
 * higher-specificity selector (0,3,1).
 */
.immomakler-single p.immomakler-property-excerpt:last-of-type {
	padding-bottom: 1rem;
}

.immomakler-virtual-tour {
	width: 100%;
	border-style: solid;
}

.immomakler-contact-box {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 1rem;
}

.immomakler-contact-photo,
.immomakler-contact-photo img {
	width: 160px;
	height: 240px;
}
.immomakler-contact-photo img {
	object-fit: cover;
}

.immomakler-contact-data {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1rem;
	row-gap: .5rem;
	flex: 1 1 195px;
	min-width: 195px;
}

dl.immomakler-contact-data {
	margin: 0;
}

.immomakler-contact-data dt {
	font-weight: 600;
}

.immomakler-contact-data dd {
	margin: 0;
}

.immomakler-visually-hidden-labels dt {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.immomakler-visually-hidden-labels {
	display: block;
}

.immomakler-visually-hidden-labels dd {
	display: block;
}

/* ── Eckdaten-Boxen (immomakler/single-data-boxes) ─────────────────────────── */

.immomakler-data-boxes {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.immomakler-data-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	min-width: 80px;
}

.immomakler-data-box__content {
	margin: 0;
	width: 100%;
}

.immomakler-data-box__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.4em;
}

.immomakler-data-box__icon svg {
	width: 28px;
	height: 28px;
}

.immomakler-data-box__label {
	font-size: 0.8em;
	opacity: 0.7;
	margin: 0;
}

.immomakler-data-box__value {
	font-weight: 600;
	margin: 0;
}

.immomakler-data-box--inline .immomakler-data-box__content {
	display: flex;
	align-items: center;
	gap: 0.4em;
}

/* ── Eckdaten-Icon-Liste (immomakler/single-icon-list) ──────────────────────── */

.immomakler-icon-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1em;
	list-style: none;
	margin: 0;
	padding: 0;
}

.immomakler-icon-list-item {
	display: flex;
	align-items: center;
	gap: 0.4em;
}

.immomakler-icon-list-icon {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.immomakler-icon-list-icon svg {
	width: 1em;
	height: 1em;
}

.immomakler-icon-list-value {
	white-space: nowrap;
}

/* ── Downloads & Links (immomakler/single-downloads-links) ──────────────────── */

.immomakler-dl-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.immomakler-dl-item {
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin-bottom: 8px;
}

.immomakler-dl-item:last-child {
	margin-bottom: 0;
}

.immomakler-dl-icon.et-pb-icon {
	font-size: 1em;
	flex-shrink: 0;
}

.immomakler-dl-link {
	text-decoration: none;
}

.immomakler-dl-link:hover {
	text-decoration: underline;
}

/* ── Definition-Listen (single-data, single-data-areas, etc.) ───────────────── */

.immomakler-divi5-dl {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 1rem;
	row-gap: 0.4rem;
	margin: 0;
}

.immomakler-divi5-dl dt {
	font-weight: 600;
	margin: 0;
}

.immomakler-divi5-dl dd {
	margin: 0;
}

/*
 * Note: the legacy `.immomakler-grid-gallery` rules that used to live here
 * (auto-fill grid + image-cell sizing) are gone. The Divi Grid-Galerie module
 * (`Single_Grid_Gallery_Module`) now delegates rendering to the shared
 * gallery library — each preset ships its own stylesheet under
 * `assets/css/gallery/preset-*.css`, and Asset_Enqueuer enqueues the right
 * one based on the per-instance configuration.
 */
