diff --git a/web/templates/_wohnungen_body.html b/web/templates/_wohnungen_body.html
index 58eb219..fda8748 100644
--- a/web/templates/_wohnungen_body.html
+++ b/web/templates/_wohnungen_body.html
@@ -154,17 +154,29 @@
{% endif %}
· …
{% else %}
+ {# LLM first, scraper as fallback. The scraper data
+ from inberlinwohnen.de is reliable; we only
+ replace it when the LLM has a concrete value. #}
{% set e = item.enrichment or {} %}
- {% set parts = [] %}
- {% if e.rooms %}{% set _ = parts.append('%g Z'|format(e.rooms)) %}{% endif %}
- {% if e.size_sqm %}{% set _ = parts.append('%.0f m²'|format(e.size_sqm)) %}{% endif %}
- {% set rent = e.rent_total or e.rent_cold %}
- {% if rent %}{% set _ = parts.append('%.0f €'|format(rent)) %}{% endif %}
- {% if e.wbs_required is true %}
- {% set _ = parts.append('WBS: ' ~ (e.wbs_type or 'erforderlich')) %}
- {% elif e.wbs_required is false %}
- {% set _ = parts.append('ohne WBS') %}
+ {% set rooms = e.rooms if e.rooms is not none else f.rooms %}
+ {% set size = e.size_sqm if e.size_sqm is not none else f.size %}
+ {% set rent = e.rent_total or e.rent_cold or f.total_rent %}
+ {% if e.wbs_required is sameas true %}
+ {% set wbs_label = 'WBS: ' ~ (e.wbs_type or 'erforderlich') %}
+ {% elif e.wbs_required is sameas false %}
+ {% set wbs_label = 'ohne WBS' %}
+ {% elif f.wbs == 'erforderlich' %}
+ {% set wbs_label = 'WBS: erforderlich' %}
+ {% elif f.wbs == 'nicht erforderlich' %}
+ {% set wbs_label = 'ohne WBS' %}
+ {% else %}
+ {% set wbs_label = '' %}
{% endif %}
+ {% set parts = [] %}
+ {% if rooms %}{% set _ = parts.append('%g Z'|format(rooms)) %}{% endif %}
+ {% if size %}{% set _ = parts.append('%.0f m²'|format(size)) %}{% endif %}
+ {% if rent %}{% set _ = parts.append('%.0f €'|format(rent)) %}{% endif %}
+ {% if wbs_label %}{% set _ = parts.append(wbs_label) %}{% endif %}
{{ parts|join(' · ') }}{% if parts %} · {% endif %}…
{% endif %}