Index: src/views/pages/post-edit.ejs
===================================================================
--- src/views/pages/post-edit.ejs	(revision 2beef8239bf7f03fd0787a56f2dc8385a818ccb3)
+++ src/views/pages/post-edit.ejs	(revision d5b9d2a610e2236a416b1cc881cccb67bc9ab339)
@@ -1411,3 +1411,22 @@
   render();
 })();
+
+(function () {
+  // De Opslaan/Annuleren-balk boven de audiospeler houden als er iets speelt
+  // (anders dekt de fixed speler, z-index 1000, de sticky balk af). De echte
+  // speler-hoogte wordt gelezen, dus het klopt op elk formaat (de speler krimpt
+  // op smalle schermen). Geen speler → balk gewoon op bottom:0 (CSS).
+  var bar = document.querySelector('.pe-actions');
+  if (!bar) return;
+  function fit() {
+    var ap = document.querySelector('.audio-player');
+    var playing = document.body.classList.contains('has-audio-player') &&
+                  ap && getComputedStyle(ap).display !== 'none';
+    bar.style.bottom = playing ? Math.round(ap.getBoundingClientRect().height) + 'px' : '';
+  }
+  fit();
+  window.addEventListener('resize', fit);
+  // De speler verschijnt/verdwijnt via een body-class → daarop reageren.
+  try { new MutationObserver(fit).observe(document.body, { attributes: true, attributeFilter: ['class'] }); } catch (_) {}
+})();
 </script>
