/* NILS Forms – Open Sans, Crimson (verify title), consistent colors (#003B5C, #B8860B, #1F3E5A) */
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&display=swap");
.nmsf-wrap,
.nmsf-verify,
.nmsf-verify-results-wrap {
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.nmsf-wrap { max-width: 980px; margin: 0 auto; }
.nmsf-progress { height: 8px; background: #e8eef3; border-radius: 999px; overflow: hidden; margin-bottom: 18px; }
.nmsf-progress-bar { height: 100%; width: 0%; background: #003B5C; }

.nmsf-step { display: none; background: #fff; border: 1px solid #e6e6e6; border-radius: 14px; padding: 22px; }
.nmsf-step-title { margin: 0 0 6px; font-size: 22px; }
.nmsf-step-desc { margin: 0 0 18px; color: #5a6772; }

.nmsf-grid { display: flex; flex-wrap: wrap; gap: 14px; }
.nmsf-col-half { flex: 1 1 calc(50% - 14px); min-width: 240px; }
.nmsf-col-full { flex: 1 1 100%; }

.nmsf-label { display: block; font-weight: 600; margin-bottom: 6px; }
.nmsf-req { color: #B8860B; }

.nmsf-input, .nmsf-select, .nmsf-textarea {
  width: 100%;
  border: 1px solid #d7dde3;
  border-radius: 10px;
  padding: 11px 12px;
  outline: none;
}
.nmsf-textarea { min-height: 110px; resize: vertical; }

.nmsf-help { display:block; margin-top:6px; color:#6b7785; font-size:12px; }

.nmsf-check { display:flex; gap:10px; align-items:flex-start; }
.nmsf-check input { margin-top:4px; }

.nmsf-nav { display:flex; gap:10px; justify-content:flex-end; margin-top: 18px; }
.nmsf-btn,
.nmsf-verify-btn,
.nmsf-verify-profile-btn,
.nmsf-verify-page-link {
  cursor: pointer;
}
.nmsf-btn {
  border: 1px solid #d7dde3;
  background: #fff;
  padding: 10px 14px;
  border-radius: 12px;
}
.nmsf-submit { background: #003B5C; border-color: #003B5C; color: #fff; }
.nmsf-btn:hover { opacity: 0.95; }

.nmsf-message { margin-top: 14px; padding: 12px 14px; border-radius: 12px; }
.nmsf-message.ok { background: #eef8f1; border: 1px solid #bfe5c7; color: #1f5d2a; }
.nmsf-message.err { background: #fff2f2; border: 1px solid #f0b7b7; color: #7c1f1f; }

.nmsf-honeypot { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.nmsf-invalid { border-color: #d14b4b !important; }

/* Find A Distinguished Lawyer — verify search form */
.nmsf-verify {
  max-width: 720px;
  margin: 0 auto;
  padding: 24px 20px;
  border-radius: 14px;
  border: 1px solid #e6e6e6;
  background: #fff;
}
.nmsf-verify-title {
  margin: 0 0 16px;
  font-family: "Crimson Text", Georgia, serif !important;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a;
  text-align: center;
}
.nmsf-verify-form {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin: 0;
  width: 100%;
}
.nmsf-verify-row {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  gap: 12px;
  align-items: flex-end;
}
.nmsf-verify-group-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 6px;
  color: #333;
}
.nmsf-verify-row-name {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: 12px;
  width: auto;
  max-width: 100%;
}
.nmsf-verify-name-col {
  display: flex;
  flex-direction: column;
  flex: 0 1 50%;
  min-width: 0;
}
.nmsf-verify-name-col .nmsf-verify-group-label {
  margin-bottom: 6px;
}
.nmsf-verify-label-empty {
  visibility: hidden;
  user-select: none;
}
.nmsf-verify-label-empty span {
  display: block;
}
.nmsf-verify-name-col input {
  width: 100%;
  box-sizing: border-box;
}
.nmsf-verify-field {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-width: 0;
  font-size: 14px;
}
.nmsf-verify-field .nmsf-verify-group-label {
  margin-bottom: 6px;
}
.nmsf-verify-form input,
.nmsf-verify-form select {
  padding: 10px 12px;
  border-radius: 6px;
  border: 1px solid #d7dde3;
  font-size: 14px;
  width: 100%;
}
.nmsf-verify-form label {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  font-weight: 600;
}
.nmsf-verify-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* Full-line layout: all four inputs in one row */
.nmsf-verify-full-line .nmsf-verify-row-single {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: 12px;
  width: 100%;
}
.nmsf-verify-full-line .nmsf-verify-row-single .nmsf-verify-name-col,
.nmsf-verify-full-line .nmsf-verify-row-single .nmsf-verify-field {
  flex: 1 1 0;
  min-width: 0;
}
.nmsf-verify-full-line .nmsf-verify-row-single .nmsf-verify-name-col {
  max-width: none;
}
.nmsf-verify-actions {
  margin-top: 8px;
}
.nmsf-verify-btn {
  padding: 12px 28px;
  border-radius: 6px;
  border: none;
  background: #1a1a1a;
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;
}
.nmsf-verify-btn:hover {
  background: #333;
  color: #fff;
}
.nmsf-verify-results-wrap {
  max-width: 980px;
  margin: 0 auto;
}
.nmsf-verify-results {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  margin-bottom: 24px;
}
.nmsf-verify-card {
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  padding: 18px;
  background: #fff;
  font-family: inherit;
}
.nmsf-verify-name {
  margin: 0 0 6px;
  font-size: 1.125rem;
  font-weight: 600;
  color: #1F3E5A;
}
.nmsf-verify-meta {
  margin: 0 0 8px;
  color: #5a6772;
  font-size: 0.875rem;
}
.nmsf-verify-extra {
  margin: 0 0 10px;
  font-size: 0.8125rem;
  color: #444;
}
.nmsf-verify-badge-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}
.nmsf-verify-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  background: #1F3E5A;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.nmsf-verify-id {
  font-size: 0.8125rem;
  color: #5a6772;
}
.nmsf-verify-profile-btn {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid #1F3E5A;
  background: #fff;
  color: #1F3E5A;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
}
.nmsf-verify-profile-btn:hover {
  background: #f0f0f0;
  border-color: #1F3E5A;
  color: #1F3E5A;
}
.nmsf-verify-empty {
  padding: 24px;
  text-align: center;
  color: #5a6772;
  font-size: 1rem;
}
.nmsf-verify-pagination {
  margin-top: 24px;
}
.nmsf-verify-pagination-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nmsf-verify-page-link {
  display: inline-block;
  padding: 8px 12px;
  border-radius: 6px;
  border: 1px solid #d7dde3;
  background: #fff;
  color: #1F3E5A;
  font-size: 0.875rem;
  text-decoration: none;
}
.nmsf-verify-page-link:hover {
  background: #e8eef3;
  border-color: #d7dde3;
}
.nmsf-verify-page-current {
  background: #B8860B;
  border-color: #B8860B;
  color: #1F3E5A;
}
.nmsf-verify-page-dots {
  padding: 0 4px;
  color: #5a6772;
  font-size: 0.875rem;
}

.nmsf-verify-row-filters {
  display: flex;
  gap: 12px;
  width: 100%;
}
.nmsf-verify-row-filters .nmsf-verify-field {
  flex: 0 1 50%;
  min-width: 0;
  box-sizing: border-box;
}
