body { margin:0; font-family: Arial, sans-serif; }
.topbar{
  display:flex; justify-content:space-between; align-items:center;
  padding:12px 16px; border-bottom:1px solid #ddd;
  position:sticky; top:0; background:#fff; z-index:20;
}
.container { padding: 12px; }

.visorWrap{
  position: relative;
  width: 100%;
  height: 85vh;
  border: 1px solid #ddd;
  border-radius: 12px;
  overflow: hidden;
}
.visorFrame{
  width:100%;
  height:100%;
  border:0;
}
.visorBlocker{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0); /* transparente */
  z-index: 10;
  cursor:not-allowed;
}

/* Lupa (desktop) */
.magnifier{
  position:absolute;
  width: 220px;
  height: 220px;
  border-radius: 14px;
  border: 2px solid rgba(255,255,255,.25);
  box-shadow: 0 12px 35px rgba(0,0,0,.45);
  background-repeat: no-repeat;
  z-index: 40;
  pointer-events: none;
}
.magnifier.hidden{ display:none; }

/* Para que nada tape el mouse (si dejas blocker) */
.blocker{ pointer-events:none; }

.magnifier {
  transition: opacity .12s ease;
}
