*{box-sizing:border-box} :root{--bg:#0b0717;--bg2:#17102c;--orange:#ff751d;--gold:#ffd04a;--purple:#6d2be0;--violet:#ad72ff;--cream:#fff0cf;--pink:#ff4d86;--green:#37d477}
html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#fff;font-family:"Baloo 2",system-ui,sans-serif}a{color:inherit;text-decoration:none}
.hero{min-height:760px;position:relative;overflow:hidden;background:linear-gradient(#071a42,#20114f 65%,#0b0717)}.stars{position:absolute;inset:0;background-image:radial-gradient(#fff 1px,transparent 1.5px);background-size:65px 58px;opacity:.7}.moon{position:absolute;right:9%;top:8%;width:170px;height:170px;border-radius:50%;background:#ffe7a1;box-shadow:0 0 80px #ffd45d88}.bats{position:absolute;top:150px;left:5%;font-size:2rem;opacity:.65}
nav{position:relative;z-index:5;max-width:1120px;margin:auto;padding:18px 22px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:9px;font-size:1.35rem;font-weight:800;margin-right:auto}.brand img{width:43px;height:43px;object-fit:contain}.navlinks{display:flex;gap:20px;font-weight:700}.navlinks a:hover{color:var(--gold)}.navcta,.btn.orange{background:var(--orange);color:#190c25;box-shadow:0 5px 0 #9c3a0d}.navcta{padding:9px 17px;border-radius:999px;font-weight:800}
.hero-copy{position:relative;z-index:3;text-align:center;max-width:900px;margin:90px auto 0;padding:0 20px}.pill,.eyebrow{display:inline-block;background:var(--cream);color:#28122f;border:3px solid #160d25;border-radius:999px;padding:7px 16px;font-weight:800}.hero h1{font-family:"Luckiest Guy";font-size:clamp(4rem,13vw,9rem);line-height:.78;margin:28px 0 20px;color:var(--orange);text-shadow:5px 6px #170c2c}.hero h1 span{color:var(--violet)}.hero-copy p{font-size:1.45rem;font-weight:700}.actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.btn{display:inline-block;border:0;padding:13px 23px;border-radius:999px;font:800 1.05rem "Baloo 2";cursor:pointer}.ghost{border:2px solid #fff;background:#ffffff12}.hill{position:absolute;bottom:-105px;left:-5%;width:110%;height:200px;background:#090713;border-radius:50% 50% 0 0/55% 55% 0 0}
.poster-wrap{max-width:1030px;margin:-45px auto 0;padding:0 16px;position:relative;z-index:5}.poster-card{background:var(--cream);padding:10px;border-radius:26px;box-shadow:0 25px 75px #000b}.poster-card img{width:100%;display:block;border-radius:18px}
.intro{max-width:1000px;margin:auto;text-align:center;padding:75px 22px 65px}.intro h2,.section h2,.registration h2,.whatsapp h2{font-family:"Luckiest Guy";font-size:clamp(2.8rem,6vw,5rem);margin:8px 0 15px}.intro p{max-width:760px;margin:auto;color:#d1c5e2;font-size:1.15rem}.countdown{display:flex;justify-content:center;gap:13px;margin-top:30px;flex-wrap:wrap}.countdown div{min-width:100px;padding:15px;background:#201536;border:2px solid #493064;border-radius:17px}.countdown b{display:block;font-size:2.5rem;color:var(--orange);line-height:1}.countdown span{color:#c6b9da}
.section{max-width:1100px;margin:auto;padding:75px 22px}.title{display:flex;justify-content:center;align-items:center;gap:16px}.title h2{color:var(--orange);text-shadow:3px 4px #21102e}.title span{font-size:2rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:30px}.cards article{background:linear-gradient(135deg,#21133d,#151025);border:2px solid #432a5d;border-radius:22px;padding:25px}.cards strong{color:var(--gold)}.cards h3{font-size:1.5rem;margin:7px 0}.cards p{color:#c9bddc;margin:0}
.registration{max-width:1100px;margin:30px auto 80px;padding:42px 30px;background:linear-gradient(135deg,#271542,#1b112e);border:2px solid #4d2c6e;border-radius:30px}.reg-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start}.kicker{color:var(--gold);font-weight:800;letter-spacing:2px}.registration h2{margin:5px 0}.download{background:var(--cream);color:#24102e;padding:13px 17px;border-radius:14px;font-weight:800;white-space:nowrap}.capacity{margin-top:25px;background:#100b1e;border-radius:22px;padding:20px}.capacity h3{margin-top:0}.capacity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot{background:#201533;padding:14px;border-radius:14px}.slot>div:first-child{display:flex;justify-content:space-between;gap:10px}.slot strong{font-size:1.3rem;color:var(--gold)}.slot span{font-weight:700}.slot small{color:#b9accd}.bar{height:9px;background:#342249;border-radius:99px;margin:9px 0;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--orange));border-radius:99px}.note{color:#a99dbb;font-size:.9rem}
form{margin-top:30px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}label{display:grid;gap:6px;font-weight:700}input,select{width:100%;padding:13px 14px;border:0;border-radius:12px;font:600 1rem "Baloo 2";background:#fff;color:#22122e}.children-head{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px}.children-head h3{margin:0}.smallbtn{border:1px solid #76509a;background:#2b1b43;color:#fff;border-radius:10px;padding:8px 12px;font-weight:800;cursor:pointer}.child-row{display:grid;grid-template-columns:40px 1fr 1fr 40px;gap:8px;margin-bottom:9px;align-items:center}.child-row button{border:0;background:#5c214d;color:#fff;border-radius:10px;height:45px;font-size:1.4rem;cursor:pointer}.child-num{display:grid;place-items:center;background:var(--gold);color:#24102e;height:45px;border-radius:10px;font-weight:900}.check{display:flex;grid-template-columns:none;align-items:flex-start;gap:8px;margin-top:12px;color:#cfc4df;font-weight:500}.check input{width:auto;margin-top:5px}.check a{text-decoration:underline;color:var(--gold)}.submit{margin-top:20px}.formmsg{min-height:24px;color:#ffd77a}.info{max-width:1100px;margin:auto;padding:10px 22px 80px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.info article{background:var(--cream);color:#27132e;text-align:center;border-radius:22px;padding:25px 15px;box-shadow:0 7px 0 #59297a}.info article>span{font-size:2.6rem}.info h3{font-family:"Luckiest Guy";font-size:1.8rem;margin:6px 0}.info p{margin:0 0 6px}.info a{text-decoration:underline}.info small{display:block;opacity:.75}.whatsapp{max-width:1100px;margin:0 auto 80px;padding:42px 30px;border-radius:28px;background:linear-gradient(135deg,#6127c9,#ff701a);display:flex;justify-content:space-between;align-items:center;gap:20px}.whatsapp h2{margin:5px 0}.green{background:var(--green);color:#082314;box-shadow:0 5px 0 #1e8f4e}
footer{border-top:1px solid #2d1c43;padding:28px 20px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap;color:#9e91b1}
@media(max-width:800px){.navlinks{display:none}.hero{min-height:700px}.moon{width:110px;height:110px}.hero-copy{margin-top:75px}.cards,.info,.capacity-grid,.form-grid{grid-template-columns:1fr}.reg-head,.whatsapp{flex-direction:column}.download{white-space:normal}.registration{margin-left:12px;margin-right:12px}.child-row{grid-template-columns:35px 1fr 1fr 35px}.child-row input{min-width:0}}
.payment-box{margin:28px 0;background:linear-gradient(135deg,#fff0cf,#ffe3b0);color:#24122e;border-radius:24px;padding:28px;display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:center;box-shadow:0 8px 0 #5a2a78}
.payment-box h3{font-family:"Luckiest Guy";font-size:2.4rem;margin:5px 0}.payment-box p{margin:7px 0}.payment-method{margin-top:18px;background:#fff;padding:16px;border-radius:16px}.payment-method p{display:inline-block;margin-right:10px}.copybtn,.paylink{display:inline-block;border:0;background:#251331;color:#fff;border-radius:999px;padding:8px 13px;font:700 .9rem "Baloo 2";cursor:pointer;margin:5px 5px 0 0}.paylink{background:#0070ba}.satispay{text-align:center;background:#fff;padding:18px;border-radius:18px}.satispay img{display:block;width:min(230px,100%);margin:10px auto;border-radius:12px}.satispay small{opacity:.7}.paid-check select{padding:5px 10px;border-radius:8px;border:1px solid #8f7b9e;background:#fff;font:700 1rem "Baloo 2"}
@media(max-width:760px){.payment-box{grid-template-columns:1fr;padding:20px}.payment-box h3{font-size:2rem}}

.payment-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.payment-option{display:block!important}
.payment-option input{display:none}
.payment-option span{display:flex;flex-direction:column;gap:4px;padding:14px;border:2px solid #493064;border-radius:14px;background:#26183e;cursor:pointer}
.payment-option input:checked+span{border-color:#ffd04a;background:#34204e}
.payment-option small{opacity:.75}.payment-action{margin-top:10px}
.pay-now{display:block;text-align:center;padding:13px;border-radius:13px;font-weight:900;color:#fff}
.paypal-now{background:#5b45d8}.satispay-now{background:#8b3dd1}.cash-note{padding:13px;border-radius:13px;background:#3a2948}
.payment-note{font-size:.9rem;opacity:.78}
@media(max-width:760px){.payment-choice-grid{grid-template-columns:1fr}}

/* Contrasto pagamento - versione finale */
.payment-option span,
.payment-option span b,
.payment-option span small {
  color: #fff !important;
}
.payment-option span small {
  opacity: 1 !important;
  color: #efe7ff !important;
}
.payment-option input:checked + span {
  color: #fff !important;
  background: #49305f !important;
  border-color: #ffd04a !important;
  box-shadow: 0 0 0 2px rgba(255,208,74,.18);
}
.payment-action .cash-note {
  color: #fff !important;
  background: #49305f !important;
}
.payment-action .cash-note strong {
  color: #fff !important;
}
.payment-option:hover span {
  background: #39234f;
}

.payment-option.is-disabled span{opacity:.55;cursor:not-allowed;filter:saturate(.45)}
.payment-option.is-disabled span b,.payment-option.is-disabled span small{color:#d8d0df!important}
.payment-action>span{display:block;padding:13px;border-radius:13px;background:#2a1b3c;color:#eee5f8}

/* Mobile: checkbox e testi lunghi senza overflow orizzontale */
.check{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:8px;width:100%;min-width:0;line-height:1.35;overflow-wrap:anywhere}
.check input{grid-column:1;width:24px;height:24px;margin:2px 0 0;justify-self:start;flex:none}
@media(max-width:760px){
  .registration{padding:28px 18px;margin-left:8px;margin-right:8px}
  .check{font-size:1rem;line-height:1.4}
  .submit{width:100%;padding-left:16px;padding-right:16px}
}


/* Correzione checkbox: testo in un unico blocco, leggibile su desktop e mobile */
.check {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  width: 100%;
  min-width: 0;
  line-height: 1.4;
  overflow-wrap: normal;
  word-break: normal;
}
.check > span {
  min-width: 0;
  display: block;
}
.check input {
  grid-column: 1;
  width: 24px;
  height: 24px;
  margin: 2px 0 0;
  justify-self: start;
  flex: none;
}
@media (max-width: 760px) {
  .check {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    font-size: 1rem;
    line-height: 1.4;
  }
}

/* Ultima ottimizzazione mobile: hero leggibile e nessuna sovrapposizione con la locandina */
@media (max-width: 760px) {
  .hero {
    min-height: 0;
    padding-bottom: 95px;
  }
  .hero-copy {
    margin-top: 42px;
    padding: 0 16px;
    max-width: 100%;
  }
  .pill {
    font-size: .9rem;
    line-height: 1.2;
    padding: 9px 14px;
    max-width: 100%;
  }
  .hero h1 {
    font-size: clamp(3.2rem, 16vw, 5.2rem);
    line-height: .88;
    letter-spacing: -.02em;
    margin: 28px 0 22px;
    white-space: normal;
    max-width: 100%;
  }
  .hero-copy p {
    font-size: 1.2rem;
    line-height: 1.35;
    max-width: 360px;
    margin: 0 auto 24px;
  }
  .actions {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  .actions .btn {
    width: min(100%, 300px);
    text-align: center;
  }
  .hill {
    bottom: -145px;
    height: 210px;
  }
  .poster-wrap {
    margin: 24px auto 0;
    padding: 0 14px;
    z-index: 5;
  }
  .poster-card {
    padding: 8px;
    border-radius: 22px;
  }
  .poster-card img {
    border-radius: 15px;
  }
}

.payment-error{margin-top:12px;padding:12px 14px;border-radius:13px;background:#6b1f3b;color:#fff;font-weight:800;border:2px solid #ffcf4a}
