
/* Base */
.ri-gallery{ width:100%; --ri-cols:4; --ri-gap:20px; --ri-radius:15px; }
.ri-gallery a{ text-decoration:none; }

/* Masonry (Masonry.js) */
.ri-gallery-masonry{ position:relative; }
.ri-gallery-masonry .ri-masonry-sizer{ width: 200px; }
.ri-gallery-masonry .ri-masonry-item{
  display:block;
  margin-bottom: var(--ri-gap);
}
.ri-gallery-masonry .ri-masonry-img{
  width:100%;
  height:auto;
  display:block;
  border-radius: var(--ri-radius);
}

/* Grid alternative */
.ri-gallery-grid{
  display:grid;
  grid-template-columns: repeat(var(--ri-cols), minmax(0, 1fr));
  gap: var(--ri-gap);
}
.ri-gallery-grid .ri-grid-img{
  width:100%;
  height:100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display:block;
  border-radius: var(--ri-radius);
}

/* Lightbox - no title/caption */
.ri-lightbox{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.85);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:999999;
  padding: 24px;
}
.ri-lightbox.is-open{ display:flex; }
.ri-lightbox-inner{
  max-width: min(1400px, 96vw);
  max-height: 90vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ri-lightbox-img{
  max-width: 100%;
  max-height: 90vh;
  display:block;
}
.ri-lightbox-close{
  position:absolute;
  top:12px;
  right:16px;
  font-size: 44px;
  line-height: 1;
  border:0;
  background: transparent;
  color:#fff;
  cursor:pointer;
}
.ri-lightbox-prev,
.ri-lightbox-next{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  font-size: 44px;
  line-height: 1;
  border:0;
  background: transparent;
  color:#fff;
  cursor:pointer;
  padding: 10px 14px;
}
.ri-lightbox-prev{ left: 10px; }
.ri-lightbox-next{ right: 10px; }

html.ri-lightbox-open{ overflow:hidden; }
