/* =====================================================================
   Posicionamientos de organizaciones (12 nov 2026, pedido de Daniel; App\Posicionamientos).
   Ficha de la organización, perfil del Directorio político y lista del Directorio.
   Morado y neutros; «va contra derechos» en magenta oscuro con letras claras (como señalamientos).
   Sin colores de partidos.
   ===================================================================== */
:root { --pos-morado: #5b2a86; --pos-morado-2: #7444b4; --pos-suave: #f1ebf8; --pos-suave-tinta: #3d1c5c; --pos-contra: #4a0d33; --pos-contra-tinta: #fdeefa; --pos-borde: #c9b6e2; --pos-neutro: #efedf2; --pos-neutro-tinta: #4c4556; }

.pos-contador { font-size: .8em; font-weight: 600; color: var(--pos-neutro-tinta); }
.pos-aviso { font-size: .9rem; padding: .55rem .75rem; border-left: 3px solid var(--pos-morado-2); background: var(--pos-suave); color: var(--pos-suave-tinta); border-radius: .35rem; }
.pos-resumen { padding: .7rem .85rem; border: 1px solid var(--pos-borde); border-radius: .6rem; margin-bottom: .9rem; font-size: .93rem; }
.pos-sello { display: inline-flex; align-items: center; gap: .45rem; padding: .3rem .75rem; border-radius: .6rem; font-weight: 600; }
.pos-sello.contra { background: var(--pos-contra); color: var(--pos-contra-tinta); }
.pos-sello.favor { background: var(--pos-suave); color: var(--pos-suave-tinta); border: 1px solid var(--pos-borde); }

.pos-lista { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; }
.pos-item { padding: .75rem .9rem; border-radius: .6rem; border: 1px solid var(--pos-borde); border-left: 4px solid var(--pos-morado-2); background: rgba(116, 68, 180, .04); }
.pos-item.contra { border-left-color: var(--pos-contra); background: rgba(74, 13, 51, .05); }
.pos-item.neutral { border-left-color: #a59fb0; }
.pos-chips { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.pos-chip { display: inline-flex; align-items: center; gap: .3rem; font-size: .78rem; font-weight: 600; padding: .15rem .55rem; border-radius: 999px; background: var(--pos-neutro); color: var(--pos-neutro-tinta); border: 1px solid #d6d1dd; }
.pos-chip.pos-rel { background: var(--pos-morado); color: #fff; border-color: var(--pos-morado); }
.pos-chip.pos-der.favor { background: var(--pos-suave); color: var(--pos-suave-tinta); border-color: var(--pos-borde); }
.pos-chip.pos-der.contra { background: var(--pos-contra); color: var(--pos-contra-tinta); border-color: var(--pos-contra); }
.pos-chip.pos-conf.ok { background: var(--pos-suave); color: var(--pos-suave-tinta); border-color: var(--pos-morado-2); }
.pos-org { font-weight: 700; margin-right: .2rem; }
.pos-desc { font-weight: 600; }
.pos-cita { margin: .35rem 0 .45rem; padding: .35rem .7rem; border-left: 3px solid var(--pos-borde); font-style: italic; font-size: .92rem; }

/* Directorio político: bloque de organizaciones y chip en la lista */
.pos-orgs { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.pos-orgs li { padding: .6rem .75rem; border: 1px solid var(--pos-borde); border-radius: .6rem; background: rgba(116, 68, 180, .04); }
.pos-orgs li.contra { border-left: 4px solid var(--pos-contra); }
.pos-orgs .pos-org-nombre { font-weight: 700; display: block; }
.pos-orgs small { display: block; color: var(--pos-neutro-tinta); }
.pos-lista-chip { display: inline-flex; align-items: center; gap: .3rem; font-size: .76rem; font-weight: 600; line-height: 1.25; padding: .15rem .5rem; border-radius: 999px; background: var(--pos-suave); color: var(--pos-suave-tinta); border: 1px solid var(--pos-borde); }

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) { --pos-suave: rgba(116, 68, 180, .22); --pos-suave-tinta: #ece2fb; --pos-neutro: rgba(255, 255, 255, .08); --pos-neutro-tinta: #ddd6e8; --pos-borde: rgba(201, 182, 226, .4); }
}
:root[data-theme="dark"] { --pos-suave: rgba(116, 68, 180, .22); --pos-suave-tinta: #ece2fb; --pos-neutro: rgba(255, 255, 255, .08); --pos-neutro-tinta: #ddd6e8; --pos-borde: rgba(201, 182, 226, .4); }
