/* --------------------------------------------------------------------------
   Forms (Forminator).
   Forminator ships its own stylesheet and its own "design" presets, so
   everything here is a deliberate override. Selectors are scoped under
   .aps-formwrap so nothing leaks into a form placed elsewhere, and the RTL side
   needs no extra rules - the inputs inherit direction from the document.
   -------------------------------------------------------------------------- */
.aps-formwrap:hover { transform: none; box-shadow: var(--shadow); }
.aps-formwrap__title {
  margin-bottom: var(--space-2);
  color: var(--color-navy);
  font-size: var(--fs-md);
  font-weight: var(--fw-semibold);
}
.aps-formwrap__note {
  margin-bottom: var(--space-5);
  color: var(--color-text-mut);
  font-size: var(--fs-sm);
}
/* On the Contact and Career pages the form is appended after an Elementor
   layout, so it needs its own breathing room and a sane max width. */
.aps-formwrap--page {
  max-width: 720px;
  margin: var(--space-8) auto;
}

/* Forminator wraps everything in .forminator-ui with its own font stack and
   custom properties; pull them back to ours. */
.aps-formwrap .forminator-ui.forminator-custom-form,
.aps-formwrap .forminator-ui.forminator-custom-form * {
  font-family: inherit !important;   /* Inter on EN, Vazirmatn on FA */
}
.aps-formwrap .forminator-row { margin-bottom: var(--space-4); }
.aps-formwrap .forminator-row:last-of-type { margin-bottom: 0; }

.aps-formwrap .forminator-label {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-navy) !important;
  font-size: var(--fs-sm) !important;
  font-weight: var(--fw-semibold) !important;
  letter-spacing: var(--ls-wide);
}
.aps-formwrap .forminator-required { color: var(--color-orange); }

.aps-formwrap .forminator-input,
.aps-formwrap .forminator-textarea,
.aps-formwrap input[type="text"],
.aps-formwrap input[type="email"],
.aps-formwrap input[type="tel"],
.aps-formwrap textarea {
  width: 100%;
  padding: var(--space-3) var(--space-4) !important;
  height: auto !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius) !important;
  background: var(--color-bg) !important;
  color: var(--color-text) !important;
  font-size: var(--fs-sm) !important;
  line-height: var(--lh-normal);
  box-shadow: none !important;
  transition: border-color var(--t-base) var(--ease),
              box-shadow   var(--t-base) var(--ease);
}
.aps-formwrap .forminator-textarea,
.aps-formwrap textarea { min-height: 132px; resize: vertical; }

.aps-formwrap .forminator-input:focus,
.aps-formwrap .forminator-textarea:focus,
.aps-formwrap input:focus,
.aps-formwrap textarea:focus {
  outline: none;
  border-color: var(--color-navy) !important;
  box-shadow: 0 0 0 3px var(--color-navy-soft) !important;
}

.aps-formwrap .forminator-description,
.aps-formwrap .forminator-field-description {
  margin-top: var(--space-2);
  color: var(--color-text-mut) !important;
  font-size: var(--fs-xs) !important;
}

/* Inline validation errors - readable, not shouty. Ink rather than brand
   orange because this is small text: 5.15:1 against 3.45:1. */
.aps-formwrap .forminator-error-message {
  margin-top: var(--space-2);
  color: var(--color-orange-ink) !important;
  font-size: var(--fs-xs) !important;
}
.aps-formwrap .forminator-has_error .forminator-input,
.aps-formwrap .forminator-has_error .forminator-textarea {
  border-color: var(--color-orange) !important;
}

/* --- submit button --- */
.aps-formwrap .forminator-button-submit,
.aps-formwrap button.forminator-button {
  padding: var(--space-3) var(--space-6) !important;
  height: auto !important;
  border: 1px solid var(--color-orange) !important;
  border-radius: var(--radius-pill) !important;
  background: var(--color-orange) !important;
  color: #fff !important;
  font-size: var(--fs-sm) !important;
  font-weight: var(--fw-medium) !important;
  letter-spacing: var(--ls-wide);
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  transition: background var(--t-base) var(--ease),
              box-shadow var(--t-base) var(--ease);
}
.aps-formwrap .forminator-button-submit:hover,
.aps-formwrap button.forminator-button:hover {
  background: var(--color-orange-dark) !important;
  border-color: var(--color-orange-dark) !important;
  box-shadow: var(--shadow-md);
}
/* Forminator centres the submit row by default; follow the document direction
   instead so it sits under the labels in both languages. */
.aps-formwrap .forminator-row.forminator-row-last,
.aps-formwrap .forminator-button-wrapper { text-align: start !important; }

/* --- file upload (résumé) --- */
.aps-formwrap .forminator-button-upload,
.aps-formwrap .forminator-upload-file--content button {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-5) !important;
  border: 1px dashed var(--color-navy-line) !important;
  border-radius: var(--radius) !important;
  background: var(--color-surface) !important;
  color: var(--color-navy) !important;
  font-size: var(--fs-sm) !important;
  font-weight: var(--fw-medium) !important;
  cursor: pointer;
  transition: border-color var(--t-base) var(--ease),
              background var(--t-base) var(--ease);
}
.aps-formwrap .forminator-button-upload:hover {
  border-style: solid !important;
  border-color: var(--color-orange) !important;
  background: var(--color-orange-soft) !important;
}
.aps-formwrap .forminator-uploaded-file,
.aps-formwrap .forminator-file-upload span {
  color: var(--color-text-mut);
  font-size: var(--fs-xs);
}

/* --- the message that replaces the form on success --- */
.aps-formwrap .forminator-response-message,
.aps-formwrap .forminator-success {
  padding: var(--space-5) !important;
  border: 1px solid var(--color-navy-line) !important;
  border-radius: var(--radius) !important;
  background: var(--color-surface) !important;
  color: var(--color-text) !important;
  font-size: var(--fs-sm) !important;
  line-height: var(--lh-loose);
}
.aps-formwrap .forminator-error {
  border-color: var(--color-orange) !important;
  background: var(--color-orange-soft) !important;
  color: var(--color-text) !important;
}
