/* AppE20 · configuratore dell'evento */
.wz-hero .container{position:relative}
.wz-hero .container > *{max-width:780px}
.wz-section{padding-top:clamp(2rem,1.4rem + 2vw,3.5rem)}
.wz{max-width:960px;margin:0 auto;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);
  padding:clamp(1.5rem,1rem + 2vw,3rem);scroll-margin-top:calc(var(--nav-h) + 16px)}
.wz__noscript{margin:0}

.wz__progress{display:flex;align-items:center;gap:18px;margin-bottom:clamp(1.25rem,1rem + 1vw,2rem)}
.wz__count{margin:0;flex:none;font-family:var(--font-d);font-size:.8125rem;text-transform:uppercase;letter-spacing:var(--track);color:var(--red)}
.wz__bar{flex:1;height:6px;border-radius:99px;background:var(--panel);overflow:hidden}
.wz__bar span{display:block;height:100%;background:var(--red);border-radius:inherit;transition:width .35s ease}

.wz__step{border:0;margin:0;padding:0;min-width:0}
.wz__step legend{padding:0;margin-bottom:22px;width:100%}
.wz__q{font-size:var(--fs-h2);margin:0;outline:none}
.wz__hint{display:block;margin-top:6px;color:var(--muted);font-size:var(--fs-small)}

.wz__opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.wz__opts--3,.wz__opts--6{grid-template-columns:repeat(3,minmax(0,1fr))}
.wz__opts--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.wz__opt{position:relative;display:block;cursor:pointer}
.wz__opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.wz__opt-body{display:flex;flex-direction:column;gap:4px;height:100%;padding:18px 20px 18px 54px;border:2px solid var(--line);
  border-radius:var(--r);background:#fff;transition:border-color .2s,background .2s,box-shadow .2s;position:relative}
.wz__opt-body::before{content:"";position:absolute;left:18px;top:19px;width:22px;height:22px;border:2px solid #A9B3BC;border-radius:50%;background:#fff}
.wz__opt input[type=checkbox] + .wz__opt-body::before{border-radius:4px}
.wz__opt b{font-family:var(--font-d);font-weight:600;color:var(--ink-strong);line-height:1.3}
.wz__opt small{color:var(--muted);font-size:var(--fs-small);line-height:1.4}
.wz__opt:hover .wz__opt-body{border-color:#B9C3CC}
.wz__opt input:focus-visible + .wz__opt-body{box-shadow:0 0 0 3px rgba(190,45,41,.28)}
.wz__opt input:checked + .wz__opt-body{border-color:var(--red);background:var(--red-tint)}
.wz__opt input:checked + .wz__opt-body::before{border-color:var(--red);background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.wz__opts--5 .wz__opt-body{padding:16px 14px 16px 48px}
.wz__opts--5 .wz__opt-body::before{left:14px;top:17px}

.wz__nav{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:clamp(1.5rem,1rem + 1vw,2.25rem)}
.wz__nav .btn[disabled]{opacity:.45;cursor:not-allowed}

/* risultato */
.wz__result-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 24px;margin-bottom:22px}
.wz__chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.wz__chips-l{font-family:var(--font-d);font-size:var(--fs-small);color:var(--muted);margin-right:4px}
.wz__mods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.wz__mod{display:flex;flex-direction:column;gap:10px;padding:clamp(1.25rem,1rem + .6vw,1.75rem);border:1px solid var(--line);
  border-top:var(--border-card);border-radius:var(--r);background:#fff}
.wz__mod-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.wz__mod h3{margin:0}
.wz__mod p{margin:0;color:var(--muted)}
.wz__mod .pill{flex:none}
.wz__mod .wz__why{font-family:var(--font-d);font-size:.8125rem;text-transform:uppercase;letter-spacing:var(--track);color:var(--ink);margin-top:4px}
.wz__mod .checks{gap:8px}
.wz__mod .link-arrow{margin-top:auto;padding-top:6px}
.wz__none{margin:0;font-size:var(--fs-sub);color:var(--ink)}
.wz__note{margin:18px 0 0;padding:14px 18px;border-radius:var(--r);background:var(--panel);color:var(--ink);font-size:var(--fs-small)}
.wz__nav--result{justify-content:flex-start}
.wz__restart{background:none;border:0;font:inherit;font-family:var(--font-d);color:var(--muted);text-decoration:underline;cursor:pointer;padding:8px}

.wz__lead{margin-top:clamp(2rem,1.5rem + 2vw,3.5rem);padding-top:clamp(2rem,1.5rem + 2vw,3rem);border-top:1px solid var(--line)}
.wz__lead h2{font-size:var(--fs-h3);font-size:clamp(1.375rem,1rem + 1vw,1.875rem)}
.wz__lead > p{color:var(--muted);margin:0 0 22px}
.wz__alt{margin:18px 0 0;color:var(--muted);font-size:var(--fs-small)}

@media (max-width:900px){
  .wz__opts--3,.wz__opts--6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wz__opts--5{grid-template-columns:1fr 1fr}
  .wz__mods{grid-template-columns:1fr}
}
@media (max-width:560px){
  .wz__opts,.wz__opts--3,.wz__opts--5,.wz__opts--6{grid-template-columns:1fr}
  .wz{padding:1.25rem;border-radius:0;margin:0 calc(var(--gutter) * -1);box-shadow:none}
  .wz__progress{flex-direction:column;align-items:stretch;gap:10px}
  .wz__bar{flex:none}
  .wz__nav .btn{min-width:0;flex:1;padding:0 18px}
  .wz__nav--result{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){.wz__bar span{transition:none}}

/* Contact details immediately follow the fourth answer. */
.wz__lead{margin:0;padding:0;border:0}
.wz__lead .form{grid-template-columns:repeat(2,minmax(0,1fr))}
.wz__lead .form label,.wz__lead .form input{min-width:0}
.wz__contact-hint{font-size:.875rem;color:var(--muted);margin:0}
.wz__summary{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.wz__summary dl{display:grid;gap:12px;margin:16px 0}
.wz__summary dl>div{display:grid;grid-template-columns:1fr 1.3fr;gap:18px;font-size:.875rem}
.wz__summary dt{color:var(--muted)}.wz__summary dd{margin:0}
.wz__suggestions{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}
.wz__suggestions summary{cursor:pointer;font-family:var(--font-d);color:var(--red)}
.wz__suggestions .wz__mods{margin-top:20px}
@media(max-width:640px){.wz__lead .form{grid-template-columns:1fr}.wz__summary dl>div{grid-template-columns:1fr;gap:3px}}
