/* Building Real Estate Legacies — navy and gold visitor popup theme.
   Applies to both Home and Credit Doctor. Form markup, fields, and submission behavior unchanged. */
.vb-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  background: rgba(3, 17, 33, .76);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.vb-dialog {
  position: relative;
  width: min(100%, 480px);
  max-height: min(92vh, 840px);
  overflow: auto;
  background: linear-gradient(135deg, #082744 0%, #113b64 100%);
  color: #ffffff;
  border: 2px solid #e5b64d;
  border-radius: 16px;
  box-shadow: 0 20px 85px rgba(0,0,0,.45);
  font: 15px/1.45 system-ui, -apple-system, Segoe UI, sans-serif;
  padding: 26px;
  box-sizing: border-box;
  color-scheme: dark;
}
.vb-dialog * { box-sizing: border-box; }
.vb-close {
  position: absolute;
  right: 12px;
  top: 10px;
  border: 1px solid #e5b64d;
  border-radius: 8px;
  background: #092947;
  color: #fff;
  font-size: 26px;
  line-height: 1;
  padding: 3px 9px;
  cursor: pointer;
}
.vb-close:hover, .vb-close:focus-visible { background: #e5b64d; color: #092947; }
.vb-dialog h2 { font-size: 24px; line-height: 1.18; margin: 0 35px 7px 0; color: #f4ce78; }
.vb-dialog h3 { font-size: 18px; margin: 4px 0 12px; color: #ffffff; }
.vb-dialog p { margin: 0 0 14px; }
.vb-intro { color: #f0f4fa; }
.vb-dialog label.vb-label { display: block; font-weight: 600; margin: 12px 0 5px; color: #ffffff; }
.vb-dialog input:not([type=radio]):not([type=checkbox]),
.vb-dialog select {
  width: 100%;
  border: 1px solid #e3bd63;
  border-radius: 7px;
  padding: 11px;
  font: inherit;
  background: #ffffff;
  color: #132a40;
  color-scheme: light;
}
.vb-dialog input:focus-visible, .vb-dialog select:focus-visible,
.vb-dialog button:focus-visible {
  outline: 3px solid #ffd77c;
  outline-offset: 2px;
}
.vb-dialog input[type=radio], .vb-dialog input[type=checkbox] { accent-color: #e5b64d; }
.vb-choices { border: 0; padding: 0; margin: 14px 0; min-width: 0; }
.vb-choices legend { font-weight: 600; margin-bottom: 7px; color: #f4ce78; }
.vb-choice { display: flex; gap: 10px; align-items: flex-start; margin: 9px 0; cursor: pointer; }
.vb-choice input { margin-top: 4px; }
.vb-consent { display: flex; gap: 9px; align-items: flex-start; margin: 14px 0; font-size: 13px; }
.vb-consent input { margin-top: 4px; }
.vb-small { color: #e0e8f2; font-size: 12px; margin-top: 5px; }
.vb-submit {
  border: 1px solid #ffd578;
  background: linear-gradient(#f7d786, #dbaa3d);
  color: #092947;
  padding: 12px 16px;
  border-radius: 8px;
  width: 100%;
  font: 700 15px system-ui, sans-serif;
  cursor: pointer;
}
.vb-submit:hover { background: #ffe1a0; box-shadow: 0 0 0 2px rgba(255,213,120,.2); }
.vb-submit:disabled { opacity: .65; cursor: wait; }
.vb-status { min-height: 20px; font-size: 13px; margin: 10px 0 0; }
.vb-error { color: #ffd6d6; }
.vb-success { color: #c5ffdf; }
.vb-hp { position: absolute!important; width: 1px!important; height: 1px!important; opacity: 0!important; left: -99999px!important; }
.vb-hidden { display: none!important; }
@media (max-width: 480px) { .vb-dialog { padding: 22px 18px; } .vb-dialog h2 { font-size: 22px; } }
