/* WPForms opmaken volgens het originele design */

.elementor .wpforms-container { margin: 0; }
.elementor .wpforms-container .wpforms-form { display: flex; flex-direction: column; gap: 14px; }

.elementor .wpforms-container .wpforms-title {
  font-family: 'Schibsted Grotesk', system-ui, sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: var(--navy, #232D3F);
  margin: 0 0 6px;
}

.elementor .wpforms-container .wpforms-field {
  padding: 0;
  margin: 0;
}

.elementor .wpforms-container .wpforms-field-label {
  font-family: 'Mulish', system-ui, sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--navy, #232D3F);
  margin: 0 0 6px;
  display: block;
}
.elementor .wpforms-container .wpforms-required-label { color: var(--green-deep, #5f7d15); }

.elementor .wpforms-container input[type=text],
.elementor .wpforms-container input[type=email],
.elementor .wpforms-container input[type=tel],
.elementor .wpforms-container select,
.elementor .wpforms-container textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  font-family: 'Mulish', system-ui, sans-serif;
  font-size: 15.5px;
  padding: 13px 15px;
  border: 1.5px solid var(--line, #e8e3d7);
  border-radius: 12px;
  background: #fbfbf9;
  color: var(--navy, #232D3F);
  box-shadow: none;
  transition: border-color .15s;
}

.elementor .wpforms-container input:focus,
.elementor .wpforms-container select:focus,
.elementor .wpforms-container textarea:focus {
  border-color: var(--green, #A6CE39);
  outline: none;
}

.elementor .wpforms-container textarea { min-height: 120px; resize: vertical; }

.elementor .wpforms-container .wpforms-submit-container { padding: 0; margin-top: 6px; }

/* Knop precies als in het design: volle breedte, groen, donkerblauwe tekst.
   De extra .wpforms-form-* specificiteit is nodig om WPForms' eigen knopstijl
   te overrulen. */
.elementor div.wpforms-container button[type=submit].wpforms-submit,
.elementor div.wpforms-container button[type=submit].wpforms-submit:not(:hover):not(:active) {
  width: 100%;
  margin-top: 20px;
  background: var(--green, #A6CE39);
  color: var(--navy, #232D3F);
  font-family: 'Mulish', system-ui, sans-serif;
  font-weight: 800;
  font-size: 16px;
  padding: 15px;
  border: 0;
  border-radius: 14px;
  cursor: pointer;
  transition: transform .15s;
}
.elementor div.wpforms-container button[type=submit].wpforms-submit:hover {
  background: var(--green, #A6CE39);
  color: var(--navy, #232D3F);
  transform: translateY(-1px);
}

/* Formuliertitel tonen zoals in het design */
.elementor .wpforms-container .wpforms-head-container { padding: 0; }

/* AVG-regel onder de knop */
.elementor .wpforms-container .wpforms-submit-container::after {
  content: 'We gaan zorgvuldig om met je gegevens. AVG-proof.';
  display: block;
  text-align: center;
  font-size: 12.5px;
  color: #8b96a1;
  margin-top: 14px;
}

.elementor .wpforms-confirmation-container-full {
  background: var(--cream, #F3EEE3);
  border: 1px solid var(--line, #e8e3d7);
  border-radius: 16px;
  padding: 22px;
  color: var(--navy, #232D3F);
}
.elementor .wpforms-confirmation-container-full p { margin: 0; }

/* Het design markeert verplichte velden niet met een sterretje. */
.elementor .wpforms-container .wpforms-required-label { display: none; }

/* 'Bericht' is optioneel; het design zet dat erbij. */
.elementor .wpforms-container #wpforms-171-field_5-label::after {
  content: ' (optioneel)';
  font-weight: 400;
  color: #8b96a1;
}
