/* Fixed stages reserve space even for legacy attachments without dimensions.
   contain keeps portrait, panoramic and animated images intact. */
.msg-files > .inline-media {
  width: 420px;
  max-width: 100%;
  min-width: 0;
  flex: 0 1 420px;
  overflow: hidden;
  border-radius: 14px;
  background: var(--s1);
  box-shadow: inset 0 0 0 1px var(--line);
}
.inline-media.inline-image { aspect-ratio: 4 / 3; }
.inline-media.inline-video { aspect-ratio: auto; }
.inline-media > button.msg-image {
  width: 100%;
  height: 100%;
  max-width: none;
}
.inline-media .msg-image img,
.inline-media > video {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
}

/* Keep the video stage stable while preview/download remain available below it. */
.inline-media.inline-video > video {
  aspect-ratio: 16 / 9;
  height: auto;
}
.inline-media.inline-video > .file-card {
  min-width: 0;
  max-width: none;
  border-radius: 0 0 14px 14px;
}
