{# OOB fragment: effective-price cells recomputed from the unsaved profile
   selection on the products page. Each span replaces the matching #eff-<id>
   span in the table via htmx out-of-band swap. Rendered by
   admin_products::profiles_preview. #}
{% import "macros/ui.html" as ui %}
{% for product in products %}
<span id="eff-{{ product.id }}" hx-swap-oob="true">{{ ui::eff_price(p=product, preview=true) }}</span>
{% endfor %}
