/* ============================================================
   FAMILY FIRST — Estilo do pop-up de qualificação
   ============================================================ */
.ff-modal{
  position:fixed;inset:0;z-index:9999;display:none;
  align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto;
}
.ff-modal.is-open{display:flex}
.ff-modal__overlay{
  position:fixed;inset:0;background:rgba(32,48,31,.55);backdrop-filter:blur(3px);
}
.ff-modal__card{
  position:relative;z-index:1;width:100%;max-width:480px;margin:auto;
  background:#fff;border-radius:22px;padding:34px 30px 30px;
  box-shadow:0 30px 80px rgba(45,82,51,.28);
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  animation:ffpop .35s cubic-bezier(.25,.8,.35,1);
}
@keyframes ffpop{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
.ff-modal__x{
  position:absolute;top:14px;right:16px;background:none;border:none;cursor:pointer;
  font-size:28px;line-height:1;color:#7f7f7f;transition:color .2s;
}
.ff-modal__x:hover{color:#2d5233}
.ff-modal__title{
  font-size:1.5rem;font-weight:700;color:#2d5233;margin:0 0 6px;letter-spacing:-.01em;
}
.ff-modal__sub{font-size:.95rem;color:#5f6b64;margin:0 0 22px;line-height:1.55}

.ff-form{display:flex;flex-direction:column;gap:14px}
.ff-field{display:flex;flex-direction:column;gap:6px}
.ff-field>span{font-size:.85rem;font-weight:600;color:#33403a}
.ff-field input,.ff-field select{
  font-family:inherit;font-size:1rem;color:#33403a;background:#f6f7f6;
  border:1.5px solid #e6ebe5;border-radius:12px;padding:13px 14px;transition:border-color .2s,background .2s;
  width:100%;
}
.ff-field input:focus,.ff-field select:focus{
  outline:none;border-color:#81c37d;background:#fff;
}
.ff-consent{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:#5f6b64;line-height:1.45;cursor:pointer}
.ff-consent input{margin-top:3px;width:18px;height:18px;flex-shrink:0;accent-color:#2d5233}
.ff-error{color:#c0392b;font-size:.85rem;margin:2px 0 0}
.ff-submit{
  margin-top:6px;font-family:inherit;font-size:1.05rem;font-weight:600;cursor:pointer;
  background:#2d5233;color:#fff;border:none;border-radius:60px;padding:16px 24px;
  transition:background .25s,transform .2s;box-shadow:0 12px 30px rgba(45,82,51,.26);
}
.ff-submit:hover{background:#24421f;transform:translateY(-2px)}
.ff-submit:disabled{opacity:.7;cursor:default;transform:none}

@media (max-width:480px){
  .ff-modal__card{padding:28px 20px 24px;border-radius:18px}
  .ff-modal__title{font-size:1.3rem}
}
@media (prefers-reduced-motion:reduce){
  .ff-modal__card{animation:none}
}
