/* FineME v294 — definitive media viewer grid reset.
   Older v271 CSS defined a 3-column media viewer (44px / flexible / 44px).
   The modern v289+ viewer nests the navigation inside .fm-media-stage, so that
   legacy grid definition collapses the stage to the first 44px column. Reset
   both axes explicitly so the stage owns the full lightbox viewport. */

.fm-v294 .fm-social-modal.is-media .fm-social-modal-body{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr)!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
}

.fm-v294 .fm-media-viewer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  grid-auto-columns:minmax(0,1fr)!important;
  grid-auto-flow:row!important;
  column-gap:0!important;
  row-gap:0!important;
  gap:0!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  align-content:stretch!important;
  justify-content:stretch!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
}

.fm-v294 .fm-media-stage{
  grid-column:1 / -1!important;
  grid-row:1!important;
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#05070a!important;
  contain:layout paint!important;
}

.fm-v294 .fm-media-footer{
  grid-column:1 / -1!important;
  grid-row:2!important;
  min-width:0!important;
}

.fm-v294 .fm-media-stage > img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}

.fm-v294 .fm-media-stage > .fm-media-counter,
.fm-v294 .fm-media-stage > .fm-media-nav{
  position:absolute!important;
  z-index:8!important;
}

/* Keep the modal fully inside the visual viewport without shrinking the media
   stage to an intrinsic-content column. */
@media(min-width:781px){
  .fm-v294 .fm-social-modal-root.fm-media-modal-open{
    --fm-v294-edge:clamp(10px,1.25vw,18px);
    box-sizing:border-box!important;
    padding:var(--fm-v294-edge)!important;
  }
  .fm-v294 .fm-social-modal.is-media{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    width:min(1480px,calc(100vw - (var(--fm-v294-edge) * 2)))!important;
    height:min(1040px,calc(100dvh - (var(--fm-v294-edge) * 2)))!important;
    max-width:calc(100vw - (var(--fm-v294-edge) * 2))!important;
    max-height:calc(100dvh - (var(--fm-v294-edge) * 2))!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }
}
