/* SINTRIMMOC — Página pública de filiação */
.filiacao-page { background:#f6f7f9; padding:70px 0; }
.filiacao-hero { background:linear-gradient(135deg,#111827,#243044 70%,#b60707 140%); color:#fff; border-radius:18px; padding:36px; margin-bottom:28px; }
.filiacao-hero .tag { display:inline-flex; background:rgba(255,255,255,.12); padding:7px 14px; border-radius:999px; font-weight:700; font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; }
.filiacao-hero h1 { color:#fff; font-size:34px; font-weight:800; margin-bottom:10px; }
.filiacao-hero p { color:rgba(255,255,255,.82); max-width:820px; margin:0; }
.filiacao-card { background:#fff; border:1px solid #e5e7eb; border-radius:18px; box-shadow:0 10px 30px rgba(15,23,42,.06); overflow:hidden; margin-bottom:22px; }
.filiacao-card-header { padding:22px 26px; border-bottom:1px solid #eef0f3; background:#fff; }
.filiacao-card-header h2 { font-size:20px; font-weight:800; margin:0; color:#1f2937; }
.filiacao-card-header p { color:#6b7280; margin:4px 0 0; }
.filiacao-card-body { padding:26px; }
.filiacao-page .form-label { font-weight:700; color:#374151; }
.filiacao-page .form-control, .filiacao-page .form-select { min-height:44px; border-radius:10px; border-color:#dfe3ea; }
.filiacao-page textarea.form-control { min-height:120px; }
.filiacao-dependente { border:1px dashed #d1d5db; border-radius:14px; padding:16px; background:#fbfcfd; margin-bottom:14px; }
.filiacao-consentimento { background:#fff7ed; border:1px solid #fed7aa; border-radius:16px; padding:18px; }
.filiacao-submit { border-radius:12px; padding:13px 24px; font-weight:800; }
@media (max-width: 767px){ .filiacao-hero{padding:26px;} .filiacao-hero h1{font-size:28px;} .filiacao-card-body{padding:20px;} }

/* Melhorias de experiência do formulário */
.filiacao-form-note {
  display:flex;
  gap:10px;
  align-items:flex-start;
  background:#fff;
  border:1px solid #e5e7eb;
  border-left:4px solid #b60707;
  border-radius:14px;
  padding:14px 16px;
  margin-bottom:22px;
  color:#4b5563;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.filiacao-form-note i { color:#b60707; font-size:18px; margin-top:1px; }
.filiacao-field-status {
  min-height:18px;
  margin-top:5px;
  font-size:12px;
  line-height:1.35;
  color:#6b7280;
}
.filiacao-field-status.is-loading { color:#92400e; }
.filiacao-field-status.is-success { color:#047857; }
.filiacao-field-status.is-error { color:#b91c1c; }
.filiacao-page .form-control.is-loading {
  background-image:linear-gradient(90deg, transparent, rgba(182,7,7,.08), transparent);
  background-size:200% 100%;
  animation:filiacaoLoading 1.1s linear infinite;
}
.filiacao-page .form-control.is-valid,
.filiacao-page .form-select.is-valid { border-color:#10b981; }
.filiacao-page .form-control.is-invalid,
.filiacao-page .form-select.is-invalid { border-color:#dc2626; }
.filiacao-uf-naturalidade { max-width:180px; }
@keyframes filiacaoLoading { from { background-position:200% 0; } to { background-position:-200% 0; } }
@media (max-width: 767px){
  .filiacao-form-note { font-size:14px; }
  .filiacao-uf-naturalidade { max-width:none; }
}

/* Campo invisível usado como honeypot antirobô */
.form-antibot-field {
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.btn-submit-public.is-sending,
.filiacao-submit.is-sending {
  opacity:.72;
  pointer-events:none;
}
