{% comment %}
`.modal` is display:none and `.show` only sets opacity — Bootstrap's own JS
is what writes `style.display = "block"`. cf-ui loads none, so the reveal
rides on `d-block`, a real Bootstrap utility Alpine can toggle.
{% endcomment %}
{{ header }}
{{ slot }}
{% if footer %}
{% endif %}
{% comment %}
Bootstrap puts the backdrop on at z-index 1050, under the modal's
1055. Without its JS the backdrop has to live inside the modal, where 1050
would paint it *over* the dialog — `.modal` opens a stacking context. A
negative z-index puts it back underneath without inventing a class.
{% endcomment %}