/* Coopyleft – form di contatto a step (Contact Form 7). */
.cl-form{--ink:#21242a;--primary:#467ef7;--soft:#dceaff;--coral:#ed7466;--paper:#fefcf9;--campo:#f4f6fa;--muted:#5b616b;
  font-family:'Urbanist',system-ui,sans-serif;color:var(--ink);font-size:18px;line-height:1.5;text-align:left}
.cl-form *,.cl-form *::before,.cl-form *::after{box-sizing:border-box}
.cl-form [hidden]{display:none !important}
.cl-form br{display:none}
.cl-form fieldset{border:0;margin:0;padding:0;min-width:0}
.cl-form p{margin:0}

/* progresso */
.cl-passi{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.1rem}
.cl-passo{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--muted)}
.cl-passo__n{width:1.75rem;height:1.75rem;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:800;border:1.5px solid var(--ink);background:#fff;color:var(--ink)}
.cl-passo.is-attivo{color:var(--ink);font-weight:800}
.cl-passo.is-attivo .cl-passo__n{background:var(--primary);color:#fff}
.cl-passo.is-fatto .cl-passo__n{background:var(--soft)}

/* riepilogo "ascolto" */
.cl-ascolto{margin:0 0 1.75rem;padding:1rem 1.25rem;background:var(--soft);border-radius:1.5rem}
.cl-ascolto:not([hidden]){animation:cl-appare .35s ease both}
@keyframes cl-appare{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cl-ascolto__eti{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cl-ascolto__txt{margin-top:.35rem !important;font-size:1.1rem;font-weight:600;line-height:1.4;letter-spacing:-.01em}

/* testi */
.cl-titolo{display:block;width:100%;padding:0;margin:0;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.1;letter-spacing:-.025em;font-weight:800;color:var(--ink)}
.cl-titolo--grande{font-size:clamp(2rem,4vw,3.1rem);line-height:1.05;letter-spacing:-.03em}
.cl-sotto{margin:.75rem 0 1.6rem !important;font-size:1.05rem;line-height:1.5;color:#3b414b}
.cl-label{display:block;margin:0 0 .5rem !important;font-weight:700;font-size:1rem}
.cl-label span{font-weight:500;color:var(--muted)}
.cl-aiuto{margin:.6rem 0 1.5rem !important;font-size:.95rem;color:var(--muted)}
.cl-aiuto strong{color:var(--ink)}

/* campi */
.cl-form input[type=text],.cl-form input[type=email],.cl-form input[type=tel],.cl-form textarea{
  width:100%;border:1.5px solid var(--ink);background:var(--campo);color:var(--ink);font:inherit;font-size:1.1rem;border-radius:999px;height:3.5rem;padding:0 1.4rem;box-shadow:none}
.cl-form textarea{height:auto;min-height:9rem;border-radius:1.5rem;padding:1.1rem 1.3rem;resize:vertical}
.cl-form input::placeholder,.cl-form textarea::placeholder{color:#6b7280}
.cl-form input:focus-visible,.cl-form textarea:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.cl-riga{display:flex;flex-wrap:wrap;gap:1.1rem}
.cl-campo{flex:1 1 14rem;min-width:0;margin-bottom:1.1rem}
.cl-campo--stretto{max-width:22rem}
.cl-form .wpcf7-form-control-wrap{display:block}
.cl-form .wpcf7-not-valid{border-color:#a3321f !important}
.cl-form .wpcf7-not-valid-tip{font-size:.9rem;font-weight:600;color:#a3321f;margin-top:.35rem}

/* chip (radio/checkbox di CF7) */
.cl-chips .wpcf7-form-control{display:flex;flex-wrap:wrap;gap:.7rem}
.cl-chips .wpcf7-list-item{margin:0;display:block}
.cl-chips .wpcf7-list-item label{display:block;position:relative;cursor:pointer;margin:0}
.cl-chips input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
.cl-chips .wpcf7-list-item-label{display:inline-flex;align-items:center;min-height:3rem;padding:.55rem 1.25rem;border:1.5px solid var(--ink);border-radius:999px;background:#fff;font-size:1.05rem;font-weight:700;transition:transform .15s ease,box-shadow .15s ease,background .15s}
.cl-chips label:hover .wpcf7-list-item-label{border-color:var(--ink);transform:translateY(-1px)}
.cl-chips input:checked + .wpcf7-list-item-label{background:var(--primary);color:#fff;box-shadow:0 4px 0 var(--ink);transform:translateY(-2px)}
.cl-chips input:focus-visible + .wpcf7-list-item-label{outline:3px solid var(--primary);outline-offset:3px}
.cl-chips--piccole .wpcf7-list-item-label{min-height:2.75rem;font-size:1rem;padding:.4rem 1.1rem}

/* privacy + captcha */
.cl-privacy{margin-top:1.5rem;font-size:.95rem;color:#3b414b}
.cl-privacy .wpcf7-list-item{margin:0}
.cl-privacy label{display:flex;gap:.7rem;align-items:flex-start;cursor:pointer}
.cl-privacy input{width:1.4rem;height:1.4rem;margin:.1rem 0 0;accent-color:var(--primary);flex:none}
.cl-privacy a{font-weight:700;color:inherit}
.cl-captcha,.cl-form .captcha-box{margin-top:2.5rem}
.cl-captcha:empty{display:none}
.cl-form .captcha-image{display:block;text-align:left;padding:1.15rem 1.35rem;border:1.5px solid var(--ink);border-radius:1.5rem;background:var(--campo)}
.cl-form .captcha-image .cf7ic_instructions{display:block;margin-bottom:.9rem;font-size:1rem;line-height:1.4;color:#3b414b}
.cl-form .captcha-image .cf7ic_instructions span{font-weight:800;color:var(--ink)}
.cl-form span.captcha-image > label{display:inline-block !important;margin:0 .6rem .2rem 0 !important}
.cl-form .captcha-image label > input + svg{width:3.5rem;height:3.5rem;padding:.8rem;border:2px solid var(--ink);border-radius:50%;background:#fff;color:var(--ink);transition:transform .15s ease,background .15s}
.cl-form .captcha-image label:hover > input + svg{transform:translateY(-2px)}
.cl-form .captcha-image label > input:checked + svg,.cl-form .captcha-image label > input:focus-visible + svg{border:2px solid var(--ink);background:var(--primary);color:#fff}
.cl-form .captcha-image label > input:focus-visible + svg{outline:3px solid var(--primary);outline-offset:3px}

/* navigazione */
.cl-errore{min-height:1.4rem;margin:1rem 0 0 !important;font-size:.95rem;font-weight:600;color:#a3321f}
.cl-nav{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.9rem 1.5rem;align-items:center;justify-content:space-between}
.cl-tempo{font-size:.95rem;color:var(--muted)}
.cl-indietro,.cl-ricomincia{background:none;border:0;padding:.7rem .25rem;min-height:3rem;font:inherit;font-size:1.05rem;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.cl-nav > .cl-avanti,.cl-nav > .cl-invia{margin-left:auto}
/* bottoni: stile primario del sito (bottoni.css) */
.cl-avanti,.cl-invia{margin:0}
.cl-invia{position:relative}
.cl-invia .wpcf7-spinner{position:absolute;right:-2.2rem;top:50%;margin:0;transform:translateY(-50%)}
.cl-indietro:focus-visible,.cl-ricomincia:focus-visible{outline:3px solid var(--primary);outline-offset:3px}

/* risposta di CF7 (errori generici) */
.cl-form .wpcf7-response-output{margin:1rem 0 0 !important;border:0 !important;padding:0 !important;font-size:.95rem;font-weight:600;color:#a3321f}

/* ringraziamento */
.cl-grazie{outline:0}
.cl-bollino{display:inline-block;margin-bottom:1.1rem !important;padding:.45rem .9rem;border-radius:999px;background:var(--coral);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cl-prossimi{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem}
.cl-prossimi li{display:flex;gap:1rem;align-items:flex-start;background:var(--paper);border:1.5px solid var(--ink);border-radius:1.5rem;padding:1.1rem 1.25rem}
.cl-prossimi li > span{flex:none;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-weight:800}
.cl-prossimi p{font-size:1.05rem;line-height:1.45}
.cl-ricomincia{margin-top:1.5rem}

@media (prefers-reduced-motion:reduce){.cl-form *{transition:none !important;animation:none !important}}
@media (max-width:520px){.cl-nav{justify-content:space-between}}
