.school-communications-form label,
.school-communications-form p {
  display: grid;
  gap: .4rem;
}

.school-communications-form p { margin: 0 0 .9rem; }

.school-communications-form label,
.school-communications-form p > label {
  color: #334155;
  font-size: .8rem;
  font-weight: 800;
}

.school-communications-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.school-communications-form select,
.school-communications-form textarea {
  width: 100%;
  min-height: 2.75rem;
  border: 1.5px solid #94a3b8;
  border-radius: .65rem;
  background: #fff;
  padding: .65rem .75rem;
  color: #0f172a;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, .08);
}

.school-communications-form textarea { min-height: 7rem; resize: vertical; }

.school-communications-form input[type="file"] {
  width: 100%;
  border: 1.5px dashed #94a3b8;
  border-radius: .65rem;
  background: #f8fafc;
  padding: .5rem;
  color: #334155;
}

.school-communications-form input[type="file"]::file-selector-button {
  margin-right: .75rem;
  border: 1px solid #64748b;
  border-radius: .45rem;
  background: #e2e8f0;
  padding: .45rem .7rem;
  color: #0f172a;
  font-weight: 800;
}

.school-communications-form input[type="checkbox"],
.school-communications-form input[type="radio"] {
  width: 1.1rem;
  height: 1.1rem;
  accent-color: #0f766e;
}

.school-communications-form input:focus,
.school-communications-form select:focus,
.school-communications-form textarea:focus {
  border-color: #0f766e;
  outline: 3px solid rgba(20, 184, 166, .22);
  outline-offset: 1px;
  box-shadow: 0 0 0 1px #0f766e, inset 0 1px 2px rgba(15, 23, 42, .08);
}

.school-communications-form .helptext { color: #64748b; font-size: .75rem; line-height: 1.4; }

.school-communications-form .errorlist {
  margin: 0;
  padding: .55rem .7rem;
  border: 1px solid #fecaca;
  border-radius: .5rem;
  background: #fef2f2;
  color: #b91c1c;
  font-size: .75rem;
  font-weight: 700;
  list-style: none;
}
