/* ─── Variables ────────────────────────────────────────────────────────────── */
.equipar-forms-wrap {
  --equipar-forms-accent:  #00b2a9;
  --equipar-forms-border:  #a0a0a0;   /* Borde más oscuro para mayor contraste */
  --equipar-forms-radius:  6px;
  --equipar-forms-text:    #333333;   /* Color de texto explícito (no inherit) */
  --equipar-forms-bg:      #ffffff;

  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
}

/* ─── Form wrapper ─────────────────────────────────────────────────────────── */
.equipar-forms {
  font-family: inherit;
  width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
}

/* ─── Row ──────────────────────────────────────────────────────────────────── */
.equipar-forms-row {
  margin-bottom: 12px;
  width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* ─── Label ────────────────────────────────────────────────────────────────── */
/*
 * IMPORTANTE: se usa un color explícito oscuro en lugar de `inherit`.
 * Elementor puede configurar el color del widget de texto en blanco,
 * lo que hace que la etiqueta sea invisible sobre fondo blanco cuando hereda.
 */
.equipar-forms-label {
  display: block !important;
  width: 100% !important;
  font-weight: 600 !important;
  /* Color fijo oscuro — nunca inherit para evitar herencia desde Elementor */
  color: var(--equipar-forms-text) !important;
  box-sizing: border-box !important;
  margin-bottom: 6px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

/* Sobrescritura adicional con selectores de mayor especificidad para casos
   donde el tema o Elementor aún logren ganar la cascada. */
.elementor-popup-modal .equipar-forms-label,
.elementor-widget-container .equipar-forms-label,
div.equipar-forms-wrap .equipar-forms-label {
  color: #333333 !important;
}

/* ─── Input ────────────────────────────────────────────────────────────────── */
.equipar-forms-input {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  height: 44px !important;
  min-height: 44px !important;
  margin-top: 0 !important;
  padding: 0 14px !important;

  /* Borde explícito con más contraste */
  border: 1.5px solid var(--equipar-forms-border) !important;
  border-radius: var(--equipar-forms-radius) !important;

  /* Colores explícitos para evitar herencia problemática de Elementor */
  background: var(--equipar-forms-bg) !important;
  color: var(--equipar-forms-text) !important;

  font-size: 16px !important; /* Evita zoom en iOS */
  line-height: 1.4 !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  -webkit-appearance: none;
  appearance: none;
}

textarea.equipar-forms-input {
  height: auto !important;
  min-height: 110px !important;
  padding: 10px 14px !important;
  resize: vertical;
}

.equipar-forms-input::placeholder {
  color: #999999 !important;
  opacity: 1 !important;
}

.equipar-forms-input:focus {
  outline: none !important;
  border-color: var(--equipar-forms-accent) !important;
  box-shadow: 0 0 0 3px rgba(0, 178, 169, 0.2) !important;
}

/* ─── Actions ──────────────────────────────────────────────────────────────── */
.equipar-forms-actions {
  margin-top: 16px;
  width: 100% !important;
  display: block !important;
  text-align: right !important;
}

/* ─── Submit button ────────────────────────────────────────────────────────── */
.equipar-forms-submit {
  display: inline-flex !important;
  width: auto !important;
  min-width: 120px !important;
  max-width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 25px !important;
  border: none !important;
  border-radius: var(--equipar-forms-radius) !important;
  background: var(--equipar-forms-accent) !important;
  color: #ffffff !important;   /* Siempre blanco — explícito */
  font-weight: 600 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  transition: background 0.15s ease, opacity 0.15s ease;
  -webkit-appearance: none;
  appearance: none;
}

.equipar-forms-submit:hover:not(:disabled) {
  background: #009990 !important;
}

/* Responsive: botón al 100% en móviles */
@media screen and (max-width: 480px) {
  .equipar-forms-submit {
    width: 100% !important;
  }
  .equipar-forms-actions {
    text-align: center !important;
  }
}

.equipar-forms-submit:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

/* ─── Feedback ─────────────────────────────────────────────────────────────── */
.equipar-forms-feedback {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: var(--equipar-forms-radius);
  font-size: 14px;
  line-height: 1.4;
  /* Color explícito para evitar herencia de Elementor */
  color: var(--equipar-forms-text) !important;
}

.equipar-forms-feedback.is-success {
  background: #e7f6ec;
  color: #1a7f37 !important;
  border: 1px solid #b4dec4;
}

.equipar-forms-feedback.is-error {
  background: #fbeaea;
  color: #b32d2e !important;
  border: 1px solid #f0b8b8;
}
