/* Modulo: una domanda per schermata. Riquadro centrato da computer, tutto schermo da telefono */
.modulo{border:0;padding:0;width:min(560px,calc(100vw - 32px));height:min(620px,calc(100dvh - 48px));border-radius:28px;background:var(--scheda);color:var(--inchiostro);box-shadow:0 40px 80px -30px rgba(23,18,46,.5);display:none;flex-direction:column;overflow:hidden}
.modulo[open]{display:flex}
.modulo::backdrop{background:rgba(17,13,34,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.mq-testa{display:flex;align-items:center;gap:12px;padding:16px 16px 0}
.mq-indietro,.mq-chiudi{width:40px;height:40px;flex:none;border-radius:50%;border:0;background:var(--carta-2);color:var(--inchiostro);font:500 20px/1 var(--corpo);cursor:pointer}
.mq-indietro[hidden]{display:block!important;visibility:hidden}
.mq-pista{flex:1;height:6px;background:var(--carta-2);border-radius:6px;overflow:hidden}
.mq-barra{display:block;height:100%;width:0;background:var(--viola);border-radius:6px;transition:width .4s cubic-bezier(.2,.8,.2,1)}
.mq-corpo{flex:1;display:flex;flex-direction:column;justify-content:center;gap:28px;padding:16px 24px;overflow-y:auto}
.mq-titolo{font:700 clamp(26px,6vw,36px)/1.12 var(--display);letter-spacing:-.03em;text-wrap:balance}
.mq-nota{color:var(--testo-2);font-size:18px}
.mq-opzioni{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.mq-opzioni.due{grid-template-columns:repeat(2,minmax(0,1fr))}
.mq-opzione{font:600 17px/1.2 var(--display);text-align:left;padding:18px 16px;border-radius:18px;border:2px solid var(--bordo);background:var(--carta);color:var(--inchiostro);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease}
.mq-opzione::after{content:"";width:20px;height:20px;flex:none;border-radius:50%;border:2px solid var(--bordo);transition:all .15s ease}
.mq-opzione:hover{border-color:var(--viola)}
.mq-opzione:active{transform:scale(.96)}
.mq-opzione[aria-pressed="true"]{background:var(--viola);border-color:var(--viola);color:#fff}
.mq-opzione[aria-pressed="true"]::after{border-color:#fff;background:#fff;box-shadow:inset 0 0 0 4px var(--viola)}
.mq-campi{display:flex;flex-direction:column;gap:14px}
.mq-campo{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--testo-2)}
.mq-campo input,.mq-campo textarea{font:500 18px/1.3 var(--corpo);color:var(--inchiostro);background:var(--carta);border:2px solid var(--bordo);border-radius:16px;padding:16px;width:100%}
.mq-campo input:focus,.mq-campo textarea:focus{outline:none;border-color:var(--viola);box-shadow:0 0 0 4px color-mix(in srgb,var(--viola) 20%,transparent)}
.mq-consenso{display:flex;gap:12px;align-items:center;font-size:15px;color:var(--testo-2);cursor:pointer}
.mq-consenso input{width:22px;height:22px;accent-color:var(--viola);flex:none}
.mq-piede{display:flex;align-items:center;gap:12px;padding:12px 24px 24px;min-height:84px}
.mq-errore{color:#d33c5a;font-size:15px;font-weight:600;flex:1}
.mq-avanti{margin-left:auto;padding:16px 26px;font-size:17px}
.mq-avanti:disabled{opacity:.35;cursor:default}
.mq-fatto{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.mq-spunta{width:64px;height:64px;border-radius:50%;background:var(--sole);color:#0e0c16;display:grid;place-items:center;font:700 32px/1 var(--corpo)}
.mq-prova{font:500 12px/1.4 var(--mono);color:var(--testo-2);background:var(--carta-2);padding:10px 12px;border-radius:10px}
@media (prefers-reduced-motion:no-preference){
  .modulo[open]{animation:mq-su .3s cubic-bezier(.2,.8,.2,1)}
  .entra-avanti>*{animation:mq-da-destra .35s cubic-bezier(.2,.8,.2,1) both}
  .entra-indietro>*{animation:mq-da-sinistra .35s cubic-bezier(.2,.8,.2,1) both}
  .mq-corpo>*:nth-child(2){animation-delay:.05s}
  .mq-spunta{animation:mq-pop .45s cubic-bezier(.3,1.6,.5,1) both}
  @keyframes mq-su{from{opacity:0;transform:translateY(24px) scale(.98)}}
  @keyframes mq-da-destra{from{opacity:0;transform:translateX(28px)}}
  @keyframes mq-da-sinistra{from{opacity:0;transform:translateX(-28px)}}
  @keyframes mq-pop{from{transform:scale(.3)}}
}
@media (max-width:600px){
  .modulo{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
  .mq-testa{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .mq-corpo,.mq-piede{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
  .mq-corpo{justify-content:flex-start;padding-top:32px}
  .mq-opzione{font-size:17px;padding:16px 14px}
}
.mq-avanti[hidden]{display:none}
/* due colonne: pallino nell'angolo, testo libero di andare a capo; l'ultimo dispari prende la riga intera */
.mq-opzioni.due .mq-opzione{position:relative;min-height:80px;align-items:flex-end;padding:30px 14px 14px}
.mq-opzioni.due .mq-opzione::after{position:absolute;top:10px;right:10px;width:18px;height:18px}
.mq-opzioni.due .mq-opzione:last-child:nth-child(odd){grid-column:1/-1;min-height:0;padding-top:18px;padding-right:44px;align-items:center}
.mq-opzioni.due .mq-opzione:last-child:nth-child(odd)::after{top:50%;transform:translateY(-50%);right:14px}
.mq-campo textarea{resize:none;font-size:17px;line-height:1.45}
.mq-trappola{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.mq-consenso a{color:var(--viola);font-weight:600}
