/* TrainingSharp forms: custom form (staging fallback) + Fluent Forms (production). */

.ts-demande { max-width: 48rem; margin-inline: auto; color: var(--ts-text, #424242); }
.ts-demande *, .ts-standalone * { box-sizing: border-box; }
.ts-demande .ts-field { margin-block: 1.5rem; }
.ts-demande label { display: block; font-weight: 700; margin-bottom: .5rem; }
.ts-demande label span { font-size: .9em; font-weight: 400; }
.ts-demande input:not([type=hidden]),
.ts-demande textarea,
.ts-demande select {
  width: 100%;
  max-width: 100%;
  font: inherit;
  color: var(--ts-text, #424242);
  background: #fff;
  border: 1px solid #5b6a72;
  border-radius: .5rem;
  padding: .7rem;
}
.ts-demande textarea { resize: vertical; }
.ts-demande input[aria-invalid=true],
.ts-demande textarea[aria-invalid=true],
.ts-demande select[aria-invalid=true] { border: 2px solid #9f1717; }
.ts-demande button,
.ts-standalone button {
  padding: 14px 28px;
  font-family: var(--ts-font-heading, inherit);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
  border: 1.5px solid var(--ts-cta, #d3265a);
  border-radius: 999px;
  background: var(--ts-cta, #d3265a);
  color: #fff;
  cursor: pointer;
  min-height: 44px;
  margin: .4rem .4rem .4rem 0;
}
.ts-demande button:hover,
.ts-standalone button:hover {
  background: var(--ts-cta-dark, #b3122f);
  border-color: var(--ts-cta-dark, #b3122f);
  color: #fff;
}
.ts-demande button:disabled { cursor: default; opacity: .7; }
.ts-demande :focus-visible,
.ts-standalone :focus-visible { outline: 3px solid var(--ts-focus, #17375d); outline-offset: 3px; }
.ts-demande .ts-help,
.ts-demande .ts-field-error { margin: .5rem 0 0; font-size: .95em; }
.ts-demande .ts-field-error { color: #9f1717; font-weight: 700; }
.ts-demande .ts-errors { border: 2px solid #9f1717; padding: 1rem; margin-block: 1rem; }
.ts-demande .ts-errors a { color: #8d1111; text-decoration: underline; }
.ts-demande .ts-status:not(:empty),
.ts-demande .ts-test-note { border-left: 4px solid #17375d; padding: .7rem 1rem; background: #f1f5f9; }
.ts-demande .ts-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.ts-demande [hidden] { display: none !important; }
.ts-standalone { max-width: 52rem; padding: 1.5rem; margin: auto; font: 1rem/1.55 system-ui, sans-serif; }

/* Fluent Forms production skin */
.fluentform { color: #1f2a30; }
.fluentform .ff-el-input--label label { font-weight: 700; }
.fluentform .ff-el-form-control {
  width: 100%;
  max-width: 100%;
  padding: .7rem;
  border: 1px solid #4b5563;
  border-radius: .25rem;
  font: inherit;
  color: #1f2a30;
  background: #fff;
}
.fluentform .ff-el-form-control:focus {
  outline: 3px solid #a64200;
  outline-offset: 2px;
  border-color: #17375d;
}
.fluentform .ff-el-is-error .ff-el-form-control { border: 2px solid #9f1717; }
.fluentform .error.text-danger { color: #9f1717; font-weight: 700; }
.fluentform .ff-btn-submit {
  background: var(--ts-cta, #d3265a);
  color: #fff;
  border: 1.5px solid var(--ts-cta, #d3265a);
  border-radius: 999px;
  padding: 14px 28px;
  font-family: var(--ts-font-heading, inherit);
  font-weight: 600;
  line-height: 1.2;
  min-height: 48px;
  cursor: pointer;
}
.fluentform .ff-btn-submit:hover {
  background: var(--ts-cta-dark, #b3122f);
  border-color: var(--ts-cta-dark, #b3122f);
}
.fluentform .ff-el-group { margin-bottom: 1.25rem; }
.fluentform .ff-el-input--content { margin-top: .35rem; }
.fluentform .ff-el-help-message { color: #5b6a72; font-size: .92rem; }
.fluentform .ff-el-tc,
.fluentform .ff_tc_checkbox { font-size: .92rem; }
.fluentform .ff-el-form-check-input { min-width: 1.15rem; min-height: 1.15rem; }

/* Consentement (formulaire de demande) */
.ts-demande .ts-consent { margin-top: .35rem; }
.ts-demande .ts-consent label { display: flex; align-items: flex-start; gap: .55rem; color: #424242; font-size: .85rem; font-weight: 400; line-height: 1.5; }
.ts-demande .ts-consent input[type=checkbox] { width: 1.1rem; height: 1.1rem; margin: .15rem 0 0; flex: none; accent-color: var(--ts-cta); }
.ts-demande .ts-consent a { color: #066aab; }
