/* Landing page contact form. Uses the landing tokens from index.php :root (--line, --ink, --mute, --cyan, --blue, --ember).
   The base input/select/textarea/label styles stay in index.php; this file only adds what the new form needs. */

.cf-full {
  grid-column: 1 / -1;
}

.cf-optional {
  opacity: .7;
}

/* .cf prefix: index.php has `.two p { color: var(--mute); margin-bottom: 18px }`, which would win otherwise */
.cf .cf-error {
  margin: 8px 0 0;
  color: var(--ember);
  font-size: 14px;
  line-height: 1.4;
}

.cf .cf-error:empty {
  display: none;
}

.cf [aria-invalid="true"] {
  border-color: var(--ember);
}

.cf-checks {
  display: grid;
  gap: 18px;
}

.cf-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--mute);
  cursor: pointer;
}

/* index.php styles every input as a full-width underline field; checkboxes need their own size */
.cf-check input {
  width: 18px;
  height: 18px;
  flex: none;
  margin-top: 2px;
  padding: 0;
  border: 0;
  accent-color: var(--blue);
  cursor: pointer;
}

.cf-check input:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 3px;
}

.cf-check a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cf-check a:hover {
  color: var(--cyan);
}

/* honeypot: off screen, out of the tab order, hidden from screen readers */
.cf-hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.cf .cf-status {
  grid-column: 1 / -1;
  min-height: 1.4em;
  margin: 0;
  color: var(--cyan);
}

.cf .cf-status.is-error {
  color: var(--ember);
}

.cf .cta:disabled {
  opacity: .6;
  cursor: progress;
  transform: none;
}
