.photo-gallery-collection[open] {
  grid-column: 1 / -1;
}

.gallery-collection-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: clamp(0.625rem, 1.5vw, 1.25rem);
}

.gallery-collection-grid .gallery-item {
  min-width: 0;
  margin: 0;
}

.gallery-collection-grid .gallery-image {
  display: grid;
  place-items: center;
}

.gallery-collection-grid img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(32rem, 70vh);
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 1.25rem;
}

@media (max-width: 40rem) {
  .gallery-collection-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 25rem) {
  .gallery-collection-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.photo-gallery-collection summary {
  list-style: none;
  cursor: pointer;
}
.photo-gallery-collection summary::-webkit-details-marker {
  display: none;
}
.photo-gallery-collection summary > .native-collection-cover img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 1.25rem;
}
.photo-gallery-collection summary > span {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--blue);
  font-size: 1.0625rem;
}
.photo-gallery-collection summary svg {
  width: 1.25rem;
  height: 1.25rem;
}
.photo-gallery-collection summary:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 5px;
  border-radius: 1.25rem;
}
.photo-gallery-collection[open] summary {
  margin-bottom: 2rem;
}
.photo-gallery-collection[open] summary > .native-collection-cover img {
  max-width: 24rem;
}
.photo-gallery-collection .collection-close,
.photo-gallery-collection[open] .collection-open {
  display: none;
}
.photo-gallery-collection[open] .collection-close {
  display: flex;
}

.native-collection-cover {
  display: block;
}
