{% for monthData in months %}
{{ monthData.label }}
{# Weekday headers (Mon–Sun) #}
{# Day grid #}
{% for week in monthData.weeks %}
{% for dayData in week %}
{% if dayData.inMonth %}
{% set dateStr = dayData.date|date('Y-m-d') %}
{% set entry = enrichedByDate[dateStr] ?? null %}
{% set status = (dateStr < todayStr) ? 'past' : (entry ? entry.status : 'ok') %}
{% set minNights = entry ? entry.minNights : 0 %}
{% else %}
{% endif %}
{% endfor %}
{% endfor %}
{% endfor %}
{# Status message (arrival hint, short-stay warning, etc.) #}
{# Reset link — revealed once a start date is selected #}
{# Navigation — prev/next trigger HTMX month swap; no Stimulus involvement #}