/* Santa Caos — Hero (widget Elementor) v2.4.0 */
.scr-hero{
  --bg:#DDEFFF;--rosso:#FE211E;--rosso-lt:#FF6B68;--rosso-dk:#C4130F;--ink:#0B2545;--sub:#0B2545;
  --ease:cubic-bezier(.22,1,.36,1);
  --font-d:"Fraunces",Georgia,serif;
  --font-t:"Instrument Sans",-apple-system,"Segoe UI",Roboto,sans-serif;
  --img-h:460px;--pad-top:8rem;--pad-bot:5rem;
  position:relative;overflow:hidden;box-sizing:border-box;
  display:flex;align-items:center;padding:var(--pad-top) 0 var(--pad-bot);
  background:
    radial-gradient(900px 600px at 15% 20%, #F2F9FF 0%, transparent 60%),
    radial-gradient(800px 620px at 90% 90%, #EAF5FF 0%, transparent 62%),
    var(--bg);
}
.scr-hero.is-bleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.scr-hero.is-full{min-height:100vh}
@supports (min-height:100svh){.scr-hero.is-full{min-height:100svh}}
.scr-hero.no-glow{background:var(--bg)}
.scr-hero *{box-sizing:border-box}
.scr-hero.has-dots::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(11,37,69,.10) 1px,transparent 1px);background-size:30px 30px;
  mask-image:radial-gradient(120% 100% at 50% 30%,#000 22%,transparent 80%);
  -webkit-mask-image:radial-gradient(120% 100% at 50% 30%,#000 22%,transparent 80%);
}

/* ---------- stelle ---------- */
.scr-hero .star{position:absolute;z-index:1;color:var(--rosso);pointer-events:none;font-size:1rem;opacity:0;--o:.5;--dur:5s;animation:scrTwinkle var(--dur) ease-in-out infinite}
@keyframes scrTwinkle{0%,100%{opacity:0;transform:scale(.55) rotate(0)}50%{opacity:var(--o);transform:scale(1) rotate(22deg)}}
.scr-hero .star:nth-of-type(1){top:12%;left:4%;font-size:1.05rem;--o:.55;--dur:4.6s;animation-delay:0s}
.scr-hero .star:nth-of-type(2){top:7%;left:23%;font-size:.72rem;--o:.4;--dur:5.6s;animation-delay:2.1s;color:var(--rosso-lt)}
.scr-hero .star:nth-of-type(3){top:9%;right:9%;font-size:1.3rem;--o:.55;--dur:4.9s;animation-delay:1.4s}
.scr-hero .star:nth-of-type(4){top:19%;right:23%;font-size:.8rem;--o:.38;--dur:6.2s;animation-delay:3.2s;color:var(--rosso-lt)}
.scr-hero .star:nth-of-type(5){top:33%;left:1.5%;font-size:.85rem;--o:.45;--dur:5.2s;animation-delay:2.6s}
.scr-hero .star:nth-of-type(6){top:47%;right:2%;font-size:1.1rem;--o:.5;--dur:4.4s;animation-delay:.8s}
.scr-hero .star:nth-of-type(7){bottom:29%;left:5%;font-size:.78rem;--o:.4;--dur:5.8s;animation-delay:3.8s}
.scr-hero .star:nth-of-type(8){bottom:15%;left:17%;font-size:1.15rem;--o:.5;--dur:4.9s;animation-delay:1.1s}
.scr-hero .star:nth-of-type(9){bottom:11%;right:13%;font-size:.9rem;--o:.45;--dur:6s;animation-delay:2.9s}
.scr-hero .star:nth-of-type(10){bottom:27%;right:5%;font-size:1.25rem;--o:.55;--dur:5.4s;animation-delay:.4s}
.scr-hero .star:nth-of-type(11){top:26%;left:12%;font-size:.65rem;--o:.32;--dur:6.6s;animation-delay:4.4s;color:var(--rosso-lt)}
.scr-hero .star:nth-of-type(12){top:5%;left:48%;font-size:.7rem;--o:.35;--dur:5.9s;animation-delay:3.5s;color:var(--rosso-lt)}

.scr-hero .wrap{width:min(1180px,92%);margin-inline:auto;position:relative;z-index:2}
.scr-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:center}
.scr-hero.is-reverse .hero-visual{order:2}.scr-hero.is-reverse .hero-copy{order:1}

/* ---------- visual ---------- */
.scr-hero .hero-visual{position:relative}
.scr-hero .hero-visual::before{
  content:"";position:absolute;inset:-6% -8% 18%;z-index:0;pointer-events:none;opacity:0;
  background:radial-gradient(closest-side,rgba(254,33,30,.18),rgba(120,170,255,.16) 55%,transparent 78%);
  filter:blur(28px);animation:scrGlowIn 1.4s .4s ease forwards,scrGlowPulse 8s 2s ease-in-out infinite;
}
@keyframes scrGlowIn{to{opacity:1}}
@keyframes scrGlowPulse{0%,100%{opacity:1}50%{opacity:.65}}
.scr-hero .main-img{position:relative;z-index:1;width:100%;max-width:100%;height:var(--img-h);object-fit:contain;display:block;border:0;box-shadow:none;animation:scrFloat 7s ease-in-out infinite}
@keyframes scrFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ---------- slideshow foto del gioco (PNG trasparenti) ---------- */
.scr-hero .scr-hs{position:relative;z-index:1;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.scr-hero .scr-hs__stage{position:relative;width:100%;height:var(--img-h);cursor:grab}
.scr-hero .scr-hs.is-drag .scr-hs__stage{cursor:grabbing}
.scr-hero .scr-hs__img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain;display:block;border:0;box-shadow:none;
  opacity:0;transform:translateX(24px) scale(.9) rotate(4deg);filter:drop-shadow(0 26px 30px rgba(11,37,69,.28));
  transition:opacity .75s var(--ease),transform .9s var(--ease);pointer-events:none;-webkit-user-drag:none}
.scr-hero .scr-hs__img.is-on{opacity:1;transform:none}
.scr-hero .scr-hs__img.is-out{opacity:0;transform:translateX(-24px) scale(.9) rotate(-4deg)}
.scr-hero .scr-hs.is-back .scr-hs__img:not(.is-on):not(.is-out){transform:translateX(-24px) scale(.9) rotate(-4deg)}
.scr-hero .scr-hs.is-back .scr-hs__img.is-out{transform:translateX(24px) scale(.9) rotate(4deg)}
.scr-hero .scr-hs__dots{position:relative;z-index:2;display:flex;justify-content:center;gap:8px;margin-top:14px}
.scr-hero .scr-hs__dot{width:9px;height:9px;padding:0;border:0;border-radius:6px;background:var(--rosso);opacity:.28;cursor:pointer;transition:width .3s var(--ease),opacity .3s}
.scr-hero .scr-hs__dot:hover{opacity:.6;background:var(--rosso)}
.scr-hero .scr-hs__dot[aria-current="true"]{width:26px;opacity:1}
.scr-hero .scr-hs__dot:focus-visible{outline:3px solid #FFD23F;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.scr-hero .scr-hs__img{transition:opacity .3s;transform:none!important}}

/* ---------- badge ---------- */
.scr-hero .hero-badges{position:relative;z-index:1;display:grid;grid-template-columns:repeat(var(--badges,3),1fr);gap:1.1rem;margin-top:2.2rem}
.scr-hero .hero-badges .badge{
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;
  padding:.9rem .7rem;border-radius:20px;background:#FFFFFF;border:1px solid rgba(255,255,255,.9);
  box-shadow:0 22px 38px -20px rgba(11,37,69,.55),0 4px 10px -6px rgba(11,37,69,.25),0 0 0 1px rgba(11,37,69,.06);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
}
.scr-hero .hero-badges .badge:hover{transform:translateY(-7px);box-shadow:0 32px 50px -20px rgba(254,33,30,.45),0 6px 14px -6px rgba(11,37,69,.25),0 0 0 1px rgba(254,33,30,.18)}
.scr-hero .hero-badges img{width:100%;max-width:100%;height:56px;object-fit:contain;display:block;border:0;box-shadow:none;transition:transform .45s var(--ease)}
.scr-hero .hero-badges .badge:hover img{transform:scale(1.06)}

/* ---------- testo ---------- */
.scr-hero .hero-copy{position:relative}
.scr-hero .eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-t);font-size:.73rem;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase;color:var(--rosso);background:rgba(255,255,255,.7);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(254,33,30,.3);
  padding:.55rem 1.1rem;border-radius:999px;margin:0 0 1.6rem;box-shadow:0 8px 20px -12px rgba(254,33,30,.5);
}
@keyframes scrEyebrowFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.scr-hero .eyebrow i{position:relative;width:7px;height:7px;border-radius:50%;background:var(--rosso);font-style:normal;flex:none}
.scr-hero .eyebrow i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--rosso);animation:scrRipple 2s ease-out infinite}
@keyframes scrRipple{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.9);opacity:0}}

.scr-hero h1.scr-hero__title,.scr-hero .scr-hero__title{
  font-family:var(--font-d);font-weight:900;font-size:clamp(2.4rem,5vw,4.3rem);line-height:1.02;
  letter-spacing:-.02em;text-transform:uppercase;margin:0 0 1.5rem;padding:0;color:var(--rosso);perspective:800px;text-shadow:none;
}
.scr-hero .scr-hero__title .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.04em}
.scr-hero .scr-hero__title .w > span{
  display:inline-block;
  background-image:linear-gradient(100deg,var(--rosso) 0%,var(--rosso) 38%,var(--rosso-lt) 50%,var(--rosso) 62%,var(--rosso) 100%);
  background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:scrWordUp .95s var(--ease) both,scrShine 5.5s linear infinite;
  animation-delay:calc(.25s + var(--i,0) * .13s),calc(1.8s + var(--i,0) * .15s);
}
@keyframes scrWordUp{from{transform:translateY(105%) rotateX(-55deg);opacity:0}to{transform:none;opacity:1}}
@keyframes scrShine{0%{background-position:180% 0}45%{background-position:-60% 0}100%{background-position:-60% 0}}

.scr-hero .lead{
  position:relative;font-family:var(--font-t);color:var(--rosso);font-weight:700;
  font-size:clamp(1.05rem,1.5vw,1.32rem);line-height:1.55;max-width:44ch;margin:0 0 2.3rem;padding-left:1.1rem;
}
.scr-hero .lead::before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:4px;border-radius:99px;background:linear-gradient(180deg,var(--rosso),var(--rosso-lt));transform:scaleY(0);transform-origin:top;animation:scrBarGrow .8s var(--ease) .75s forwards}
@keyframes scrBarGrow{to{transform:scaleY(1)}}
.scr-hero .lead strong{font-weight:800}

/* ---------- pulsanti ---------- */
.scr-hero .scr-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.2rem}
.scr-hero .scr-hero__sub{margin:1rem 0 0;max-width:40ch;font-family:var(--font-t);font-weight:700;font-size:.98rem;line-height:1.4;color:var(--sub)}
.scr-hero .scr-hero__sub a,.scr-hero .scr-hero__sub a:hover,.scr-hero .scr-hero__sub a:focus,.scr-hero .scr-hero__sub a:visited{color:inherit;font:inherit;text-decoration:none!important;box-shadow:none;border:0;transition:color .25s ease}
.scr-hero .scr-hero__sub a:hover,.scr-hero .scr-hero__sub a:focus-visible{color:var(--rosso,#FE211E)}
/* link "Scopri perché giocare": pillola crema con play rosso (stesso stile del pulsante regolamento) */
.scr-hero .scr-hero__sub.has-link{max-width:none;margin-top:1.15rem}
.scr-hero .scr-hero__sub a.scr-hero__sublink,.scr-hero .scr-hero__sub a.scr-hero__sublink:visited{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:10px 22px 10px 10px;border-radius:999px;background:#FFFCED;color:#164F99!important;font-family:"Manrope",var(--font-t);font-weight:800;font-size:16px;line-height:1.3;text-align:left;text-decoration:none!important;box-shadow:0 14px 28px -14px rgba(11,37,69,.45),inset 0 0 0 2px #D8AC3F;transition:transform .25s cubic-bezier(.2,1.4,.4,1),box-shadow .25s}
.scr-hero .scr-hero__sub a.scr-hero__sublink:hover{color:#164F99!important;transform:translateY(-2px);box-shadow:0 20px 32px -14px rgba(11,37,69,.5),inset 0 0 0 2px #EE1F25}
.scr-hero .scr-hero__sub a.scr-hero__sublink:focus-visible{color:#164F99!important;outline:3px solid #FFD23F;outline-offset:4px}
.scr-hero .scr-hero__subico{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(180deg,#FF3532,#C8151B);box-shadow:0 6px 12px -6px rgba(200,21,27,.7);transition:transform .3s cubic-bezier(.2,1.4,.4,1)}
.scr-hero .scr-hero__subico svg{width:16px;height:16px;fill:#fff;margin-left:2px}
.scr-hero .scr-hero__sub a.scr-hero__sublink:hover .scr-hero__subico{transform:scale(1.1)}
.scr-hero .scr-hero__subtxt{text-decoration:underline;text-decoration-color:rgba(22,79,153,.35);text-underline-offset:3px}
@media(max-width:600px){.scr-hero .scr-hero__sub a.scr-hero__sublink{font-size:15px;padding:8px 18px 8px 8px}.scr-hero .scr-hero__subico{width:28px;height:28px}}
.scr-hero .btn-wrap{position:relative;display:inline-block}
.scr-hero .btn-wrap::before,.scr-hero .btn-wrap::after{content:"";position:absolute;inset:0;border-radius:999px;pointer-events:none;border:2px solid var(--rosso);opacity:0;animation:scrPulseRing 2.8s ease-out 1.6s infinite}
.scr-hero .btn-wrap::after{animation-delay:2.5s}
@keyframes scrPulseRing{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.22);opacity:0}100%{transform:scale(1.22);opacity:0}}
.scr-hero a.btn{
  position:relative;overflow:hidden;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  font-family:var(--font-t);font-weight:700;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;
  color:#FFFFFF;text-decoration:none;padding:1.15rem 2.8rem;border:none;border-radius:999px;cursor:pointer;
  background-image:linear-gradient(120deg,var(--rosso-dk),var(--rosso) 30%,var(--rosso-lt) 50%,var(--rosso) 70%,var(--rosso-dk));
  background-size:220% 220%;box-shadow:0 20px 40px -14px rgba(254,33,30,.7),0 1px 0 rgba(255,255,255,.35) inset;
  animation:scrBtnShift 5s ease-in-out infinite,scrBtnBreathe 3.2s ease-in-out 1.8s infinite;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.scr-hero a.btn:visited,.scr-hero a.btn:hover,.scr-hero a.btn:focus{color:#FFFFFF;text-decoration:none}
@keyframes scrBtnShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes scrBtnBreathe{0%,100%{box-shadow:0 20px 40px -14px rgba(254,33,30,.7),0 1px 0 rgba(255,255,255,.35) inset}50%{box-shadow:0 26px 52px -14px rgba(254,33,30,.95),0 1px 0 rgba(255,255,255,.45) inset}}
.scr-hero a.btn::after{content:"";position:absolute;top:0;left:-60%;width:42%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:scrSheen 4.5s ease-in-out infinite;pointer-events:none}
@keyframes scrSheen{0%{left:-60%}55%{left:130%}100%{left:130%}}
.scr-hero a.btn svg{width:16px;height:16px;flex:none;transition:transform .35s var(--ease);animation:scrArrow 2.6s ease-in-out 2s infinite}
@keyframes scrArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.scr-hero a.btn:hover{transform:translateY(-4px) scale(1.03)}
.scr-hero a.btn:hover svg{transform:translateX(6px)}
.scr-hero a.btn:active{transform:translateY(-1px) scale(.99)}
.scr-hero a.btn:focus-visible,.scr-hero a.btn2:focus-visible,.scr-hero .scr-hero__graphic:focus-visible{outline:3px solid #FFD23F;outline-offset:4px}
/* grafica a fumetto */
.scr-hero .scr-hero__graphic{display:inline-block;width:var(--cta-w,280px);max-width:100%;line-height:0;-webkit-tap-highlight-color:transparent}
.scr-hero .scr-hero__graphic img{display:block;width:100%;height:auto;max-width:100%;border:0;box-shadow:none;filter:drop-shadow(0 10px 16px rgba(11,37,69,.28));transform-origin:50% 55%;animation:scrHeroBob 3s ease-in-out infinite;transition:transform .25s cubic-bezier(.2,1.4,.4,1)}
.scr-hero .scr-hero__graphic:hover img{animation:none;transform:rotate(-2.5deg) scale(1.07)}
@keyframes scrHeroBob{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(-1.4deg) scale(1.03)}}
/* secondario */
.scr-hero a.btn2{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--font-t);font-weight:700;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--rosso);text-decoration:none;padding:1.05rem 2.2rem;border:2px solid var(--rosso);border-radius:999px;background:rgba(255,255,255,.65);transition:background .3s,color .3s,transform .3s var(--ease)}
.scr-hero a.btn2:hover,.scr-hero a.btn2:focus{background:var(--rosso);color:#fff;text-decoration:none;transform:translateY(-3px)}

/* ---------- entrata ---------- */
@keyframes scrIn{from{opacity:0;transform:translateY(24px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
.scr-hero .rv{animation:scrIn 1s var(--ease) both}
.scr-hero .rv-1{animation-delay:.08s}.scr-hero .rv-3{animation-delay:.62s}.scr-hero .rv-4{animation-delay:.9s}.scr-hero .rv-5{animation-delay:.64s}
.scr-hero .eyebrow.rv{animation:scrIn 1s var(--ease) .08s both,scrEyebrowFloat 4.5s ease-in-out 1.2s infinite}

/* ---------- responsive (mobile) ---------- */
@media(max-width:920px){
  .scr-hero-grid{grid-template-columns:1fr}
  .scr-hero{--pad-top:7rem;--pad-bot:4rem;--img-h:330px}
  .scr-hero .hero-visual,.scr-hero.is-reverse .hero-visual{order:2}
  .scr-hero .hero-copy,.scr-hero.is-reverse .hero-copy{order:1;text-align:center}
  .scr-hero .lead{margin-inline:auto;text-align:left}
  .scr-hero .scr-hero__actions{justify-content:center}
  .scr-hero .scr-hero__sub{margin-inline:auto;text-align:center}
  .scr-hero .hero-badges{margin-top:1.8rem}
  .scr-hero .hero-badges img{height:46px}
}
@media(max-width:600px){
  .scr-hero{--pad-top:9.5rem;--img-h:260px}
  .scr-hero .eyebrow{margin-top:.5rem}
  .scr-hero .star:nth-of-type(2),.scr-hero .star:nth-of-type(4),.scr-hero .star:nth-of-type(11),.scr-hero .star:nth-of-type(12){display:none}
  .scr-hero a.btn{padding:.9rem 1.7rem;font-size:.86rem;letter-spacing:.04em;gap:.5rem}
  .scr-hero .scr-hero__actions{gap:.8rem}
  .scr-hero a.btn svg{width:14px;height:14px}
  .scr-hero a.btn2{padding:.8rem 1.4rem;font-size:.8rem}
  .scr-hero .scr-hero__sub{font-size:.92rem}
  .scr-hero .hero-badges{gap:.6rem}
  .scr-hero .hero-badges .badge{padding:.6rem .45rem;border-radius:15px}
  .scr-hero .hero-badges img{height:38px}
}
@media(max-width:400px){.scr-hero{--pad-top:11rem}}
@media(prefers-reduced-motion:reduce){
  .scr-hero *{animation:none!important}
  .scr-hero .rv{opacity:1;transform:none;filter:none}
  .scr-hero .star{opacity:var(--o)}
  .scr-hero .scr-hero__title .w > span{-webkit-text-fill-color:var(--rosso);color:var(--rosso);transform:none;opacity:1}
  .scr-hero .lead::before{transform:scaleY(1)}
}
