/* PASCH — Galería quilt */
.gal-quilt {
  --min: 220px;
  --gap: 0.75rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--min), 1fr));
  grid-auto-rows: 160px;
  gap: var(--gap);
  grid-auto-flow: dense;
}

.gal-quilt .tile {
  position: relative;
  display: block;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--shadow-1);
  isolation: isolate;
  transform: translateZ(0);
  grid-row: span 1;
  grid-column: span 1;
}
.gal-quilt .tile.wide {
  grid-column: span 2;
}
.gal-quilt .tile.tall {
  grid-row: span 2;
}

.gal-quilt img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.02) contrast(1.02);
  transition: transform 0.35s ease, filter 0.35s ease;
}

.gal-quilt .tile:hover img,
.gal-quilt .tile:focus-visible img {
  transform: scale(1.035);
  filter: saturate(1.08) contrast(1.05);
}

.gal-quilt .tile:focus-visible {
  outline: 3px solid var(--cecns-gold);
  outline-offset: 2px;
}

/* Móvil: 2 columnas limpias */
@media (max-width: 640px) {
  .gal-quilt {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 38vw;
    gap: 0.6rem;
    --min: 46vw;
  }
  .gal-quilt .tile.wide {
    grid-column: span 1;
  }
  .gal-quilt .tile.tall {
    grid-row: span 1;
  }
}
@media (max-width: 420px) {
  .gal-quilt {
    grid-auto-rows: 45vw;
  }
}
