/* Shared form styles: RFQ page, Contact page, and the contact
   .enquiry-form submitted by header.js's initContactFormSubmit(). */

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) var(--space-4); }
.form-grid .field--full { grid-column: 1 / -1; }

.field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.field > label,
.enquiry-form__field > span { font-size: 0.8125rem; font-weight: 600; color: var(--color-navy); }
.field > label .req, .enquiry-form__field .req { color: var(--color-error); }
.field input, .field textarea, .field select,
.enquiry-form__field input, .enquiry-form__field textarea {
  width: 100%;
  min-height: 46px;
  padding: 0 var(--space-3);
  border: 1.5px solid var(--color-border-input);
  border-radius: var(--radius-sm);
  background: #fff;
  font-size: 0.9375rem;
  font-weight: 400;
  transition: border-color 0.15s var(--ease-standard), box-shadow 0.15s var(--ease-standard);
}
.field textarea, .enquiry-form__field textarea { padding: var(--space-3); resize: vertical; min-height: 110px; line-height: 1.5; }
.field input:focus, .field textarea:focus, .field select:focus,
.enquiry-form__field input:focus, .enquiry-form__field textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: var(--focus-ring);
}
.field [aria-invalid="true"] { border-color: var(--color-error); }
.field__hint { font-size: 0.8125rem; color: var(--color-text-muted); }
.field-error { font-size: 0.8125rem; font-weight: 500; color: var(--color-error); }
.form-error {
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--color-error) 9%, white);
  color: var(--color-error);
  font-size: 0.875rem;
  font-weight: 500;
}

/* honeypot: present in the DOM for bots, invisible and unreachable for people */
.field--trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Contact page form (markup shared with the legacy .enquiry-form classes) */
.enquiry-form:not([hidden]) { display: flex; flex-direction: column; gap: var(--space-4); }
.enquiry-form__field { display: flex; flex-direction: column; gap: 6px; }
.enquiry-form__submit {
  height: 50px;
  background: var(--color-primary);
  color: #fff;
  border-radius: var(--radius-sm);
  font-weight: 600;
  transition: background 0.15s var(--ease-standard);
}
.enquiry-form__submit:hover:not(:disabled) { background: var(--color-primary-hover); }
.enquiry-form__submit:disabled { opacity: 0.6; cursor: not-allowed; }
.enquiry-form__success {
  text-align: center;
  padding: var(--space-8) var(--space-4);
  color: var(--color-success);
  font-weight: 600;
  font-size: 1.0625rem;
}

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