.consent-row .consent-checkbox {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.18rem;
  border: 1px solid #8999a7;
  border-radius: 0.22rem;
  accent-color: var(--navy);
  flex: 0 0 auto;
}

.consent-row .consent-checkbox:focus-visible {
  outline: 3px solid var(--amber);
  outline-offset: 3px;
}

.contact-form input[aria-invalid="true"],
.contact-form textarea[aria-invalid="true"] {
  border-color: var(--red);
}

.contact-form button:disabled {
  cursor: wait;
}

/*
 * Data tables
 *
 * The original sticky column headers used the height of the site header as
 * their `top` offset. Because each table wrapper is also a horizontal scroll
 * container, browsers treated that offset as space inside the wrapper and
 * rendered a large empty band above the table. These tables do not scroll
 * vertically, so a sticky header provides no benefit here.
 */
.evidence-table-wrap,
.regional-table-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.evidence-data-table,
.regional-data-table {
  margin: 0;
}

.evidence-data-table thead th,
.regional-data-table thead th {
  position: static;
  top: auto;
  z-index: auto;
}

.evidence-data-table caption,
.regional-data-table caption {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
  white-space: nowrap;
}

@media (min-width: 821px) {
  /* Give parliamentary contacts enough room to avoid orphaned email letters. */
  .regional-data-table thead th:nth-child(4) {
    width: 26%;
  }

  .regional-data-table thead th:nth-child(5) {
    width: 24%;
  }

  .regional-email-link {
    white-space: nowrap;
    font-size: 0.76rem;
  }
}

@media (max-width: 820px) {
  .evidence-table-wrap,
  .regional-table-wrap {
    overflow: visible;
  }
}
