.form-simple,
.form-simple p {
  padding: 0 !important;
  margin: 0 !important;
}
.form-simple {
  max-width: 100%;
  box-sizing: border-box;
}
/* Etiquetas */
.form-simple label {
  display: inline-block;
  font-size: 11px;
  margin: 10px 4px 0;
  padding: 0 1em;
  color: #FFF;
  background: #666;
  border-radius: 6px 6px 0 0;
  float: left;
}
/* Campos */
.form-simple input,
.form-simple select,
.form-simple textarea {
  width: 100%;
  padding: 8px 1em !important;
  font-size: 14px;
  background: #F5F5F5;
  border: 1px solid #666 !important;
  box-sizing: border-box;
  margin: -4px 0 !important;
  border-radius: 6px;
}
/* Textarea especial */
.form-simple textarea {
  height: 100%;
  min-height: auto;
  resize: vertical;
}
/* En el grid, permití altura completa al segundo div */
.form-simple .form-grid > div {
  width: 49%;
  display: flex;
  flex-direction: column;
}
/* Botón */
.form-simple input[type="submit"] {
  background: #333;
  color: #fff;
  border: none!important;
  padding: 1.5em !important;
  cursor: pointer;
  margin-top: 10px !important;
  border-radius: 6px;
  text-transform: uppercase;
  font-size:1.2em !important;
}
/* Grid para 2 columnas */
.form-simple .form-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}
/* Cada campo ocupa el 48% */
.form-simple .form-grid > div {
  width: 48%;
}
/* Responsive: en móvil se apilan */
@media (max-width: 768px) {
  .form-simple .form-grid > div {
    width: 100%;
  }
}

/* Estilo de los mensajes */
.wpcf7-response-output {
  margin: 1em 0;
  padding: 1em;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 14px;
}

/* Campos inválidos */
.wpcf7-form input.wpcf7-not-valid,
.wpcf7-form textarea.wpcf7-not-valid,
.wpcf7-form select.wpcf7-not-valid {
  border: 1px solid #dc3545 !important;
  background-color: #f8d7da !important;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.wpcf7-form input.wpcf7-not-valid:focus,
.wpcf7-form textarea.wpcf7-not-valid:focus,
.wpcf7-form select.wpcf7-not-valid:focus {
  border: 1px solid #666 !important;
  background-color: #F5F5F5 !important;
}

/* Mensaje debajo del campo */
.wpcf7-not-valid-tip {
  display: none !important;
}

/* Respuestas */
.wpcf7-response-output {
  font-size: 0.9em !important;
  padding: 1em !important;
  margin-top: -10px !important;
  border-radius: 6px !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
  transition: all 0.3s ease !important;
  background-color: #f0f0f0 !important;
  color: #333 !important;
  border: 1px solid #ccc !important;
}

/* Mensaje de error */
.wpcf7-response-output.wpcf7-validation-errors {
  background-color: #f8d7da !important;
  border-color: #dc3545 !important;
  color: #721c24 !important;
}

/* Mensaje de éxito */
.wpcf7-response-output.wpcf7-mail-sent-ok {
  background-color: #d4edda !important;
  border-color: #28a745 !important;
  color: #155724 !important;
}

/* Mensaje de spam */
.wpcf7-response-output.wpcf7-spam-blocked {
  background-color: #fff3cd !important;
  border-color: #ffc107 !important;
  color: #856404 !important;
}

/* Mensaje de envío fallido */
.wpcf7-response-output.wpcf7-mail-failed {
  background-color: #f8d7da !important;
  border-color: #dc3545 !important;
  color: #721c24 !important;
}
