/* Форма заявки: поля, согласия, страницы /order, «спасибо», политика. Токены и кнопки из calc.css. */
.wrap.narrow { max-width: 760px; }
.foot a, .note a, .check a { color: var(--accent); }

.fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fgrid .full { grid-column: 1 / -1; }
.field input[type="text"], .field input[type="tel"], .field input[type="email"],
.field input[type="number"], .field input[type="date"], .field textarea, .field select {
  width: 100%; font: 500 14px var(--body); padding: 9px 10px; color: var(--ink); background: var(--bg);
  border: 1px solid var(--line-strong); border-radius: 3px;
}
.field textarea { font-weight: 400; line-height: 1.4; resize: vertical; }
/* calc.css прячет все input[type=file] (кнопка «Открыть STL»); в форме поле должно быть обычным, иначе оно растягивается на экран и даёт горизонтальную прокрутку */
.field input[type="file"] { position: static; width: 100%; height: auto; opacity: 1; overflow: visible; font: 400 13px var(--body); color: var(--ink); }
.field input:focus-visible, .field textarea:focus-visible, .field select:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.field .opt { text-transform: none; letter-spacing: 0; color: var(--muted); opacity: 0.85; }
.hint2 { margin: 6px 0 0; font-size: 12px; color: var(--muted); }
.ferr { margin: 5px 0 0; font-size: 12px; color: var(--hard); }
.ferr[hidden], .note[hidden] { display: none; }

.consents { margin-top: 14px; display: grid; gap: 8px; }
.check { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; cursor: pointer; }
.check input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--accent); flex: none; }
.check input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.attach-row { margin-top: 12px; }
.attach-row[hidden] { display: none; }

.actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.btn[disabled] { opacity: 0.6; cursor: progress; }
a.btn { text-decoration: none; }
.note.tip { margin: 0 0 14px; }

/* Ловушка для ботов: за пределами экрана, а не display:none, чтобы её заполняли боты */
.hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.thanks-no { margin: 0; font: 500 18px var(--mono); }

/* В узкой колонке калькулятора поля идут в один столбец */
#order-panel .fgrid { grid-template-columns: 1fr; }

@media (max-width: 560px) {
  .fgrid { grid-template-columns: 1fr; }
}
