/* ═══════════════════════════════════════════════
   media-gallery — grilla editorial adaptativa
   ═══════════════════════════════════════════════ */

.media-gallery {
  display: grid;
  gap: var(--grid-gutter);
  width: 100%;
}

.media-gallery__item {
  margin: 0;
  overflow: hidden;
  background: var(--grey-20);
  min-height: 0;
}

.media-gallery__item img,
.media-gallery__video iframe {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border: none;
}

.media-gallery__video {
  width: 100%;
  height: 100%;
  min-height: 12rem;
  aspect-ratio: 16 / 9;
}

.media-gallery__video iframe {
  aspect-ratio: 16 / 9;
  min-height: 12rem;
}

.media-gallery__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 10rem;
  background: var(--grey-20);
  color: var(--grey-50);
  font-family: var(--sans, sans-serif);
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.media-gallery__placeholder-label {
  padding: 1rem;
  text-align: center;
}

/* ── 1 imagen: ancho completo ── */
.media-gallery--n1 {
  grid-template-columns: 1fr;
}

.media-gallery--n1 .media-gallery__item--apaisada {
  aspect-ratio: 16 / 9;
}

.media-gallery--n1 .media-gallery__item--vertical {
  aspect-ratio: 3 / 4;
  max-height: 32rem;
}

.media-gallery--n1 .media-gallery__item--cuadrada {
  aspect-ratio: 1 / 1;
  max-height: 28rem;
}

/* ── 2 imágenes: 50/50 ── */
.media-gallery--n2 {
  grid-template-columns: repeat(2, 1fr);
}

.media-gallery--n2 .media-gallery__item {
  aspect-ratio: 4 / 3;
  min-height: 12rem;
}

/* ── 3 imágenes ── */
.media-gallery--n3 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto auto;
}

.media-gallery--n3 .media-gallery__item:nth-child(1),
.media-gallery--n3 .media-gallery__item:nth-child(2) {
  aspect-ratio: 4 / 3;
}

.media-gallery--n3 .media-gallery__item:nth-child(3) {
  grid-column: 1 / -1;
  aspect-ratio: 21 / 9;
}

.media-gallery--n3.media-gallery--one-left-two-right {
  grid-template-columns: 1.2fr 1fr;
  grid-template-rows: 1fr 1fr;
}

.media-gallery--n3.media-gallery--one-left-two-right .media-gallery__item:nth-child(1) {
  grid-column: 1;
  grid-row: 1 / 3;
  aspect-ratio: auto;
  min-height: 18rem;
}

.media-gallery--n3.media-gallery--one-left-two-right .media-gallery__item:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
  aspect-ratio: 4 / 3;
}

.media-gallery--n3.media-gallery--one-left-two-right .media-gallery__item:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
  aspect-ratio: 4 / 3;
}

.media-gallery--n3.media-gallery--three-row {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
}

.media-gallery--n3.media-gallery--three-row .media-gallery__item {
  aspect-ratio: 3 / 4;
}

.media-gallery--n3.media-gallery--three-row .media-gallery__item:nth-child(3) {
  grid-column: auto;
}

/* ── 4 imágenes: 2×2 ── */
.media-gallery--n4 {
  grid-template-columns: repeat(2, 1fr);
}

.media-gallery--n4 .media-gallery__item {
  aspect-ratio: 4 / 3;
}

/* ── 5+ imágenes: 2 hero + fila thumbs ── */
.media-gallery--multi {
  grid-template-columns: repeat(6, 1fr);
}

.media-gallery--multi .media-gallery__item--hero {
  grid-column: span 3;
  aspect-ratio: 4 / 3;
  min-height: 14rem;
}

.media-gallery--multi .media-gallery__item--thumb {
  grid-column: span 2;
  aspect-ratio: 1 / 1;
}

/* ── 7+ con destacada grande (alternativa) ── */
.media-gallery--n7plus {
  grid-template-columns: repeat(4, 1fr);
}

.media-gallery--n7plus .media-gallery__item:first-child {
  grid-column: span 2;
  grid-row: span 2;
  aspect-ratio: auto;
  min-height: 16rem;
}

.media-gallery--n7plus .media-gallery__item:not(:first-child) {
  aspect-ratio: 1 / 1;
}

/* ── Mobile ── */
@media (max-width: 767px) {
  .media-gallery--n2,
  .media-gallery--n3,
  .media-gallery--n4,
  .media-gallery--multi,
  .media-gallery--n7plus {
    grid-template-columns: 1fr;
  }

  .media-gallery--n3.media-gallery--one-left-two-right .media-gallery__item:nth-child(1) {
    grid-column: 1;
    grid-row: auto;
  }

  .media-gallery--multi .media-gallery__item--hero,
  .media-gallery--multi .media-gallery__item--thumb,
  .media-gallery--n7plus .media-gallery__item:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .media-gallery__item {
    aspect-ratio: 4 / 3;
    min-height: 10rem;
  }
}
