/* ═══════════════════════════════════════════════════════════════════════
   Ajustes para WordPress

   La hoja del diseño aprobado (estilos.css) no se toca. Aquí solo va lo que
   WordPress y Contact Form 7 agregan de su lado y que el diseño no contemplaba.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Contact Form 7 ───────────────────────────────────────────────────
   CF7 envuelve cada campo en un <span>. Dentro de .campo, que es una
   rejilla, ese <span> pasa a ser una celda, así que tiene que ocupar el
   ancho completo para que el campo no se encoja.
   ─────────────────────────────────────────────────────────────────────── */
.campo .wpcf7-form-control-wrap{display:block;width:100%}
.campo .wpcf7-form-control-wrap input,
.campo .wpcf7-form-control-wrap select,
.campo .wpcf7-form-control-wrap textarea{width:100%}
/* El alto mínimo es solo del área de mensaje: CF7 la emite con rows propias. */
.campo .wpcf7-form-control-wrap textarea{min-height:120px}

/* El mensaje de error de CF7 toma el mismo aspecto que el del diseño. */
.wpcf7-not-valid-tip{font-size:.8rem;color:#b91c1c;margin-top:.25rem;display:block}
.campo input.wpcf7-not-valid,
.campo select.wpcf7-not-valid,
.campo textarea.wpcf7-not-valid{border-color:#b91c1c}

/* La casilla de consentimiento.
   La casilla y su texto son dos elementos hermanos: Contact Form 7 emite solo
   el <input>, envuelto en sus spans, y la <label> la pone el formulario. */
.campo--consentimiento{display:flex;gap:.65rem;align-items:flex-start}
.campo--consentimiento .wpcf7-form-control-wrap{display:block;width:auto;flex:none}
.campo--consentimiento .wpcf7-list-item{margin:0}
.campo--consentimiento input[type="checkbox"]{
  width:18px;height:18px;margin-top:.15rem;accent-color:var(--verde)}
.campo--consentimiento label{
  font-size:.85rem;font-weight:400;color:var(--texto-suave);cursor:pointer}
.campo--consentimiento .req{color:#b91c1c;margin-left:.15rem}

/* Estados de respuesta, con los colores del diseño. */
.form__estado{display:none}
.form__estado.wpcf7-mail-sent-ok,
.form__estado.wpcf7-validation-errors,
.form__estado.wpcf7-acceptance-missing,
.form__estado.wpcf7-mail-sent-ng,
.form__estado.wpcf7-spam-blocked{display:block}
.form__estado.wpcf7-mail-sent-ok{background:var(--verde-tenue);border:1px solid var(--verde-borde);color:#14532d}
.form__estado.wpcf7-validation-errors,
.form__estado.wpcf7-acceptance-missing,
.form__estado.wpcf7-mail-sent-ng,
.form__estado.wpcf7-spam-blocked{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}

/* El indicador de envío de CF7 va dentro del botón, no flotando al lado. */
.wpcf7-spinner{display:none}
.wpcf7-form.submitting .btn__spinner{display:inline-block}

/* ── Contenido del editor ─────────────────────────────────────────────
   Lo que el cliente escriba en las páginas legales con el editor de bloques.
   ─────────────────────────────────────────────────────────────────────── */
.texto-legal ul:not([class]),
.texto-legal ol:not([class]){margin:0 0 1.25rem 1.25rem;padding:0}
.texto-legal ul:not([class]) li,
.texto-legal ol:not([class]) li{margin-bottom:.4rem}
.texto-legal table{width:100%;border-collapse:collapse;margin-bottom:1.25rem;font-size:.9rem}
.texto-legal th,.texto-legal td{border:var(--linea);padding:.6rem .75rem;text-align:left}
.texto-legal th{background:var(--acero-050);font-weight:600}
.texto-legal figure{margin:0 0 1.25rem}
.texto-legal img{max-width:100%;height:auto}

/* La barra de administración desplaza la página; el encabezado fijo la respeta. */
body.admin-bar .encabezado{top:32px}
@media (max-width:782px){body.admin-bar .encabezado{top:46px}}
