/* ==========================================================================
   PRESSWALL. — Portfolio tight
   Half-units: 1 ligne = 2 tracks. Layouts: 1 · 1.5 · 2·1.5 · 2·1 · 2·2
   ========================================================================== */

body.portfolio-tight .work-header {
  margin-bottom: 0.45rem;
}

body.portfolio-tight .work-card-overlay {
  padding: 0.4rem 0.05rem 0;
  flex: 0 0 auto;
}

body.portfolio-tight .work-card-meta {
  display: none;
}

body.portfolio-tight .editorial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(0.4rem, 0.85vw, 0.75rem) clamp(0.35rem, 0.7vw, 0.65rem);
  column-count: auto;
  margin-top: 0.5rem;
  width: 100%;
  grid-auto-flow: dense;
  align-items: stretch;
}

body.portfolio-tight .work-card {
  margin: 0;
  width: 100%;
  break-inside: auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  /* Default: 1 col · 1 ligne (= 2 half-tracks) */
  grid-row: span 2;
}

body.portfolio-tight .work-card-media-wrapper,
body.portfolio-tight .work-card[data-patch] .work-card-media-wrapper {
  aspect-ratio: 3 / 4;
  flex: 0 0 auto;
}

/* 1 col · ligne et demi */
body.portfolio-tight .work-card.is-row-span-15 {
  grid-row: span 3;
}

body.portfolio-tight .work-card.is-row-span-15 .work-card-media-wrapper,
body.portfolio-tight .work-card.is-row-span-15[data-patch] .work-card-media-wrapper {
  aspect-ratio: 1 / 2;
}

/* 2 col · 1 ligne */
body.portfolio-tight .work-card.is-span-2 {
  grid-column: span 2;
  grid-row: span 2;
}

body.portfolio-tight .work-card.is-span-2 .work-card-media-wrapper,
body.portfolio-tight .work-card.is-span-2[data-patch] .work-card-media-wrapper {
  aspect-ratio: 3 / 2;
  flex: 0 0 auto;
  height: auto;
  min-height: 0;
}

/* 2 col · ligne et demi */
body.portfolio-tight .work-card.is-span-2.is-row-span-15 {
  grid-row: span 3;
}

body.portfolio-tight .work-card.is-span-2.is-row-span-15 .work-card-media-wrapper,
body.portfolio-tight .work-card.is-span-2.is-row-span-15[data-patch] .work-card-media-wrapper {
  aspect-ratio: 1 / 1;
}

/* 2 col · 2 lignes */
body.portfolio-tight .work-card.is-span-2.is-row-span-2 {
  grid-row: span 4;
}

body.portfolio-tight .work-card.is-span-2.is-row-span-2 .work-card-media-wrapper,
body.portfolio-tight .work-card.is-span-2.is-row-span-2[data-patch] .work-card-media-wrapper {
  aspect-ratio: 3 / 4;
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
}

@media (min-width: 1200px) {
  body.portfolio-tight .editorial-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1700px) {
  body.portfolio-tight .editorial-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.portfolio-tight .editorial-grid {
    grid-template-columns: 1fr;
  }

  body.portfolio-tight .work-card,
  body.portfolio-tight .work-card.is-row-span-15,
  body.portfolio-tight .work-card.is-span-2,
  body.portfolio-tight .work-card.is-span-2.is-row-span-15,
  body.portfolio-tight .work-card.is-span-2.is-row-span-2 {
    grid-column: span 1;
    grid-row: span 2;
  }

  body.portfolio-tight .work-card.is-row-span-15,
  body.portfolio-tight .work-card.is-span-2.is-row-span-15 {
    grid-row: span 3;
  }

  body.portfolio-tight .work-card-media-wrapper,
  body.portfolio-tight .work-card[data-patch] .work-card-media-wrapper,
  body.portfolio-tight .work-card.is-span-2 .work-card-media-wrapper,
  body.portfolio-tight .work-card.is-span-2[data-patch] .work-card-media-wrapper,
  body.portfolio-tight .work-card.is-span-2.is-row-span-2 .work-card-media-wrapper,
  body.portfolio-tight .work-card.is-span-2.is-row-span-2[data-patch] .work-card-media-wrapper {
    aspect-ratio: 3 / 4;
    flex: 0 0 auto;
    height: auto;
  }

  body.portfolio-tight .work-card.is-row-span-15 .work-card-media-wrapper,
  body.portfolio-tight .work-card.is-row-span-15[data-patch] .work-card-media-wrapper,
  body.portfolio-tight .work-card.is-span-2.is-row-span-15 .work-card-media-wrapper,
  body.portfolio-tight .work-card.is-span-2.is-row-span-15[data-patch] .work-card-media-wrapper {
    aspect-ratio: 1 / 2;
  }
}
