/* ============================================================
   LACE — Forminator form styles
   Enqueued at priority 999 — loads last, beats everything.
   Both forms (66 contact, 67 ambassador) use cform-color-option:none.
   ============================================================ */

/* ---- Reset Forminator container ---- */
.forminator-ui.forminator-custom-form,
.forminator-custom-form {
  font-family: var(--sans) !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--charcoal) !important;
}

/* Kill decorative bars */
.forminator-custom-form::before,
.forminator-custom-form::after,
.forminator-ui::before,
.forminator-ui::after { display: none !important; content: none !important; }

/* ---- Row / column layout ---- */
.forminator-custom-form .forminator-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
}
.forminator-custom-form .forminator-col {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
}
.forminator-custom-form .forminator-col.forminator-col-12 { flex: 1 1 100% !important; }
.forminator-custom-form .forminator-field { margin: 0 !important; padding: 0 !important; }

/* ---- Labels ---- */
.forminator-custom-form .forminator-label,
.forminator-custom-form label.forminator-label,
.forminator-custom-form .forminator-field > label {
  display: block !important;
  font-family: var(--sans) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #A89888 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
}
.forminator-custom-form .forminator-required { color: #7A3344 !important; margin-left: 3px; }

/* ---- Inputs, textarea, select ---- */
.forminator-custom-form input[type="text"],
.forminator-custom-form input[type="email"],
.forminator-custom-form input[type="tel"],
.forminator-custom-form input[type="number"],
.forminator-custom-form input[type="url"],
.forminator-custom-form input.forminator-input,
.forminator-custom-form textarea,
.forminator-custom-form textarea.forminator-textarea,
.forminator-custom-form select,
.forminator-custom-form .forminator-select--field {
  display: block !important;
  width: 100% !important;
  background: #F2EFEA !important;
  border: 1px solid rgba(26,23,20,.12) !important;
  border-radius: 0 !important;
  padding: 14px 16px !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  color: #1A1714 !important;
  -webkit-text-fill-color: #1A1714 !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  line-height: 1.4 !important;
  transition: background-color .2s ease, border-color .2s ease !important;
}
.forminator-custom-form input[type="text"]:focus,
.forminator-custom-form input[type="email"]:focus,
.forminator-custom-form input.forminator-input:focus,
.forminator-custom-form textarea:focus,
.forminator-custom-form select:focus {
  background: #ECE7DF !important;
  border-color: #1A1714 !important;
  outline: none !important;
  box-shadow: none !important;
}
.forminator-custom-form input::placeholder,
.forminator-custom-form textarea::placeholder { color: #C8BDB2 !important; opacity: 1 !important; }
.forminator-custom-form textarea { min-height: 130px !important; resize: vertical !important; }

/* Select with chevron arrow */
.forminator-custom-form select {
  background-color: #F2EFEA !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%231A1714' stroke-width='1.5'%3E%3Cpolyline points='1 1 6 7 11 1'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 10px 7px !important;
  padding-right: 36px !important;
  cursor: pointer !important;
}

/* ---- Submit button — nuclear override ---- */
.forminator-custom-form .forminator-button-wrap {
  width: 100% !important;
  padding: 0 !important;
  margin: 8px 0 0 !important;
}
.forminator-custom-form button[type="submit"],
.forminator-custom-form button.forminator-button,
.forminator-custom-form button.forminator-button-submit,
.forminator-custom-form .forminator-button-submit {
  display: block !important;
  width: 100% !important;
  background: #1A1714 !important;
  background-color: #1A1714 !important;
  color: #FEFCFA !important;
  -webkit-text-fill-color: #FEFCFA !important;
  border: 1px solid #1A1714 !important;
  border-radius: 0 0 20px 0 !important;
  padding: 16px 24px !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
  outline: none !important;
  line-height: 1 !important;
  transition: background-color .2s ease, border-color .2s ease !important;
}
/* Target the inner span Forminator wraps button text in */
.forminator-custom-form button[type="submit"] span,
.forminator-custom-form button.forminator-button span,
.forminator-custom-form .forminator-button-submit span {
  color: #FEFCFA !important;
  -webkit-text-fill-color: #FEFCFA !important;
  font-weight: 600 !important;
}
.forminator-custom-form button[type="submit"]:hover,
.forminator-custom-form button.forminator-button:hover,
.forminator-custom-form .forminator-button-submit:hover {
  background: #7A3344 !important;
  background-color: #7A3344 !important;
  border-color: #7A3344 !important;
  color: #FEFCFA !important;
  -webkit-text-fill-color: #FEFCFA !important;
}

/* ---- Success / error messages ---- */
.forminator-custom-form .forminator-response-message {
  background: #F8F4F0 !important;
  border: 0 !important;
  border-left: 2px solid #7A3344 !important;
  padding: 14px 18px !important;
  border-radius: 0 !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  color: #1A1714 !important;
  margin: 20px 0 0 !important;
  box-shadow: none !important;
}
.forminator-custom-form .forminator-response-message:empty { display: none !important; }
.forminator-custom-form .forminator-response-message p { margin: 0 !important; }

.forminator-custom-form .forminator-error-message,
.forminator-custom-form .forminator-field-error,
.forminator-custom-form span.forminator-error-message {
  display: block !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  color: #7A3344 !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.forminator-custom-form .forminator-field--error input,
.forminator-custom-form .forminator-field--error textarea,
.forminator-custom-form .forminator-field--error select {
  border-color: #7A3344 !important;
}

/* ---- Ambassador form 2-col grid ---- */
.amb-form-mount .forminator-custom-form .forminator-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  flex-wrap: unset !important;
}
.amb-form-mount .forminator-custom-form .forminator-col {
  flex: none !important;
}
.amb-form-mount .forminator-custom-form .forminator-col.forminator-col-12 {
  grid-column: 1 / -1 !important;
}

/* ---- Mobile ---- */
@media (max-width: 560px) {
  .amb-form-mount .forminator-custom-form .forminator-row {
    grid-template-columns: 1fr !important;
  }
}
