/* =============================================================================
   Código Broker — hoja de estilos
   -----------------------------------------------------------------------------
   Paleta tomada de la web actual: fondo oscuro con amarillo #F4BB00 de acento.
   Lo que cambia es la estructura: la web de ahora no tiene forma de navegar
   —solo un icono de menú— y aquí las categorías están siempre a la vista, cada
   artículo lleva sus migas de pan y al final sus relacionados.
   ============================================================================= */
:root{
  --fondo:#0F1115; --panel:#161A21; --panel2:#1D222B;
  --amarillo:#F4BB00; --amarillo2:#C89600;
  --azul:#1863DC; --rojo:#D8392B; --verde:#1E9E62;
  --texto:#EDEFF2; --gris:#A3ABB6; --gris2:#6F7884; --linea:rgba(255,255,255,.1);
  --tit:'Archivo',system-ui,sans-serif; --txt:'Inter',system-ui,sans-serif; --dat:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--texto);font-family:var(--txt);font-size:16.5px;line-height:1.65;
     -webkit-font-smoothing:antialiased;
     padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}
img{max-width:100%;height:auto;display:block}
a{color:var(--amarillo);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--tit);font-weight:700;margin:0;line-height:1.18;letter-spacing:-.015em}
.cont{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.saltar{position:absolute;left:-999px;background:var(--amarillo);color:#000;padding:.7rem 1rem;z-index:100}
.saltar:focus{left:0}

/* ---- Cabecera -----------------------------------------------------------
   Una sola fila en vez de dos, y sin el muro de mayúsculas: el menú anterior
   eran dos líneas de texto en caja alta que no se leían de un vistazo. Ahora
   las categorías van en versalitas discretas y las secciones propias se
   agrupan a la derecha, separadas por una línea. */
.cab{background:var(--panel);border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:40}
.cab::after{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--amarillo) 0%,var(--amarillo) 38%,transparent 38%)}
.cab .cont{display:flex;align-items:center;gap:26px;min-height:70px}
.marca{display:flex;align-items:baseline;gap:9px;color:var(--texto);flex:0 0 auto}
.marca b{font-family:var(--tit);font-size:23px;letter-spacing:-.02em;line-height:1}
.marca span{font-family:var(--dat);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--amarillo)}
.nav{display:flex;align-items:center;gap:0;flex:1;flex-wrap:nowrap;overflow-x:auto;
     scrollbar-width:none;-ms-overflow-style:none}
.nav::-webkit-scrollbar{display:none}
.nav a{position:relative;padding:24px 11px;font-size:14px;font-weight:500;color:var(--gris);text-decoration:none;white-space:nowrap}
.nav a:hover{color:var(--texto)}
.nav a.on{color:var(--texto)}
.nav a.on::after{content:"";position:absolute;left:13px;right:13px;bottom:0;height:3px;background:var(--amarillo)}
.nav .separa{width:1px;height:20px;background:var(--linea);margin:0 10px}
.nav a.propia{color:var(--amarillo);font-weight:600}
.nav a.propia:hover{color:#fff}
.nav a.propia.on{color:var(--amarillo)}
.lupa{background:none;border:0;cursor:pointer;color:var(--gris);padding:8px;display:flex;flex:0 0 auto}
.lupa:hover{color:var(--amarillo)}
.lupa svg{width:21px;height:21px}
.panel-busca{display:none;border-top:1px solid var(--linea);background:var(--fondo)}
.panel-busca.abierto{display:block}
.panel-busca form{display:flex;max-width:620px;margin:0 auto;padding:16px 20px;gap:0}
.panel-busca input{flex:1;background:var(--panel);border:1px solid var(--linea);color:var(--texto);
  font:inherit;font-size:16px;padding:12px 16px;min-height:48px}
.panel-busca input:focus{outline:none;border-color:var(--amarillo)}
.panel-busca button{border:0;background:var(--amarillo);color:#000;font:600 14px var(--txt);padding:0 22px;cursor:pointer}
.hamb{display:none;background:none;border:1px solid var(--linea);padding:9px 11px;cursor:pointer;flex:0 0 auto}
.hamb span{display:block;width:21px;height:2px;background:var(--amarillo);margin:4px 0}
@media(max-width:1250px){ .nav a{padding:24px 8px;font-size:13.5px} .marca span{display:none} }
@media(max-width:900px){
  .cab .cont{min-height:62px;gap:14px}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--panel);
       flex-direction:column;align-items:stretch;border-top:1px solid var(--linea);padding:6px 0;z-index:50}
  .nav.abierto{display:flex}
  .nav a{padding:13px 20px;border-bottom:1px solid var(--linea)}
  .nav a.on::after{left:0;right:auto;width:3px;top:0;bottom:0;height:auto}
  .nav .separa{display:none}
  .hamb{display:block;margin-left:auto}
  .cab{position:relative}
}

/* ---- Migas de pan ---- */
.migas{font-size:13px;color:var(--gris2);padding:14px 0;font-family:var(--dat)}
.migas a{color:var(--gris)}
.migas span{margin:0 7px;color:var(--gris2)}

/* ---- Portada ---- */
.destacado{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;margin:8px 0 28px}
.tarjeta{position:relative;display:block;overflow:hidden;background:var(--panel);min-height:230px;color:var(--texto)}
.tarjeta:hover{text-decoration:none}
.tarjeta img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .4s ease}
.tarjeta:hover img{transform:scale(1.04)}
.tarjeta .velo{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,12,16,.94) 0%,rgba(10,12,16,.55) 48%,rgba(10,12,16,.15) 100%)}
.tarjeta .txt{position:relative;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;min-height:230px}
.tarjeta.grande .txt{min-height:420px}
.tarjeta h3{font-size:20px;margin:9px 0 0}
.tarjeta.grande h3{font-size:30px}
.etiqueta{display:inline-block;background:var(--amarillo);color:#000;font:700 10.5px var(--dat);letter-spacing:.09em;
  text-transform:uppercase;padding:4px 9px;align-self:flex-start}
.etiqueta.riesgo-alto{background:var(--rojo);color:#fff}
.etiqueta.confiable{background:var(--verde);color:#fff}
.meta{font-family:var(--dat);font-size:11.5px;color:var(--gris);margin-top:9px}
.sec-pila{display:grid;gap:20px;grid-template-rows:1fr 1fr}

/* ---- Rejilla de artículos ---- */
.titulo-sec{display:flex;align-items:center;justify-content:space-between;gap:16px;
  border-bottom:2px solid var(--amarillo);padding-bottom:9px;margin:36px 0 20px}
.titulo-sec h2{font-size:21px;text-transform:uppercase;letter-spacing:.02em}
.titulo-sec a{font-family:var(--dat);font-size:12px;color:var(--gris)}
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
.art{background:var(--panel);display:flex;flex-direction:column;color:var(--texto)}
.art:hover{text-decoration:none}
.art .foto{aspect-ratio:16/9;overflow:hidden;background:var(--panel2)}
.art .foto img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.art:hover .foto img{transform:scale(1.04)}
.art .cuerpo{padding:15px 16px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.art h3{font-size:17.5px;line-height:1.3}
.art p{margin:0;color:var(--gris);font-size:14.5px}

/* ---- Artículo ---- */
.lectura{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;padding:10px 0 40px}
.articulo h1{font-size:clamp(28px,3.6vw,42px);margin:12px 0 14px}
.articulo .ficha-meta{display:flex;gap:16px;flex-wrap:wrap;font-family:var(--dat);font-size:12.5px;
  color:var(--gris);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);padding:12px 0;margin-bottom:24px}
.articulo .portada-img{margin:0 0 26px}
.articulo .texto{font-size:17.5px;line-height:1.78}
.articulo .texto p{margin:0 0 1.15em;color:#DCE1E8}
.articulo .texto h2{font-size:25px;margin:2em 0 .5em}
.articulo .texto h3{font-size:20px;margin:1.7em 0 .4em}
.articulo .texto ul,.articulo .texto ol{padding-left:1.3rem;color:#DCE1E8}
.articulo .texto li{margin:.4rem 0}
.articulo .texto img{margin:1.6em 0}
.articulo .texto blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:3px solid var(--amarillo);
  color:var(--gris);font-size:19px}
.articulo .texto a{text-decoration:underline}
.articulo .texto table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:15px}
.articulo .texto th,.articulo .texto td{border:1px solid var(--linea);padding:10px 12px;text-align:left}
.articulo .texto th{background:var(--panel2);font-family:var(--tit)}

/* ---- Columna lateral ---- */
.lado .caja{background:var(--panel);border-top:3px solid var(--amarillo);padding:18px;margin-bottom:22px}
.lado h4{font-family:var(--dat);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--amarillo);margin:0 0 14px}
.lado .mini{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--linea);color:var(--texto)}
.lado .mini:last-child{border-bottom:0}
.lado .mini:hover{text-decoration:none}
.lado .mini img{width:76px;height:54px;object-fit:cover;flex:0 0 auto;background:var(--panel2)}
.lado .mini b{font-family:var(--tit);font-size:14.5px;font-weight:600;line-height:1.3;display:block}
.lado .mini span{font-family:var(--dat);font-size:10.5px;color:var(--gris2)}

/* ---- Hueco para anuncios ---- */
.anuncio{background:var(--panel);border:1px dashed var(--linea);min-height:90px;display:flex;
  align-items:center;justify-content:center;color:var(--gris2);font-family:var(--dat);font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;margin:26px 0}
.anuncio.lateral{min-height:250px}

/* ---- Relacionados y pie ---- */
.relacionados{border-top:1px solid var(--linea);margin-top:40px;padding-top:26px}
.pie{background:var(--panel);border-top:3px solid var(--amarillo);margin-top:44px;padding:34px 0 26px;color:var(--gris)}
.pie-rej{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:30px}
.pie h4{color:var(--texto);font-size:15px;margin:0 0 .7rem}
.pie a{display:block;color:var(--gris);padding:.2rem 0;text-decoration:none}
.pie a:hover{color:var(--texto)}
.pie-legal{border-top:1px solid var(--linea);margin-top:26px;padding-top:16px;font-size:13px;color:var(--gris2)}

@media(max-width:980px){
  .lectura{grid-template-columns:1fr;gap:24px}
  .destacado{grid-template-columns:1fr}
  .tarjeta.grande .txt{min-height:300px}
  .pie-rej{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .cab-nav ul{display:none;flex-direction:column}
  .cab-nav ul.abierto{display:flex}
  .hamb{display:block}
  .busca-cab{display:none}
  .pie-rej{grid-template-columns:1fr}
}

/* ---- Registro de entidades y noticias -----------------------------------
   Antes era una lista de líneas de texto a todo lo ancho, sin ritmo. Ahora son
   tarjetas en rejilla, como los artículos: el ojo encuentra dónde empieza y
   acaba cada cosa, y en pantalla ancha caben tres por fila en vez de una. */
.buscador-entidades{margin:0 0 14px}
.buscador-entidades input{width:100%;max-width:560px;min-height:50px;padding:12px 16px;font:inherit;font-size:16px;
  background:var(--panel);border:1px solid var(--linea);color:var(--texto)}
.buscador-entidades input:focus{outline:none;border-color:var(--amarillo)}
.filtros{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}
.filtros select{min-height:44px;padding:10px 12px;background:var(--panel);border:1px solid var(--linea);
  color:var(--texto);font:inherit;font-size:14.5px;min-width:190px}
.filtros select:focus{outline:none;border-color:var(--amarillo)}
.limpiar{min-height:44px;padding:0 16px;background:transparent;border:1px solid var(--linea);
  color:var(--gris);font:inherit;font-size:14px;cursor:pointer}
.limpiar:hover{border-color:var(--amarillo);color:var(--amarillo)}
.revision{font-size:13.5px;color:var(--gris2);margin:0 0 18px;border-left:3px solid var(--linea);padding-left:12px}
.revision b{color:var(--texto)}

#entidades,#noticias{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}

/* Entidad */
.entidad{display:flex;flex-direction:column;gap:7px;background:var(--panel);border:1px solid var(--linea);
  border-top:3px solid var(--amarillo);padding:18px;color:var(--texto);text-decoration:none;transition:border-color .15s}
.entidad:hover{text-decoration:none;border-color:var(--gris2);border-top-color:var(--amarillo)}
.entidad b{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-family:var(--tit);font-size:18px;line-height:1.25}
.entidad .d{font-family:var(--dat);font-size:11.5px;color:var(--gris2);word-break:break-word}
.entidad .magnitud{font-family:var(--dat);font-size:12.5px;color:var(--amarillo);
  border-left:2px solid rgba(244,187,0,.4);padding-left:9px}
.entidad .pie-ficha{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;
  margin-top:auto;padding-top:11px;border-top:1px solid var(--linea)}
.nueva{font-family:var(--dat);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  background:var(--rojo);color:#fff;padding:2px 7px}
.nivel{display:inline-block;font-family:var(--dat);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;
  padding:4px 9px;border:1px solid}
.nivel.oficial{color:var(--verde);border-color:rgba(30,158,98,.5);background:rgba(30,158,98,.08)}
.nivel.investigacion{color:var(--amarillo);border-color:rgba(244,187,0,.5);background:rgba(244,187,0,.08)}
.nivel.propio{color:var(--rojo);border-color:rgba(216,57,43,.5);background:rgba(216,57,43,.08)}
.fecha{font-family:var(--dat);font-size:11.5px;color:var(--gris2)}

/* Noticia */
.noticia{display:flex;flex-direction:column;gap:9px;background:var(--panel);border:1px solid var(--linea);
  padding:18px;color:var(--texto);text-decoration:none;position:relative;transition:border-color .15s}
.noticia::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--amarillo);opacity:0;transition:opacity .15s}
.noticia:hover{text-decoration:none;border-color:var(--gris2)}
.noticia:hover::before{opacity:1}
.noticia .pais{align-self:flex-start;font-family:var(--dat);font-size:10px;letter-spacing:.08em;
  background:var(--amarillo);color:#000;padding:3px 9px}
.noticia h3{font-size:16.5px;margin:0;line-height:1.38;font-weight:600}
.noticia .meta{font-family:var(--dat);font-size:11.5px;color:var(--gris2);margin-top:auto;
  padding-top:10px;border-top:1px solid var(--linea)}
.noticia .meta b{color:var(--gris);font-weight:500}

/* Marca de reproducción sobre la miniatura del vídeo */
.foto.video{position:relative}
.foto.video::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:54px;height:38px;background:rgba(0,0,0,.72);border-radius:8px}
.foto.video::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-40%,-50%);z-index:2;
  border-left:15px solid var(--amarillo);border-top:9px solid transparent;border-bottom:9px solid transparent}

/* ---- Redes sociales ---- */
.redes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.red{display:flex;flex-direction:column;gap:9px;background:var(--panel);border:1px solid var(--linea);
  border-top:3px solid var(--amarillo);padding:22px;color:var(--texto);text-decoration:none;transition:border-color .15s}
.red:hover{text-decoration:none;border-color:var(--gris2)}
.red-nombre{font-family:var(--tit);font-size:21px;font-weight:700}
.red-desc{color:var(--gris);font-size:14.5px}
.red-ir{margin-top:auto;padding-top:12px;border-top:1px solid var(--linea);color:var(--amarillo);
  font-family:var(--dat);font-size:12px}
.red-youtube{border-top-color:#FF0000}
.red-tiktok{border-top-color:#25F4EE}
.red-instagram{border-top-color:#E1306C}
.entidad .fuentes{font-family:var(--dat);font-size:11px;color:var(--gris2)}
