/* Stile condiviso dei moduli questionario pre-sito · Sintelia Studio */
:root{
  --inchiostro:#1A1A22; --carta:#F6F3EE; --ottone:#A8854D;
  --testo-2:#5B5B66; --filo:#E5E0D7; --superficie:#FFFFFF;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--carta);color:var(--inchiostro);font-family:'Inter',system-ui,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;}

.barra{background:var(--inchiostro);color:var(--carta);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5;}
.barra .nome{font-family:'Josefin Sans',sans-serif;font-weight:600;letter-spacing:.18em;font-size:1.1rem;}
.barra .nome small{font-size:.58rem;letter-spacing:.4em;color:var(--ottone);margin-left:.4em;}
.barra a{color:var(--carta);text-decoration:none;font-size:.82rem;border-bottom:1px solid var(--ottone);padding-bottom:2px;}

main{max-width:720px;margin:0 auto;padding:40px 22px 90px;}
.intro h1{font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:2rem;margin-bottom:8px;}
.intro p{color:var(--testo-2);margin-bottom:6px;}
.intro .badge{display:inline-block;margin-top:10px;background:var(--superficie);border:1px solid var(--filo);border-left:3px solid var(--ottone);border-radius:8px;padding:8px 12px;font-size:.9rem;color:var(--testo-2);}

.sezione{margin-top:34px;border-top:1px solid var(--filo);padding-top:22px;}
.sezione > h2{font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:1.15rem;margin-bottom:4px;}
.sezione > .hint{color:var(--testo-2);font-size:.88rem;margin-bottom:14px;}

.campo{margin-bottom:16px;}
.campo > label.etichetta{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px;}
.campo .opz{font-weight:400;color:var(--testo-2);font-size:.85em;}
input[type=text],input[type=email],input[type=tel],select,textarea{
  width:100%;background:var(--superficie);border:1px solid var(--filo);border-radius:10px;
  padding:11px 13px;font:inherit;color:var(--inchiostro);transition:border-color .2s;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ottone);}
textarea{min-height:80px;resize:vertical;}

.opzioni{display:flex;flex-wrap:wrap;gap:8px 16px;}
.opzioni label{display:inline-flex;align-items:center;gap:8px;background:var(--superficie);border:1px solid var(--filo);border-radius:999px;padding:8px 14px;font-size:.9rem;cursor:pointer;transition:border-color .2s,background .2s;}
.opzioni label:hover{border-color:var(--ottone);}
.opzioni input{accent-color:var(--ottone);width:1rem;height:1rem;cursor:pointer;}
.opzioni input:checked + span{font-weight:600;}

.consenso{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.9rem;color:var(--testo-2);margin-top:6px;}
.consenso input{margin-top:.18rem;width:1.05rem;height:1.05rem;flex:0 0 auto;accent-color:var(--ottone);cursor:pointer;}
.consenso a{color:var(--inchiostro);text-decoration:underline;text-decoration-color:var(--ottone);}

.invia{margin-top:28px;}
button[type=submit]{background:var(--inchiostro);color:var(--carta);border:none;border-radius:999px;padding:15px 30px;font:inherit;font-weight:600;cursor:pointer;transition:transform .15s,opacity .2s;}
button[type=submit]:hover{transform:translateY(-1px);}
button[type=submit]:disabled{opacity:.6;cursor:default;}
.errore{color:#9a2c2c;font-size:.86rem;margin-top:6px;}
.stato{margin-top:16px;padding:14px 16px;border-radius:10px;font-size:.95rem;display:none;}
.stato--ok{display:block;background:#eaf3ec;border:1px solid #bcd9c2;color:#235c30;}
.stato--ko{display:block;background:#f7e9e9;border:1px solid #e0bcbc;color:#7a2222;}
.nascosto{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* --- Upload file (menù, logo, foto) --- */
.upload input[type=file]{
  width:100%;font:inherit;font-size:.86rem;color:var(--testo-2);
  background:var(--superficie);border:1.5px dashed var(--filo);border-radius:10px;
  padding:12px 13px;cursor:pointer;transition:border-color .2s;
}
.upload input[type=file]:hover{border-color:var(--ottone);}
.upload .aiuto{color:var(--testo-2);font-size:.8rem;margin-top:5px;}
.stato--info{display:block;background:#eef1f5;border:1px solid #cdd6e0;color:#33415c;}
