/* ── C-10 — Formulaire ─────────────────────────────────────────────────────── */

.bloc-c10 {
  background-color: var(--bloc-bg, var(--color-bg));
  padding: 60px 0;
}

.bloc-c10__heading {
  color: var(--bloc-title, var(--color-text));
  font-family: var(--font-primary);
  font-weight: 700;
  text-align: center;
  margin-bottom: 16px;
}

.bloc-c10__intro {
  text-align: center;
  margin-bottom: 48px;
}

.bloc-c10__intro p {
  color: var(--bloc-label, var(--color-text));
  font-family: var(--font-secondary);
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 1em;
}

.bloc-c10__intro p:last-child {
  margin-bottom: 0;
}

.bloc-c10__form-title {
  color: var(--bloc-title, var(--color-text));
  text-align: center;
  margin-bottom: 32px;
}

.bloc-c10__form {
  max-width: 720px;
  margin: 0 auto;
}

/* ── Labels ── */

.bloc-c10__form label,
.bloc-c10__form .wpcf7-form label,
.bloc-c10__form .wpforms-field-label {
  display: block;
  color: var(--bloc-label, var(--color-text));
  font-family: var(--font-primary);
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 8px;
}

/* ── Inputs / Textarea / Select ── */

.bloc-c10__form input[type="text"],
.bloc-c10__form input[type="email"],
.bloc-c10__form input[type="tel"],
.bloc-c10__form input[type="url"],
.bloc-c10__form input[type="number"],
.bloc-c10__form textarea,
.bloc-c10__form select {
  width: 100%;
  padding: 14px 20px;
  border: 1px solid var(--bloc-label, #171D21);
  border-radius: 4px;
  background: transparent;
  color: var(--bloc-label, var(--color-text));
  font-family: var(--font-secondary);
  font-size: 16px;
  line-height: 1.5;
  outline: none;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
  appearance: none;
}

.bloc-c10__form input:focus,
.bloc-c10__form textarea:focus,
.bloc-c10__form select:focus {
  border-color: var(--bloc-btn-bg, #4F5A2A);
}

.bloc-c10__form select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23171D21' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 44px;
  cursor: pointer;
}

.bloc-c10__form textarea {
  min-height: 140px;
  resize: vertical;
}

/* ── Wrappers champs CF7 / WPForms ── */

.bloc-c10__form .wpcf7-form-control-wrap,
.bloc-c10__form .wpforms-field {
  margin-bottom: 24px;
}

/* ── Bouton submit ── */

.bloc-c10__form input[type="submit"],
.bloc-c10__form button[type="submit"],
.bloc-c10__form .wpcf7-submit,
.bloc-c10__form .wpforms-submit {
  display: inline-block;
  padding: 16px 40px;
  background-color: var(--bloc-btn-bg, #4F5A2A);
  color: var(--bloc-btn-text, #F6F2E8);
  font-family: var(--font-primary);
  font-size: 16px;
  font-weight: 700;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.bloc-c10__form input[type="submit"]:hover,
.bloc-c10__form button[type="submit"]:hover,
.bloc-c10__form .wpcf7-submit:hover,
.bloc-c10__form .wpforms-submit:hover {
  opacity: 0.85;
}

/* ── Messages de réponse CF7 / WPForms ── */

.bloc-c10__form .wpcf7-response-output {
  margin: 16px 0 0 !important;
  padding: 14px 20px !important;
  border-radius: 4px !important;
  font-family: var(--font-secondary) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  border-width: 1px !important;
  border-style: solid !important;
}

/* Succès */
.bloc-c10__form .wpcf7-mail-sent-ok {
  background-color: color-mix(in srgb, var(--bloc-btn-bg, #4F5A2A) 12%, transparent) !important;
  border-color: var(--bloc-btn-bg, #4F5A2A) !important;
  color: var(--bloc-btn-bg, #4F5A2A) !important;
}

/* Erreurs (envoi, validation, spam, acceptation) */
.bloc-c10__form .wpcf7-mail-sent-ng,
.bloc-c10__form .wpcf7-validation-errors,
.bloc-c10__form .wpcf7-acceptance-missing,
.bloc-c10__form .wpcf7-spam-blocked {
  background-color: rgba(180, 40, 40, 0.08) !important;
  border-color: #B42828 !important;
  color: #B42828 !important;
}

/* WPForms — confirmation */
.bloc-c10__form .wpforms-confirmation-container-full {
  background-color: color-mix(in srgb, var(--bloc-btn-bg, #4F5A2A) 12%, transparent);
  border: 1px solid var(--bloc-btn-bg, #4F5A2A);
  border-radius: 4px;
  color: var(--bloc-btn-bg, #4F5A2A);
  font-family: var(--font-secondary);
  font-size: 14px;
  line-height: 1.5;
  margin-top: 16px;
  padding: 14px 20px;
}

/* WPForms — erreur */
.bloc-c10__form .wpforms-error-container {
  background-color: rgba(180, 40, 40, 0.08);
  border: 1px solid #B42828;
  border-radius: 4px;
  color: #B42828;
  font-family: var(--font-secondary);
  font-size: 14px;
  line-height: 1.5;
  margin-top: 16px;
  padding: 14px 20px;
}

@media (min-width: 1024px) {
  .bloc-c10 {
    padding: 80px 0;
  }
}
