/* ============================================================================
   Lead Form Modal — NewCred
   Paleta: #005CA9 (azul CEF) + #FFC627 (amarelo) + #25D366 (whatsapp)
   ============================================================================ */
.lf-overlay{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0, 47, 92, .72);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s ease, visibility .25s ease;
  padding:16px;
  font-family:'Inter','Helvetica Neue',Arial,sans-serif;
}
.lf-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto;}

.lf-modal{
  position:relative;
  width:100%;max-width:480px;
  background:#fff;border-radius:20px;
  padding:36px 32px 28px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.45), 0 0 0 1px rgba(0,92,169,.08);
  transform:translateY(16px) scale(.98);opacity:0;
  transition:transform .35s cubic-bezier(.2,.9,.3,1.2), opacity .25s ease;
}
.lf-overlay.is-open .lf-modal{transform:translateY(0) scale(1);opacity:1;}

.lf-close{
  position:absolute;top:14px;right:14px;
  width:36px;height:36px;border:0;border-radius:10px;
  background:#f3f6fa;color:#002F5C;
  font-size:24px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s ease, transform .15s ease;
}
.lf-close:hover{background:#e1e8f1;transform:scale(1.05);}
.lf-close:focus-visible{outline:2px solid #005CA9;outline-offset:2px;}

.lf-modal__head{margin-bottom:22px;}
.lf-badge{
  width:54px;height:54px;border-radius:14px;
  background:linear-gradient(135deg,#005CA9,#002F5C);
  color:#FFC627;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;
  box-shadow:0 8px 18px -6px rgba(0,92,169,.45);
}
.lf-modal__title{
  font-size:1.7rem;font-weight:900;
  color:#002F5C;letter-spacing:-.02em;
  margin:0 0 6px;line-height:1.1;
}
.lf-modal__sub{
  font-size:.96rem;color:#475569;line-height:1.45;
  margin:0;
}

.lf-form{display:flex;flex-direction:column;gap:14px;}
.lf-field{display:flex;flex-direction:column;gap:6px;}
.lf-field__label{
  font-size:.78rem;font-weight:700;
  color:#002F5C;letter-spacing:.02em;
  text-transform:uppercase;
}
.lf-field input{
  width:100%;
  padding:14px 16px;
  font-size:1rem;font-family:inherit;
  border:1.5px solid #d8dee5;border-radius:12px;
  background:#fafbfc;color:#0f172a;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
  -webkit-appearance:none;
}
.lf-field input::placeholder{color:#94a3b8;}
.lf-field input:hover{border-color:#a8b3c0;}
.lf-field input:focus{
  outline:none;
  border-color:#005CA9;
  background:#fff;
  box-shadow:0 0 0 3px rgba(0,92,169,.16);
}
.lf-field input[aria-invalid="true"]{
  border-color:#dc2626;
  background:#fef2f2;
}
.lf-field input[aria-invalid="true"]:focus{
  box-shadow:0 0 0 3px rgba(220,38,38,.18);
}
.lf-field__error{
  font-size:.82rem;color:#dc2626;font-weight:600;
  margin-top:2px;
}

.lf-submit{
  margin-top:8px;
  width:100%;
  padding:16px 18px;
  display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:1.02rem;font-weight:800;font-family:inherit;
  letter-spacing:-.01em;
  color:#fff;background:#25D366;
  border:0;border-radius:14px;cursor:pointer;
  box-shadow:0 8px 22px -6px rgba(37,211,102,.55);
  transition:transform .12s ease, box-shadow .15s ease, background .15s ease;
}
.lf-submit:hover{
  background:#1fb957;
  transform:translateY(-1px);
  box-shadow:0 12px 26px -6px rgba(37,211,102,.6);
}
.lf-submit:active{transform:translateY(0);}
.lf-submit:focus-visible{outline:3px solid #FFC627;outline-offset:3px;}
.lf-submit svg{flex-shrink:0;}

.lf-disclaimer{
  margin:14px 0 0;
  font-size:.78rem;color:#64748b;line-height:1.45;text-align:center;
}
.lf-disclaimer a{color:#005CA9;text-decoration:underline;}
.lf-disclaimer a:hover{color:#002F5C;}

@media (max-width:480px){
  .lf-modal{padding:28px 22px 22px;border-radius:16px;}
  .lf-modal__title{font-size:1.45rem;}
  .lf-badge{width:46px;height:46px;border-radius:12px;}
  .lf-field input{padding:13px 14px;}
  .lf-submit{padding:15px 16px;}
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .lf-overlay,.lf-modal{transition:none;}
  .lf-modal{transform:none;}
}
