/* HERO FULL (como summergrace) */
.gallery-hero {
  height: 100vh;
  width: 100%;
  position: relative;
  background: #000 center/cover no-repeat;
}

/* overlay leve para que el header blanco se lea */
.gallery-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.25);
}

/* Espacio para que no tape el header fixed */
.gallery-hero::before {
  content: "";
  position: absolute;
  top: 0;
  height: 90px;
  width: 100%;
}

/* CONTENEDOR DEL GRID */
.gallery-wrap {
  background: #f3f0e9; /* beige/crema tipo referencia */
  padding: 80px 70px;
}

/* Grid editorial (masonry “fake” con spans) */
.editorial-grid {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 45px;
  align-items: start;
}

/* Item */
.grid-item {
  width: 100%;
}

.grid-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* Variantes para “collage” */
.grid-item.tall {
  aspect-ratio: 3 / 4;
}

.grid-item.square {
  aspect-ratio: 1 / 1;
}

.grid-item.wide {
  grid-column: span 2;
  aspect-ratio: 16 / 9;
}

.grid-item.big-tall {
  aspect-ratio: 2 / 3;
}

/* Responsive */
@media (max-width: 1024px) {
  .gallery-wrap {
    padding: 70px 40px;
  }

  .editorial-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }

  .grid-item.wide {
    grid-column: span 2;
  }
}

@media (max-width: 600px) {
  .gallery-wrap {
    padding: 60px 22px;
  }

  .editorial-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .grid-item.wide {
    grid-column: span 1;
  }
}
