/* Контактная форма и страницы результата. Форма уходит без JS:
   POST /contact → nginx → приём веб-обращений supportbot → 303 на страницу результата. */

.contact__form { display: grid; gap: 1.25rem; margin-top: 1.5rem; }
.field { display: grid; gap: .4rem; }
.field label, .field legend {
  font-family: var(--mono);
  font-size: .95rem;
  color: var(--phosphor-dim);
}
.field__hint { font-size: .9rem; color: var(--muted); margin: 0; }

.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 3rem;
  padding: .7rem .85rem;
  font: inherit;
  font-size: 1rem;
  color: var(--text);
  background: var(--deck);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.field textarea { min-height: 9rem; resize: vertical; }
.field input:focus-visible,
.field select:focus-visible,
.field textarea:focus-visible { border-color: var(--phosphor); }
.field input::placeholder,
.field textarea::placeholder { color: #6f9a7d; }

.consent {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .75rem;
  align-items: start;
  font-size: .95rem;
  color: var(--text);
}
.consent input { width: 1.35rem; height: 1.35rem; margin: .2rem 0 0; accent-color: var(--reactor); }

/* Ловушка для ботов: человек её не видит и не попадает в неё с клавиатуры. */
.trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

button.btn { border: 0; cursor: pointer; justify-self: start; }

@media (forced-colors: active) {
  .field input, .field select, .field textarea { border: 1px solid CanvasText; }
}
