/* Empêche le navigateur mobile de dézoomer la page si un élément dépasse en largeur */
html, body { overflow-x: clip; }

/* Les contenus d'article ne dépassent jamais de la colonne */
.prose :where(img, video, iframe, canvas, svg) { max-width: 100%; }
.prose :where(pre, table) { max-width: 100%; overflow-x: auto; }

/* PhotoSwipe : les styles de base des images forcent max-width: 100% et déforment la visionneuse */
.pswp img { max-width: none !important; }

/* Photos des articles : proportions toujours respectées, jamais agrandies */
.post-photo { margin: 2.5rem 0; }
.post-photo img {
    display: block; margin-inline: auto;
    width: auto; height: auto; max-width: 100%; max-height: 85svh;
    border-radius: 1rem;
}
.post-photo figcaption {
    margin-top: .75rem; text-align: center; font-size: .9rem; opacity: .65;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.post-photo--small { max-width: 28rem; margin-inline: auto; }
.post-photo--large { position: relative; left: 50%; width: min(94vw, 76rem); transform: translateX(-50%); }

/* Images insérées avec le bouton image de l'éditeur : mêmes garanties */
.prose img { height: auto !important; max-width: 100% !important; }
