/* ==========================================================================
   RJA brand styling for Forminator forms.
   Matches the site system: black surfaces, one red accent (#ff2a33),
   JetBrains Mono labels, Space Grotesk inputs, Bebas-style pill submit.
   Hardcoded hex (not CSS vars) so it holds on any page/context.
   ========================================================================== */

.forminator-ui.forminator-custom-form {
  --fo-red:#ff2a33; --fo-red-soft:#ff6b72;
  max-width: 560px;
  margin: 2rem auto 0;
  text-align: left;
  font-family: 'Space Grotesk', system-ui, sans-serif;
}

/* kill Forminator's default card chrome */
.forminator-ui.forminator-custom-form,
.forminator-ui.forminator-custom-form .forminator-row,
.forminator-ui.forminator-custom-form .forminator-field {
  background: transparent !important;
  box-shadow: none !important;
  border: 0;
}
.forminator-ui.forminator-custom-form .forminator-row { margin-bottom: 1rem !important; }

/* labels — mono, uppercase, wide tracking, dim */
.forminator-ui.forminator-custom-form .forminator-label,
.forminator-ui.forminator-custom-form label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .62rem !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: #878b93 !important;
  font-weight: 400 !important;
  margin-bottom: .55rem !important;
}
.forminator-ui.forminator-custom-form .forminator-required,
.forminator-ui.forminator-custom-form .forminator-label .forminator-required { color: #ff2a33 !important; }

/* inputs / textarea / selects — dark, hairline border, white text */
.forminator-ui.forminator-custom-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.forminator-ui.forminator-custom-form textarea,
.forminator-ui.forminator-custom-form select,
.forminator-ui.forminator-custom-form .forminator-input,
.forminator-ui.forminator-custom-form .forminator-textarea {
  background: #0c0d10 !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 10px !important;
  color: #eceef1 !important;
  font-family: 'Space Grotesk', system-ui, sans-serif !important;
  font-size: 1rem !important;
  font-weight: 300 !important;
  padding: .85rem 1rem !important;
  width: 100% !important;
  transition: border-color .2s, box-shadow .2s !important;
  -webkit-appearance: none; appearance: none;
}
.forminator-ui.forminator-custom-form textarea { min-height: 130px !important; resize: vertical !important; }

.forminator-ui.forminator-custom-form input:not([type=submit]):focus,
.forminator-ui.forminator-custom-form textarea:focus,
.forminator-ui.forminator-custom-form select:focus {
  outline: none !important;
  border-color: #ff2a33 !important;
  box-shadow: 0 0 0 3px rgba(255,42,51,.14) !important;
}
.forminator-ui.forminator-custom-form ::placeholder { color: #4a4e56 !important; opacity: 1; }

/* submit — red pill, black text, mono uppercase (matches .ctaBtn) */
.forminator-ui.forminator-custom-form button[type=submit],
.forminator-ui.forminator-custom-form .forminator-button-submit,
.forminator-ui.forminator-custom-form .forminator-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: .55rem !important;
  background: #ff2a33 !important;
  color: #000 !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .74rem !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  padding: 1rem 1.7rem !important;
  margin-top: .5rem !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s !important;
  box-shadow: none !important;
}
.forminator-ui.forminator-custom-form button[type=submit]:hover,
.forminator-ui.forminator-custom-form .forminator-button-submit:hover {
  background: #ff6b72 !important;
  transform: translateY(-2px) !important;
}

/* validation + success messaging on-brand */
.forminator-ui.forminator-custom-form .forminator-error-message {
  color: #ff6b72 !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .62rem !important;
  letter-spacing: .06em !important;
}
.forminator-ui.forminator-custom-form input.forminator-is_invalid,
.forminator-ui.forminator-custom-form textarea.forminator-is_invalid { border-color: #ff2a33 !important; }
.forminator-ui .forminator-response-message,
.forminator-ui .forminator-success {
  background: #0c0d10 !important;
  border: 1px solid rgba(255,42,51,.35) !important;
  border-radius: 10px !important;
  color: #eceef1 !important;
  font-family: 'Space Grotesk', system-ui, sans-serif !important;
  padding: 1rem 1.1rem !important;
}

/* wrapper on the front-page contact beat */
.rja-form { width: 100%; }
