.of-wrap { max-width: 860px; margin: 32px auto; padding: 0 16px; }
.of-card { border: 1px solid #e0e4ec; border-radius: 18px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,.06); background: #fff; }
.of-hero { padding: 22px 22px 18px; background: linear-gradient(135deg, #2b4a85, #1f3b79); color: #fff; }
.of-hero h1, .of-header-title { margin: 0; font-size: 22px; line-height: 1.25; font-weight: 700; color:#fff !important; }
.of-hero p, .of-header-desc { margin: 8px 0 0; opacity: .95; color:rgba(255,255,255,.94) !important; }
.of-body { padding: 18px 22px 20px; }
.of-body .mform { margin: 0; }
.of-body .fitem { margin-bottom: 14px; }
.of-body .btn-primary { min-width: 160px; }
.of-body .fitem_actionbuttons .felement { text-align: center; }

.of-modal-backdrop { position: fixed; inset: 0; background: rgba(15, 23, 42, 0.55); z-index: 1050; display: flex; align-items: center; justify-content: center; padding: 18px; }
.of-modal { width: 100%; max-width: 560px; background: #fff; border-radius: 18px; box-shadow: 0 20px 60px rgba(0,0,0,.25); overflow: hidden; }
.of-modal-head { padding: 18px 18px 12px; background: #f3f6ff; border-bottom: 1px solid #e0e4ec; }
.of-modal-head h2 { margin: 0; font-size: 18px; }
.of-modal-body { padding: 14px 18px 16px; }
.of-modal-actions { padding: 0 18px 18px; text-align: right; }

.of-wrap .req,
.of-wrap .req .icon,
.of-wrap .req i,
.of-wrap .req span,
.of-wrap .icon.fa-exclamation-circle,
.of-wrap .fa-exclamation-circle,
.of-wrap .icon.fa-exclamation-triangle,
.of-wrap .fa-exclamation-triangle,
.of-wrap .fa-circle-exclamation,
.of-wrap .icon.fa-circle-exclamation,
.of-wrap abbr.initialism.text-danger {
  display: none !important;
}

.of-wrap .fitem.required .col-form-label:after,
.of-wrap .fitem.required label:after,
.of-wrap .fitem.required .fitemtitle label:after {
  content: " *";
  color: #d00000;
  font-weight: 700;
}

.of-wrap .fitem .form-control-feedback,
.of-wrap .fitem .invalid-feedback,
.of-wrap .fitem .error,
.of-wrap .fitem .ferror {
  display: block !important;
  margin-top: 8px;
  font-weight: 600;
}

.of-step-note {
  margin: 0 0 16px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f6f8ff;
  border: 1px solid #e0e6ff;
  color: #26324a;
  font-weight: 500;
}


/* v118 readability and compact form layout */
.of-wrap .mform .fitem .col-form-label,
.of-wrap .mform .fitem .fitemtitle label,
.of-wrap .mform .fitem label {
  color: #111827 !important;
  font-size: 15.5px !important;
  font-weight: 500 !important;
}

@media (min-width: 768px) {
  .of-wrap .mform .fitem.row {
    align-items: center;
  }
  .of-wrap .mform .fitem .col-md-3 {
    flex: 0 0 24% !important;
    max-width: 24% !important;
  }
  .of-wrap .mform .fitem .col-md-9 {
    flex: 0 0 76% !important;
    max-width: 76% !important;
  }
}

.of-wrap .mform input[type="radio"] {
  width: 1.15rem !important;
  height: 1.15rem !important;
  min-width: 1.15rem !important;
  margin-right: 8px !important;
  accent-color: #0b66c3;
  outline: 1px solid #374151;
  outline-offset: 1px;
}

.of-wrap .mform .form-check,
.of-wrap .mform .radio {
  margin-bottom: 10px;
}

.of-final-action {
  max-width: 720px;
  margin: 18px auto 28px;
  text-align: center;
}
.of-final-action .btn {
  font-size: 17px;
  font-weight: 700;
  padding: 14px 22px;
  border-radius: 12px;
}


.of-final-body {
  position: relative;
  min-height: 210px;
  padding-bottom: 54px;
}
.of-final-info {
  max-width: 680px;
  margin: 42px auto 0;
  text-align: center;
  color: #111827;
  font-size: 16px;
  font-weight: 500;
}
.of-final-home {
  position: absolute;
  right: 22px;
  bottom: 18px;
  font-size: 13.5px;
}
.of-home-link,
.of-home-link:visited {
  color: #2b4a85;
  text-decoration: none;
  font-weight: 600;
}
.of-home-link:hover {
  text-decoration: underline;
}
