.aim-lightbox-enabled { cursor: zoom-in; }
.aim-lightbox {
  position: fixed; z-index: 99999; inset: 0; display: none;
  align-items: center; justify-content: center; box-sizing: border-box;
  padding: 56px 72px 48px; background: rgba(0, 0, 0, .94);
  color: #fff; touch-action: pan-y;
}
.aim-lightbox.is-open { display: flex; }
.aim-lightbox__image {
  display: block; width: auto; height: auto; max-width: 100%;
  max-height: calc(100vh - 104px); object-fit: contain;
  box-shadow: 0 4px 28px rgba(0, 0, 0, .55);
  user-select: none; -webkit-user-select: none;
}
.aim-lightbox__close, .aim-lightbox__previous, .aim-lightbox__next {
  position: fixed; z-index: 2; border: 0; border-radius: 50%;
  background: rgba(20, 20, 20, .72); color: #fff; cursor: pointer;
  font-family: Arial, sans-serif; line-height: 1; text-align: center;
}
.aim-lightbox__close {
  top: 12px; right: 14px; width: 42px; height: 42px; font-size: 34px;
}
.aim-lightbox__previous, .aim-lightbox__next {
  top: 50%; width: 48px; height: 64px; margin-top: -32px; font-size: 42px;
}
.aim-lightbox__previous { left: 12px; }
.aim-lightbox__next { right: 12px; }
.aim-lightbox__counter {
  position: fixed; left: 50%; bottom: 14px; transform: translateX(-50%);
  padding: 5px 10px; border-radius: 12px; background: rgba(20, 20, 20, .72);
  color: #fff; font: 14px/1.2 Arial, sans-serif;
}
.aim-lightbox--single .aim-lightbox__previous,
.aim-lightbox--single .aim-lightbox__next,
.aim-lightbox--single .aim-lightbox__counter { display: none; }
body.aim-lightbox-open { overflow: hidden; }
@media (max-width: 600px) {
  .aim-lightbox { padding: 52px 12px 42px; }
  .aim-lightbox__image { max-height: calc(100vh - 94px); }
  .aim-lightbox__previous, .aim-lightbox__next {
    top: auto; bottom: 8px; width: 44px; height: 44px;
    margin-top: 0; font-size: 34px;
  }
}
