{% set _single = attachments|length == 1 %}
<div class="attachment-gallery{% if _single %} single{% endif %}">
    {% for att in attachments %}
    <div class="attachment-gallery-item">
        {% if att.get('is_image') %}
        <img src="{{ att['url'] if _single or not att.get('thumbnail_url') else att['thumbnail_url'] }}" alt="{{ att.get('original_filename', '') }}" loading="lazy" class="gallery-thumb" data-lightbox data-full="{{ att['url'] }}" data-mime="{{ att.get('mime_type', '') }}">
        {% elif att.get('is_video') %}
        <video src="{{ att['url'] }}" controls preload="metadata" class="gallery-video"></video>
        {% elif att.get('is_audio') %}
        <audio src="{{ att['url'] }}" controls preload="metadata" class="gallery-audio"></audio>
        {% else %}
        <a href="{{ att['url'] }}" target="_blank" rel="noopener" class="non-image" download="{{ att.get('original_filename', 'file') }}">
            <span class="icon">{{ file_icon_emoji(att.get('original_filename', 'file')) }}</span>
            <span class="name">{{ att.get('original_filename', 'file') }}</span>
            <span class="size">{{ format_file_size(att.get('file_size', 0)) }}</span>
        </a>
        {% endif %}
    </div>
    {% endfor %}
</div>
