/* Sección "Comunicados" (sec-comunicados.js), pantalla 15 del diseño. Tokens de panel.css. */

.co-titulo { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.co-grilla { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); gap: 20px; align-items: start; }
.co-grilla.sin-form { grid-template-columns: minmax(0, 720px); }

.co-form { display: flex; flex-direction: column; gap: 16px; }
.co-form-cabeza { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.co-form-cabeza .t-subtitulo { margin: 0; }
.co-destino-sub { margin-top: 4px; max-width: 320px; }
.co-mensaje { min-height: 180px; line-height: 22px; }
.co-extras { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.co-extras .check { align-items: center; }
.co-foto { display: flex; align-items: center; gap: 12px; }
.co-foto-vista { width: 64px; height: 64px; object-fit: cover; border-radius: var(--r-medio); border: 1px solid var(--border-fuerte); }
.co-pie { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-top: 14px; border-top: 1px solid var(--border); }
.co-alcance { flex: 1; min-width: 200px; }

.co-columna { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.co-seccion { display: flex; flex-direction: column; gap: 10px; }
.co-seccion-cabeza { display: flex; align-items: baseline; gap: 10px; }
.co-seccion-cabeza .t-subtitulo { margin: 0; }
.co-item { padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; }
.co-item.borrador { border-style: dashed; }
.co-item.editando { border-color: var(--border-hi); background: var(--accent-soft); }
.co-item-cabeza { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.co-item-cabeza .t-fuerte { min-width: 0; overflow-wrap: anywhere; }
.co-item-cuerpo { margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-line; }
.co-item-foto { width: 100%; max-height: 160px; object-fit: cover; border-radius: var(--r-medio); }
.co-item-pie { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 2px; }
.co-item-pie .sello { text-transform: none; letter-spacing: 0; font-size: 12px; }
.co-borrar { width: 30px; height: 30px; }
.co-anteriores { align-self: flex-start; }
.co-vacio .vacio { padding: 24px 12px; }

@media (max-width: 1000px) {
  .co-grilla { grid-template-columns: 1fr; }
}
