.galleryHero {
  min-height: 285px;
  padding: 36px 0 48px;
}

.galleryMasonry {
  columns: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 16px;
}

.galleryMasonry::after {
  content: "";
  flex: 999 1 320px;
}

.galleryMasonry button {
  flex-grow: var(--photo-ratio, 1.5);
  flex-basis: var(--photo-width, 383px);
  align-self: start;
  aspect-ratio: var(--photo-ratio, 1.5);
  min-width: 0;
  width: auto;
  margin: 0;
  padding: 5px;
  overflow: hidden;
  border-radius: 12px;
  clip-path: inset(0 round 12px);
  isolation: isolate;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025));
  box-shadow: 0 18px 48px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.035);
  transition: border-color .3s, transform .3s, box-shadow .3s;
}

.galleryMasonry button img { display:block; width:100%; height:100%; object-fit:contain; border-radius: 8px; clip-path: inset(0 round 8px); filter: saturate(.95) brightness(.88); transition: filter .4s; }
.galleryMasonry button:hover img { transform: none; filter: saturate(1) brightness(1); }
html[data-theme="light"] .galleryMasonry button img { filter: saturate(.97) brightness(.93); }
html[data-theme="light"] .galleryMasonry button:hover img { filter: saturate(1) brightness(1); }

.galleryMasonry button:hover {
  border-color: rgba(255,255,255,.25);
  transform: translateY(-2px) scale(1.006);
  box-shadow: 0 24px 62px rgba(0,0,0,.28), 0 0 0 1px rgba(126,110,255,.055);
}

.galleryMasonry.isUniformLandscape {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.galleryMasonry.isUniformLandscape::after {
  display: none;
}

.galleryMasonry.isUniformLandscape button {
  width: 100%;
  aspect-ratio: 3 / 2;
}

.galleryMasonry.isUniformLandscape button img {
  object-fit: cover;
}

@media (max-width: 1100px) {
  .galleryMasonry.isUniformLandscape {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .galleryHero {
    min-height: 270px;
    padding: 30px 0 40px;
  }

  .galleryMasonry {
    gap: 10px;
  }

  .galleryMasonry::after { flex-basis: 150px; }
  .galleryMasonry button { flex-basis: var(--mobile-photo-width, 368px); padding: 4px; }
  .galleryMasonry.isUniformLandscape { grid-template-columns: 1fr; }
}

.lightboxNext {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1px;
  transition: width .2s, border-radius .2s;
}
.lightboxNext small { display: none; font-size: 7px; white-space: nowrap; }
.lightboxNext.isRestart { width: 66px; border-radius: 18px !important; }
.lightboxNext.isRestart span { font-size: 16px; line-height: 15px; }
.lightboxNext.isRestart small { display: block; }
.galleryRestartNotice{position:absolute;z-index:8;top:22px;left:50%;padding:9px 13px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(18,18,23,.82);color:#c9c9cf;font-size:9px;box-shadow:0 12px 34px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(16px);opacity:0;transform:translate(-50%,-8px);transition:opacity .2s,transform .2s;pointer-events:none}.galleryRestartNotice.visible{opacity:1;transform:translate(-50%,0)}.galleryRestartNotice[hidden]{display:none}
html[data-theme="light"] .galleryRestartNotice{border-color:rgba(31,28,39,.13);background:rgba(255,255,255,.9);color:#4d4a53;box-shadow:0 12px 32px rgba(47,42,58,.15),inset 0 1px #fff}
@media (max-width: 760px) {
  .lightboxNext.isRestart { width: 56px; }
  .lightboxNext.isRestart small { font-size: 6px; }
  .galleryRestartNotice{top:16px;font-size:8px}
}
