/* =====================================================================
   Páginas propias de cada convocatoria (/convocatoria/<id>/) y su índice.
   Las crea herramientas/generar.py al publicar. Mismo tema que la web:
   tipografía Archivo condensada, verde de marca y lava de píxeles.
   ===================================================================== */
/* Colores y medidas: en /tokens.css. Aquí solo lo propio de las fichas. */
:root { --card-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 18px 40px -22px rgba(16, 24, 40, .28); }
:root[data-theme="dark"] { --card-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 18px 40px -22px rgba(0, 0, 0, .8); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
.ficha { margin: 0; background: var(--bg); color: var(--ink-2); font: 16px/1.65 Archivo, system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
.ficha a { color: var(--ink); text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--brand) 60%, transparent); }
.ficha a:hover { color: var(--brand-ink); }
.ficha svg { flex: none; }
.ficha .display { font-stretch: 62%; font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; line-height: .92; color: var(--ink); }
.ficha .wrap { max-width: 1240px; margin: 0 auto; padding: 0 32px; }

/* ---------- Cabecera ---------- */










/* ---------- Cabecera de la ficha: título enorme y lava de píxeles verde ---------- */
.ficha .fc-hero { position: relative; isolation: isolate; overflow: hidden; padding: 40px 0 120px; border-bottom: 1px solid var(--line); }
.ficha.indice .fc-hero, .ficha .fc-hero:has(+ .wrap .minis) { padding-bottom: 56px; }
/* Sin WebGL (o mientras carga): una trama de puntos verdes fija en la esquina, del mismo estilo */
.ficha .fc-hero::before { content: ""; position: absolute; z-index: -1; top: -10%; right: -6%; width: min(760px, 70%); height: 130%;
  background-image: radial-gradient(var(--brand) 1px, transparent 1.25px); background-size: 6px 6px; opacity: .5;
  -webkit-mask-image: radial-gradient(closest-side, #000 0%, rgba(0,0,0,.5) 45%, transparent 100%); mask-image: radial-gradient(closest-side, #000 0%, rgba(0,0,0,.5) 45%, transparent 100%); }
.ficha .fc-hero.con-onda::before { display: none; }
.ficha .onda-pixeles { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; opacity: 0; transition: opacity 1.2s ease; image-rendering: pixelated; }
.ficha .onda-pixeles.lista { opacity: 1; }
.ficha .migas { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--muted); margin-bottom: 36px; }
.ficha .migas a { color: var(--muted); text-decoration: none; }
.ficha .migas a:hover { color: var(--ink); }
.ficha .migas b { color: var(--ink-2); font-weight: 600; }
.ficha .fc-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ficha .chip { display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 13px 0 10px; border-radius: 999px; background: color-mix(in srgb, var(--bg) 82%, transparent);
  border: 1px solid var(--line); font-size: 13px; font-weight: 600; color: var(--ink-2); text-decoration: none; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.ficha .chip svg { width: 16px; height: 16px; color: var(--brand); }
.ficha .chip small { margin-left: 2px; font-size: 12px; color: var(--muted); }
.ficha a.chip:hover { border-color: var(--ink); color: var(--ink); }
.ficha .estado { display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 13px 0 11px; border-radius: 999px; font-size: 12.5px; font-weight: 700; color: var(--sobre-color); background: var(--muted); white-space: nowrap; }
.ficha .estado::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .9; }
.ficha .estado.s-abierta { background: var(--open); color: var(--open-ink); }   /* tinta de cada tema: contraste AA en claro y oscuro */
.ficha .estado.s-abierta::before { animation: latido 1.8s ease-in-out infinite; }
.ficha .estado.s-pronto { background: var(--soon); color: var(--soon-ink); }
.ficha .estado.s-cerrada { background: var(--closed); color: var(--closed-ink); }
.ficha .estado.s-sin { background: var(--soft); color: var(--ink-2); border: 1px solid var(--line); }
.ficha.s-sin .fc-tarjeta::before { background: var(--line); }
@keyframes latido { 50% { opacity: .35; transform: scale(.7); } }
.ficha .fc-hero h1 { max-width: 15ch; margin: 22px 0 0; font-size: clamp(52px, 9.4vw, 128px); line-height: .86; text-wrap: balance; }
.ficha .fc-edicion { margin: 12px 0 0; font-size: clamp(22px, 3vw, 34px); color: var(--brand-ink); }
.ficha .fc-org { max-width: 60ch; margin: 22px 0 0; font-size: 16.5px; color: var(--muted); }
.ficha .fc-org b { color: var(--ink); font-weight: 650; }

/* ---------- Cuerpo: contenido a la izquierda, tarjeta fija a la derecha ---------- */
.ficha .fc-cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 56px; align-items: start; padding-top: 56px; padding-bottom: 24px; }
.ficha .fc-lado { grid-column: 2; grid-row: 1; position: sticky; top: 84px; margin-top: -232px; z-index: 2; }
@media (min-width: 961px) { .ficha:not(.indice) .fc-hero .wrap > * { max-width: calc(100% - 440px); } }
.ficha .fc-principal { grid-column: 1; grid-row: 1; }

.ficha .fc-tarjeta { position: relative; overflow: hidden; padding: 26px 26px 22px; border-radius: 26px; background: var(--bg); border: 1px solid var(--line); box-shadow: var(--card-shadow); }
:root[data-theme="dark"] .ficha .fc-tarjeta { background: var(--soft); }
.ficha .fc-tarjeta::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: var(--muted); }
.ficha.s-abierta .fc-tarjeta::before { background: var(--open); }
.ficha.s-pronto .fc-tarjeta::before { background: var(--soon); }
.ficha.s-cerrada .fc-tarjeta::before { background: var(--closed); }
.ficha .fc-k { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.ficha .fc-fecha { display: flex; align-items: baseline; gap: 10px; margin-top: 10px; }
.ficha .fc-fecha b { font-size: clamp(56px, 6vw, 76px); line-height: .85; }
.ficha .fc-fecha small { font-size: 15px; font-weight: 700; color: var(--muted); }
.ficha .fc-txt { margin: 10px 0 0; font-size: 15px; font-weight: 650; color: var(--ink); }
.ficha.s-abierta .fc-txt { color: color-mix(in srgb, var(--open) 85%, var(--ink)); }

/* Cuenta atrás en píxeles: 30 cuadrados, uno por día */
.ficha .fc-pixeles { margin-top: 18px; }
.ficha .fc-pixeles[hidden] { display: none; }
.ficha .rejilla-px { display: grid; grid-template-columns: repeat(15, 1fr); gap: 3px; }
.ficha .rejilla-px i { aspect-ratio: 1; border-radius: 2px; background: var(--line); }
.ficha .rejilla-px i.on { background: var(--brand); animation: enciende .5s var(--ease) both; }
.ficha .rejilla-px i.on { animation-delay: calc(var(--i, 0) * 22ms); }   /* se encienden en orden, uno tras otro */
.ficha .urgente .rejilla-px i.on { background: var(--closed); }
@keyframes enciende { from { opacity: 0; transform: scale(.4); } }
.ficha .fc-pixeles small { display: block; margin-top: 8px; font-size: 12px; color: var(--muted); }

.ficha .fc-acciones { display: grid; gap: 8px; margin-top: 22px; }
.ficha .fc-mini-acc { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ficha .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 20px; border-radius: 999px; border: 1px solid var(--line); background: var(--bg);
  color: var(--ink); text-decoration: none; font: inherit; font-size: 14.5px; font-weight: 650; cursor: pointer; transition: border-color .2s ease, background-color .2s ease, transform .2s var(--ease); }
.ficha .btn svg { width: 17px; height: 17px; }
.ficha .btn:hover { border-color: var(--ink); color: var(--ink); }
.ficha .btn:active { transform: scale(.98); }
.ficha .btn.primary { background: var(--ink); color: var(--bg); border-color: var(--ink); height: 54px; font-size: 15.5px; }
.ficha .btn.primary:hover { color: var(--bg); background: color-mix(in srgb, var(--ink) 86%, var(--brand)); }
.ficha .btn.ghost { border-color: transparent; background: var(--soft); height: 44px; font-size: 13.5px; }
:root[data-theme="dark"] .ficha .fc-tarjeta .btn:not(.primary) { background: var(--bg); }
.ficha .btn.ghost:hover { border-color: var(--line); }

.ficha .comprobado { display: flex; gap: 12px; align-items: flex-start; margin: 14px 0 0; padding: 14px 16px; border-radius: 18px; background: color-mix(in srgb, var(--brand) 8%, var(--bg)); font-size: 13px; line-height: 1.5; }
.ficha .comprobado i { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--brand-relleno); color: var(--sobre-color); }
.ficha .comprobado i svg { width: 14px; height: 14px; }
.ficha .comprobado b { color: var(--ink); font-weight: 650; }

/* ---------- Secciones ---------- */
.ficha .fc-sec + .fc-sec { margin-top: 64px; }
.ficha .fc-sec > h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--ink); }
.ficha .fc-sec > h2 span { display: grid; place-items: center; width: 34px; height: 24px; border-radius: 6px; background: var(--ink); color: var(--bg); font-size: 11.5px; letter-spacing: .02em; }
.ficha .fc-sec > h2::after { content: ""; flex: 1; height: 1px; background: var(--line); }

/* Línea de plazos: lo pasado apagado, el siguiente destacado */
.ficha .linea { position: relative; list-style: none; margin: 0; padding: 0; }
.ficha .linea::before { content: ""; position: absolute; left: 7px; top: 14px; bottom: 14px; width: 2px; background: repeating-linear-gradient(to bottom, var(--line) 0 4px, transparent 4px 8px); }
.ficha .linea li { position: relative; display: grid; grid-template-columns: 16px 112px minmax(0, 1fr); gap: 0 20px; align-items: center; padding: 14px 0; transition: opacity .2s ease; }
.ficha .linea .punto { width: 16px; height: 16px; border-radius: 4px; background: var(--bg); border: 2px solid var(--muted); position: relative; z-index: 1; }
.ficha .linea .fecha { display: flex; flex-direction: column; }
.ficha .linea .fecha b { font-size: 30px; line-height: .9; }
.ficha .linea .fecha small { font-size: 12px; font-weight: 600; color: var(--muted); }
.ficha .linea .que { display: grid; gap: 2px; }
.ficha .linea .que b { font-size: 15.5px; font-weight: 650; color: var(--ink); line-height: 1.35; }
.ficha .linea .que small { font-size: 12.5px; font-weight: 600; color: var(--muted); }
.ficha .linea .que small:empty { display: none; }
.ficha .linea li.abre .punto { border-color: var(--soon); }
.ficha .linea li.pasado { opacity: .45; }
.ficha .linea li.pasado .punto { background: var(--line); border-color: var(--line); }
.ficha .linea li.pasado .fecha b { text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: color-mix(in srgb, var(--ink) 50%, transparent); }
.ficha .linea li.siguiente { margin: 6px 0; padding: 18px 20px 18px 0; }
.ficha .linea li.siguiente::before { content: ""; position: absolute; inset: 0 -0px 0 -16px; z-index: -1; border-radius: 18px; background: color-mix(in srgb, var(--brand) 9%, var(--bg)); border: 1px solid color-mix(in srgb, var(--brand) 35%, var(--line)); }
.ficha .linea { isolation: isolate; }
.ficha .linea li.siguiente .punto { background: var(--brand); border-color: var(--brand); box-shadow: 0 0 0 5px var(--brand-soft); }
.ficha .linea li.siguiente .fecha b { font-size: 40px; color: var(--brand-ink); }
.ficha .linea li.siguiente .que small { color: var(--brand-ink); }
.ficha .linea li.vacio { grid-template-columns: 16px 1fr; }
.ficha .nota { margin: 16px 0 0; padding: 14px 16px; border-radius: 14px; background: color-mix(in srgb, var(--soon) 12%, var(--bg)); font-size: 14px; line-height: 1.55; color: var(--ink-2); }
.ficha .nota b { color: var(--ink); }

/* Fichas de información con icono */
.fichas-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ficha .info { position: relative; padding: 22px 22px 22px 76px; border-radius: 20px; border: 1px solid var(--line); background: var(--bg); transition: border-color .2s ease; }
.ficha .info:hover { border-color: color-mix(in srgb, var(--brand) 45%, var(--line)); }
.ficha .info.ancho { grid-column: 1 / -1; }
.ficha .info-ico { position: absolute; left: 20px; top: 20px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: color-mix(in srgb, var(--brand) 11%, var(--bg)); color: var(--brand); }
.ficha .info-ico svg { width: 21px; height: 21px; }
.ficha .info h3 { margin: 0 0 6px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); }
.ficha .info p { margin: 0; font-size: 15.5px; color: var(--ink); }
.ficha .tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ficha .tag { display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border-radius: 999px; background: var(--soft); font-size: 13.5px; font-weight: 650; color: var(--ink); }

/* ---------- Otras convocatorias: tarjetas con su estado ---------- */
.ficha .fc-otras { margin-top: 88px; }
.ficha .fc-otras-cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.ficha .fc-otras-cab h2 { margin: 0; font-size: clamp(34px, 4.6vw, 56px); }
.ficha .fc-otras-cab h2 small { font-size: .5em; color: var(--muted); vertical-align: top; }
.ficha .fc-otras-cab a { display: inline-flex; align-items: center; gap: 6px; min-height: 24px; font-size: 14px; font-weight: 650; text-decoration: none; white-space: nowrap; }
.ficha .fc-otras-cab a svg { width: 16px; height: 16px; transition: transform .25s var(--ease); }
.ficha .fc-otras-cab a:hover svg { transform: translateX(3px); }
/* En la ficha se ven 4 (ficha.js elige las mejores de cada día; sin JavaScript, las 4 primeras) */
.ficha .mini[hidden] { display: none; }
.ficha .minis[data-elegir] > .mini:nth-child(n+5) { display: none; }
.ficha .minis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ficha .mini { display: flex; flex-direction: column; gap: 6px; min-height: 196px; padding: 18px; border-radius: 22px; border: 1px solid var(--line); background: var(--bg); text-decoration: none; color: var(--ink);
  transition: border-color .2s ease, transform .3s var(--ease), box-shadow .3s ease; }
.ficha .mini:hover { color: var(--ink); border-color: color-mix(in srgb, var(--brand) 55%, var(--line)); transform: translateY(-3px); box-shadow: var(--card-shadow); }
.ficha .mini-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.ficha .mini-ico { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: color-mix(in srgb, var(--brand) 11%, var(--bg)); color: var(--brand); }
.ficha .mini-ico svg { width: 19px; height: 19px; }
.ficha .mini .estado { height: 24px; padding: 0 10px 0 9px; font-size: 11.5px; }
.ficha .mini > b { font-size: 25px; line-height: .95; }
.ficha .mini > small { font-size: 12.5px; color: var(--muted); }
.ficha .mini-pie { display: flex; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 14px; font-size: 12.5px; color: var(--muted); }
.ficha .mini-pie span:last-child { color: var(--ink-2); font-weight: 600; text-align: right; }

/* ---------- Banda final ---------- */
.ficha .fc-cta { position: relative; overflow: hidden; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 32px; margin: 88px 0 72px; padding: 44px 48px; border-radius: 30px; background: var(--ink); }
.ficha .fc-cta::before { content: ""; position: absolute; z-index: -1; inset: -40% -10% -40% 45%; background-image: radial-gradient(var(--brand) 1.1px, transparent 1.35px); background-size: 6px 6px;
  -webkit-mask-image: radial-gradient(closest-side, #000, transparent); mask-image: radial-gradient(closest-side, #000, transparent); opacity: .8; }
.ficha .fc-cta .fc-k { color: color-mix(in srgb, var(--bg) 60%, transparent); }
.ficha .fc-cta p { margin: 10px 0 0; max-width: 18ch; font-size: clamp(30px, 3.8vw, 48px); color: var(--bg); }
.ficha .fc-cta .btn.primary { flex: none; background: var(--brand-relleno); border-color: var(--brand); color: var(--sobre-color); }
.ficha .fc-cta .btn.primary:hover { background: color-mix(in srgb, var(--brand) 85%, var(--mix-claro)); color: var(--sobre-color); }
:root[data-theme="dark"] .ficha .fc-cta { background: var(--soft); border: 1px solid var(--line); }
:root[data-theme="dark"] .ficha .fc-cta p { color: var(--ink); }
:root[data-theme="dark"] .ficha .fc-cta .fc-k { color: var(--muted); }

/* ---------- Índice ---------- */
.ficha.indice .fc-hero { padding-bottom: 52px; }
.ficha.indice .fc-hero h1 { max-width: none; }
.ficha .saltos { margin-top: 28px; }
.ficha.indice .fc-otras { margin-top: 64px; scroll-margin-top: 84px; }
.ficha.indice .wrap > .fc-otras:last-child { margin-bottom: 88px; }

/* ---------- Pie ---------- */



   /* zona de toque de 24 px sin mover nada */

/* ---------- Pantallas medianas y móvil ---------- */
@media (max-width: 1100px) { .ficha .minis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 960px) {
  .ficha .fc-cuerpo { grid-template-columns: 1fr; gap: 40px; padding-top: 0; }
  .ficha .fc-lado { grid-column: 1; grid-row: 1; position: static; margin-top: -40px; }
  .ficha .fc-principal { grid-row: 2; }
  .ficha .fc-hero { padding-bottom: 72px; }
  .ficha .fc-cta { flex-direction: column; align-items: flex-start; padding: 36px 28px; }
}
@media (max-width: 640px) {
  .ficha .wrap { padding: 0 16px; }
  
  .ficha .fc-hero { padding: 24px 0 64px; }
  .ficha .migas { margin-bottom: 24px; }
  .ficha .fc-hero h1 { font-size: clamp(46px, 14vw, 64px); }
  .ficha .fc-tarjeta { padding: 22px 18px 18px; border-radius: 22px; }
  .fichas-info { grid-template-columns: 1fr; }
  .ficha .info { padding: 18px 18px 18px 68px; }
  .ficha .info-ico { left: 16px; top: 18px; }
  .ficha .linea li { grid-template-columns: 16px 84px minmax(0, 1fr); gap: 0 14px; }
  .ficha .linea .fecha b { font-size: 25px; }
  .ficha .linea li.siguiente .fecha b { font-size: 30px; }
  .ficha .linea li.siguiente { padding-right: 12px; }
  .ficha .minis { grid-template-columns: 1fr; }
  .ficha .mini { min-height: 0; }
  .ficha .fc-otras { margin-top: 64px; }
  .ficha .fc-otras-cab { flex-direction: column; align-items: flex-start; }
  .ficha .fc-cta { margin: 64px 0 48px; padding: 30px 22px; border-radius: 24px; }
  .ficha .fc-cta .btn.primary { width: 100%; }
  
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* ---------- Pulsar sin «rectángulo azul» (móvil) ----------
   Fuera el resaltado de toque del navegador y la selección de texto en lo que se pulsa
   (botones, tarjetas, píldoras…). El texto normal se sigue pudiendo copiar. El foco con teclado
   sigue viéndose (:focus-visible). */
html { -webkit-tap-highlight-color: transparent; }
.ficha button, .ficha .btn, .ficha [role="button"], .ficha summary, .ficha label, .ficha select, .ficha a.chip-link, .ficha a.btn, .ficha a.mini, .ficha a.chip, .ficha a.ficha-link, .ficha a.tfila, .ficha a.legend-card, .ficha a.v2-fork-card, .ficha [data-toggle], .ficha [data-goto], .ficha [data-v], .ficha [data-tab], .ficha .fp-btn, .ficha .opt, .ficha .as-op, .ficha .as-chip, .ficha .pill-btn, .ficha .icon-btn {
  -webkit-user-select: none; user-select: none; -webkit-touch-callout: none;
}

/* =====================================================================
   Ajustes de la ficha (noviembre 2026)
   ===================================================================== */
/* Volver: discreto, encima de las migas (la cabecera es ya la misma que la de la portada) */
.ficha .fc-volver { display: inline-flex; align-items: center; gap: 6px; min-height: 24px; margin-bottom: 14px; font-size: 13px; font-weight: 650; color: var(--muted); text-decoration: none; }
.ficha .fc-volver svg { width: 15px; height: 15px; transition: transform .25s var(--ease); }
.ficha .fc-volver:hover { color: var(--ink); }
.ficha .fc-volver:hover svg { transform: translateX(-3px); }
.ficha .fc-hero .migas { margin-bottom: 28px; }

/* Título: más interlineado para que las tildes (Á, É…) no toquen la línea de arriba,
   y tamaño según lo largo que sea el nombre (los de 60-70 letras ya no ocupan 6 líneas) */
.ficha .fc-hero h1 { line-height: .96; padding-top: .05em; }
.ficha .fc-hero h1.titulo-medio { font-size: clamp(44px, 6.4vw, 90px); max-width: 18ch; }
.ficha .fc-hero h1.titulo-largo { font-size: clamp(34px, 4.4vw, 62px); max-width: 24ch; }

/* Cuadritos de la cuenta atrás a píxeles enteros: todos iguales y con la misma separación */
.ficha .rejilla-px { --px: 18px; grid-template-columns: repeat(15, var(--px)); gap: 4px; justify-content: start; }
.ficha .rejilla-px i { width: var(--px); height: var(--px); aspect-ratio: auto; }

/* Seguir: marcado cuando ya la sigues */
.ficha .fc-seguir[aria-pressed="true"] { background: color-mix(in srgb, var(--brand) 12%, var(--bg)); color: var(--brand-ink); border-color: color-mix(in srgb, var(--brand) 40%, transparent); }
.ficha .fc-seguir[aria-pressed="true"] svg { fill: currentColor; }

@media (max-width: 640px) {
  .ficha .fc-hero h1.titulo-medio { font-size: clamp(34px, 10vw, 48px); }
  .ficha .fc-hero h1.titulo-largo { font-size: clamp(27px, 7.4vw, 36px); }
  .ficha .rejilla-px { --px: 16px; gap: 3px; }
}
@media (max-width: 360px) { .ficha .rejilla-px { --px: 14px; } }

/* =====================================================================
   ÍNDICE /convocatoria/ — filas compactas con el mismo lenguaje que el listado de la portada
   (estado, nombre, lugar y fecha del día) y puentes a la herramienta (filtros y calendario)
   ===================================================================== */
.ficha .ix-puentes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.ficha .ix-puente { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: 999px; background: var(--ink); color: var(--bg);
  font-size: 14px; font-weight: 650; text-decoration: none; transition: transform .2s var(--ease); }
.ficha .ix-puente + .ix-puente { background: var(--bg); color: var(--ink); border: 1px solid var(--line); }
.ficha .ix-puente:hover { transform: translateY(-1px); color: inherit; }
.ficha .ix-puente:first-child:hover { color: var(--bg); }
.ficha .ix-puente svg { width: 16px; height: 16px; }
.ficha .ix-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.ficha .ix-fila { display: grid; grid-template-columns: 132px minmax(0, 1fr) 220px 150px; align-items: center; gap: 16px; padding: 12px 16px; border-radius: 14px;
  color: var(--ink); text-decoration: none; transition: background-color .15s ease; }
.ficha .ix-fila:hover { background: var(--soft); color: var(--ink); }
.ficha .ix-fila .estado { justify-self: start; height: 26px; padding: 0 10px 0 9px; font-size: 11.5px; }
.ficha .ix-nombre { font-size: 15px; font-weight: 650; line-height: 1.3; }
.ficha .ix-lugar { font-size: 13px; color: var(--muted); }
.ficha .ix-fecha { font-size: 13px; font-weight: 650; color: var(--ink-2); text-align: right; }
@media (max-width: 760px) {
  .ficha .ix-fila { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "nombre estado" "lugar fecha"; gap: 4px 12px; padding: 12px; }
  .ficha .ix-nombre { grid-area: nombre; } .ficha .ix-fila .estado { grid-area: estado; justify-self: end; }
  .ficha .ix-lugar { grid-area: lugar; } .ficha .ix-fecha { grid-area: fecha; }
}

