/* EnjoyVIP — capa cinematográfica reutilizable (SEO-neutral, perf-safe, a11y-safe).
   Se incluye con:
     <link rel="stylesheet" href="/assets/evip-cinematic.css">
     <script src="/assets/evip-cinematic.js" defer></script>
   No toca HTML semántico ni schema. Todo aditivo. Vanilla, sin librerías. */

/* Barra de progreso de scroll */
.evipc-progress{
  position:fixed;top:0;left:0;height:2px;width:100%;
  transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,var(--gold,#c9a24a),var(--gold-2,#e3c478));
  z-index:9999;pointer-events:none;transition:transform .08s linear;
}

/* Cursor custom (solo puntero fino; nunca oculta el nativo para no romper usabilidad) */
.evipc-dot,.evipc-ring{
  position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;
  z-index:9998;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s ease;
}
.evipc-dot{width:6px;height:6px;background:var(--gold,#c9a24a)}
.evipc-ring{
  width:34px;height:34px;border:1px solid rgba(201,162,74,.55);
  transition:width .25s ease,height .25s ease,opacity .3s ease,border-color .25s ease;
}
.evipc-ring.evipc-expand{width:56px;height:56px;border-color:var(--gold,#c9a24a)}
html.evipc-cursor .evipc-dot,html.evipc-cursor .evipc-ring{opacity:1}

/* Scroll-reveal — SOLO activo si el JS marcó html.evipc-ready.
   Si el JS no corre (o falla), el contenido queda 100% visible (lección de palcos). */
html.evipc-ready [data-evipc-reveal]{
  opacity:0;transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);
}
html.evipc-ready [data-evipc-reveal].evipc-in{opacity:1;transform:none}

/* Respeto absoluto a movimiento reducido */
@media (prefers-reduced-motion:reduce){
  html.evipc-ready [data-evipc-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  .evipc-progress,.evipc-dot,.evipc-ring{display:none!important}
}
