Index: src/views/pages/post.ejs
===================================================================
--- src/views/pages/post.ejs	(revision a885afc878cdd6df0962a173a88ddd8f69f820ec)
+++ src/views/pages/post.ejs	(revision 59f017026eb35cc17dbb5f9fcf7cb3f5a9d9a538)
@@ -112,159 +112,4 @@
   </script>
 
-  <!-- Comments -->
-  <section class="post-comments" id="comments">
-    <h2 class="comments-heading">
-      <%= t(totalComments === 1 ? 'comments.heading_one' : 'comments.heading_other', { n: totalComments }) %>
-    </h2>
-
-    <% if (typeof currentPath === 'string' && currentPath && currentPath.indexOf('/' + post.slug) === 0) { %>
-      <% /* If the URL has ?pending=1, the previous submit landed in the moderation queue */ %>
-    <% } %>
-    <script>
-      (function() {
-        if (location.search.indexOf('pending=1') !== -1) {
-          var s = document.createElement('div');
-          s.className = 'comments-pending-flash';
-          s.textContent = <%- JSON.stringify(t('comments.pending')) %>;
-          document.currentScript.parentNode.insertBefore(s, document.currentScript);
-        }
-      })();
-    </script>
-
-    <% if (!comments || !comments.length) { %>
-      <p class="comments-empty"><%= t('comments.empty') %><% if (!user) { %> <a href="/auth/login?next=<%= encodeURIComponent(_base + '/' + post.slug + '#comments') %>"><%= t('nav.login') %></a> <%= t('comments.to_start') %><% } %></p>
-    <% } else { %>
-      <ol class="comments-list">
-        <% comments.forEach(function(c) { %>
-          <li class="comment" id="comment-<%= c.id %>">
-            <div class="comment-avatar">
-              <% if (c.author_avatar) { %>
-                <img src="<%= c.author_avatar %>" alt="">
-              <% } else { %>
-                <span><%= c.author_username.charAt(0).toUpperCase() %></span>
-              <% } %>
-            </div>
-            <div class="comment-body">
-              <div class="comment-meta">
-                <a class="comment-author" href="/users/<%= encodeURIComponent(c.author_username) %>"><%= c.author_username %></a>
-                <span class="comment-time" title="<%= c.created_at %>"><%= formatDateTime(c.created_at) %></span>
-              </div>
-              <div class="comment-content"><%= c.content %></div>
-              <div class="comment-actions">
-                <% if (user && canMutate) { %>
-                  <button type="button" class="comment-reply-btn" data-reply-to="<%= c.id %>"><%= t('comments.reply') %></button>
-                <% } %>
-                <% if (user && permissions.canDeleteComment(user, c, site)) { %>
-                  <form method="post" action="<%= _base %>/comments/<%= c.id %>/delete" onsubmit="return confirm('<%= t('comments.delete_confirm') %>')">
-                    <button type="submit" class="comment-delete-btn"><%= t('comments.delete') %></button>
-                  </form>
-                <% } %>
-              </div>
-
-              <!-- Inline reply form (hidden by default) -->
-              <% if (user && canMutate) { %>
-                <form method="post" action="<%= _base %>/comments" class="comment-reply-form" hidden data-reply-form-for="<%= c.id %>">
-                  <input type="hidden" name="post_slug" value="<%= post.slug %>">
-                  <input type="hidden" name="parent_comment_id" value="<%= c.id %>">
-                  <textarea name="content" rows="3" maxlength="4000" placeholder="<%= t('comments.reply_to', { name: c.author_username }) %>" required></textarea>
-                  <div class="comment-reply-form-actions">
-                    <button type="submit" class="btn btn-primary"><%= t('comments.reply') %></button>
-                    <button type="button" class="btn comment-cancel-reply"><%= t('comments.cancel') %></button>
-                  </div>
-                </form>
-              <% } %>
-
-              <!-- Replies (1 level deep) -->
-              <% if (c.replies && c.replies.length) { %>
-                <ol class="comment-replies">
-                  <% c.replies.forEach(function(r) { %>
-                    <li class="comment comment-reply" id="comment-<%= r.id %>">
-                      <div class="comment-avatar">
-                        <% if (r.author_avatar) { %>
-                          <img src="<%= r.author_avatar %>" alt="">
-                        <% } else { %>
-                          <span><%= r.author_username.charAt(0).toUpperCase() %></span>
-                        <% } %>
-                      </div>
-                      <div class="comment-body">
-                        <div class="comment-meta">
-                          <a class="comment-author" href="/users/<%= encodeURIComponent(r.author_username) %>"><%= r.author_username %></a>
-                          <span class="comment-time"><%= formatDateTime(r.created_at) %></span>
-                        </div>
-                        <div class="comment-content"><%= r.content %></div>
-                        <div class="comment-actions">
-                          <% if (user && canMutate) { %>
-                            <button type="button" class="comment-reply-btn" data-reply-to="<%= r.id %>"><%= t('comments.reply') %></button>
-                          <% } %>
-                          <% if (user && permissions.canDeleteComment(user, r, site)) { %>
-                            <form method="post" action="<%= _base %>/comments/<%= r.id %>/delete" onsubmit="return confirm('<%= t('comments.delete_confirm') %>')">
-                              <button type="submit" class="comment-delete-btn"><%= t('comments.delete') %></button>
-                            </form>
-                          <% } %>
-                        </div>
-
-                        <%# Replying to a reply — lands (via resolvedParent on the
-                            server) in the same thread, so the 1-level depth is preserved. %>
-                        <% if (user && canMutate) { %>
-                          <form method="post" action="<%= _base %>/comments" class="comment-reply-form" hidden data-reply-form-for="<%= r.id %>">
-                            <input type="hidden" name="post_slug" value="<%= post.slug %>">
-                            <input type="hidden" name="parent_comment_id" value="<%= r.id %>">
-                            <textarea name="content" rows="3" maxlength="4000" placeholder="<%= t('comments.reply_to', { name: r.author_username }) %>" required></textarea>
-                            <div class="comment-reply-form-actions">
-                              <button type="submit" class="btn btn-primary"><%= t('comments.reply') %></button>
-                              <button type="button" class="btn comment-cancel-reply"><%= t('comments.cancel') %></button>
-                            </div>
-                          </form>
-                        <% } %>
-                      </div>
-                    </li>
-                  <% }); %>
-                </ol>
-              <% } %>
-            </div>
-          </li>
-        <% }); %>
-      </ol>
-    <% } %>
-
-    <!-- Top-level comment form (only for logged-in users for now) -->
-    <% if (user && canMutate) { %>
-      <form method="post" action="<%= _base %>/comments" class="comment-form">
-        <input type="hidden" name="post_slug" value="<%= post.slug %>">
-        <label class="comment-form-label">
-          <span><%= t('comments.add_as') %> <strong><%= user.username %></strong></span>
-          <textarea name="content" rows="3" maxlength="4000" placeholder="<%= t('comments.placeholder') %>" required></textarea>
-        </label>
-        <button type="submit" class="btn btn-primary"><%= t('comments.post') %></button>
-      </form>
-    <% } else if (!user) { %>
-      <p class="comments-login-cta">
-        <a href="/auth/login?next=<%= encodeURIComponent(_base + '/' + post.slug + '#comments') %>" class="btn"><%= t('comments.login_to_comment') %></a>
-      </p>
-    <% } else { %>
-      <p class="comments-login-cta" style="color:var(--ink-muted)">👁️ Kijker-modus — reageren is uitgeschakeld.</p>
-    <% } %>
-  </section>
-
-  <!-- Reply form toggle -->
-  <script>
-  (function() {
-    document.querySelectorAll('.comment-reply-btn').forEach(function(btn) {
-      btn.addEventListener('click', function() {
-        var id = btn.dataset.replyTo;
-        var form = document.querySelector('[data-reply-form-for="' + id + '"]');
-        if (form) {
-          form.hidden = !form.hidden;
-          if (!form.hidden) form.querySelector('textarea').focus();
-        }
-      });
-    });
-    document.querySelectorAll('.comment-cancel-reply').forEach(function(btn) {
-      btn.addEventListener('click', function() {
-        btn.closest('.comment-reply-form').hidden = true;
-      });
-    });
-  })();
-  </script>
 
   <%# ── Related posts (3-card grid) ─────────────────────────────
