/* ===== Centro de contenidos (/blog, 14-10-2026) =====
   Sobre los tokens de styles.css (sirven en tema claro y oscuro) y las piezas del Centro de ayuda (.hc-cuerpo, .hc-toc,
   .hc-migas, .hc-tabla, .hc-aviso). Lectura primero: una sola columna de ~70 caracteres, jerarquía clara y nada que se
   mueva. Sin tarjetas: los listados son una lista editorial con separadores. */

.bl-oculto{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.bl-saltar{position:absolute;left:12px;top:-60px;z-index:200;padding:10px 16px;border-radius:10px;background:var(--ink);color:var(--bg);font-weight:600;font-size:.92rem}
.bl-saltar:focus{top:12px}
.bl-body a:focus-visible,.bl-body button:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}
.bl-main{padding:96px 0 72px;min-height:70vh}
.bl-main:focus{outline:none}
.container.bl-contenedor{max-width:800px}

/* El contenido está en español: en inglés y en catalán se avisa (lo pone i18n.js en <html lang>). */
.bl-aviso-idioma{display:none;margin:0 0 20px;padding:10px 14px;border-radius:var(--radius-sm);background:rgba(var(--fg-rgb),.05);color:var(--muted);font-size:.9rem}
html[lang="en"] .bl-aviso-idioma,html[lang="ca"] .bl-aviso-idioma{display:block}

/* ---------- Artículo ---------- */
.bl-migas ol{margin-bottom:22px}
.bl-art-cab{margin-bottom:28px}
.bl-etiquetas{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.bl-tipo,.bl-estado{display:inline-block;padding:3px 11px;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.01em;line-height:1.5}
.bl-tipo{border:1px solid var(--line);color:var(--ink)}
a.bl-tipo:hover{background:rgba(var(--fg-rgb),.06)}
.bl-estado{background:rgba(var(--fg-rgb),.08);color:var(--ink)}
.bl-tipo-util{margin:0 0 18px;color:var(--muted);font-size:.92rem;line-height:1.55;max-width:640px}
.bl-art h1,.bl-hub-cab h1,.bl-404 h1{font-size:clamp(2rem,4.4vw,2.7rem);font-weight:800;line-height:1.12;letter-spacing:-.025em;color:var(--ink);margin:0}
.bl-lead{margin:16px 0 0;font-size:1.16rem;line-height:1.6;color:rgba(var(--fg-rgb),.82)}
.bl-meta{display:flex;flex-wrap:wrap;gap:4px 0;margin:20px 0 0;font-size:.88rem;color:var(--muted)}
.bl-meta span+span::before{content:"·";margin:0 9px}
.bl-para{margin:8px 0 0;font-size:.88rem;color:var(--muted)}
.bl-para a,.bl-fuentes a,.bl-art-pie a,.bl-aviso-act a,.bl-nota a,.bl-filtro-estado a,.bl-vacio a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.bl-para a:hover,.bl-fuentes a:hover,.bl-art-pie a:hover,.bl-aviso-act a:hover,.bl-nota a:hover,.bl-filtro-estado a:hover,.bl-vacio a:hover{text-decoration-color:currentColor}

.bl-resumen{margin:0 0 30px;padding:18px 22px;border-left:3px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:rgba(var(--fg-rgb),.035)}
.bl-resumen h2{margin:0 0 6px;font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--primary)}
.bl-resumen p{margin:0;font-size:1.04rem;line-height:1.65;color:var(--ink)}
.bl-aviso-act{margin:0 0 22px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:.94rem;line-height:1.55}
.bl-toc{margin-bottom:34px}

.bl-cuerpo{font-size:1.06rem;line-height:1.75}
.bl-cuerpo h2{font-size:1.5rem}
.bl-cuerpo p,.bl-cuerpo li{max-width:68ch}

/* Ficha de una investigación: qué se preguntó, cómo, con qué y con qué límites. */
.bl-ficha{margin:0 0 34px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius)}
.bl-ficha h2{margin:0 0 14px;font-size:1.2rem;font-weight:700}
.bl-ficha dl{margin:0;display:flex;flex-direction:column}
.bl-ficha dl>div{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;padding:11px 0;border-top:1px solid var(--line)}
.bl-ficha dt{font-size:.84rem;font-weight:600;color:var(--muted)}
.bl-ficha dd{margin:0;font-size:.96rem;line-height:1.6;color:var(--ink)}
.bl-ficha dd ul{margin:0;padding-left:18px;list-style:disc}
.bl-ficha dd li+li{margin-top:2px}

/* Gráficos: una tabla de verdad con barras; título arriba, fuente debajo. */
.bl-grafico{margin:26px 0;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius)}
.bl-grafico table{width:100%;border-collapse:collapse}
.bl-grafico caption{caption-side:top;text-align:left;padding:0 0 12px;font-size:1rem;font-weight:700;line-height:1.4;color:var(--ink)}
.bl-grafico th,.bl-grafico td{padding:7px 0;vertical-align:middle;text-align:left}
.bl-grafico tbody th{width:30%;padding-right:14px;font-size:.92rem;font-weight:600;color:var(--ink)}
.bl-grafico td{display:flex;align-items:center;gap:12px}
.bl-barra{flex:1;height:12px;border-radius:999px;background:rgba(var(--fg-rgb),.08);overflow:hidden}
.bl-barra>span{display:block;height:100%;border-radius:999px;background:var(--primary)}
.bl-valor{min-width:4.6em;text-align:right;font-size:.92rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}
.bl-grafico-nota,.bl-grafico-fuente{margin:10px 0 0;font-size:.82rem;line-height:1.5;color:var(--muted)}
.bl-grafico-nota+.bl-grafico-fuente{margin-top:4px}
.bl-figura{margin:26px 0}
.bl-figura img{display:block;width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--line)}
.bl-figura figcaption{margin-top:8px;font-size:.84rem;color:var(--muted)}

.bl-sec{margin-top:40px}
.bl-sec h2{font-size:1.4rem;font-weight:700;letter-spacing:-.015em;margin:0 0 12px;scroll-margin-top:72px}
.bl-sec ul{padding-left:22px;list-style:disc;font-size:1rem;line-height:1.7;color:rgba(var(--fg-rgb),.9)}
.bl-sec li+li{margin-top:6px}
.bl-sec p{font-size:1rem;line-height:1.7;color:rgba(var(--fg-rgb),.9)}
.bl-ficha,.bl-sec,.bl-resumen{scroll-margin-top:72px}
ol.bl-fuentes{padding-left:22px;list-style:decimal;font-size:.92rem;line-height:1.7;color:var(--muted)}
.bl-art-pie{margin-top:44px;padding-top:18px;border-top:1px solid var(--line);font-size:.88rem;line-height:1.6;color:var(--muted)}
.bl-art-pie p{margin:0}

/* ---------- Llamada a la acción (una por página, al final del contenido) ---------- */
.bl-cta{margin:52px 0 0;padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(var(--fg-rgb),.035)}
.bl-cta h2{margin:0;font-size:1.35rem;font-weight:700;line-height:1.3;letter-spacing:-.015em;color:var(--ink)}
.bl-cta>p{margin:10px 0 0;font-size:.98rem;line-height:1.6;color:rgba(var(--fg-rgb),.82);max-width:620px}
.bl-cta-btns{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:20px}
.bl-cta-btns .btn-primary{min-height:46px}
.bl-cta-sol{margin:16px 0 0;font-size:.9rem;color:var(--muted)}
.bl-cta-sol span{margin-right:4px}
.bl-cta-sol a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.bl-cta-sol a:hover{text-decoration-color:currentColor}

/* ---------- Listados (portada del blog, relacionados, 404) ---------- */
.bl-rel{margin-top:52px}
.bl-rel h2,.bl-sec-t{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:0 0 6px}
.bl-items{list-style:none;padding:0;margin:0}
.bl-item{padding:22px 0;border-top:1px solid var(--line)}
.bl-item:last-child{border-bottom:1px solid var(--line)}
.bl-item-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 6px;font-size:.82rem;color:var(--muted)}
.bl-item-tipo{color:var(--primary);font-weight:600}
.bl-item h3{margin:0;font-size:1.2rem;font-weight:700;line-height:1.35;letter-spacing:-.01em}
.bl-item h3 a{color:var(--ink)}
.bl-item h3 a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}
.bl-item p{margin:6px 0 0;font-size:.96rem;line-height:1.6;color:var(--muted)}

.bl-hub-cab{margin-bottom:28px}
.bl-hub-cab .lp-eyebrow{margin-bottom:12px}
.bl-filtros{display:flex;flex-direction:column;gap:10px;margin:0 0 36px}
.bl-filtro{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.bl-filtro-t{min-width:44px;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bl-filtro a{display:inline-flex;align-items:center;min-height:34px;padding:5px 13px;border:1px solid var(--line);border-radius:999px;font-size:.86rem;color:var(--ink)}
.bl-filtro a:hover{background:rgba(var(--fg-rgb),.06)}
.bl-filtro a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.bl-filtro-estado{margin:0 0 14px;font-size:.9rem;color:var(--muted)}
.bl-lista .bl-sec-t{margin-bottom:12px}
.bl-vacio{padding:24px 0;border-top:1px solid var(--line);color:var(--muted)}
.bl-vacio p{margin:0}.bl-vacio p+p{margin-top:6px}
.bl-paginas{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;font-size:.92rem;color:var(--muted)}
.bl-paginas a{color:var(--ink);font-weight:600}
.bl-datos,.bl-leer{margin-top:56px}
.bl-recursos{list-style:none;padding:0;margin:12px 0 0}
.bl-recursos li{display:flex;flex-direction:column;gap:2px;padding:14px 0;border-top:1px solid var(--line)}
.bl-recursos li:last-child{border-bottom:1px solid var(--line)}
.bl-recursos a{font-weight:600;color:var(--ink)}
.bl-recursos a:hover{text-decoration:underline;text-underline-offset:3px}
.bl-recursos span{font-size:.92rem;line-height:1.55;color:var(--muted)}
.bl-sub{margin:26px 0 0;font-size:1rem;font-weight:700;color:var(--ink)}
.bl-tipos{margin:12px 0 0;display:flex;flex-direction:column}
.bl-tipos>div{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;padding:11px 0;border-top:1px solid var(--line)}
.bl-tipos dt{font-weight:600;font-size:.94rem;color:var(--ink)}
.bl-tipos dd{margin:0;font-size:.94rem;line-height:1.55;color:var(--muted)}
.bl-nota{margin:16px 0 0;font-size:.9rem;line-height:1.6;color:var(--muted)}
.bl-404 .bl-items{margin:24px 0}

@media(max-width:640px){
  .bl-main{padding:84px 0 56px}
  .bl-meta{flex-direction:column;gap:2px}
  .bl-meta span+span::before{content:none}
  .bl-migas li[aria-current]{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bl-lead{font-size:1.06rem}
  .bl-cuerpo{font-size:1.02rem}
  .bl-ficha{padding:18px 16px}
  .bl-ficha dl>div,.bl-tipos>div{grid-template-columns:1fr;gap:2px}
  .bl-grafico{padding:16px 14px}
  .bl-grafico tbody th{width:34%;padding-right:10px;font-size:.86rem}
  .bl-grafico td{gap:8px}
  .bl-valor{min-width:4em;font-size:.86rem}
  .bl-cta{padding:22px 18px}
  .bl-cta-btns .btn{width:100%}
  .bl-cta-btns .btn-ghost{width:auto}
  .bl-filtro-t{width:100%}
}
@media print{
  .nav,.footer,.bl-cta,.bl-rel,.bl-filtros,.bl-saltar{display:none!important}
  .bl-main{padding-top:0}
}
