.narrow { width: min(560px, calc(100% - 32px)); }
.single { display: block; }

.callback-form { display: grid; gap: 16px; }
.callback-form label { display: grid; gap: 6px; }
.callback-form label[hidden] { display: none; }
.callback-form label > span { color: var(--muted); font-size: 0.92rem; }
.voice-note { color: var(--muted); font-size: 0.84rem; }

.callback-form input[type="text"],
.callback-form input[type="tel"],
.callback-form select,
.callback-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  background: white;
  border-radius: 12px;
  padding: 12px 14px;
  font: inherit;
  color: var(--ink);
}
.callback-form textarea { min-height: 96px; resize: vertical; }

.callback-form .consent {
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 10px;
}
.callback-form .consent input { margin-top: 4px; }
.callback-form .consent span { color: var(--ink); }

.callback-form button { justify-self: start; }

.trap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.result { margin: 0; min-height: 1.4em; }
.result.ok { color: var(--forest); }
.result.error { color: var(--danger); }
