.component-30418317-1b2a-4e9b-a1e2-b953d1a240d4 .gallery {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  user-select: none;
}

.component-30418317-1b2a-4e9b-a1e2-b953d1a240d4 .gallery-generator {
  display: contents;
}

.component-30418317-1b2a-4e9b-a1e2-b953d1a240d4 .item {
  position: relative;
  display: flex;
  align-items: center;
  background: rgba(127,127,127,0.1);
  overflow: hidden;
  cursor: pointer;
}
.component-30418317-1b2a-4e9b-a1e2-b953d1a240d4.square    .item { aspect-ratio: 1 / 1; }
.component-30418317-1b2a-4e9b-a1e2-b953d1a240d4.portrait  .item { aspect-ratio: 3 / 4; }
.component-30418317-1b2a-4e9b-a1e2-b953d1a240d4.landscape .item { aspect-ratio: 4 / 3; }

.component-30418317-1b2a-4e9b-a1e2-b953d1a240d4 .item__image {
  position: relative;
  width: 100%;
  transition: all 300ms ease-out;
}
.component-30418317-1b2a-4e9b-a1e2-b953d1a240d4 .item__image .unstack-media {
  display: block;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .component-30418317-1b2a-4e9b-a1e2-b953d1a240d4 .gallery { gap: 2rem !important; }

  .component-30418317-1b2a-4e9b-a1e2-b953d1a240d4.grid .gallery {
    grid-template-columns: repeat(2, 1fr);
  }

  .component-30418317-1b2a-4e9b-a1e2-b953d1a240d4.slider .gallery {
    display: flex;
    width: 100vw;
    left: 50%;
    margin-left: -50vw;
    padding-left: 2rem;
    padding-left: calc(50vw - 50%);
    --section-padding: calc(2 * (50vw - 50%));
    overflow-x: scroll;
    scroll-snap-type: x mandatory; /* <--- Not working right now because of the extra divs */
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-scrollbar-width: none;
  }
  .component-30418317-1b2a-4e9b-a1e2-b953d1a240d4.slider .gallery::-webkit-scrollbar {
    display: none;
  }

  .component-30418317-1b2a-4e9b-a1e2-b953d1a240d4.slider .item {
    width: 70vw;
  }

  /* Hack to get proper spacing in Safari */
  .component-30418317-1b2a-4e9b-a1e2-b953d1a240d4.slider .gallery-generator > *:last-child {
    padding-right: 2rem;
    padding-right: var(--section-padding);
  }
}

@media only screen and (min-width: 769px) {
  .component-30418317-1b2a-4e9b-a1e2-b953d1a240d4 .item:hover .item__image {
    transform: scale(110%);
    filter: brightness(0.9) contrast(1.1);
    opacity: 1 !important;
  }
  .component-30418317-1b2a-4e9b-a1e2-b953d1a240d4.columns-2 .gallery { grid-template-columns: repeat(2, 1fr); }
  .component-30418317-1b2a-4e9b-a1e2-b953d1a240d4.columns-3 .gallery { grid-template-columns: repeat(3, 1fr); }
  .component-30418317-1b2a-4e9b-a1e2-b953d1a240d4.columns-4 .gallery { grid-template-columns: repeat(4, 1fr); }
  .component-30418317-1b2a-4e9b-a1e2-b953d1a240d4.columns-5 .gallery { grid-template-columns: repeat(5, 1fr); }
  .component-30418317-1b2a-4e9b-a1e2-b953d1a240d4.columns-6 .gallery { grid-template-columns: repeat(6, 1fr); }
}
.component-a54f1f46-fc91-414a-8e23-409c37671beb p:last-child {
  margin-bottom: 0;
}

.component-a54f1f46-fc91-414a-8e23-409c37671beb figure img {
  width: 100%;
}

.component-a54f1f46-fc91-414a-8e23-409c37671beb * + .actions {
  margin-top: 2.5rem;
}