/* WENDIGO ZOOM — visor cinematográfico opcional */
.wz-overlay{
  position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  background:
    radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(255,43,69,.16), transparent 30%),
    radial-gradient(circle at 50% 50%, rgba(25,8,14,.92), rgba(2,1,3,.985) 68%);
  backdrop-filter:blur(10px) saturate(1.2);
  opacity:0;transition:opacity .35s ease;overflow:hidden;
  touch-action:none;user-select:none;
}
.wz-overlay.wz-on{opacity:1}
.wz-overlay::before{
  content:"";position:absolute;inset:-20%;
  background-image:linear-gradient(rgba(255,43,69,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,43,69,.09) 1px,transparent 1px);
  background-size:64px 64px;transform:perspective(600px) rotateX(58deg) scale(1.6);
  animation:wz-grid 14s linear infinite;pointer-events:none;opacity:.6;
}
.wz-scan{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.wz-scan::before{
  content:"";position:absolute;left:0;right:0;height:120px;top:-140px;
  background:linear-gradient(180deg,transparent,rgba(255,43,69,.14),rgba(255,255,255,.08),transparent);
  animation:wz-scan 4.5s linear infinite;
}
.wz-lens{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle 180px at var(--mx,50%) var(--my,50%),rgba(255,255,255,.08),transparent 70%);
  mix-blend-mode:screen;
}
.wz-stage{
  position:relative;display:grid;place-items:center;width:min(92vw,1500px);height:min(84vh,980px);
  perspective:1200px;overflow:hidden;cursor:grab;
}
.wz-stage.wz-drag{cursor:grabbing}
.wz-ring{
  position:absolute;width:min(62vmin,720px);aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(255,43,69,.25);
  box-shadow:0 0 60px rgba(255,43,69,.18),inset 0 0 60px rgba(255,43,69,.06);
  animation:wz-spin 18s linear infinite;pointer-events:none;
}
.wz-ring::before,.wz-ring::after{content:"";position:absolute;inset:9%;border-radius:50%;border:1px dashed rgba(255,43,69,.2)}
.wz-ring::after{inset:22%;border-style:dotted;border-color:rgba(255,179,191,.2)}
.wz-img{
  max-width:94%;max-height:78vh;display:block;object-fit:contain;
  transform:translate3d(var(--tx,0px),var(--ty,0px),0) scale(var(--zoom,1));
  transition:transform .12s ease-out,filter .3s ease;
  filter:drop-shadow(0 20px 60px rgba(0,0,0,.75)) drop-shadow(2px 0 0 rgba(255,43,69,.18)) drop-shadow(-2px 0 0 rgba(0,220,255,.12));
  will-change:transform;cursor:zoom-in;
}
.wz-overlay.wz-zoomed .wz-img{transition:none;filter:drop-shadow(0 20px 70px rgba(0,0,0,.8)) drop-shadow(4px 0 0 rgba(255,43,69,.25)) drop-shadow(-4px 0 0 rgba(0,220,255,.18));cursor:grab}
.wz-overlay.wz-glitch .wz-img{animation:wz-glitch .28s steps(2,end) infinite}
.wz-top{position:absolute;top:18px;left:22px;right:22px;display:flex;align-items:center;gap:12px;z-index:2;font-family:Consolas,monospace;color:#ffb3bf;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.wz-dot{width:8px;height:8px;border-radius:50%;background:#ff2b45;box-shadow:0 0 12px #ff2b45;animation:wz-pulse 1.2s infinite}
.wz-title{margin-left:auto;color:#f4f1f2;font-weight:800;max-width:55vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wz-hud{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;display:flex;align-items:center;gap:8px;background:rgba(5,5,8,.72);border:1px solid rgba(255,43,69,.25);border-radius:999px;padding:6px 10px;backdrop-filter:blur(8px)}
.wz-hud button{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#ffb3bf;font-size:18px;line-height:1;cursor:pointer}
.wz-hud button:hover{border-color:#ff2b45;color:#fff}
.wz-pct{min-width:54px;text-align:center;color:#fff;font:800 12px Consolas,monospace}
.wz-close{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(5,5,8,.8);color:#fff;font-size:20px;cursor:pointer;z-index:3}
.wz-close:hover{border-color:#ff2b45;background:#ff2b45}
.wz-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:64px;border:1px solid rgba(255,255,255,.12);background:rgba(5,5,8,.55);color:#fff;font-size:20px;cursor:pointer;backdrop-filter:blur(8px)}
.wz-nav:hover{border-color:#ff2b45;color:#ffb3bf}
.wz-prev{left:10px}.wz-next{right:10px}
.wz-hint{position:absolute;bottom:72px;left:50%;transform:translateX(-50%);color:#9a8f9f;font:11px Consolas,monospace;letter-spacing:.08em;white-space:nowrap;z-index:2}
body.wz-locked{overflow:hidden!important}
@keyframes wz-grid{to{background-position:0 64px,64px 0}}
@keyframes wz-scan{to{transform:translateY(calc(100vh + 260px))}}
@keyframes wz-spin{to{transform:rotate(360deg)}}
@keyframes wz-pulse{50%{opacity:.35;transform:scale(.8)}}
@keyframes wz-glitch{0%{transform:translate3d(var(--tx,0),var(--ty,0),0) scale(var(--zoom,1)) skewX(0)}25%{transform:translate3d(calc(var(--tx,0px) + 2px),var(--ty,0),0) scale(var(--zoom,1)) skewX(.4deg)}75%{transform:translate3d(calc(var(--tx,0px) - 2px),var(--ty,0),0) scale(var(--zoom,1)) skewX(-.4deg)}100%{transform:translate3d(var(--tx,0),var(--ty,0),0) scale(var(--zoom,1)) skewX(0)}}
@media(max-width:700px){.wz-stage{height:80vh}.wz-title{max-width:45vw}.wz-hint{font-size:10px}.wz-nav{width:36px;height:52px}}
@media(prefers-reduced-motion:reduce){.wz-overlay::before,.wz-scan::before,.wz-ring,.wz-dot{animation:none!important}.wz-img{transition:none!important}}
