/* =================================================================
   Famula × WPForms — visual overrides
   Loaded only when WPForms is active.
   Targets WPForms’ stable wrapper classes (.wpforms-container, etc.).
   ================================================================= */

.wpforms-container,
.wpforms-container * {
  font-family: var(--font-body) !important;
  color: var(--famula-ink);
}

/* Form wrapper sits inside our sand "card" by default. Authors can
   wrap it in a Group with the Famula Card style instead — both work. */
.wpforms-container.famula-card-wrap {
  background: var(--famula-sand);
  border-radius: var(--r-card);
  padding: 32px 36px;
  box-shadow: var(--shadow-card);
}

.wpforms-container .wpforms-field-label {
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--famula-ink) !important;
  margin-bottom: 6px !important;
}
.wpforms-container .wpforms-field-sublabel,
.wpforms-container .wpforms-field-description {
  color: var(--famula-mute) !important;
  font-size: 13px !important;
}

/* Text / email / tel / textarea inputs */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="url"],
.wpforms-container input[type="number"],
.wpforms-container select,
.wpforms-container textarea {
  background: #fff !important;
  border: 1px solid var(--famula-line) !important;
  border-radius: var(--r-input) !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
  color: var(--famula-ink) !important;
  box-shadow: none !important;
  transition: border-color var(--dur-fast) var(--ease-standard),
              box-shadow    var(--dur-fast) var(--ease-standard);
}
.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder {
  color: var(--famula-mute) !important;
}
.wpforms-container input[type="text"]:focus,
.wpforms-container input[type="email"]:focus,
.wpforms-container input[type="tel"]:focus,
.wpforms-container input[type="url"]:focus,
.wpforms-container input[type="number"]:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
  border-color: var(--famula-orange) !important;
  outline: 0 !important;
  box-shadow: inset 0 0 0 1px var(--famula-orange) !important;
}

/* Checkboxes & radios — custom-styled */
.wpforms-container ul.wpforms-image-choices,
.wpforms-container ul.wpforms-field-checkbox,
.wpforms-container ul.wpforms-field-radio { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }

.wpforms-container input[type="checkbox"],
.wpforms-container input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px; height: 18px;
  border-radius: 3px;
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--famula-line-strong);
  display: inline-grid; place-items: center;
  transition: background var(--dur-fast) var(--ease-standard);
  vertical-align: middle;
  margin-right: 8px;
  cursor: pointer;
}
.wpforms-container input[type="radio"]    { border-radius: 999px; }
.wpforms-container input[type="checkbox"]:checked,
.wpforms-container input[type="radio"]:checked {
  background: var(--famula-orange);
  box-shadow: none;
}
.wpforms-container input[type="checkbox"]:checked::after {
  content: "✓"; color: #fff; font-size: 12px; font-weight: 800;
}
.wpforms-container input[type="radio"]:checked::after {
  content: ""; width: 8px; height: 8px; border-radius: 999px; background: #fff;
}

/* Submit button — Famula primary */
.wpforms-container .wpforms-submit-container button.wpforms-submit,
.wpforms-container button[type="submit"].wpforms-submit {
  background: var(--famula-navy) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--r-btn) !important;
  padding: 16px 26px !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  letter-spacing: 0.005em !important;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-standard);
  width: 100%;
}
.wpforms-container .wpforms-submit-container button.wpforms-submit:hover,
.wpforms-container button[type="submit"].wpforms-submit:hover {
  background: var(--famula-navy-soft) !important;
}

/* Error / success messages */
.wpforms-container .wpforms-error,
.wpforms-container .wpforms-field-error {
  color: var(--famula-rust) !important;
  font-size: 13px !important;
  margin-top: 6px !important;
}
.wpforms-container input.wpforms-error,
.wpforms-container textarea.wpforms-error,
.wpforms-container select.wpforms-error {
  border-color: var(--famula-rust) !important;
  box-shadow: inset 0 0 0 1px var(--famula-rust) !important;
}
.wpforms-confirmation-container-full,
.wpforms-confirmation-container {
  background: var(--famula-sand) !important;
  color: var(--famula-ink) !important;
  border: 0 !important;
  border-left: 3px solid var(--famula-olive) !important;
  border-radius: var(--r-card) !important;
  padding: 20px 24px !important;
}

/* Section dividers / page-break */
.wpforms-container .wpforms-page-indicator,
.wpforms-container .wpforms-page-indicator-page {
  color: var(--famula-mute) !important;
}
.wpforms-container .wpforms-page-indicator-page-progress {
  background: var(--famula-orange) !important;
}
