/* Pagina di richiesta: passaggi, scelte, modulo, intervista, riepilogo */
.flow{padding-top:28px;padding-bottom:80px;min-height:62vh}
.flow>*{max-width:852px}
.flow h1{font-size:clamp(36px,5vw,56px)}
.progress{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;padding:0;margin:18px 0 36px;font-size:15px;counter-reset:p}
.progress li{counter-increment:p;color:#46362a}
.progress li::before{content:counter(p) ". "}
.progress li.on{color:var(--ink);font-weight:800;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:3px;text-underline-offset:6px}
.progress li.done{color:var(--ink)}
.flow .step{padding:0}
.step h2{font-size:clamp(28px,3.4vw,38px);margin-bottom:18px}
.step h2:focus{outline:none}
.intro{margin:-8px 0 20px;max-width:60ch}
.picks{display:grid;gap:16px}
.picks.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.picks.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
.pick{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--paper);border:2px solid transparent;padding:20px;
  font:inherit;color:var(--ink);cursor:pointer;box-shadow:0 8px 20px rgba(60,35,10,.18)}
.pick b{font-size:21px}
.pick span{font-size:16px;color:#5b4a3b}
.pick .p{font-weight:800;font-size:18px;color:var(--ink)}
.pick:hover,.pick[aria-pressed=true]{border-color:var(--ink)}
.sheet{background:var(--paper);padding:28px;box-shadow:0 18px 40px rgba(60,35,10,.22)}
.sub{border:0;padding:0;margin:0}
.sub legend{font-weight:800;font-size:22px;margin-bottom:16px;padding:0}
.field .label{display:block;font-weight:600;font-size:16px;margin-bottom:6px}
.checks{display:flex;flex-wrap:wrap;gap:8px 18px}
.checks label,.inline{display:inline-flex;align-items:center;gap:7px;font-size:16px;font-weight:400}
.checks input,.inline input{width:18px;height:18px;accent-color:var(--pine)}
.inline{margin-top:8px}
.hint{font-size:14px;color:#6b5847;margin-top:6px}
.hand{font:600 24px/1.3 var(--hand)!important;color:#1d3b8a!important}
.files{margin:8px 0 0;padding-left:18px;font-size:15px}
.nav{display:flex;align-items:center;gap:16px;margin-top:24px}
.nav .next,.nav #pay{margin-left:auto}
.nav .count{font-size:14px;color:#6b5847}
button.link{background:none;border:0;padding:0;font:600 17px var(--sans);color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.small-h{font-size:20px;margin:26px 0 12px}
.mic-row{display:flex;align-items:center;gap:14px;margin-top:10px}
.consents{margin-top:10px;border-top:1.5px solid #e4d6c4;padding-top:16px}
.consents .check{margin-bottom:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* intervista */
.chat{display:flex;flex-direction:column;gap:14px}
.log{display:flex;flex-direction:column;gap:10px;max-height:56vh;overflow-y:auto;padding-right:4px}
.msg-b,.msg-u{max-width:80%;padding:12px 16px;line-height:1.4;white-space:pre-line}
.msg-b{align-self:flex-start;background:#efe5d6}
.msg-u{align-self:flex-end;background:var(--pine);color:#fff}
.msg-b.note{background:#fbe4e4;border-left:4px solid var(--red)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{border:1.5px solid var(--ink);background:#fff;border-radius:999px;padding:8px 14px;font:600 15px var(--sans);cursor:pointer;color:var(--ink)}
.chips button:hover{background:var(--ink);color:#fff}
.say{display:flex;gap:10px;align-items:center}
.say input{flex:1;padding:12px 14px;border:1.5px solid #cdbba6;border-radius:6px;font:400 17px var(--sans);min-width:0}
.say[hidden]{display:none}
.edit-list{display:grid;gap:10px;background:#fff;padding:14px;border:1.5px solid #e4d6c4}
.edit-list label{font-size:14px;color:#6b5847;display:block}
.edit-list input{width:100%;padding:8px 10px;border:1.5px solid #cdbba6;border-radius:6px;font:400 16px var(--sans)}

/* riepilogo */
.recap{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:8px 20px;margin:0}
.recap dt{color:#6b5847;font-size:15px}
.recap dd{margin:0;white-space:pre-line}
.recap .sec{grid-column:1/-1;font-weight:800;font-size:19px;margin-top:14px;border-top:1.5px solid #e4d6c4;padding-top:12px}
.total{font-weight:800;font-size:26px;margin-top:22px}
.done h2{font-size:34px;margin-bottom:10px}
@media (max-width:720px){
  .picks.two-col,.picks.three-col{grid-template-columns:minmax(0,1fr)}
  .recap{grid-template-columns:minmax(0,1fr)}
  .recap dt{margin-top:6px}
  .sheet{padding:20px 16px}
  .msg-b,.msg-u{max-width:92%}
  .say{flex-wrap:wrap}
}
.field .field{margin-top:10px;margin-bottom:0}

/* codice sconto nel riepilogo */
.codice .riga{display:flex;gap:10px;align-items:center}
.codice input{max-width:220px}
.total s{opacity:.6;font-weight:400;margin-left:6px}
