/* Минимальные стили поверх классов вашего сайта (form-field, btn и т.д.) */
.uf-form .uf-error { color: #d33; font-size: 13px; line-height: 1.3; margin-top: 4px; }
.uf-form .uf-error[hidden] { display: none; }
.uf-form .uf-error--general { margin: 0 0 8px; }
.uf-form .form-field.has-error input,
.uf-form .form-field.has-error textarea { border-color: #d33; }
.uf-form .form-field--checkbox label { display: flex; align-items: flex-start; gap: 8px; }
.uf-form .uf-req { color: #d33; }
.uf-form .uf-captcha img { display: block; margin-bottom: 8px; }
.uf-form.is-loading button[type="submit"] { opacity: .65; pointer-events: none; }
.uf-form .uf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
/* Сообщение об успехе: показываем при is-success независимо от стилей сайта */
.uf-form.is-success .form-success { display: flex !important; }

/* Сетка в 2 колонки: поля с классом w50 стоят парами, всё остальное на всю ширину */
.uf-form.form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.uf-form.form-grid > * { grid-column: 1 / -1; min-width: 0; }
.uf-form.form-grid > .form-field.w50 { grid-column: auto; }
.uf-form .form-field.w50 input,
.uf-form .form-field.w50 textarea,
.uf-form .form-field.w50 select { width: 100%; }
@media (max-width: 480px) {
    .uf-form.form-grid > .form-field.w50 { grid-column: 1 / -1; }
}