/* v50 — project imagery refinement pass.
   Keeps the approved Stage 3/4 project structure and factual content intact.
   Purpose: intentional centering, grouping and scale for each source aspect ratio. */

.project-v50-images .project-v47-primary,
.project-v50-images .project-v47-secondary figure,
.project-v50-images .project-v48-gallery figure{
  margin-left:auto;
  margin-right:auto;
}

/* Make the transition from factual block to imagery feel deliberate rather than cavernous. */
.project-v50-images .project-v47-secondary{
  padding-top:64px;
  padding-bottom:82px;
}
.project-v50-images .project-v48-gallery{
  gap:clamp(18px,2vw,30px);
}

/* Generic safety for very tall or very wide source material. */
.project-v50-images .project-v50-figure img{
  display:block;
  max-width:100%;
}
.project-v50-images .project-v48-gallery .media-ratio-portrait{
  justify-self:center;
}
.project-v50-images .project-v48-gallery .media-ratio-ultrawide{
  justify-self:center;
  width:100%;
}

/* TOWAROWA 39 — two portrait photographs become one balanced composition.
   Both preserve their complete image; no crop. */
.project-v50-towarowa .project-v50-portrait-pair{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:clamp(22px,2.6vw,40px);
  width:min(100%,1040px);
  margin:0 auto;
  padding:0 0 72px;
}
.project-v50-towarowa .project-v50-portrait-pair figure{
  width:auto;
  margin:0;
  background:transparent;
  overflow:visible;
  display:flex;
  justify-content:center;
}
.project-v50-towarowa .project-v50-portrait-pair img{
  display:block;
  width:auto;
  height:min(42vw,690px);
  max-width:100%;
  object-fit:contain;
}
.project-v50-towarowa .project-v50-portrait-pair figure:first-child img{height:min(42vw,690px)}
.project-v50-towarowa .project-v50-portrait-pair figure:last-child img{height:min(42vw,690px)}

/* A lone portrait image should be centred, never pushed to one side. */
.project-v50-images .project-v50-secondary-centered-portrait .project-v48-gallery{
  display:flex !important;
  justify-content:center !important;
}
.project-v50-images .project-v50-secondary-centered-portrait .project-v48-gallery figure{
  width:min(58%,680px) !important;
  margin:0 auto !important;
}

/* Vibracoustic: landscape technical view, then portrait interior — stacked and centred.
   A side-by-side treatment makes the portrait dominate the row. */
.project-v50-images .project-v50-secondary-stack-mixed .project-v48-gallery{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  gap:34px;
}
.project-v50-images .project-v50-secondary-stack-mixed .project-v48-gallery figure{
  width:min(100%,1060px) !important;
  max-width:none !important;
  margin:0 auto !important;
}
.project-v50-images .project-v50-secondary-stack-mixed .project-v48-gallery figure.media-ratio-portrait{
  width:min(54%,600px) !important;
}


/* Pairs with closely related landscape proportions read as a coherent diptych. */
.project-v50-images .project-v50-secondary-pair-balanced .project-v48-gallery{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:start;
}
.project-v50-images .project-v50-secondary-pair-balanced .project-v48-gallery figure{
  width:100% !important;
  margin:0 !important;
}

/* Three-image sets: one anchor, then a calm pair beneath it. */
.project-v50-images .project-v50-secondary-editorial-three .project-v48-gallery{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:start;
}
.project-v50-images .project-v50-secondary-editorial-three .project-v48-gallery figure:first-child{
  grid-column:1/-1;
  width:min(100%,1120px);
  justify-self:center;
}
.project-v50-images .project-v50-secondary-editorial-three .project-v48-gallery figure:not(:first-child){
  width:100%;
}

/* BIM/coordination views need horizontal room and equal centring, not tiny tiles. */
.project-v50-images .project-v50-secondary-bim-stack .project-v48-gallery{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  gap:30px;
}
.project-v50-images .project-v50-secondary-bim-stack .project-v48-gallery figure{
  width:min(100%,1180px) !important;
}

/* BER12 model is much wider than its photo; centre it as a technical plate. */
.project-v50-images .project-v50-secondary-model .project-v48-gallery{
  display:flex !important;
  justify-content:center;
}
.project-v50-images .project-v50-secondary-model .project-v48-gallery figure{
  width:min(100%,1100px) !important;
}

/* One-image projects: avoid making a relatively tall or modest-resolution source feel oversized. */
.project-v50-images .project-v50-primary-contained{
  width:min(100%,980px);
  margin-left:auto !important;
  margin-right:auto !important;
}
.project-v50-images .project-v50-primary-contained-soft{
  width:min(100%,1040px);
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:900px){
  .project-v50-images .project-v47-secondary{padding-top:52px;padding-bottom:66px}
  .project-v50-towarowa .project-v50-portrait-pair{gap:22px;padding-bottom:58px}
  .project-v50-towarowa .project-v50-portrait-pair img{height:min(58vw,610px)}
  .project-v50-images .project-v50-secondary-centered-portrait .project-v48-gallery figure{width:min(70%,620px) !important}
  .project-v50-images .project-v50-secondary-stack-mixed .project-v48-gallery figure.media-ratio-portrait{width:min(65%,560px) !important}
}

@media (max-width:640px){
  .project-v50-images .project-v47-secondary{padding-top:42px;padding-bottom:54px}
  .project-v50-towarowa .project-v50-portrait-pair{
    display:grid;
    grid-template-columns:1fr;
    justify-items:center;
    gap:18px;
    padding-bottom:44px;
  }
  .project-v50-towarowa .project-v50-portrait-pair figure{width:100%}
  .project-v50-towarowa .project-v50-portrait-pair img{
    width:auto;
    height:auto !important;
    max-height:none;
    max-width:100%;
  }
  .project-v50-images .project-v50-secondary-centered-portrait .project-v48-gallery figure,
  .project-v50-images .project-v50-secondary-stack-mixed .project-v48-gallery figure,
  .project-v50-images .project-v50-secondary-stack-mixed .project-v48-gallery figure.media-ratio-portrait,
  .project-v50-images .project-v50-secondary-stack-technical .project-v48-gallery figure,
  .project-v50-images .project-v50-secondary-model .project-v48-gallery figure{
    width:100% !important;
  }
  .project-v50-images .project-v50-secondary-pair-balanced .project-v48-gallery,
  .project-v50-images .project-v50-secondary-editorial-three .project-v48-gallery{
    grid-template-columns:1fr !important;
  }
  .project-v50-images .project-v50-secondary-editorial-three .project-v48-gallery figure:first-child{grid-column:1}
}
