.ct-lb-overlay {
  position: fixed; inset: 0; z-index: 9999;
  display: none; flex-direction: column; align-items: center; justify-content: center;
  background: rgba(0,0,0,.6);
}
.ct-lb-overlay.is-open { display: flex; }

.ct-lb-stage { position: relative; max-width: 90vw; max-height: 80vh; }

.ct-lb-img {
  display: block; max-width: 90vw; max-height: 80vh;
  border-radius: 4px; box-shadow: 0 10px 40px rgba(0,0,0,.5);
}

.ct-lb-nav, .ct-lb-close {
  position: absolute; border: 0; border-radius: 50%; cursor: pointer;
  background: rgba(0,0,0,.55); color: #fff; line-height: 1;
}
.ct-lb-nav:hover, .ct-lb-close:hover { background: rgba(0,0,0,.8); }

.ct-lb-nav { top: 50%; width: 40px; height: 40px; font-size: 1.4rem; transform: translateY(-50%); }
.ct-lb-prev { left: -56px; }
.ct-lb-next { right: -56px; }

.ct-lb-close { top: -40px; right: -40px; width: 36px; height: 36px; font-size: 1.3rem; }

.ct-lb-count {
  margin-top: 14px; color: #fff; font: .9rem sans-serif;
  text-shadow: 0 1px 3px rgba(0,0,0,.8);
}
@media (max-width: 720px) {
  .ct-lb-nav {
    top: auto;
    bottom: 12px;
    transform: none;
  }
  .ct-lb-prev { left: 12px; }
  .ct-lb-next { right: 12px; }

  .ct-lb-close {
    top: 8px;
    right: 8px;
  }
}
.paragraph--type--photo img.ct-image {
  margin: 0 12px 12px 0;
}