/* Animazioni della pagina iscrizione, stesse di evento.alexisclub.it (23/09). Solo estetica, caricato solo da iscrizione.html */
body.anim .bar{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;padding:7px 12px;text-transform:none;letter-spacing:.04em;position:sticky;top:0;z-index:20}
body.anim .bar-dot{width:8px;height:8px;border-radius:50%;background:#fff;animation:pulse 1.8s infinite;flex:none}
body.anim .hero{padding-top:26px;padding-bottom:36px}
body.anim .hero .sub{margin-top:14px;font-size:17px}
body.anim .hero .sub+.sub{margin-top:10px}
.mini{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#3a0b7a,#5a00b8 50%,#3a0b7a);background-size:200% 100%;border:1px solid #9b4dff;border-radius:12px;padding:10px 14px;margin:-4px 0 16px;font-size:14px;line-height:1.3;color:#efe7ff;box-shadow:0 0 0 0 rgba(155,77,255,.5);animation:miniGlow 2.4s ease-out infinite,miniShift 4s linear infinite}
.mini b{color:#fff;font:800 15px/1.3 'Outfit',sans-serif}
.mini-live{flex:none;background:#ff3b5c;color:#fff;font:800 11px/1 'Outfit',sans-serif;letter-spacing:2px;padding:6px 9px;border-radius:999px;position:relative;padding-left:20px}
.mini-live::before{content:"";position:absolute;left:8px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#fff;animation:tgBlink 1s steps(2,start) infinite}
@keyframes miniGlow{0%{box-shadow:0 0 0 0 rgba(155,77,255,.5)}70%{box-shadow:0 0 0 10px rgba(155,77,255,0)}100%{box-shadow:0 0 0 0 rgba(155,77,255,0)}}
@keyframes miniShift{to{background-position:200% 0}}
.btn-hot{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:12px;font-size:19px;padding:19px 18px;animation:hotBounce 2s ease-in-out infinite,hotGlow 2s ease-in-out infinite}
.btn-hot .arr{flex:none;animation:arrNudge 1.2s ease-in-out infinite}
.btn-hot::after{content:"";position:absolute;top:0;bottom:0;width:36%;left:-40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-18deg);animation:fxshine 3s infinite}
.btn-hot:hover{animation-play-state:paused;filter:brightness(1.12)}
@keyframes hotBounce{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.025)}}
@keyframes hotGlow{0%,100%{box-shadow:0 10px 30px rgba(127,0,254,.45),0 0 0 0 rgba(185,105,255,.6)}50%{box-shadow:0 14px 40px rgba(127,0,254,.7),0 0 0 12px rgba(185,105,255,0)}}
@keyframes arrNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.perte{text-align:center;color:#d9d4ea;max-width:640px;margin:-10px auto 22px;font-size:17px}
.perte strong{color:#fff}
body.anim .points li{transition:transform .2s,border-color .2s}
body.anim .points li:hover{transform:translateY(-3px);border-color:var(--p2)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
.no-io .reveal{opacity:1;transform:none}

@media (min-width:900px){body.anim .hero{padding-top:44px;padding-bottom:60px}body.anim .hero-grid{align-items:start}}

body.anim .bar{white-space:nowrap}
@media (max-width:420px){body.anim .bar-txt{display:none}}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
/* pagina white: niente contatore iscritti (resta nel DOM perche app.js lo aggiorna) */
body.anim .live{display:none}
