/* Consuleria – Labs WOW Add-on (non invasivo)
   - micro-animazioni sulle card Labs
   - reveal on scroll
   - shine che segue il mouse (solo su pointer:fine)
   NOTE: non tocca le classi core esistenti (aggiunge solo stile per .lab-card / .lab-reveal)
*/
.lab-card{position:relative;overflow:hidden;transform-style:preserve-3d}
.lab-card::before{
  content:"";
  position:absolute;inset:-2px;
  background:radial-gradient(600px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.10), transparent 40%);
  opacity:0;
  transition:opacity .25s ease;
  pointer-events:none;
}
.lab-card::after{
  content:"";
  position:absolute;inset:-40%;
  background:linear-gradient(120deg, transparent 35%, rgba(255,255,255,.10) 50%, transparent 65%);
  transform:translateX(-30%) rotate(6deg);
  opacity:0;
  transition:opacity .25s ease, transform .6s ease;
  pointer-events:none;
}

@media (hover:hover) and (pointer:fine){
  .lab-card:hover::before{opacity:1}
  .lab-card:hover::after{opacity:1;transform:translateX(30%) rotate(6deg)}
}

.lab-reveal{opacity:0;transform:translateY(10px);transition:opacity .45s ease, transform .45s ease}
.lab-reveal.is-in{opacity:1;transform:translateY(0)}

.eg-pulse{animation:egPulse 2.4s ease-in-out infinite}
@keyframes egPulse{0%,100%{opacity:.92}50%{opacity:1}}

/* Deep-link focus ring (solo transiente) */
#labs.lab-focus{outline:1px solid rgba(147,197,253,.55); box-shadow:0 0 0 2px rgba(147,197,253,.20), 0 24px 80px rgba(0,0,0,.35);}
