html.zm-lightbox-open,
html.zm-lightbox-open body{
  overflow:hidden;
}

.zm-premium-lightbox{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  padding:26px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease,visibility .24s ease;
}

.zm-premium-lightbox.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.zm-premium-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(18,10,22,.82);
  backdrop-filter:blur(14px) saturate(.85);
}

.zm-premium-lightbox-shell{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 64px;
  align-items:center;
  width:min(1240px,100%);
  max-height:calc(100vh - 52px);
  transform:translateY(12px) scale(.985);
  transition:transform .26s ease;
}

.zm-premium-lightbox.is-open .zm-premium-lightbox-shell{
  transform:translateY(0) scale(1);
}

.zm-premium-lightbox-figure{
  min-width:0;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  background:rgba(28,17,33,.9);
  box-shadow:0 34px 90px rgba(0,0,0,.42);
}

.zm-premium-lightbox-stage{
  position:relative;
  display:grid;
  place-items:center;
  min-height:320px;
  max-height:calc(100vh - 175px);
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 30%,rgba(141,85,166,.16),transparent 52%),
    #120d15;
}

.zm-premium-lightbox-image{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:calc(100vh - 175px);
  margin:auto;
  opacity:0;
  transform:scale(.985);
  transition:opacity .22s ease,transform .3s ease;
  object-fit:contain;
}

.zm-premium-lightbox-image.is-ready{
  opacity:1;
  transform:scale(1);
}

.zm-premium-lightbox-caption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:82px;
  padding:16px 20px 17px;
  border-top:1px solid rgba(255,255,255,.1);
  background:
    linear-gradient(90deg,rgba(42,28,48,.98),rgba(31,20,36,.98));
  color:#fff;
}

.zm-premium-lightbox-eyebrow{
  display:block;
  margin-bottom:4px;
  color:#d7b3e7;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.zm-premium-lightbox-title{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.1rem;
  font-weight:700;
  line-height:1.3;
}

.zm-premium-lightbox-counter{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  color:#dfd2e5;
  font-size:.76rem;
  font-weight:800;
}

.zm-premium-lightbox-close,
.zm-premium-lightbox-nav{
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(35,22,40,.68);
  color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
  transition:background .2s ease,transform .2s ease,border-color .2s ease;
}

.zm-premium-lightbox-close:hover,
.zm-premium-lightbox-nav:hover{
  border-color:rgba(255,255,255,.38);
  background:rgba(141,85,166,.92);
  transform:scale(1.04);
}

.zm-premium-lightbox-close{
  position:absolute;
  top:-18px;
  right:-18px;
  z-index:5;
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:1.12rem;
}

.zm-premium-lightbox-nav{
  width:50px;
  height:68px;
  border-radius:16px;
  font-size:1.2rem;
}

.zm-premium-lightbox-nav.prev{
  justify-self:start;
}

.zm-premium-lightbox-nav.next{
  justify-self:end;
}

.zm-premium-lightbox-loader{
  position:absolute;
  width:44px;
  height:44px;
  opacity:0;
  border:3px solid rgba(255,255,255,.22);
  border-top-color:#c997df;
  border-radius:50%;
  animation:zmLbSpin .8s linear infinite;
  transition:opacity .15s ease;
}

.zm-premium-lightbox-loader.is-visible{
  opacity:1;
}

@keyframes zmLbSpin{
  to{transform:rotate(360deg);}
}

@media(max-width:760px){
  .zm-premium-lightbox{
    padding:12px;
  }

  .zm-premium-lightbox-shell{
    grid-template-columns:1fr;
    width:100%;
    max-height:calc(100vh - 24px);
  }

  .zm-premium-lightbox-figure{
    border-radius:19px;
  }

  .zm-premium-lightbox-stage{
    min-height:250px;
    max-height:calc(100vh - 130px);
  }

  .zm-premium-lightbox-image{
    max-height:calc(100vh - 130px);
  }

  .zm-premium-lightbox-close{
    top:10px;
    right:10px;
    width:44px;
    height:44px;
  }

  .zm-premium-lightbox-nav{
    position:absolute;
    top:50%;
    z-index:4;
    width:44px;
    height:58px;
    border-radius:14px;
    transform:translateY(-50%);
  }

  .zm-premium-lightbox-nav:hover{
    transform:translateY(-50%) scale(1.04);
  }

  .zm-premium-lightbox-nav.prev{left:9px;}
  .zm-premium-lightbox-nav.next{right:9px;}

  .zm-premium-lightbox-caption{
    min-height:72px;
    padding:13px 15px 14px;
  }

  .zm-premium-lightbox-title{
    font-size:.98rem;
  }
}
