/* Form blocks follow the white entry panels used on the About page. */
.ch-membership-page .membership-layout { background: #f8f9fa; }
.ch-membership-page .membership-layout .entry {
  background: #fff;
  padding: 30px;
  margin: 0 0 28px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.ch-membership-page .membership-form { margin: 0; }
.ch-membership-page .membership-form[hidden] { display: none !important; }
.ch-membership-page .membership-block {
  border: 0;
  min-inline-size: 0;
  width: 100%;
}
.ch-membership-page .membership-block > legend.entry-title {
  float: left;
  width: 100%;
  margin: 0 0 20px;
  padding: 0;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
}
.ch-membership-page .membership-block > .row { clear: both; }
.ch-membership-page .membership-layout .form-label { font-weight: 600; }
.ch-membership-page .membership-layout .form-control,
.ch-membership-page .membership-layout .form-select { min-height: 46px; }
.ch-membership-page .membership-layout textarea.form-control { min-height: 120px; }
.ch-membership-page .membership-layout .form-check-label { line-height: 1.65; }
.ch-membership-page #membership-result { margin: 0; overflow-wrap: anywhere; }
.ch-membership-page #membership-result:empty { display: none; }
.ch-membership-page #membership-result:focus { outline-offset: 5px; }
@media (max-width: 575.98px) {
  .ch-membership-page .membership-layout { padding: 28px 0; }
  .ch-membership-page .membership-layout .entry { padding: 22px 18px; margin-bottom: 22px; }
  .ch-membership-page .membership-block > legend.entry-title { font-size: 24px; }
  .ch-membership-page .membership-layout button[type="submit"] { width: 100%; white-space: normal; }
}

.ch-membership-page .membership-feedback {
  border: 2px solid;
  border-radius: 6px;
  padding: 24px;
  margin-top: 20px !important;
  scroll-margin-top: 110px;
  font-size: 1.05rem;
}
.ch-membership-page .membership-feedback h3 { font-size: 1.5rem; font-weight: 700; margin: 0 0 12px; color: inherit; }
.ch-membership-page .membership-feedback p { margin: 0; }
.ch-membership-page .membership-feedback code { display: block; margin-top: 12px; color: inherit; font-size: .95rem; overflow-wrap: anywhere; }
.ch-membership-page .membership-feedback--success { background: #e8f5ec; border-color: #278148; color: #174e2b; }
.ch-membership-page .membership-feedback--error { background: #fff0ee; border-color: #b23c32; color: #7c261f; }
.ch-membership-page .membership-feedback--pending { background: #fff8df; border-color: #9e791a; color: #624b10; }
@media (max-width: 575.98px) { .ch-membership-page .membership-feedback { padding: 18px; } }

.ch-membership-page #membership-review { scroll-margin-top: 110px; }
.ch-membership-page #membership-review[hidden],
.ch-membership-page #membership-form fieldset[hidden],
.ch-membership-page #membership-form button[hidden] { display: none !important; }
.ch-membership-page .membership-review-facts { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(0, 2fr); gap: 10px 24px; margin: 24px 0; }
.ch-membership-page .membership-review-facts dt { font-weight: 700; }
.ch-membership-page .membership-review-facts dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.ch-membership-page .membership-review-actions { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 575.98px) {
 .ch-membership-page .membership-review-facts { grid-template-columns: 1fr; gap: 4px; }
 .ch-membership-page .membership-review-facts dd { margin-bottom: 12px; }
 .ch-membership-page .membership-review-actions { flex-direction: column; }
}
