/* FLG Qualifier Popup — modeled on the CALG qualifier popup, in FLG colors. */
.flg-qualifier-overlay {
  position: fixed; inset: 0; z-index: 100003;
  background: rgba(8, 20, 47, .68);
  display: flex; align-items: center; justify-content: center; padding: 20px;
  opacity: 0; transition: opacity .16s ease;
}
.flg-qualifier-overlay[hidden] { display: none; }
.flg-qualifier-overlay.is-open { opacity: 1; }
html.flg-qp-lock, html.flg-qp-lock body { overflow: hidden; }

.flg-qualifier-modal {
  position: relative; background: #fff; width: 100%; max-width: 640px; max-height: 90vh; max-height: 90dvh;
  overflow-y: auto; overscroll-behavior: contain; border-radius: 16px; padding: 32px 32px 28px;
  box-shadow: 0 24px 60px rgba(13, 31, 78, .35); border-top: 6px solid #C8343B;
  transform: translateY(8px); transition: transform .16s ease;
  font-family: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 16px; color: #1A1F2B;
}
.flg-qualifier-overlay.is-open .flg-qualifier-modal { transform: none; }

html body .flg-qualifier-close {
  position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid rgba(13, 31, 78, .15); background: #fff; color: #0D1F4E;
  font-size: 24px; line-height: 1; cursor: pointer; padding: 0; box-shadow: none; min-height: 0;
}
html body .flg-qualifier-close:hover { background: #0D1F4E; color: #fff; }

.flg-qualifier-header { border-bottom: 1px solid rgba(13, 31, 78, .12); padding-bottom: 18px; margin-bottom: 20px; }
html body .flg-qualifier-header h2 { font-family: inherit; font-size: 26px; font-weight: 700; line-height: 1.2; color: #0D1F4E; margin: 0 0 8px; padding-right: 44px; }
html body .flg-qualifier-header p { font-size: 16px; line-height: 1.55; color: #5A6275; margin: 0; }

/* Ninja Forms inside the popup, and forms placed on a page with [flg_steps] */
.flg-qualifier-modal .nf-form-title,
.flg-steps .nf-form-title { display: none; }
.flg-qualifier-modal .nf-form-fields-required,
.flg-steps .nf-form-fields-required { font-size: 13px; color: #5A6275; margin-bottom: 12px; }
.flg-qualifier-modal .nf-field-label label,
.flg-steps .nf-field-label label { font-weight: 700; color: #0D1F4E; font-size: 14px; }
.flg-qualifier-modal input[type="text"], .flg-qualifier-modal input[type="email"], .flg-qualifier-modal input[type="tel"],
.flg-qualifier-modal select, .flg-qualifier-modal textarea,
.flg-steps input[type="text"], .flg-steps input[type="email"], .flg-steps input[type="tel"],
.flg-steps select, .flg-steps textarea {
  border: 1px solid #CDD3E1 !important; border-radius: 6px !important; padding: 12px 14px !important;
  background: #fff !important; font-family: inherit; font-size: 16px !important; color: #1A1F2B !important; width: 100%;
}
.flg-qualifier-modal input:focus, .flg-qualifier-modal select:focus, .flg-qualifier-modal textarea:focus,
.flg-steps input:focus, .flg-steps select:focus, .flg-steps textarea:focus {
  border-color: #0D1F4E !important; outline: 2px solid rgba(13, 31, 78, .15);
}
.flg-qualifier-modal textarea,
.flg-steps textarea { min-height: 100px !important; height: 100px; }
.flg-qualifier-modal .field-wrap input[type="submit"], .flg-qualifier-modal .field-wrap input[type="button"],
.flg-steps .field-wrap input[type="submit"], .flg-steps .field-wrap input[type="button"] {
  background: #C8343B !important; color: #fff !important; border: 0 !important; border-radius: 6px !important;
  padding: 16px 28px !important; font-weight: 700 !important; font-size: 17px !important; width: 100%; cursor: pointer; height: auto !important;
}
.flg-qualifier-modal .field-wrap input[type="submit"]:hover,
.flg-steps .field-wrap input[type="submit"]:hover { background: #A92830 !important; }
.flg-qualifier-modal .checkbox-wrap .nf-field-label label,
.flg-steps .checkbox-wrap .nf-field-label label { font-weight: 400; font-size: 12px; line-height: 1.5; color: #5A6275; }
.flg-qualifier-modal .nf-error-msg,
.flg-steps .nf-error-msg { color: #C8343B; }
.flg-qualifier-modal .nf-response-msg,
.flg-steps .nf-response-msg { font-size: 17px; line-height: 1.6; color: #0D1F4E; }

/* Form placed on a page */
.flg-steps .nf-form-cont { margin: 0; }
.flg-steps { scroll-margin-top: 120px; }

@media (max-width: 520px) {
  .flg-qualifier-overlay { padding: 10px; align-items: flex-end; }
  .flg-qualifier-modal { padding: 26px 20px 22px; max-height: 94vh; max-height: 94dvh; border-radius: 16px 16px 12px 12px; }
  html body .flg-qualifier-header h2 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .flg-qualifier-overlay, .flg-qualifier-modal { transition: none; }
}
