diff --git a/wagtail/documents/templates/wagtaildocs/documents/edit.html b/wagtail/documents/templates/wagtaildocs/documents/edit.html
index fa4c81f8f8..be336640ee 100644
--- a/wagtail/documents/templates/wagtaildocs/documents/edit.html
+++ b/wagtail/documents/templates/wagtaildocs/documents/edit.html
@@ -1,46 +1,33 @@
 {% extends "wagtailadmin/generic/edit.html" %}
 {% load i18n wagtailadmin_tags %}
 
-{% block main_content %}
-    <div class="row row-flush">
-
-        <div class="col10">
-            <form action="{% url 'wagtaildocs:edit' document.id %}" method="POST" enctype="multipart/form-data" novalidate>
-                {% csrf_token %}
-                <input type="hidden" value="{{ next }}" name="next">
-                <ul class="fields">
-                    {% for field in form %}
-                        {% if field.name == 'file' %}
-                            <li>{% include "wagtaildocs/documents/_file_field.html" %}</li>
-                        {% elif field.is_hidden %}
-                            {{ field }}
-                        {% else %}
-                            <li>{% formattedfield field %}</li>
-                        {% endif %}
-                    {% endfor %}
-                    <li>
-                        <input type="submit" value="{% trans 'Save' %}" class="button" />
-                        {% if can_delete %}
-                            <a href="{{ delete_url }}{% if next %}?next={{ next|urlencode }}{% endif %}" class="button no">{% trans "Delete document" %}</a>
-                        {% endif %}
-                    </li>
-                </ul>
-            </form>
-        </div>
-        <div class="col2">
-            <dl>
-                {% if document.file %}
-                    <dt>{% trans "Filesize" %}</dt>
-                    <dd>{% if filesize %}{{ filesize|filesizeformat }}{% else %}{% trans "File not found" %}{% endif %}</dd>
+{% block fields %}
+    <div class="w-grid w-grid-cols-1 sm:w-grid-cols-6 w-gap-8">
+        <div class="sm:w-col-span-5">
+            <input type="hidden" value="{{ next }}" name="next">
+            {% for field in form %}
+                {% if field.name == 'file' %}
+                    {% include "wagtaildocs/documents/_file_field.html" %}
+                {% elif field.is_hidden %}
+                    {{ field }}
+                {% else %}
+                    {% formattedfield field %}
                 {% endif %}
-
-                <dt>{% trans "Usage" %}</dt>
-                <dd>
-                    {% with usage_count_val=document.get_usage.count %}
-                        <a href="{{ document.usage_url }}">{% blocktrans trimmed with usage_count=usage_count_val|intcomma count usage_count_val=usage_count_val %}Used {{ usage_count }} time{% plural %}Used {{ usage_count }} times{% endblocktrans %}</a>
-                    {% endwith %}
-                </dd>
-            </dl>
+            {% endfor %}
         </div>
+
+        <dl>
+            {% if document.file %}
+                <dt>{% trans "Filesize" %}</dt>
+                <dd>{% if filesize %}{{ filesize|filesizeformat }}{% else %}{% trans "File not found" %}{% endif %}</dd>
+            {% endif %}
+
+            <dt>{% trans "Usage" %}</dt>
+            <dd>
+                {% with usage_count_val=document.get_usage.count %}
+                    <a href="{{ document.usage_url }}">{% blocktrans trimmed with usage_count=usage_count_val|intcomma count usage_count_val=usage_count_val %}Used {{ usage_count }} time{% plural %}Used {{ usage_count }} times{% endblocktrans %}</a>
+                {% endwith %}
+            </dd>
+        </dl>
     </div>
 {% endblock %}
diff --git a/wagtail/documents/views/documents.py b/wagtail/documents/views/documents.py
index e24a40d91b..9058288952 100644
--- a/wagtail/documents/views/documents.py
+++ b/wagtail/documents/views/documents.py
@@ -4,6 +4,7 @@ from django.contrib.admin.utils import quote
 from django.core.exceptions import PermissionDenied
 from django.http.response import HttpResponse as HttpResponse
 from django.utils.functional import cached_property
+from django.utils.http import urlencode
 from django.utils.translation import gettext as _
 from django.utils.translation import gettext_lazy, ngettext
 
@@ -196,6 +197,7 @@ class EditView(generic.EditView):
     delete_url_name = "wagtaildocs:delete"
     header_icon = "doc-full-inverse"
     context_object_name = "document"
+    delete_item_label = gettext_lazy("Delete document")
     _show_breadcrumbs = True
 
     @cached_property
@@ -230,6 +232,12 @@ class EditView(generic.EditView):
     def get_success_url(self):
         return self.next_url or super().get_success_url()
 
+    def get_delete_url(self):
+        delete_url = super().get_delete_url()
+        if self.next_url:
+            delete_url += "?" + urlencode({"next": self.next_url})
+        return delete_url
+
     def render_to_response(self, context, **response_kwargs):
         if self.object.is_stored_locally():
             # Give error if document file doesn't exist