/* =====================================================================
   Observatorio legislativo — vista renovada (5 nov 2026).
   Portada nacional, cada Estado, Partidos, Directorio y ficha de iniciativa con el estilo de la ficha de
   diputación: encabezado oscuro, cifras en recuadros, veredicto con tono y menú de secciones en píldoras.
   Se carga después de observatorio.css (y de observatorio-portada.css donde se usa). Mismos datos y reglas.
   ===================================================================== */

/* ---------- Encabezado oscuro ---------- */
.obsv-hero {
  --obsv-acento: var(--mr-morado);
  position: relative; color: #f4f1f8;
  padding-block: clamp(1.25rem, 3.5vw, 2rem) clamp(1.5rem, 4vw, 2.25rem);
  background:
    radial-gradient(46rem 24rem at 88% -10%, rgba(116, 68, 180, .5), transparent 70%),
    radial-gradient(28rem 18rem at -5% 110%, rgba(242, 165, 65, .14), transparent 70%),
    var(--mr-noche);
}
.obsv-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--mr-liston); }
.obsv-hero .migas { color: #b9b0c8; margin-bottom: clamp(1rem, 3vw, 1.6rem); }
.obsv-hero .migas a { color: #cfc6dd; }
.obsv-hero a:not(.btn):not(.searchlist-choice) { color: #ffd59a; }
.obsv-hero a:not(.btn):not(.searchlist-choice):hover { color: #fff; }
.obsv-hero h1 { color: #fff; font-size: clamp(1.9rem, 4.6vw, 3.2rem); line-height: 1.05; letter-spacing: -.03em; margin: 0; overflow-wrap: anywhere; }
.obsv-hero h1 em { font-style: italic; color: #ffd59a; }
.obsv-etiqueta { display: flex; align-items: center; gap: .55rem; margin: 0 0 .55rem; font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #ffd59a; }
.obsv-etiqueta::before { content: ""; flex: none; width: .5rem; height: .5rem; border-radius: 50%; background: var(--mr-cempa); box-shadow: 0 0 0 4px rgba(242, 165, 65, .22); }
.obsv-intro { margin: .8rem 0 0; color: #d9d2e4; font-size: 1.04rem; line-height: 1.55; max-width: 62ch; }

.obsv-hero-grid { display: grid; gap: clamp(1.25rem, 3vw, 2.5rem); grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 992px) { .obsv-hero-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); } }

/* Identidad del congreso: silueta del Estado con anillo del color de su rendimiento */
.obsv-identidad { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 1rem; align-items: start; }
@media (min-width: 576px) { .obsv-identidad { grid-template-columns: 8.5rem minmax(0, 1fr); gap: 1.5rem; } }
.obsv-silueta {
  display: grid; place-items: center; aspect-ratio: 1; border-radius: 22px; padding: .9rem;
  background: linear-gradient(160deg, #2c2450, #1b1634);
  box-shadow: 0 0 0 3px var(--mr-noche), 0 0 0 6px var(--obsv-acento), 0 18px 40px -12px rgba(0, 0, 0, .6);
}
.obsv-silueta .silueta-sola { width: 100%; height: 100%; display: block; fill: var(--obsv-acento); stroke: rgba(255, 255, 255, .7); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.obsv-silueta .silueta-sola path { vector-effect: non-scaling-stroke; }
.obsv-silueta > i { font-size: 2.6rem; color: var(--obsv-acento); }
.obs-rend-0 { --obsv-acento: #b9b0c8; }
.obs-rend-1 { --obsv-acento: #ff6b5e; }
.obs-rend-2 { --obsv-acento: #ff9150; }
.obs-rend-3 { --obsv-acento: #ffc061; }
.obs-rend-4 { --obsv-acento: #8fd694; }
.obs-rend-5 { --obsv-acento: #4fd6a0; }

.obsv-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1rem 0 0; }
.obsv-hero .obsv-chips a {
  display: inline-flex; align-items: center; gap: .4rem; padding: .34rem .8rem; border-radius: 999px;
  background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); color: #f4f1f8;
  font-size: .86rem; font-weight: 600; text-decoration: none; transition: background .2s, border-color .2s;
}
.obsv-hero .obsv-chips a:hover { background: rgba(255, 255, 255, .16); border-color: rgba(255, 255, 255, .35); color: #fff; }
.obsv-chips i { color: #ffd59a; font-size: .82rem; }

/* «Ver otro congreso» con SearchList sobre fondo oscuro */
.obsv-cambiar { margin: 1rem 0 0; max-width: 24rem; }
.obsv-cambiar .form-label { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #b9b0c8; margin-bottom: .35rem; }
.obsv-hero .searchlist > .form-select { background-color: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .22); color: #fff; min-height: 44px; font-size: .95rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffd59a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
.obsv-hero .searchlist > .form-select:hover { border-color: rgba(255, 213, 154, .6); }
.obsv-hero .searchlist-panel { color: var(--mr-tinta); }

/* Veredicto («Cómo responde este Congreso», «¿Cómo va el país?») */
.obsv-veredicto {
  --tono: #c9c1d6; --tono-fondo: rgba(255, 255, 255, .06);
  border-radius: 18px; padding: 1.1rem 1.2rem 1.15rem; background: var(--tono-fondo);
  border: 1px solid rgba(255, 255, 255, .12); border-top: 4px solid var(--tono);
  box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .7);
}
.obsv-veredicto.tono-rojo { --tono: #ff6b5e; --tono-fondo: rgba(180, 35, 24, .2); }
.obsv-veredicto.tono-naranja { --tono: #ff9150; --tono-fondo: rgba(232, 89, 12, .18); }
.obsv-veredicto.tono-ambar { --tono: #ffc061; --tono-fondo: rgba(161, 92, 7, .24); }
.obsv-veredicto.tono-verde-claro { --tono: #8fd694; --tono-fondo: rgba(102, 168, 107, .2); }
.obsv-veredicto.tono-verde { --tono: #4fd6a0; --tono-fondo: rgba(31, 122, 90, .24); }
.obsv-veredicto.tono-magenta { --tono: #ff5cb8; --tono-fondo: rgba(176, 30, 120, .22); }
.obsv-veredicto.tono-morado { --tono: #c9a6f5; --tono-fondo: rgba(123, 75, 183, .22); }
.obsv-veredicto-etiqueta { margin: 0 0 .5rem; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #b9b0c8; }
.obsv-veredicto-fila { display: flex; gap: 1rem; align-items: center; }
.obsv-veredicto-cifra { margin: 0; flex: none; font-family: var(--mr-serif); color: var(--tono); line-height: 1; }
.obsv-veredicto-cifra strong { font-size: clamp(2.4rem, 6vw, 3.1rem); font-weight: 600; letter-spacing: -.03em; }
.obsv-veredicto-cifra span { font-size: 1rem; color: #cfc6dd; margin-left: .1rem; }
.obsv-veredicto-titulo { margin: 0; font-size: clamp(1.1rem, 2.2vw, 1.3rem); font-weight: 750; line-height: 1.2; color: var(--tono); }
.obsv-veredicto-detalle { margin: .3rem 0 0; color: #e6e0ee; line-height: 1.45; font-size: .95rem; }
.obsv-medidor { position: relative; height: .55rem; margin: 1rem 0 .2rem; border-radius: 999px; background: rgba(255, 255, 255, .12); }
.obsv-medidor span { position: absolute; left: 0; top: 0; bottom: 0; border-radius: inherit; background: var(--tono); }
.obsv-medidor i { position: absolute; top: -.3rem; bottom: -.3rem; width: 2px; margin-left: -1px; background: #fff; border-radius: 2px; opacity: .85; }
.obsv-veredicto-datos { list-style: none; padding: 0; margin: .7rem 0 0; display: grid; gap: .3rem; color: #d9d2e4; font-size: .9rem; }
.obsv-veredicto-datos strong { color: #fff; }
.obsv-veredicto-datos small { color: #b9b0c8; }
.obsv-veredicto-datos .alerta { color: #ffb3dd; }
.obsv-hero .obsv-veredicto-enlace { display: inline-flex; align-items: center; gap: .35rem; margin-top: .8rem; font-weight: 650; font-size: .92rem; }

/* Cifras clave (recuadros) */
.obsv-cifras { list-style: none; padding: 0; margin: clamp(1.4rem, 3vw, 2rem) 0 0; display: grid; gap: .6rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .obsv-cifras { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; } }
.obsv-cifras > li > a, .obsv-cifras > li > div {
  display: flex; flex-direction: column; gap: .15rem; height: 100%; padding: .85rem 1rem; border-radius: 14px;
  background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); color: #f4f1f8 !important; text-decoration: none;
  transition: background .2s, border-color .2s, transform .2s;
}
.obsv-cifras > li > a:hover { background: rgba(255, 255, 255, .11); border-color: rgba(255, 213, 154, .5); transform: translateY(-1px); }
.obsv-cifras > li > a:focus-visible { outline: 3px solid var(--mr-cempa); outline-offset: 2px; }
.obsv-cifra-nombre { font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #b9b0c8; }
.obsv-cifra-nombre i { margin-right: .2rem; }
.obsv-cifras .verde .obsv-cifra-nombre i { color: #4fd6a0; }
.obsv-cifras .rojo .obsv-cifra-nombre i { color: #ff8f85; }
.obsv-cifras .ambar .obsv-cifra-nombre i { color: #ffc061; }
.obsv-cifras .morado .obsv-cifra-nombre i { color: #c9a6f5; }
.obsv-cifra-valor { font-size: .95rem; color: #d9d2e4; }
.obsv-cifra-valor strong { font-family: var(--mr-serif); font-size: clamp(1.6rem, 3.5vw, 2.1rem); font-weight: 600; color: #fff; line-height: 1.1; letter-spacing: -.02em; }
.obsv-cifra-pie { font-size: .84rem; color: #cfc6dd; line-height: 1.35; }

/* Semáforo sobre fondo oscuro */
.obsv-semaforo { margin-top: 1.1rem; padding: 1rem 1.1rem; border-radius: 16px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); }
.obsv-semaforo-titulo { margin: 0 0 .6rem; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #b9b0c8; }
.obsv-barra { display: flex; gap: 3px; height: 1rem; border-radius: 999px; overflow: hidden; background: rgba(255, 255, 255, .1); }
.obsv-barra span { display: block; flex-basis: 0; min-width: 6px; background: var(--obs-c, #8f889b); }
.obsv-barra .verde { background: #2fae7d; }
.obsv-barra .azul { background: #4f86d6; }
.obsv-barra .azul-claro { background: #9cc0ea; }
.obsv-barra .ambar { background: #e7a23a; }
.obsv-barra .rojo { background: #e0483c; }
.obsv-barra .gris { background: #8f889b; }
.obsv-barra .obs-tramite { background: #8db5ea; }
.obsv-leyenda { list-style: none; padding: 0; margin: .75rem 0 0; display: flex; flex-wrap: wrap; gap: .35rem 1rem; font-size: .88rem; }
.obsv-leyenda a, .obsv-leyenda span.item { display: inline-flex; align-items: center; gap: .4rem; color: #e6e0ee !important; text-decoration: none; }
.obsv-leyenda a:hover { color: #fff !important; text-decoration: underline; }
.obsv-leyenda i { width: .7rem; height: .7rem; border-radius: 3px; flex: none; background: #8f889b; }
.obsv-leyenda i.verde { background: #2fae7d; } .obsv-leyenda i.azul { background: #4f86d6; } .obsv-leyenda i.obs-tramite { background: #8db5ea; }
.obsv-leyenda i.azul-claro { background: #9cc0ea; } .obsv-leyenda i.ambar { background: #e7a23a; } .obsv-leyenda i.rojo { background: #e0483c; }
.obsv-leyenda strong { color: #fff; }
.obsv-leyenda span { color: #b9b0c8; }
.obsv-actualizado { margin: 1rem 0 0; font-size: .86rem; color: #b9b0c8; }
.obsv-actualizado a { font-weight: 600; }

/* Buscador del encabezado nacional */
.obsv-buscar { margin-top: 1.2rem; max-width: 36rem; }
.obsv-buscar-campo { position: relative; display: flex; align-items: center; background: #fff; border-radius: 999px; padding: .3rem .3rem .3rem 2.6rem; box-shadow: 0 18px 40px -20px rgba(0, 0, 0, .6); }
.obsv-buscar-campo > i { position: absolute; left: 1rem; color: var(--mr-piedra-2); }
.obsv-buscar-campo .form-control { border: 0; box-shadow: none; padding: .55rem .4rem; background: transparent; min-width: 0; }
.obsv-buscar-campo .btn { border-radius: 999px; flex: none; font-weight: 700; padding-inline: 1.2rem; }
.obsv-buscar-pie { margin: .6rem 0 0; font-size: .9rem; }

/* Gráfica de dona: cómo van todas las propuestas */
.obsv-dona { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 1rem; align-items: center; }
.obsv-dona svg { width: 100%; height: auto; display: block; transform: rotate(-90deg); }
.obsv-dona-centro { position: relative; }
.obsv-dona-texto { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; line-height: 1.05; }
.obsv-dona-texto strong { font-family: var(--mr-serif); font-size: 1.85rem; font-weight: 600; color: #fff; }
.obsv-dona-texto small { font-size: .72rem; color: #cfc6dd; text-transform: uppercase; letter-spacing: .06em; }
.obsv-dona ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .3rem; font-size: .9rem; color: #e6e0ee; }
.obsv-dona li { display: flex; align-items: center; gap: .45rem; }
.obsv-dona li i { width: .7rem; height: .7rem; border-radius: 3px; flex: none; }
.obsv-dona li strong { color: #fff; margin-left: auto; font-variant-numeric: tabular-nums; }
.obsv-extremos { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: .9rem; }
.obsv-hero .obsv-extremos a { display: block; padding: .6rem .75rem; border-radius: 12px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); color: #f4f1f8; text-decoration: none; font-size: .86rem; line-height: 1.3; }
.obsv-hero .obsv-extremos a:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.obsv-extremos small { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #b9b0c8; }
.obsv-extremos strong { display: block; font-size: .98rem; color: #fff; }
.obsv-extremos .mejor b { color: #4fd6a0; } .obsv-extremos .peor b { color: #ff8f85; }

/* Atajos debajo del encabezado */
.obsv-atajos { padding-block: 1.1rem .4rem; }
.obsv-atajos .obs-senales { margin: 0; }

/* ---------- Menú de secciones en píldoras (fijo bajo la barra) ---------- */
.obs-pestanas { background: rgba(255, 255, 255, .92); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); z-index: 1010; }
.obs-pestanas-fila { gap: .25rem; padding-block: .5rem; align-items: center; }
.obs-pestana { padding: .45rem .9rem; border: 0; border-radius: 999px; font-size: .9rem; transition: background .2s, color .2s; }
.obs-pestana:hover { color: var(--mr-morado); background: var(--mr-morado-claro); }
.obs-pestana[aria-current="true"] { color: #fff; background: var(--mr-morado); border: 0; }
.obs-pestana[aria-current="true"] i { color: #fff; }
.obs-pestana[aria-current="true"] .obs-pestana-alerta { background: #fff; color: #b42318; }

/* ---------- Ranking de los congresos junto al mapa ---------- */
.obsv-ranking { background: #fff; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio-lg); box-shadow: var(--mr-sombra); padding: 1.1rem 1.1rem .6rem; display: flex; flex-direction: column; min-height: 0; }
.obsv-ranking h3 { font-size: 1.15rem; margin: 0; }
.obsv-ranking-cabeza { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .6rem; }
.obsv-orden { display: inline-flex; padding: .2rem; border-radius: 999px; background: var(--mr-papel); border: 1px solid var(--mr-linea); }
.obsv-orden button { border: 0; background: none; border-radius: 999px; padding: .3rem .75rem; font-size: .82rem; font-weight: 650; color: var(--mr-piedra); }
.obsv-orden button[aria-pressed="true"] { background: #fff; color: var(--mr-morado-2); box-shadow: 0 1px 3px rgba(21, 18, 43, .12); }
.obsv-ranking ol { list-style: none; margin: 0; padding: 0 .2rem 0 0; overflow-y: auto; max-height: 34rem; overscroll-behavior: contain; }
.obsv-ranking li a { display: grid; grid-template-columns: 1.8rem 2rem minmax(0, 1fr) 2.6rem; align-items: center; gap: .55rem; padding: .45rem .35rem; border-radius: 10px; color: var(--mr-tinta); text-decoration: none; }
.obsv-ranking li a:hover { background: var(--mr-papel); }
.obsv-ranking-pos { font-size: .8rem; font-weight: 700; color: var(--mr-piedra-2); text-align: right; font-variant-numeric: tabular-nums; }
.obsv-ranking-sil { width: 2rem; height: 2rem; display: grid; place-items: center; }
.obsv-ranking-sil svg { width: 100%; height: 100%; fill: currentColor; }
.obsv-ranking-sil.r0 { color: #b9b0c8; } .obsv-ranking-sil.r1 { color: #b42318; } .obsv-ranking-sil.r2 { color: #e8590c; } .obsv-ranking-sil.r3 { color: #d99a1e; } .obsv-ranking-sil.r4 { color: #4f9455; } .obsv-ranking-sil.r5 { color: #1e7a4c; }
.obsv-ranking-texto { min-width: 0; }
.obsv-ranking-texto strong { display: block; font-size: .93rem; font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.obsv-ranking-barra { display: block; height: .4rem; margin-top: .25rem; border-radius: 999px; background: var(--mr-linea); overflow: hidden; }
.obsv-ranking-barra i { display: block; height: 100%; border-radius: inherit; background: currentColor; }
.obsv-ranking-num { justify-self: end; min-width: 2.3rem; text-align: center; padding: .15rem .35rem; border-radius: 8px; font-weight: 750; font-size: .9rem; color: #fff; background: #8f889b; font-variant-numeric: tabular-nums; }
.obsv-ranking-num.r1 { background: #b42318; } .obsv-ranking-num.r2 { background: #e8590c; } .obsv-ranking-num.r3 { background: #c98a12; } .obsv-ranking-num.r4 { background: #4f9455; } .obsv-ranking-num.r5 { background: #1e7a4c; }
.obsv-ranking-num.r0 { background: var(--mr-papel); color: var(--mr-piedra); }
.obsv-ranking li.preliminar .obsv-ranking-texto strong::after { content: " *"; color: var(--mr-piedra-2); }
.obsv-ranking-nota { font-size: .8rem; color: var(--mr-piedra); margin: .6rem 0 .4rem; }
.obsv-ranking details { font-size: .86rem; color: var(--mr-piedra); margin: 0 0 .5rem; }
.obsv-ranking summary { cursor: pointer; font-weight: 650; color: var(--mr-morado); }
@media (min-width: 992px) { .nac-mapa-rejilla.obsv-mapa-rejilla { grid-template-columns: minmax(0, 1.6fr) minmax(19rem, 1fr); align-items: stretch; } }

/* ---------- Tarjetas y secciones con el aire de la ficha ---------- */
.obsv-cuerpo .titulo-seccion h2, .obsv-cuerpo .nac-titulo { letter-spacing: -.02em; }
.obsv-cuerpo .obs-reciente, .obsv-cuerpo .superficie, .obsv-cuerpo .nac-mapa, .obsv-cuerpo .obs-filtros { border-radius: var(--mr-radio-lg); box-shadow: var(--mr-sombra); }

/* ---------- SearchList dentro de los filtros del Observatorio ---------- */
.obs-filtros .searchlist > .form-select { min-height: 0; font-size: .95rem; padding-block: .58rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.obs-filtros .searchlist-panel { min-width: min(18rem, 86vw); z-index: 1030; }
.obs-filtros .searchlist .d-flex:empty { display: none !important; }

/* ---------- Partidos: ¿es realmente aliado? ---------- */
.ptv-resumen { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); margin: 0 0 1.25rem; padding: 0; list-style: none; }
.ptv-resumen li { padding: .9rem 1rem; border-radius: 14px; background: #fff; border: 1px solid var(--mr-linea); border-top: 4px solid var(--ptv-c, var(--mr-linea-2)); box-shadow: var(--mr-sombra); }
.ptv-resumen strong { display: block; font-family: var(--mr-serif); font-size: 1.6rem; font-weight: 600; line-height: 1.1; }
.ptv-resumen span { font-size: .88rem; color: var(--mr-piedra); }
.ptv-sello { display: inline-flex; align-items: center; gap: .35rem; padding: .22rem .65rem; border-radius: 999px; font-size: .76rem; font-weight: 750; letter-spacing: .02em; color: var(--ptv-c); background: var(--ptv-cc); border: 1px solid color-mix(in srgb, var(--ptv-c) 30%, transparent); white-space: nowrap; }
.ptv-real { --ptv-c: #1f7a5a; --ptv-cc: #e3f3ec; }
.ptv-medias { --ptv-c: #8f4f00; --ptv-cc: #fdf0dc; }
.ptv-no { --ptv-c: #57505f; --ptv-cc: #eeecf1; }
.ptv-contra { --ptv-c: #b42318; --ptv-cc: #fbe9e7; }
.ptv-pocos { --ptv-c: #686173; --ptv-cc: #f7f6f9; }
.ptv-medidas { display: flex; flex-wrap: wrap; gap: .25rem .9rem; margin: .35rem 0 0; font-size: .84rem; color: var(--mr-piedra); }
.ptv-medidas b { color: var(--mr-tinta); font-variant-numeric: tabular-nums; }
.ptr-ranking .ptv-fila { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; margin-top: .35rem; }
.ptv-regla { background: #fff; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio-lg); padding: 1rem 1.15rem; box-shadow: var(--mr-sombra); }
.ptv-regla summary { cursor: pointer; font-weight: 700; color: var(--mr-morado-2); }
.ptv-regla ul { margin: .7rem 0 0; padding-left: 1.1rem; display: grid; gap: .35rem; font-size: .93rem; }
.ptv-pregunta { margin: 1.25rem 0 0; padding: 1rem 1.15rem; border-radius: 16px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); color: #e6e0ee; }
.ptv-pregunta strong { color: #fff; }

@media (max-width: 575.98px) {
  .obsv-dona { grid-template-columns: 6.5rem minmax(0, 1fr); }
  .obsv-dona-texto strong { font-size: 1.45rem; }
  .obsv-ranking li a { grid-template-columns: 1.5rem 1.7rem minmax(0, 1fr) 2.4rem; gap: .45rem; }
  .obsv-buscar-campo .btn { padding-inline: .9rem; }
}
@media (prefers-reduced-motion: reduce) { .obsv-cifras > li > a { transition: none; } .obsv-cifras > li > a:hover { transform: none; } }
.obsv-ranking-barra.r0 i { background: #b9b0c8; } .obsv-ranking-barra.r1 i { background: #b42318; } .obsv-ranking-barra.r2 i { background: #e8590c; }
.obsv-ranking-barra.r3 i { background: #e0a21e; } .obsv-ranking-barra.r4 i { background: #66a86b; } .obsv-ranking-barra.r5 i { background: #1e7a4c; }
.obsv-hero .pt-barra { background: rgba(255, 255, 255, .1); }
.obsv-hero .pt-leyenda { color: #e6e0ee; margin: .7rem 0 0; }
.obsv-hero .pt-leyenda strong { color: #fff; }
.obsv-hero .ptv-sello { border-color: transparent; }
.ptv-detalle { margin: .2rem 0 .9rem; padding: 0 .9rem; font-size: .9rem; color: var(--mr-piedra); line-height: 1.45; }
.ptv-detalle .ptv-medidas { margin-top: .25rem; }
.pt-tarjeta .ptv-fila { display: block; margin: .35rem 0 .1rem; }
/* Veredicto en el perfil de cada partido */
.ptv-caja { margin: 1.25rem 0 0; padding: 1rem 1.15rem; border-radius: 16px; background: #fff; border: 1px solid var(--mr-linea); border-left: 5px solid var(--ptv-c); box-shadow: var(--mr-sombra); max-width: 52rem; }
.ptv-caja-pregunta { margin: 0 0 .35rem; font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mr-piedra); }
.ptv-caja-titulo { margin: 0; }
.ptv-caja-titulo .ptv-sello { font-size: .95rem; padding: .3rem .8rem; }
.ptv-caja-detalle { margin: .5rem 0 0; color: var(--mr-tinta); }
.ptv-caja-enlace { display: inline-flex; gap: .35rem; align-items: center; margin-top: .6rem; font-weight: 650; font-size: .9rem; }

/* =====================================================================
   Ficha de una iniciativa (/observatorio/iniciativa/{id}) — 5 nov 2026.
   Usa el encabezado y los bloques de la ficha de diputación (diputacion.css) y suma: imagen de fondo,
   semáforo con la barra de plazos, revisión al día, quién preside la comisión y plazos del congreso.
   ===================================================================== */
.tono-azul { --tono: #8fb8f2; --tono-fondo: rgba(29, 79, 145, .26); }
.ini-hero { overflow: hidden; }
.ini-hero > .contenedor { position: relative; z-index: 2; }
.ini-hero-imagen { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .35; filter: grayscale(.4); z-index: 0; }
.ini-hero.con-imagen::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(100deg, rgba(23, 18, 43, .97) 0%, rgba(23, 18, 43, .86) 55%, rgba(23, 18, 43, .7) 100%); }
.ini-hero h1 { font-size: clamp(1.8rem, 4.2vw, 2.9rem); }
.ini-oficial { margin: .75rem 0 0; font-family: var(--mr-serif); font-size: 1.04rem; line-height: 1.5; color: #d9d2e4; max-width: 62ch; }
.ini-identidad .dip-legislatura a { color: #cfc6dd !important; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .3); text-underline-offset: 3px; }
.ini-identidad .dip-legislatura a:hover { color: #fff !important; }
.ini-chips span {
  display: inline-flex; align-items: center; gap: .4rem; padding: .32rem .75rem; border-radius: 999px;
  background: rgba(255, 255, 255, .04); border: 1px dashed rgba(255, 255, 255, .2); color: #d9d2e4; font-size: .86rem; font-weight: 600;
}
.ini-chips a, .ini-chips span { max-width: 100%; overflow-wrap: anywhere; }

.ini-dias { margin: .5rem 0 0; color: #e6e0ee; line-height: 1.3; }
.ini-dias strong { font-family: var(--mr-serif); font-size: clamp(2rem, 4.5vw, 2.6rem); font-weight: 600; color: #fff; letter-spacing: -.02em; margin-right: .2rem; }
.ini-plazo { margin: .9rem 0 0; }
.ini-plazo-barra { position: relative; height: .65rem; border-radius: 999px; background: rgba(255, 255, 255, .12); }
.ini-plazo-barra span { position: absolute; inset: 0 auto 0 0; min-width: .65rem; border-radius: 999px; background: linear-gradient(90deg, #8fb8f2, var(--tono)); }
.ini-plazo-barra i { position: absolute; top: -.25rem; bottom: -.25rem; width: 2px; border-radius: 2px; transform: translateX(-1px); }
.ini-plazo-barra i.ambar { background: #ffc061; }
.ini-plazo-barra i.rojo { background: #ff6b5e; }
.ini-plazo-marcas { position: relative; height: 1.1rem; margin: .3rem 0 0; font-size: .72rem; color: #b9b0c8; }
.ini-plazo-marcas span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
.ini-plazo-nota { margin: .2rem 0 0; font-size: .9rem; color: #e6e0ee; }
.ini-plazo-nota strong { color: #fff; }
.ini-voces { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .3rem .8rem; margin: .85rem 0 0; padding-top: .75rem; border-top: 1px solid rgba(255, 255, 255, .12); font-size: .9rem; color: #cfc6dd; }
.ini-voces a { display: inline-flex; gap: .7rem; font-weight: 700; text-decoration: none; }
.ini-voces .favor { color: #6fe0b2; } .ini-voces .contra { color: #ff8f85; } .ini-voces .otras { color: #cfc6dd; }
.ini-revision { margin: .85rem 0 0; font-size: .84rem; color: #b9b0c8; line-height: 1.45; }
.ini-revision i { margin-right: .25rem; color: #ffd59a; }

/* Cuerpo: bloques blancos como la ficha de diputación */
.ini-rejilla { display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 992px) { .ini-rejilla { grid-template-columns: minmax(0, 1fr) 22rem; gap: 2rem; align-items: start; } }
.ini-rejilla > .obs-principal { grid-area: auto; }
.ini-cuerpo .obs-principal { display: grid; gap: 1.5rem; align-content: start; }
.ini-cuerpo .obs-bloque { background: #fff; border: 1px solid var(--mr-linea); border-radius: var(--mr-radio-lg); box-shadow: var(--mr-sombra); padding: clamp(1.1rem, 3vw, 1.75rem); margin: 0; }
.ini-cuerpo .obs-bloque:first-child { padding-top: clamp(1.1rem, 3vw, 1.75rem); }
.ini-cuerpo .obs-bloque-titulo { font-size: clamp(1.3rem, 2.5vw, 1.6rem); }
.ini-cuerpo .obs-sim-aviso { border-radius: var(--mr-radio-lg); }
.ini-cuerpo .obs-sim-aviso.alerta { background: #4a1d6b; border-color: #4a1d6b; }
.ini-cuerpo .obs-sim-aviso:not(.alerta) { background: #f6eefb; border-color: #e3cdf1; }
.ini-cuerpo > .contenedor > .ini-rejilla > script { display: none; }
.ini-lateral { display: grid; gap: 0; align-content: start; min-width: 0; }
.ini-lateral .dip-tarjeta-titulo { font-size: 1.1rem; }
.ini-subtitulo { margin-top: 1.1rem; padding-top: .9rem; border-top: 1px solid var(--mr-linea); }

/* Quién preside la comisión */
.ini-preside { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .5rem 1rem; align-items: start; margin: 1rem 0 1.25rem; padding: 1rem 1.1rem; border-radius: 16px; background: linear-gradient(135deg, var(--mr-morado-claro), #fff); border: 1px solid #e3d6f3; }
.ini-preside > .obs-avatar { width: 3.6rem; height: 3.6rem; }
.ini-preside-cargo { margin: 0; font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--mr-morado); }
.ini-preside-nombre { margin: .1rem 0 .3rem; font-weight: 700; font-size: 1.08rem; line-height: 1.3; }
.ini-preside-nombre a { color: var(--mr-tinta); text-decoration: none; }
.ini-preside-nombre a:hover { color: var(--mr-morado); text-decoration: underline; }
.ini-preside-nombre small { font-weight: 550; color: var(--mr-piedra); font-size: .85rem; margin-left: .3rem; }
.ini-preside-boton { grid-column: 1 / -1; justify-self: start; border-radius: 999px; font-weight: 650; display: inline-flex; gap: .45rem; align-items: center; }
@media (min-width: 768px) { .ini-preside { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; } .ini-preside-boton { grid-column: auto; justify-self: end; } }
.ini-redes { display: flex; flex-wrap: wrap; gap: .4rem; margin: .45rem 0 0; }
.ini-redes a { display: inline-flex; align-items: center; gap: .35rem; padding: .22rem .65rem; border-radius: 999px; background: #fff; border: 1px solid var(--mr-linea-2); color: var(--mr-tinta); font-size: .82rem; font-weight: 600; text-decoration: none; }
.ini-redes a:hover { border-color: var(--mr-morado); color: var(--mr-morado); }
.ini-redes-nota { margin: .35rem 0 0; font-size: .76rem; color: var(--mr-piedra); }
.ini-redes-mini { margin-top: .25rem; gap: .3rem; }
.ini-redes-mini a { width: 1.8rem; height: 1.8rem; padding: 0; justify-content: center; font-size: .8rem; }

/* Plazos del congreso */
.ini-plazos-lista { list-style: none; margin: .25rem 0 .75rem; padding: 0; display: grid; gap: .55rem; font-size: .9rem; line-height: 1.4; }
.ini-plazos-lista li { display: grid; grid-template-columns: .85rem minmax(0, 1fr); gap: .6rem; align-items: start; }
.ini-plazos-punto { width: .85rem; height: .85rem; border-radius: 50%; margin-top: .2rem; background: var(--mr-azul); }
.ini-plazos-lista .ambar .ini-plazos-punto { background: var(--mr-ambar); }
.ini-plazos-lista .rojo .ini-plazos-punto { background: var(--mr-rojo); }
@media (max-width: 575.98px) {
  .ini-hero h1 { font-size: 1.7rem; }
  .ini-oficial { font-size: .96rem; }
  .ini-preside { padding: .9rem; }
}
@media print { .ini-hero-imagen, .ini-hero::before { display: none; } }
/* Celular: silueta chica a la izquierda del nombre y el resto a todo lo ancho (como la ficha de diputación). */
@media (max-width: 575.98px) {
  .obsv-identidad { display: block; }
  .obsv-identidad::after { content: ""; display: table; clear: both; }
  .obsv-identidad > .obsv-silueta { float: left; width: 4.5rem; margin: .1rem .9rem .5rem 0; }
  .obsv-identidad .obsv-intro, .obsv-identidad .obsv-chips, .obsv-identidad .obsv-cambiar { clear: both; }
}
