/*
 * Enrolment form on the BRASI partner page.
 *
 * Every text colour is set explicitly with !important because the site's dark
 * mode (palette-enforce.css) forces cream text onto every element. Each ground
 * here has its own pair: dark text on white fields, white on navy, navy on gold.
 */

.brasi-enrol {
  background: #f4f6fc;
  padding: 48px 20px 64px;
  font-family: 'Montserrat', sans-serif;
  color: #1e2a38 !important;

  /* Follows the page: English reads left to right, Arabic right to left. */
  direction: inherit;
  text-align: start;
}

.brasi-enrol-inner {
  max-width: 760px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
  padding: 32px 28px;
}

.brasi-enrol .brasi-enrol-title,
.brasi-enrol .brasi-enrol-lead,
.brasi-enrol .brasi-enrol-consent,
.brasi-enrol .brasi-enrol-field > span {
  color: #1e2a38 !important;
}

.brasi-enrol .brasi-enrol-title {
  font-size: 1.6rem;
  font-weight: 700;
  margin: 0 0 12px;
}

.brasi-enrol .brasi-enrol-lead {
  color: #5a6b82 !important;
  margin: 0 0 24px;
  line-height: 1.6;
}

.brasi-enrol-form {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .brasi-enrol-form {
    grid-template-columns: 1fr 1fr;
  }
  .brasi-enrol-field--wide,
  .brasi-enrol-consent,
  .brasi-enrol-submit {
    grid-column: 1 / -1;
  }
}

.brasi-enrol-field {
  display: grid;
  gap: 6px;
}

.brasi-enrol-field > span {
  font-size: 0.9rem;
  font-weight: 600;
}

.brasi-enrol .brasi-enrol-field input,
.brasi-enrol .brasi-enrol-field select,
.brasi-enrol .brasi-enrol-field textarea {
  color: #1e2a38 !important;
  background: #ffffff !important;
  border: 2px solid #d5dce8;
  border-radius: 8px;
  padding: 12px 14px;
  font: inherit;
  font-size: 0.95rem;
  width: 100%;
}

.brasi-enrol .brasi-enrol-field input:focus,
.brasi-enrol .brasi-enrol-field select:focus,
.brasi-enrol .brasi-enrol-field textarea:focus {
  outline: 3px solid rgba(0, 32, 91, 0.25);
  border-color: #00205b;
}

.brasi-enrol-consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 0.9rem;
  line-height: 1.5;
}

.brasi-enrol-consent input {
  margin-top: 4px;
  width: 18px;
  height: 18px;
}

/* The honeypot is off-screen rather than display:none, so screen readers skip it too. */
.brasi-enrol .brasi-enrol-hp {
  position: absolute !important;
  left: -10000px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.brasi-enrol .brasi-enrol-submit {
  background: #ffb400 !important;
  color: #00205b !important;
  border: 2px solid #ffb400;
  border-radius: 8px;
  padding: 14px 18px;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  justify-self: start;
}

.brasi-enrol .brasi-enrol-submit:hover {
  background: #e5a200 !important;
  border-color: #e5a200;
}

.brasi-enrol .brasi-enrol-success {
  background: #dcfce7;
  color: #14532d !important;
  border-radius: 8px;
  padding: 16px 18px;
  font-weight: 600;
}

.brasi-enrol .brasi-enrol-errors {
  background: #fee2e2;
  color: #7f1d1d !important;
  border-radius: 8px;
  padding: 14px 18px;
  margin-bottom: 16px;
}

.brasi-enrol .brasi-enrol-errors p,
.brasi-enrol .brasi-enrol-errors li {
  color: #7f1d1d !important;
}

.brasi-enrol .brasi-enrol-errors ul {
  margin: 6px 0 0 18px;
}
