/* ============================================================
   Baratz Law — fmzForms styling
   Scoped to the form that fmzForms outputs inside .consult-form-wrap.
   Recreates the Bootstrap grid it relies on (row / col-md-*) WITHOUT
   loading Bootstrap, and applies the landing-page design tokens.
   Load this AFTER style.css.
   ============================================================ */

/* ---- Container the form sits in (already white card from style.css) ---- */
.consult-form-wrap .form { color: var(--text, #2a2e33); }

/* ---- Recreate the minimal Bootstrap grid the markup uses ---- */
.consult-form-wrap .form .row {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}
.consult-form-wrap .form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.consult-form-wrap .form .col-lg-12 { width: 100%; }

/* column widths */
.consult-form-wrap .form .col-md-12 { flex: 0 0 100%; max-width: 100%; }
.consult-form-wrap .form .col-md-6  { flex: 0 0 50%;  max-width: 50%; }

/* vertical rhythm between rows */
.consult-form-wrap .form .my-2 { margin-top: 8px; margin-bottom: 8px; }
.consult-form-wrap .form .mx-0 { margin-left: 0; margin-right: 0; }

/* gutters: give the two half-width columns a small gap */
.consult-form-wrap .form .col-md-6:first-child  { padding-right: 8px; }
.consult-form-wrap .form .col-md-6:last-child   { padding-left: 8px; }

/* ---- Labels ---- */
.consult-form-wrap .form label {
  display: inline-block;
  font-family: var(--font-body, "Open Sans", sans-serif);
  font-weight: 600;
  font-size: .92rem;
  color: var(--ink, #212529);
  margin-bottom: 6px;
}
.consult-form-wrap .form label span { color: var(--gold-dark, #a8935f) !important; }
.consult-form-wrap .form label br { display: none; }

/* ---- Text inputs, email, textarea ---- */
.consult-form-wrap .form .form-control,
.consult-form-wrap .form input[type="text"],
.consult-form-wrap .form input[type="email"],
.consult-form-wrap .form input[type="tel"],
.consult-form-wrap .form textarea {
  width: 100%;
  box-sizing: border-box;
  font-family: var(--font-body, "Open Sans", sans-serif);
  font-size: 1rem;
  color: var(--text, #2a2e33);
  padding: 13px 15px;
  border: 1px solid var(--line, #e7e4dd);
  border-radius: var(--radius-sm, 7px);
  background: #fff;
  transition: border-color .16s ease, box-shadow .16s ease;
  appearance: none;
}
.consult-form-wrap .form .form-control:focus,
.consult-form-wrap .form textarea:focus {
  outline: none;
  border-color: var(--gold-dark, #a8935f);
  box-shadow: 0 0 0 3px rgba(204, 189, 153, .4);
}

/* textarea sizing */
.consult-form-wrap .form textarea {
  min-height: 110px;
  resize: vertical;
  line-height: 1.5;
}

/* ---- Phone: three inputs on one line ---- */
.consult-form-wrap .form #field4_wrap .col-md-12 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.consult-form-wrap .form #field4_wrap label { flex: 0 0 100%; }
.consult-form-wrap .form input.thirty { width: 74px; text-align: center; }
.consult-form-wrap .form input.forty  { width: 92px; text-align: center; }
.consult-form-wrap .form .clear { display: none; }        /* not needed with flex */
.consult-form-wrap .form #field4_wrap p { margin: 0; flex: 0 0 100%; }

/* ---- Field wrappers: consistent spacing ---- */
.consult-form-wrap .form [id$="_wrap"] { margin-bottom: 4px; }

/* ---- Submit button (match .btn .btn-primary) ---- */
.consult-form-wrap .form .actions { margin-top: 6px; }
.consult-form-wrap .form input[type="submit"],
.consult-form-wrap .form .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-family: var(--font-body, "Open Sans", sans-serif);
  font-weight: 700;
  font-size: 1.06rem;
  line-height: 1;
  color: var(--ink, #212529);
  background: var(--gold, #CCBD99);
  border: 2px solid var(--gold, #CCBD99);
  border-radius: var(--radius-sm, 7px);
  padding: 17px 32px;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(168, 147, 95, .28);
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .05s ease;
}
.consult-form-wrap .form input[type="submit"]:hover,
.consult-form-wrap .form .button:hover {
  background: #d6c9a8;
  border-color: #d6c9a8;
  box-shadow: 0 8px 22px rgba(168, 147, 95, .34);
}
.consult-form-wrap .form input[type="submit"]:active { transform: translateY(1px); }
.consult-form-wrap .form .button-rounded { border-radius: var(--radius-sm, 7px); }
.consult-form-wrap .form .mt-3 { margin-top: 0; }         /* button already spaced */

/* ---- Validation / error messages fmzForms may inject ---- */
.consult-form-wrap .form .error,
.consult-form-wrap .form .fmz-error,
.consult-form-wrap .form .form-error {
  color: #b3261e;
  font-size: .84rem;
  margin-top: 5px;
}
.consult-form-wrap .form .form-control.error,
.consult-form-wrap .form input.error { border-color: #b3261e; }

/* success message */
.consult-form-wrap .form .success,
.consult-form-wrap .form .fmz-success {
  color: #1a7a3c;
  font-weight: 600;
  margin-bottom: 10px;
}

/* hide any leftover container padding fmzForms adds */
.consult-form-wrap .form .container { padding: 0 !important; margin: 0 !important; max-width: 100%; }
.consult-form-wrap .form .col-md-8 { width: 100%; max-width: 100%; }

/* ---- Responsive: stack first/last name on small screens ---- */
@media (max-width: 640px) {
  .consult-form-wrap .form .col-md-6 { flex: 0 0 100%; max-width: 100%; }
  .consult-form-wrap .form .col-md-6:first-child,
  .consult-form-wrap .form .col-md-6:last-child { padding-left: 0; padding-right: 0; }
}
