.form{ padding:4px; }
.fieldset{ position:relative; margin-bottom:18px; }
.label{ display:block; margin:0 0 6px 2px; font-weight:700; font-size:16px; }
.input{
  width:90%; font-size:16px; padding:12px 14px;
  border:1px solid var(--stroke); border-radius:14px;
  outline:none; transition:border-color .15s ease; background:#fff;
}
.input::placeholder{ font-size:16px; color:#9aa49d; }
.input:focus{ border-color:#94c5a0; }
.input.error{ border-color:#c62828; background:#fff7f7; }

/* подсказка об ошибке */
.hint{
  display:none; position:absolute; left:12px; top:100%;
  margin-top:6px; z-index:2; background:#c62828; color:#fff;
  font-size:12px; line-height:1.3; padding:6px 8px; border-radius:8px; box-shadow:var(--shadow);
}
.input.error + .hint{ display:block; }
.hint::after{
  content:""; position:absolute; top:-6px; left:10px;
  border-width:6px; border-style:solid;
  border-color:transparent transparent #c62828 transparent;
}
