Index: src/views/pages/post.ejs
===================================================================
--- src/views/pages/post.ejs	(revision 82043c93420666349d02edae4478fb3e96f2a458)
+++ src/views/pages/post.ejs	(revision f6c414ef368712457fb9311f0953c595b267ba05)
@@ -33,5 +33,5 @@
     <% if (post.status === 'published') { %>
       <div class="post-like-row">
-        <%- include('../partials/like-button', { post: post, likedByMe: (typeof likedByMe !== 'undefined' && likedByMe), likeCount: (typeof likeCount !== 'undefined' ? likeCount : 0), loggedIn: !!user, loginNext: _base + '/' + post.slug }) %>
+        <%- include('../partials/like-button', { post: post, noteUri: (typeof ogOrigin !== 'undefined' && ogOrigin ? ogOrigin : '') + (typeof _base !== 'undefined' && _base ? _base : '') + '/' + post.slug, fediLikeCount: (typeof fediverse !== 'undefined' && fediverse ? fediverse.likeCount : 0), fediPh: t('fedi.remote_ph') }) %>
       </div>
     <% } %>
@@ -127,5 +127,5 @@
           + '<button type="submit" class="btn btn-primary fedi-remote-go" aria-label="ok">&rarr;</button>'
           + '<button type="button" class="fedi-remote-cancel" aria-label="x">&times;</button>';
-        f.querySelector('input').placeholder = b.getAttribute('data-fedi-ph') || '@name@server.social';
+        f.querySelector('input').placeholder = b.getAttribute('data-fedi-ph') || 'mastodon.social';
         document.body.appendChild(f);            // floating popover → no layout reflow
         place(f, b); current = f; currentBtn = b;
Index: src/views/pages/timeline.ejs
===================================================================
--- src/views/pages/timeline.ejs	(revision 82043c93420666349d02edae4478fb3e96f2a458)
+++ src/views/pages/timeline.ejs	(revision f6c414ef368712457fb9311f0953c595b267ba05)
@@ -111,5 +111,5 @@
       var f = document.createElement('form'); f.className='fedi-remote-form'; f.dataset.uri = b.getAttribute('data-fedi-uri')||'';
       f.innerHTML = '<input type="text" autocomplete="off" spellcheck="false"><button type="submit" class="btn btn-primary fedi-remote-go" aria-label="ok">&rarr;</button><button type="button" class="fedi-remote-cancel" aria-label="x">&times;</button>';
-      f.querySelector('input').placeholder = b.getAttribute('data-fedi-ph') || '@name@server.social';
+      f.querySelector('input').placeholder = b.getAttribute('data-fedi-ph') || 'mastodon.social';
       document.body.appendChild(f); place(f, b); current=f; currentBtn=b; f.querySelector('input').focus();
       return;
Index: src/views/partials/like-button.ejs
===================================================================
--- src/views/partials/like-button.ejs	(revision 82043c93420666349d02edae4478fb3e96f2a458)
+++ src/views/partials/like-button.ejs	(revision f6c414ef368712457fb9311f0953c595b267ba05)
@@ -1,24 +1,13 @@
-<%# Like/favourite button for a post. Logged in → htmx toggle (POST /posts/:id/like,
-    swaps outerHTML back with this partial). Not logged in → link to login.
-    Expects: post (with .id), likedByMe, likeCount, loggedIn, loginNext. %>
-<%
-  var _liked = (typeof likedByMe !== 'undefined' && likedByMe);
-  var _cnt = (typeof likeCount !== 'undefined' && likeCount != null) ? likeCount : 0;
-  var _logged = (typeof loggedIn !== 'undefined' && loggedIn);
-%>
-<% if (_logged) { %>
-  <button type="button" class="like-btn<%= _liked ? ' is-liked' : '' %>"
-          hx-post="/posts/<%= post.id %>/like" hx-swap="outerHTML"
-          aria-pressed="<%= _liked ? 'true' : 'false' %>"
-          aria-label="<%= _liked ? 'Uit favorieten verwijderen' : 'Toevoegen aan favorieten' %>"
-          title="<%= _liked ? 'Uit favorieten verwijderen' : 'Toevoegen aan favorieten' %>">
-    <span class="like-heart" aria-hidden="true"><%= _liked ? '♥' : '♡' %></span>
-    <span class="like-count"><%= _cnt %></span>
-  </button>
-<% } else { %>
-  <a class="like-btn" href="/auth/login?next=<%= encodeURIComponent((typeof loginNext !== 'undefined' && loginNext) ? loginNext : '/') %>"
-     title="<%= t('like.login_title') %>">
-    <span class="like-heart" aria-hidden="true">♡</span>
-    <span class="like-count"><%= _cnt %></span>
-  </a>
-<% } %>
+<%# Fediverse like — a visitor likes this post out loud from their OWN fediverse
+    account. Click → popover asks only for their server (e.g. mastodon.social) →
+    bounces to that server's /authorize_interaction, where they favourite it.
+    Reuses the .fedi-remote-reply-btn popover wired in post.ejs. The count shows
+    the incoming fediverse likes.
+    Expects: noteUri (post's public URL), fediLikeCount, fediPh (server hint). %>
+<button type="button" class="like-btn fedi-remote-reply-btn"
+        data-fedi-uri="<%= typeof noteUri !== 'undefined' ? noteUri : '' %>"
+        data-fedi-ph="<%= typeof fediPh !== 'undefined' && fediPh ? fediPh : 'mastodon.social' %>"
+        aria-label="<%= t('like.fedi_title') %>" title="<%= t('like.fedi_title') %>">
+  <span class="like-heart" aria-hidden="true">★</span>
+  <span class="like-count"><%= (typeof fediLikeCount !== 'undefined' && fediLikeCount) ? fediLikeCount : 0 %></span>
+</button>
