@font-face{font-family:Poppins;src:url(fonts/Poppins-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url(fonts/Poppins-Medium.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url(fonts/Poppins-Bold.ttf) format("truetype");font-weight:700;font-display:swap}

:root{
  --primario:#1EAEE6;
  --testo:#26343d;
  --tenue:#6b7b85;
  --bordo:#d5dee4;
  --sfondo:#eef4f7;
  --errore:#c62f3b;
  --ok:#1f8a4c;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Poppins,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--testo);
  background:var(--sfondo);line-height:1.55;font-size:16px}
body.embed{background:transparent}
.wrap{max-width:720px;margin:0 auto;padding:32px 16px 56px}
body.embed .wrap{padding:0}
.top{text-align:center;margin-bottom:24px}
.logo{max-width:300px;width:70%;height:auto}

.box{background:#fff;border-radius:16px;padding:32px;box-shadow:0 1px 2px rgba(20,40,55,.06),0 8px 30px rgba(20,40,55,.07);
  border-top:5px solid var(--primario)}
body.embed .box{box-shadow:none;border-radius:0;padding:8px 0;border-top:0}
h1{margin:0 0 12px;font-size:1.65rem;line-height:1.2;color:var(--primario);font-weight:700}
.intro{color:var(--tenue);margin-bottom:24px;font-size:.95rem}

.griglia{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.campo-full{grid-column:1 / -1}
.campo-half{grid-column:span 1}
@media (max-width:560px){ .griglia{grid-template-columns:1fr} .campo-half{grid-column:1 / -1} .box{padding:22px 18px} }

label{font-weight:500;font-size:.92rem}
.req{color:var(--errore)}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],select,textarea{
  width:100%;font:inherit;font-size:1rem;color:var(--testo);background:#fff;border:1.5px solid var(--bordo);
  border-radius:10px;padding:12px 14px;min-height:48px;transition:border-color .15s,box-shadow .15s}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b7b85' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primario);box-shadow:0 0 0 3px color-mix(in srgb,var(--primario) 22%,transparent)}
.has-error input,.has-error select,.has-error textarea{border-color:var(--errore)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.9rem;cursor:pointer}
.check input{width:20px;height:20px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--primario)}
.check a,.link{color:var(--primario)}
.aiuto{color:var(--tenue);font-size:.8rem}
.errore{color:var(--errore);font-size:.82rem;font-weight:500}
.centro{text-align:center}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.btn{width:100%;font:inherit;font-weight:700;font-size:1.05rem;color:#fff;background:var(--primario);border:0;border-radius:10px;
  padding:15px 20px;min-height:52px;cursor:pointer;transition:filter .15s,transform .05s;letter-spacing:.02em}
.btn:hover{filter:brightness(.93)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.7;cursor:progress}

.esito{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:16px 18px;margin:0 0 20px}
.esito p{margin:0}
.esito.ok{background:#e8f6ee;color:#135c33}
.esito.ok svg{width:26px;height:26px;flex:0 0 auto;color:var(--ok)}
.esito.ko{background:#fdecee;color:#8a1f29}
