/* ============================================================
 *  wizard.css — Cadastro público step-by-step
 * ============================================================ */
:root{ --p:#12948e; --p2:#0d7a75; --p3:#6dcfc9; --p-pale:rgba(18,148,142,.09); --p-glow:rgba(18,148,142,.24); --border2:rgba(18,148,142,.22);
  --bg:#f4f6f5; --card:#fff; --border:#e4e7e6; --txt:#182220; --txt2:#5a6b67; --txt3:#9aa8a4; --err:#d94040; --radius:14px; }
*{ box-sizing:border-box; margin:0; padding:0; }
.wz-body{ font-family:'DM Sans',system-ui,sans-serif; background:var(--bg); color:var(--txt); min-height:100vh; display:flex; flex-direction:column; }

.wz-top{ padding:1.25rem; text-align:center; }
.wz-logo{ max-height:44px; }
.wz-logo-text{ font-family:'Syne',sans-serif; font-weight:800; font-size:1.4rem; letter-spacing:-.03em; }
.wz-logo-text span b{ color:var(--p); }

.wz-main{ width:100%; max-width:520px; margin:0 auto; padding:0 1rem 2rem; flex:1; display:flex; flex-direction:column; }
.wz-progress{ height:5px; background:var(--border); border-radius:99px; overflow:hidden; margin-bottom:1.5rem; }
.wz-progress-bar{ height:100%; width:0; background:linear-gradient(90deg,var(--p),var(--p3)); transition:width .35s ease; }

.wz-card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:1.75rem 1.5rem; box-shadow:0 8px 30px rgba(0,0,0,.05); animation:wzin .3s ease; }
@keyframes wzin{ from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }
.wz-title{ font-family:'Syne',sans-serif; font-size:1.5rem; font-weight:700; letter-spacing:-.02em; margin-bottom:.35rem; }
.wz-sub{ font-size:.9rem; color:var(--txt2); margin-bottom:1.25rem; line-height:1.5; }

.wz-form{ display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.wz-field{ grid-column:1/-1; display:flex; flex-direction:column; gap:.35rem; }
.wz-field.wz-half{ grid-column:span 1; }
.wz-field label{ font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:var(--txt2); }
.wz-input{ width:100%; padding:.7rem .85rem; font-size:1rem; font-family:inherit; border:1.5px solid var(--border); border-radius:10px; background:#fff; color:var(--txt); transition:border-color .15s,box-shadow .15s; }
.wz-input:focus{ outline:none; border-color:var(--p); box-shadow:0 0 0 3px var(--p-pale); }

.wz-lookup{ display:flex; gap:.5rem; }
.wz-lookup .wz-input{ flex:1; }
.wz-mini{ padding:0 1rem; border:none; border-radius:10px; background:var(--p); color:#fff; font-weight:600; font-family:inherit; cursor:pointer; white-space:nowrap; }
.wz-mini:hover{ background:var(--p2); }
.wz-lookup-result{ margin-top:.75rem; font-size:.85rem; display:flex; flex-direction:column; gap:.2rem; }
.wz-ok{ color:var(--p2); font-weight:600; } .wz-warn{ color:#b45309; } .wz-loading{ color:var(--txt2); }
.wz-lookup-result small{ color:var(--txt3); }

.wz-choices{ display:grid; gap:.75rem; margin-top:.5rem; }
.wz-choice{ display:flex; flex-direction:column; align-items:flex-start; gap:.15rem; padding:1.1rem 1.25rem; border:1.5px solid var(--border); border-radius:12px; background:#fff; cursor:pointer; font-family:inherit; text-align:left; transition:.15s; }
.wz-choice:hover{ border-color:var(--p); background:var(--p-pale); transform:translateY(-1px); }
.wz-choice span{ font-size:1.5rem; } .wz-choice b{ font-size:1rem; } .wz-choice small{ color:var(--txt3); font-size:.8rem; }

.wz-drop{ display:flex; flex-direction:column; align-items:center; gap:.4rem; padding:2rem 1rem; border:2px dashed var(--border); border-radius:12px; cursor:pointer; text-align:center; transition:.15s; }
.wz-drop:hover,.wz-drop-hover{ border-color:var(--p); background:var(--p-pale); }
.wz-drop-ok{ border-style:solid; border-color:var(--p); background:var(--p-pale); }
.wz-drop-load{ opacity:.6; pointer-events:none; }
.wz-drop-ic{ font-size:1.6rem; } .wz-drop-t{ font-size:.9rem; color:var(--txt2); } .wz-drop small{ color:var(--txt3); font-size:.75rem; }

.wz-services{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.wz-svc{ display:flex; flex-direction:column; gap:.15rem; padding:.9rem; border:1.5px solid var(--border); border-radius:12px; background:#fff; cursor:pointer; font-family:inherit; text-align:left; transition:.15s; }
.wz-svc span{ font-size:1.3rem; } .wz-svc b{ font-size:.9rem; } .wz-svc small{ color:var(--txt3); font-size:.72rem; }
.wz-svc-on{ border-color:var(--p); background:var(--p-pale); box-shadow:0 0 0 2px var(--p-glow) inset; }

.wz-review{ display:flex; flex-direction:column; gap:.5rem; margin-bottom:1rem; }
.wz-review>div{ display:flex; justify-content:space-between; gap:1rem; padding:.5rem 0; border-bottom:1px solid var(--border); font-size:.88rem; }
.wz-review span{ color:var(--txt2); } .wz-review b{ text-align:right; }
.wz-terms{ display:flex; gap:.5rem; font-size:.85rem; color:var(--txt2); align-items:flex-start; }
.wz-terms input{ margin-top:.15rem; accent-color:var(--p); width:16px; height:16px; }
.wz-terms a{ color:var(--p); }

.wz-err{ color:var(--err); font-size:.85rem; margin-top:.75rem; min-height:1em; }

.wz-nav{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-top:1.25rem; }
.wz-step-info{ font-size:.78rem; color:var(--txt3); }
.wz-btn{ padding:.8rem 1.5rem; border:none; border-radius:11px; background:var(--p); color:#fff; font-size:1rem; font-weight:700; font-family:inherit; cursor:pointer; transition:.15s; }
.wz-btn:hover{ background:var(--p2); } .wz-btn:disabled{ background:var(--txt3); cursor:not-allowed; }
.wz-btn-ghost{ padding:.8rem 1rem; border:none; background:none; color:var(--txt2); font-family:inherit; font-size:.9rem; cursor:pointer; }
.wz-secure{ text-align:center; font-size:.75rem; color:var(--txt3); margin-top:1.25rem; }

.wz-overlay{ display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); align-items:center; justify-content:center; padding:1rem; z-index:100; }
.wz-overlay.wz-on{ display:flex; }
.wz-done-box{ background:#fff; border-radius:18px; padding:2rem; max-width:420px; width:100%; text-align:center; }
.wz-done-icon{ font-size:3rem; } .wz-done-box h2{ font-family:'Syne',sans-serif; margin:.5rem 0; color:var(--p2); }
.wz-done-box p{ color:var(--txt2); font-size:.9rem; }
.wz-protocol{ font-family:'JetBrains Mono',monospace; font-size:1.5rem; font-weight:700; color:var(--p); background:var(--p-pale); border:1.5px dashed var(--border2); border-radius:12px; padding:.6rem; margin:1rem 0 .5rem; letter-spacing:.04em; }
.wz-copy{ padding:.5rem 1rem; border:1px solid var(--border2); border-radius:8px; background:none; color:var(--p2); font-family:inherit; font-weight:600; cursor:pointer; }
.wz-done-info{ margin-top:1.25rem; font-size:.85rem; color:var(--txt2); background:#f7f9f8; border-radius:10px; padding:.85rem; line-height:1.6; }

@media (max-width:480px){ .wz-services{ grid-template-columns:1fr; } .wz-field.wz-half{ grid-column:1/-1; } }
