diff --git a/static/document/document-editor.css b/static/document/document-editor.css
index e523720b..7a4abf35 100644
--- a/static/document/document-editor.css
+++ b/static/document/document-editor.css
@@ -364,9 +364,25 @@ body.objectEditBody > main.content {
comme un vrai logiciel de diaporama ne reflow jamais automatiquement
une diapositive trop pleine. */
.docPage {
- width: 960px;
+ /* --doc-page-width : SOURCE UNIQUE utilisée à la fois par width et par
+ le calcul de max-height ci-dessous (jamais deux nombres séparés à
+ tenir synchronisés) — .docPage--fixedWidth et le point de rupture
+ mobile la redéfinissent, max-height suit automatiquement. */
+ --doc-page-width: 960px;
+
+ width: var(--doc-page-width);
max-width: 100%;
aspect-ratio: 297 / 210;
+
+ /* Filet de sécurité en plus d'aspect-ratio (retour utilisateur du
+ 23/09/2026 : "le contenu ne dois jamais s'adapter verticalement" —
+ bug réel constaté : un
flex (voir .docCanvasArea) applique
+ une "taille minimale automatique" à ses enfants qui peut agrandir
+ la page au-delà de la hauteur dérivée d'aspect-ratio pour éviter de
+ rogner leur contenu ; max-height fixe un plafond dur qu'aucun
+ contenu ne peut dépasser, quelle que soit cette mécanique). */
+ max-height: calc(var(--doc-page-width) * 210 / 297);
+ min-height: 0;
background: var(--doc-card);
border: 1px solid var(--doc-border);
border-radius: 16px;
@@ -389,7 +405,9 @@ body.objectEditBody > main.content {
}
.docPage.docPage--fixedWidth {
- width: var(--doc-preview-width, 760px);
+ --doc-page-width: var(--doc-preview-width, 760px);
+
+ width: var(--doc-page-width);
padding: 28px 20px;
}
@@ -475,6 +493,14 @@ body.objectEditBody > main.content {
.docText {
outline: none;
+
+ /* Un mot sans espace plus long que la largeur du bloc doit se couper
+ plutôt que déborder hors de la page (retour utilisateur du
+ 23/09/2026 : "les élément paragraphe ne vont pas à la ligne") —
+ overflow-wrap (jamais word-break:break-all, qui casserait même les
+ mots normaux au milieu sans raison) ne coupe QUE si le mot ne tient
+ vraiment pas sur une ligne. */
+ overflow-wrap: break-word;
}
.docImage.docImagePlaceholder {