/* 062 — restaura animações originais do sistema e corrige cursor travado */
:root{--rodagem-cursor-x:50vw;--rodagem-cursor-y:50vh}

/* Retira travas visuais deixadas pelas versões de economia extrema sem mexer no mobile leve. */
@media (min-width:769px){
  html.rodagem-mobile-lite{overflow-x:clip!important;}
  .reveal,
  .section,
  .photo-card,
  .video-card,
  .video-main,
  .social-card,
  .music-slide,
  .timeline-track{
    will-change:transform,opacity;
  }

  /* Cursor original ativo no desktop: sem ficar preso em 0,0/canto esquerdo. */
  .cursor-ring,
  .cursor-dot,
  .cursor-glow,
  .scroll-progress{
    display:block;
    pointer-events:none!important;
  }
  .cursor-ring{
    left:0!important;
    top:0!important;
    transform:translate3d(var(--rodagem-cursor-x),var(--rodagem-cursor-y),0) translate(-50%,-50%);
  }
  .cursor-dot{
    left:0!important;
    top:0!important;
    transform:translate3d(var(--rodagem-cursor-x),var(--rodagem-cursor-y),0) translate(-50%,-50%);
  }
  .cursor-glow{
    left:var(--rodagem-cursor-x)!important;
    top:var(--rodagem-cursor-y)!important;
    transform:translate(-50%,-50%);
  }

  /* Volta o comportamento original do leque social via classe fan-open do script principal. */
  .social-wall .social-card{animation:none;}
  .social-wall:not(.fan-open) .social-card.reveal:not(.visible){opacity:0;}
  .social-wall.fan-open .social-card{opacity:1;}

  /* Vídeos retornam ao comportamento visual original, sem o modo sem-animação da 060/061. */
  .video-carousel-wrap.rodagem-video-safe,
  .video-carousel,
  .video-card,
  .video-main{
    contain:initial;
  }
}

/* Mobile continua protegido contra sobrecarga: cursor/decorativos fora da renderização. */
@media (max-width:768px){
  .cursor-glow,.cursor-ring,.cursor-dot,.scroll-progress{display:none!important;}
  html,body{overflow-x:hidden!important;max-width:100%!important;}
  img,video,iframe{max-width:100%;}
  .hero-scroll-video{will-change:auto!important;}
}
