.nv-modal{
  position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity 200ms linear;
}
.nv-modal[data-open]{opacity:1;pointer-events:auto}
.nv-modal__scrim{position:absolute;inset:0;background:var(--nv-overlay)}
.nv-modal__dialog{
  position:relative;max-inline-size:92vw;max-block-size:88vh;
  transform:scale(.97);transition:transform 250ms var(--nv-ease-out);
  display:flex;align-items:center;justify-content:center;
}
.nv-modal[data-open] .nv-modal__dialog{transform:scale(1)}
.nv-modal__dialog img{max-inline-size:92vw;max-block-size:88vh;border-radius:var(--nv-radius-md);object-fit:contain}
.nv-modal__close{position:absolute;top:-16px;right:-16px;background:#fff;border-radius:50%;box-shadow:var(--nv-shadow-md)}
@media(max-width:767px){.nv-modal__close{top:12px;right:12px}}
.nv-modal__nav{
  position:absolute;top:50%;transform:translateY(-50%);
  inline-size:48px;block-size:48px;border-radius:50%;background:#fff;border:1px solid var(--nv-border);
  display:inline-flex;align-items:center;justify-content:center;
}
.nv-modal__nav--prev{left:calc(-48px - 16px)}
.nv-modal__nav--next{right:calc(-48px - 16px)}
@media(max-width:1023px){
  .nv-modal__nav--prev{left:8px}
  .nv-modal__nav--next{right:8px}
}
.nv-modal__counter{position:absolute;bottom:-32px;left:50%;transform:translateX(-50%);font-size:13px;color:#fff}
