.field{margin-bottom:22px;max-width:38em;border-bottom:1px solid var(--rule);padding-bottom:22px}
.field:last-of-type{border-bottom:0}
.field label,.qlabel{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.hint{font-size:14px;color:var(--muted);margin:6px 0 0;line-height:1.45}
input[type=text],input[type=email],select,textarea{width:100%;font-family:var(--sans);font-size:17px;color:var(--ink);background:transparent;border:1px solid var(--rule);border-radius:2px;padding:11px 12px;transition:border-color .12s}
@media(max-width:820px){input[type=text],input[type=email],select,textarea{font-size:16px}}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.err input,.err select,.err textarea{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.errmsg{display:none;font-size:14px;color:var(--red);margin-top:6px}
.err .errmsg{display:block}
.opts button:hover{border-color:var(--ink)}
.opts button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.consents{margin:30px 0 26px;max-width:38em;border-top:1px solid var(--ink);padding-top:22px}
.cline{display:flex;gap:12px;margin-bottom:14px;font-size:15px;line-height:1.5;cursor:pointer}
.cline input{margin:3px 0 0;flex:none;width:17px;height:17px;accent-color:var(--ink)}
.cline.opt{color:var(--muted)}
.consents.err .cline{color:var(--red)}
.submit{font-family:var(--sans);font-size:16px;font-weight:500;color:var(--paper);background:var(--ink);border:1px solid var(--ink);border-radius:2px;padding:14px 30px;cursor:pointer;min-height:50px;transition:opacity .12s}
.submit:hover{opacity:.85}
.done-panel.on{display:block;animation:fade .25s ease-out}
.done-panel .acts{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0;font-size:15px}
/* Панель подтверждения появляется на месте формы — отступ повторяет её ритм */
.done-panel{margin-top:40px}
.senderr{border:1px solid var(--red);border-radius:2px;padding:20px 22px;max-width:38em;margin-bottom:20px}
.senderr .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.senderr .txt{font-family:var(--sans);font-size:15px;line-height:1.55;color:var(--ink);margin:0}
.senderr .alt{font-family:var(--sans);font-size:14px;color:var(--muted);margin:12px 0 0;padding-top:12px;border-top:1px solid var(--rule)}
.codeform{display:flex;gap:8px;align-items:center;margin:14px 0 0}
.codeform input{width:12.5em;padding:7px 9px;font-family:var(--mono);font-size:13px;border:1px solid var(--rule);background:transparent;color:var(--ink)}
.codeform button{padding:7px 14px;font-family:var(--mono);font-size:13px;border:1px solid var(--rule);background:transparent;color:var(--ink);cursor:pointer}
