.nfform-wrap{--nf-cor:#00995D;--nf-cor2:#00703C;--nf-borda:#d6dce3;--nf-txt:#1f2a37;max-width:560px;margin:0 auto}
.nfform{background:#fff;color:var(--nf-txt);border:1px solid var(--nf-borda);border-radius:12px;padding:22px;box-shadow:0 8px 24px rgba(15,30,60,.08);font-family:inherit;box-sizing:border-box}
.nfform *{box-sizing:border-box}
.nfform-head{text-align:center;margin-bottom:16px}
.nfform-head strong{display:block;font-size:1.3rem;line-height:1.3}
.nfform-head span{display:inline-block;margin-top:6px;background:#fff4d6;color:#7a4b00;font-weight:700;font-size:.85rem;padding:4px 10px;border-radius:20px}
.nfform-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nfform-full{grid-column:1/-1}
.nfform-f{display:flex;flex-direction:column;gap:4px;font-size:.88rem;font-weight:600;margin:0}
.nfform-f input,.nfform-f select{width:100%;height:44px;padding:0 12px;border:1px solid var(--nf-borda);border-radius:8px;font:inherit;font-weight:400;font-size:1rem;background:#fff;color:var(--nf-txt)}
.nfform-f input:focus,.nfform-f select:focus{outline:none;border-color:var(--nf-cor);box-shadow:0 0 0 3px rgba(0,153,93,.18)}
.nfform-f input.nfform-erro,.nfform-f select.nfform-erro{border-color:#d93025}
.nfform-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.nfform-lgpd{display:flex;gap:8px;align-items:flex-start;font-size:.82rem;margin:14px 0;line-height:1.4;font-weight:400}
.nfform-lgpd input{margin-top:3px;width:16px;height:16px;flex:none}
.nfform-lgpd a{color:var(--nf-cor)}
.nfform-btn{width:100%;height:52px;border:0;border-radius:8px;background:var(--nf-cor);color:#fff;font:inherit;font-size:1.05rem;font-weight:700;cursor:pointer;transition:background .2s}
.nfform-btn:hover{background:var(--nf-cor2)}
.nfform-btn[disabled]{opacity:.7;cursor:wait}
.nfform-msg{margin:10px 0 0;font-size:.9rem;text-align:center;min-height:1em}
.nfform-msg.erro{color:#d93025}
.nfform-msg.ok{color:#15803d;font-weight:700}
.nfform-wa{display:block;text-align:center;margin-top:8px;font-size:.88rem;color:#128c4a;font-weight:600;text-decoration:none}
.nfform-wa:hover{text-decoration:underline}
@media (max-width:560px){.nfform{padding:18px 14px}.nfform-grid{grid-template-columns:1fr}}
.nfform-priv{font-size:.76rem;color:#5b6b63;margin:8px 0 0;line-height:1.45;text-align:center}
