Index: src/views/pages/admin-audio.ejs
===================================================================
--- src/views/pages/admin-audio.ejs	(revision 2e247e4c529b09d55619100d5bd4e50de5a95e54)
+++ src/views/pages/admin-audio.ejs	(revision 91094a44a78eaba7694534a039a5d0843f451e10)
@@ -101,4 +101,9 @@
               <% } %>
               <button type="button" class="ax-icon-btn" data-track-edit data-id="<%= t.id %>" aria-label="Bewerken" title="Bewerken">✎</button>
+              <% if (typeof premiumUnlocked === 'undefined' || premiumUnlocked) { %>
+                <form action="/admin/audio/<%= t.id %>/downloadable" method="post" class="ax-track-delete" style="display:inline">
+                  <button type="submit" class="ax-icon-btn" aria-label="Download-voor-email" title="<%= t.downloadable ? 'Download-voor-email staat AAN — klik om uit te zetten' : 'Download-voor-email staat uit — klik om aan te zetten' %>" style="<%= t.downloadable ? 'color:var(--accent,#6b8f71)' : 'opacity:.5' %>">⬇</button>
+                </form>
+              <% } %>
               <form action="/admin/audio/<%= t.id %>/delete" method="post" onsubmit="return confirm('Track verwijderen?')" class="ax-track-delete">
                 <button type="submit" class="ax-icon-btn ax-icon-btn-danger" aria-label="Verwijderen" title="Verwijderen">🗑</button>
Index: src/views/pages/admin.ejs
===================================================================
--- src/views/pages/admin.ejs	(revision 2e247e4c529b09d55619100d5bd4e50de5a95e54)
+++ src/views/pages/admin.ejs	(revision 91094a44a78eaba7694534a039a5d0843f451e10)
@@ -35,4 +35,5 @@
       <a href="/admin/newsletter" class="btn">✉️ Nieuwsbrief</a>
       <% if (tenancy !== 'hub' && primarySite) { %><a href="/pers" class="btn" target="_blank">📰 Perskit</a><% } %>
+      <% if (tenancy !== 'hub' && primarySite) { %><a href="/downloads" class="btn" target="_blank">⬇ Downloads</a><% } %>
     <% } %>
     <a href="/admin/updates" class="btn">🔄 Updates</a>
Index: src/views/pages/download.ejs
===================================================================
--- src/views/pages/download.ejs	(revision 91094a44a78eaba7694534a039a5d0843f451e10)
+++ src/views/pages/download.ejs	(revision 91094a44a78eaba7694534a039a5d0843f451e10)
@@ -0,0 +1,50 @@
+<%
+  var t = (typeof dlTrack !== 'undefined') ? dlTrack : {};
+  var st = (typeof dlState !== 'undefined') ? dlState : 'form';
+  var fileUrl = siteUrlBase + '/download/' + t.id + '/bestand';
+%>
+<section class="dl">
+  <div class="dl-card">
+    <div class="dl-head">
+      <% if (t.cover_url) { %><span class="dl-cover" style="background-image:url('<%= t.cover_url %>')"></span><% } else { %><span class="dl-cover dl-cover-empty">♪</span><% } %>
+      <div>
+        <div class="dl-title"><%= t.title %></div>
+        <% if (t.artist) { %><div class="dl-artist"><%= t.artist %></div><% } %>
+      </div>
+    </div>
+
+    <% if (st === 'ready') { %>
+      <h1 class="dl-h1">Bedankt! ⬇</h1>
+      <p class="dl-sub">Je download zou nu moeten starten. Gebeurt er niets?</p>
+      <p><a class="dl-go" href="<%= fileUrl %>">Download handmatig starten</a></p>
+      <script>
+        // Auto-start de download (zelfde-origin attachment-link).
+        setTimeout(function(){ try { window.location.href = <%- JSON.stringify(fileUrl) %>; } catch(e){} }, 600);
+      </script>
+    <% } else { %>
+      <h1 class="dl-h1">Download <%= t.title %></h1>
+      <p class="dl-sub">Laat je e-mailadres achter en je krijgt het bestand. Je komt dan ook op de nieuwsbrieflijst — uitschrijven kan altijd.</p>
+      <% if (typeof dlError !== 'undefined' && dlError) { %><p class="dl-err"><%= dlError %></p><% } %>
+      <form method="POST" action="<%= siteUrlBase %>/download/<%= t.id %>" class="dl-form">
+        <input type="email" name="email" required placeholder="jouw@email.nl" value="<%= (typeof dlPrefill!=='undefined')?dlPrefill:'' %>" autocomplete="email">
+        <button type="submit" class="dl-go">⬇ Download</button>
+      </form>
+    <% } %>
+  </div>
+</section>
+
+<style>
+  .dl { max-width: 520px; margin: 0 auto; padding: 48px 18px; }
+  .dl-card { border: 1px solid rgba(128,128,128,.2); border-radius: 18px; padding: 28px; }
+  .dl-head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
+  .dl-cover { width: 56px; height: 56px; border-radius: 10px; background-size: cover; background-position: center; display: grid; place-items: center; flex: 0 0 auto; }
+  .dl-cover-empty { background: var(--accent,#6b8f71); color: #fff; opacity: .85; }
+  .dl-title { font-weight: 700; font-size: 17px; }
+  .dl-artist { opacity: .65; font-size: 13px; }
+  .dl-h1 { font-size: clamp(22px,4.5vw,30px); margin: 0 0 8px; }
+  .dl-sub { opacity: .85; line-height: 1.55; margin: 0 0 18px; }
+  .dl-err { color: #c43c3c; margin: 0 0 12px; }
+  .dl-form { display: flex; gap: 10px; flex-wrap: wrap; }
+  .dl-form input { flex: 1 1 200px; padding: 12px 14px; border-radius: 10px; border: 1px solid rgba(128,128,128,.4); background: transparent; color: inherit; font-size: 15px; }
+  .dl-go { padding: 12px 20px; border-radius: 10px; border: none; background: var(--accent,#6b8f71); color: #fff; font-weight: 600; font-size: 15px; cursor: pointer; text-decoration: none; display: inline-block; }
+</style>
Index: src/views/pages/downloads.ejs
===================================================================
--- src/views/pages/downloads.ejs	(revision 91094a44a78eaba7694534a039a5d0843f451e10)
+++ src/views/pages/downloads.ejs	(revision 91094a44a78eaba7694534a039a5d0843f451e10)
@@ -0,0 +1,38 @@
+<%
+  var ts = (typeof dlTracks !== 'undefined') ? dlTracks : [];
+%>
+<section class="dls">
+  <h1 class="dls-h1">Downloads</h1>
+  <p class="dls-sub">Gratis te downloaden — laat je e-mailadres achter en je krijgt het bestand.</p>
+
+  <% if (!ts.length) { %>
+    <p class="dls-empty">Er staan momenteel geen downloads klaar.</p>
+  <% } else { %>
+    <ul class="dls-list">
+      <% ts.forEach(function(t){ %>
+        <li class="dls-item">
+          <% if (t.cover_url) { %><span class="dls-cover" style="background-image:url('<%= t.cover_url %>')"></span><% } else { %><span class="dls-cover dls-cover-empty">♪</span><% } %>
+          <span class="dls-meta">
+            <span class="dls-title"><%= t.title %></span>
+            <% if (t.artist) { %><span class="dls-artist"><%= t.artist %></span><% } %>
+          </span>
+          <a class="dls-btn" href="<%= siteUrlBase %>/download/<%= t.id %>">⬇ Download</a>
+        </li>
+      <% }); %>
+    </ul>
+  <% } %>
+</section>
+
+<style>
+  .dls { max-width: 680px; margin: 0 auto; padding: 32px 18px 64px; }
+  .dls-h1 { font-size: clamp(26px,5vw,38px); margin: 0 0 8px; }
+  .dls-sub { opacity: .8; margin: 0 0 24px; }
+  .dls-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
+  .dls-item { display: flex; align-items: center; gap: 14px; padding: 10px 12px; border: 1px solid rgba(128,128,128,.2); border-radius: 12px; }
+  .dls-cover { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 8px; background-size: cover; background-position: center; display: grid; place-items: center; }
+  .dls-cover-empty { background: var(--accent,#6b8f71); color: #fff; opacity: .85; }
+  .dls-meta { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
+  .dls-title { font-weight: 600; }
+  .dls-artist { font-size: 12.5px; opacity: .65; }
+  .dls-btn { flex: 0 0 auto; padding: 9px 15px; border-radius: 999px; background: var(--accent,#6b8f71); color: #fff; text-decoration: none; font-weight: 600; font-size: 13.5px; }
+</style>
