/* FineME v291 — hard desktop media fit. The image is explicitly fitted to the
   measured media stage so no intrinsic image dimension can overflow/crop below
   the viewport. v290 remains loaded underneath for gesture/infinite-feed rules. */

.fm-v291 .fm-social-modal.is-media{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  align-content:stretch!important;
}
.fm-v291 .fm-social-modal.is-media .fm-social-modal-head{
  min-width:0!important;
}
.fm-v291 .fm-social-modal.is-media .fm-social-modal-body{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
}
.fm-v291 .fm-media-viewer{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  align-items:stretch!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
}
.fm-v291 .fm-media-stage{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
.fm-v291 .fm-media-stage img{
  display:block!important;
  width:var(--fm-media-fit-width,auto)!important;
  height:var(--fm-media-fit-height,auto)!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:auto!important;
}

/* A tiny safety gutter prevents sub-pixel rounding from touching the modal edge. */
@media(min-width:781px){
  .fm-v291 .fm-media-stage{padding:2px!important;box-sizing:border-box!important}
}
