/* La slot di Aldino — grafica sul modello del riferimento BEFED (rosso, crema, giallo) */
:root{
  font-family:Arial,Helvetica,sans-serif;color:#fff2da;background:#9d191c;
  --cream:#fff2da;--yellow:#ffca55;--cell:250px;
}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 50% 35%,#d3312c 0%,#a6191d 65%,#76151b 100%)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:radial-gradient(#ffb977 1px,transparent 1px);background-size:16px 16px}
main{position:relative;max-width:990px;margin:auto;padding:28px 26px 22px}

header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff35;padding-bottom:18px}
.brand{line-height:0}.brand img{display:block;height:40px;width:auto}
.tag{font-size:11px;letter-spacing:2px;font-weight:bold}

.intro{text-align:center;margin:27px 0 24px}
.eyebrow{color:var(--yellow);font-size:11px;font-weight:bold;letter-spacing:3px}
h1{font-size:clamp(34px,6vw,62px);line-height:1.03;letter-spacing:-2px;margin:10px 0 12px}
h1 em{font-family:Georgia,serif;font-weight:normal}
p{line-height:1.5}
.intro p{font-size:14px;margin:0;color:#ffe6d1}

.machine{position:relative;max-width:820px;margin:auto;background:#75161c;border:2px solid #ffc369;border-radius:28px;padding:19px;box-shadow:0 18px 0 #63131a,0 26px 60px #3d060750;transition:box-shadow .4s}
.machine-top{display:flex;justify-content:space-between;align-items:center;margin:0 7px 15px;font-size:10px;letter-spacing:2px;color:#ffdc93}
.lights{color:var(--yellow);letter-spacing:8px;font-size:14px}
.machine.spinning .lights{animation:lampeggio .45s infinite alternate}
.machine.spinning .lights:last-child{animation-delay:.22s}
.machine.win .lights{animation:lampeggio .16s infinite alternate}
@keyframes lampeggio{from{opacity:.25}to{opacity:1}}

.windows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.reel{height:var(--cell);position:relative;overflow:hidden;background:var(--cream);border-radius:15px;box-shadow:inset 0 0 12px #60300f20;border:3px solid #efb975;transition:border-color .3s,box-shadow .3s}
.reel:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 15px 20px #703b1614,inset 0 -15px 20px #703b1614;border-radius:10px}
.strip{will-change:transform}
.symbol{height:var(--cell);display:flex;align-items:center;justify-content:center;padding:24px}
.symbol img{display:block;width:100%;height:100%;object-fit:contain}
.names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;text-align:center;font-size:11px;font-weight:bold;color:#ffe4be;margin:13px 0 3px;min-height:28px;align-items:center}

.machine.off .reel{filter:saturate(.6)}
.win .reel{border-color:#ffe899;box-shadow:0 0 28px #ffcc5590}
.win .reel .symbol img{animation:salta .7s ease-in-out infinite alternate}
@keyframes salta{to{transform:scale(1.06)}}

.controls{text-align:center;margin-top:28px}
.status{min-height:51px;margin:0 auto 14px;font-weight:bold;font-size:18px;max-width:560px}
.status small{display:block;font-weight:normal;font-size:12px;color:#ffe2c7;margin-top:5px}
.status.win-text{color:var(--yellow);font-size:22px}
button{font:900 16px Arial,Helvetica,sans-serif;letter-spacing:1px;color:#65151b;background:var(--yellow);border:0;border-radius:100px;padding:20px 62px;box-shadow:0 6px 0 #b77527;cursor:pointer;transition:transform .15s}
button:hover:not(:disabled){background:#ffda80;transform:translateY(-2px)}
button:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px 0 #b77527}
button:disabled{opacity:.7;cursor:not-allowed;transform:none}
button.busy:disabled{cursor:wait}
button:focus-visible{outline:3px solid white;outline-offset:7px}
.help{font-size:10px;letter-spacing:1px;margin:16px 0 0;color:#f7c1a6;min-height:15px}
.demo-badge{display:inline-block;margin-top:12px;font-size:10px;letter-spacing:2px;font-weight:bold;color:#65151b;background:#fff2da;border-radius:99px;padding:5px 12px}

.collection{margin:36px auto 0;max-width:820px;border-top:1px solid #ffffff30;padding-top:16px;display:flex;align-items:center;gap:20px}
.collection-title{font-size:10px;letter-spacing:1.5px;line-height:1.6;flex-shrink:0}
.legend{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;flex:1}
.mini{text-align:center;font-size:9px;color:#ffe2ce}
.mini img{width:52px;height:44px;object-fit:contain;display:block;margin:0 auto 6px}
.footer{text-align:center;font-size:10px;opacity:.65;margin:23px 0 0}

.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:10}
.confetti i{position:absolute;width:9px;height:16px;top:-20px;animation:fall 2.5s ease-in forwards}
@keyframes fall{to{transform:translateY(105vh) rotate(720deg)}}

@media(max-width:600px){
  :root{--cell:170px}
  main{padding:18px 12px}
  .tag{font-size:8px;letter-spacing:1px}
  .brand img{height:30px}
  .machine{padding:11px;border-radius:20px}
  .windows,.names{gap:6px}
  .symbol{padding:10px}
  .names{font-size:9px}
  .machine-top{font-size:8px;letter-spacing:1px}
  .lights{letter-spacing:3px}
  .collection{display:block;margin-top:30px}
  .collection-title{text-align:center;margin-bottom:12px}
  .mini{font-size:8px}
  .mini img{width:40px;height:36px}
  .legend{gap:5px}
  .intro{margin:24px 0}
  .intro p{font-size:12px}
  .status{font-size:16px}
  .reel{border-width:2px}
  button{padding:18px 40px}
}
@media(max-width:370px){:root{--cell:140px}}
@media(prefers-reduced-motion:reduce){
  button{transition:none}
  .confetti{display:none}
  .machine.spinning .lights,.machine.win .lights,.win .reel .symbol img{animation:none}
}
.demo-badge[hidden]{display:none}

/* ---- messaggio di vincita dentro la slot */
.premio{display:flex;align-items:center;justify-content:center;padding:4px 0 6px;animation:premio-in .45s ease-out both}
.machine.premio-on .windows,.machine.premio-on .names{display:none}
.premio[hidden]{display:none}
.premio-card{max-width:640px;width:100%;min-height:calc(var(--cell) - 10px);display:flex;flex-direction:column;justify-content:center;text-align:center;background:var(--cream);color:#65151b;border:3px solid var(--yellow);border-radius:22px;padding:28px 26px 24px;box-shadow:0 10px 0 #b77527,0 24px 60px #2a0507a0;animation:premio-pop .6s cubic-bezier(.2,1.4,.4,1) .1s both}
.premio-eyebrow{font-size:11px;font-weight:bold;letter-spacing:3px;color:#c2452f}
.premio h2{font-size:clamp(40px,8vw,72px);line-height:1;letter-spacing:-2px;margin:8px 0 14px;color:#9d191c}
.premio-testo{font-size:clamp(16px,2.4vw,20px);margin:0;line-height:1.4}
.premio-premio{font-size:clamp(22px,3.6vw,32px);font-weight:900;line-height:1.2;margin:10px 0 0;letter-spacing:-.5px}
.premio-premio em{font-family:Georgia,serif;font-weight:normal;color:#9d191c}
.premio-nota{font-size:12px;color:#8a5a3c;margin:14px 0 0;min-height:1em}
.premio-chiudi{margin-top:18px;padding:12px 30px;font-size:13px;align-self:center}
@keyframes premio-in{from{opacity:0}to{opacity:1}}
@keyframes premio-pop{from{opacity:0;transform:scale(.6) rotate(-3deg)}to{opacity:1;transform:none}}
@media(max-width:600px){.premio-card{padding:20px 16px 18px}.premio-chiudi{padding:10px 24px}}
@media(prefers-reduced-motion:reduce){.premio,.premio-card{animation:none}}
