/* Политика конфиденциальности и форма обратной связи */
.legal { max-width: 760px; padding: var(--sp-5) 0 var(--sp-6); }
.legal h1 { margin-bottom: var(--sp-2); }
.legal .prose h2 { margin-top: var(--sp-6); }
.contact-form { display: grid; gap: var(--sp-4); margin-top: var(--sp-5); }
.contact-form .field { display: grid; gap: var(--sp-1); font-weight: 600; }
.contact-form input, .contact-form textarea {
  width: 100%; padding: 10px 12px; border: 1px solid var(--c-border); border-radius: 8px;
  background: var(--c-surface); color: var(--c-text); font: inherit; font-weight: 400; box-sizing: border-box;
}
.contact-form textarea { resize: vertical; min-height: 9rem; }
.contact-form input:focus, .contact-form textarea:focus { outline: 2px solid var(--c-link); outline-offset: 1px; border-color: transparent; }
.contact-form [aria-invalid="true"] { border-color: var(--c-warning); }
.contact-form button[disabled] { opacity: .6; cursor: wait; }
.contact-form p { margin: 0; }
.contact-form__note { font-size: var(--fs-sm); }
.contact-form__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact__msg { padding: var(--sp-3) var(--sp-4); border-radius: var(--radius); background: var(--c-note-bg); }
.contact__msg--ok { background: var(--c-ok-bg, #e8f5ec); color: var(--c-ok, #1e8e3e); font-weight: 600; }
.contact__msg--bad { background: var(--c-warning-bg); color: var(--c-warning); }
