/* ==========================================================================
   Mighty 1 Ink — form fields (staging look)
   Matches http://m1ink.com/staging/ : white inputs, 4px radius, #E4E2DE
   border, #C44A1E focus, native file input. Do not restyle from the HTML
   prototype dropzone / cream / pill buttons.
   ========================================================================== */

.m1i-form-card,
form.m1i-quote-form.m1i-form-card {
  background: var(--m1i-bg-alt, #F7F7F5);
  border-radius: var(--m1i-radius-md, 6px);
  padding: 40px;
  box-sizing: border-box;
}

.m1i-form-row {
  margin-bottom: 20px;
  min-width: 0;
}

.m1i-form-row label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--m1i-text, #111111);
}

.m1i-form-row input[type="text"],
.m1i-form-row input[type="email"],
.m1i-form-row input[type="tel"],
.m1i-form-row input[type="url"],
.m1i-form-row input[type="number"],
.m1i-form-row input[type="search"],
.m1i-form-row input[type="file"],
.m1i-form-row select,
.m1i-form-row textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--m1i-border, #E4E2DE);
  border-radius: var(--m1i-radius-sm, 4px);
  background: #FFFFFF;
  color: var(--m1i-text, #111111);
  font-size: 1rem;
  font-family: inherit;
  line-height: 1.4;
  box-shadow: none;
  appearance: auto;
  -webkit-appearance: auto;
}

.m1i-form-row input[type="file"] {
  padding: 10px 12px;
  cursor: pointer;
}

.m1i-form-row input:focus,
.m1i-form-row select:focus,
.m1i-form-row textarea:focus {
  outline: none;
  border-color: var(--m1i-accent, #C44A1E);
}

.m1i-form-row textarea {
  resize: vertical;
  min-height: 120px;
}

.m1i-form-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.m1i-form-grid-2 > .m1i-form-row {
  margin-bottom: 0;
}

.m1i-form-grid-2 + .m1i-form-row,
.m1i-form-row + .m1i-form-grid-2,
.m1i-form-grid-2 + .m1i-form-grid-2 {
  margin-top: 20px;
}

.m1i-form-note {
  font-size: 0.8rem;
  margin-top: 16px;
  color: var(--m1i-text-secondary, #666666);
}

.m1i-form-row.is-error input,
.m1i-form-row.is-error select,
.m1i-form-row.is-error textarea {
  border-color: #C44A1E;
}

.m1i-form-message {
  display: none;
  padding: 20px;
  border-radius: 4px;
  margin-top: 20px;
  font-size: 0.9rem;
}

.m1i-form-message.m1i-is-success,
.m1i-form-message.is-success {
  display: block;
  background: #eef7ee;
  border: 1px solid #bfe3bf;
  color: #245c24;
}

.m1i-form-message.m1i-is-error,
.m1i-form-message.is-error {
  display: block;
  background: #fdecea;
  border: 1px solid #f3b3ac;
  color: #7a231b;
}

form.m1i-quote-form .m1i-btn--full {
  width: 100%;
}

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

  .m1i-form-card,
  form.m1i-quote-form.m1i-form-card {
    padding: 28px 22px;
  }

  .m1i-form-row input,
  .m1i-form-row select,
  .m1i-form-row textarea {
    font-size: 16px;
  }
}
