html.promo-preview-open { overflow: hidden; }
.promo-preview-trigger { cursor: zoom-in; }
.promo-preview-trigger:focus-visible { outline: 3px solid #52c9ff; outline-offset: 3px; }
.promo-preview {
  position: fixed;
  inset: 0;
  margin: auto;
  padding: 42px 22px 22px;
  border: 0;
  border-radius: 6px;
  background: #111;
  color: #fff;
  max-width: 94vw;
  max-height: 94dvh;
  box-shadow: 0 12px 70px #0008;
  overflow: auto;
}
.promo-preview::backdrop { background: rgba(0, 0, 0, .85); }
.promo-preview > img { display: block; max-width: 100%; max-height: 78dvh; width: auto; height: auto; object-fit: contain; }
.promo-preview > button { position: absolute; top: 3px; right: 7px; width: 36px; height: 36px; border: 0; background: transparent; color: #fff; font: 32px/1 Arial, sans-serif; cursor: pointer; }
.promo-preview > button:focus-visible { outline: 2px solid #52c9ff; }
@media (max-width: 600px) {
  .promo-preview { max-width: 98vw; padding: 42px 10px 14px; }
}
