/* =========================================================
   Formulário "Fale conosco" em 4 passos (janela modal)
   ========================================================= */
.lead-box{width:min(560px,100%);padding:40px 40px 34px}
[hidden]{display:none!important}
.lead-progress{display:flex;align-items:center;gap:16px;margin:0 44px 30px 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5f7184;font-weight:600;white-space:nowrap}
.lead-progress b{color:var(--navy2)}
.lead-bar{flex:1;height:3px;background:#e3e7ea;border-radius:3px;overflow:hidden}
.lead-bar i{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--navy2),var(--gold));transition:width .5s var(--ease-out)}

.lead-step{border:0;margin:0;padding:0;min-width:0;animation:lead-in .45s var(--ease-out)}
@keyframes lead-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.lead-step h3{font-size:30px;margin:0 0 10px}
.lead-sub{font-size:14px;margin:0 0 22px!important}
.lead-step h3 + .lead-opts,.lead-step h3 + .lead-field{margin-top:22px}

.lead-field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;font-size:13px;font-weight:500;color:#4a5560}
.lead-field input,.lead-field select,.lead-field textarea{
  width:100%;padding:13px 14px;border:1px solid #d3d9de;background:#fafafa;outline:none;font:inherit;font-size:15px;font-weight:400;color:var(--ink);
  border-radius:0;transition:border-color .2s,background .2s
}
.lead-field select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background:#fafafa 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='%23071526' stroke-width='1.5'/%3E%3C/svg%3E") right 14px center no-repeat;padding-right:38px}
.lead-field textarea{min-height:100px;resize:vertical}
.lead-field input:focus,.lead-field select:focus,.lead-field textarea:focus{border-color:var(--navy);background-color:#fff}
.lead-field .invalid,.lead-field.invalid input{border-color:#b3261e;background-color:#fff7f6}
.lead-phone{display:flex}
.lead-phone em{font-style:normal;display:flex;align-items:center;padding:0 12px;border:1px solid #d3d9de;border-right:0;background:#f0f2f3;font-size:14px;color:#4a5560;white-space:nowrap}

.lead-opts{display:grid;gap:8px}
.lead-opt{position:relative;cursor:pointer}
.lead-opt input{position:absolute;opacity:0;pointer-events:none}
.lead-opt span{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid #d3d9de;background:#fafafa;font-size:15px;color:var(--ink);transition:border-color .2s,background .2s,padding .35s var(--ease-out)}
.lead-opt span:after{content:"";width:16px;height:16px;border-radius:50%;border:1px solid #b9c1c8;flex-shrink:0;transition:border .2s,background .2s}
.lead-opt:hover span{border-color:var(--navy2);background:#fff;padding-left:20px}
.lead-opt input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px}
.lead-opt input:checked + span{border-color:var(--navy2);background:var(--navy2);color:#fff}
.lead-opt input:checked + span:after{border:5px solid var(--gold);background:#fff}

.lead-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:#4a5560;cursor:pointer;margin-top:4px}
.lead-check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--navy2);flex-shrink:0}
.lead-check a{color:var(--navy2);font-weight:600;border-bottom:1px solid var(--gold)}
.lead-check.invalid span{color:#b3261e}

.lead-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lead-error{color:#b3261e!important;font-size:13px;min-height:0;margin:14px 0 0!important}
.lead-error:empty{display:none}
.lead-error a{text-decoration:underline}

.lead-actions{display:flex;gap:10px;margin-top:24px}
.lead-back{background:none;border:1px solid #c6cdd3;color:#4a5560;padding:15px 20px;cursor:pointer;transition:border-color .2s,color .2s}
.lead-back:hover{border-color:var(--navy);color:var(--navy)}
.lead-next{flex:1;background:var(--navy);color:#fff;border:0;padding:16px;cursor:pointer;font-weight:500;transition:background .25s}
.lead-next:hover{background:var(--navy2)}
.lead-next:disabled{opacity:.6;cursor:wait}

.lead-done{animation:lead-in .45s var(--ease-out)}
.lead-done h3{font-size:38px}
.lead-done a{color:var(--navy2);font-weight:600;border-bottom:1px solid var(--gold)}

@media(max-width:600px){
  .lead-box{padding:32px 20px 24px}
  .lead-progress{margin-right:40px;margin-bottom:24px}
  .lead-step h3{font-size:25px}
  .lead-field input,.lead-field select,.lead-field textarea{font-size:16px}
}
