/* Detalles compartidos de la revisión de formularios. */
.form .campo[hidden], .form [data-contacto-pais-otro][hidden], .form [data-contacto-ciudad-otra][hidden] { display: none; }
.form .form-nota { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.55; }
.form .campo input, .form .campo select, .form .campo textarea { min-width: 0; font-size: 1rem; }
/* Cada ayuda ocupa su propio espacio: nunca estira la caja vecina. */
.form .fila { align-items: start; }
.form .campo { min-width: 0; align-content: start; align-items: start; gap: 8px; }
.form .campo > label { margin: 0; }
.form .campo input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
.form .campo select { box-sizing: border-box; height: 56px; min-height: 56px; max-height: 56px; line-height: 1.4; }
.form .campo textarea { box-sizing: border-box; height: auto; min-height: 128px; line-height: 1.6; }
.form .campo .ayuda, .form .campo .campo-error { align-self: start; line-height: 1.55; }
.form [data-contacto-pais-otro]:not([hidden]), .form [data-contacto-ciudad-otra]:not([hidden]) { display: grid; align-content: start; gap: 8px; }
@supports (grid-template-rows: subgrid) {
  @media (min-width: 851px) {
    /* Comparte la altura de etiqueta, control, ayuda y error entre las dos columnas. */
    .form[data-formulario="institucional"] .fila,
    .form[data-agenda-form] .fila { row-gap: 8px; }
    .form[data-formulario="institucional"] .fila > .campo,
    .form[data-agenda-form] .fila > .campo { grid-row: span 4; grid-template-rows: subgrid; }
  }
}
.form .campo select:disabled { background: var(--paper); color: var(--muted); cursor: not-allowed; }
.form .campo label:not(.opcion) span { font-weight: 400; color: var(--muted); }
.form-ok:focus { outline: 3px solid var(--blue); outline-offset: 5px; }
.instituciones-intro { max-width: 720px; margin: 0 auto 32px; }
.instituciones-ayuda { margin-top: 20px; color: var(--muted); font-size: .92rem; }
