/* ====== BASE PRO ====== */
.form-pro{
  --text:#111827;           /* gris muy oscuro */
  --muted:#6b7280;          /* gris medio (labels/placeholder) */
  --border:#d1d5db;         /* borde normal */
  --border-focus:#2563eb;   /* foco azul */
  --focus-ring: rgba(37,99,235,.14);
  --radius:12px;

  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Ubuntu,"Helvetica Neue",Arial,sans-serif;
}

/* Layout */
.form-grid{ display:grid; gap:18px; }
.form-row.two{ display:grid; gap:16px; }
@media (min-width:768px){ .form-row.two{ grid-template-columns:1fr 1fr; } }

/* Etiquetas */
.form-pro label{
  display:block;
  font-size:0.95rem;
  font-weight:600;
  color:#374151;
  letter-spacing:.2px;
}

/* Controles estándar */
.form-pro .control,
.form-pro .wpcf7-text,
.form-pro .wpcf7-email,
.form-pro .wpcf7-tel,
.form-pro .wpcf7-textarea{
  width:100%;
  height:48px;
  padding:12px 16px;
  font-size:16px;
  line-height:1.4;
  color:var(--text);
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  outline:none;
  box-shadow:none;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
  appearance:none;
}

.form-pro .wpcf7-textarea{
  height:auto;
  min-height:180px;
  resize:vertical;
}

/* Placeholder sobrio */
.form-pro ::placeholder{ color:var(--muted); opacity:1; }

/* Foco accesible */
.form-pro .control:focus,
.form-pro .wpcf7-text:focus,
.form-pro .wpcf7-email:focus,
.form-pro .wpcf7-tel:focus,
.form-pro .wpcf7-textarea:focus{
  border-color:var(--border-focus);
  box-shadow:0 0 0 4px var(--focus-ring);
}

/* Estados de validación CF7 */
.form-pro .wpcf7-not-valid{ border-color:#ef4444; }
.form-pro .wpcf7-not-valid:focus{ box-shadow:0 0 0 4px rgba(239,68,68,.18); }
.form-pro .wpcf7-not-valid-tip{ color:#ef4444; font-size:13px; margin-top:6px; }

/* Separación entre label y control */
.form-pro label > .wpcf7-form-control{ margin-top:8px; }

/* Botón */
.form-pro .btn{
  display:inline-block;
  width:auto;
  height:52px;
  padding:0 22px;
  border:none;
  border-radius:var(--radius);
  font-weight:700;
  letter-spacing:.2px;
  font-size:16px;
  cursor:pointer;
  background:#111827; /* negro/gris grafito elegante */
  color:#fff;
  transition:transform .04s ease, filter .18s ease, background .18s ease;
}
.form-pro .btn:hover{ filter:brightness(1.05); }
.form-pro .btn:active{ transform:translateY(1px); }
.form-pro .btn-block{ width:100%; }

/* --------- Si veías doble “tarjeta”, dejamos el fondo del tema y NO agregamos otro --------- */
.form-pro .form-card,
.form-card{ background:transparent!important; border:none!important; box-shadow:none!important; padding:0!important; }
