/*
Theme Name: Plana Central 2.0 — Tablero
Theme URI: https://www.reportecentral.com.mx/
Author: Factoría Digital
Author URI: https://factoriadigital.store/
Description: Tema editorial para Reporte Central. Identidad "Tablero" inspirada en el tablero de votación de la Cámara de Diputados. Incluye corrección de permalinks por categoría, panel de diagnóstico de secciones, firmas obligatorias, control de frescura editorial, disclosure de imágenes generadas con IA, JSON-LD y tres zonas comerciales.
Version: 2.1.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: reporte-central-tablero
Tags: news, magazine, editorial, mexico
*/

/* ============================================================
   1. TOKENS
   ============================================================ */
:root{
  --tinta:#14161A;
  --tinta-2:#2B3038;
  --plomo:#5A6067;
  --plomo-claro:#8D949C;
  --pleno:#E9EAEC;        /* fondo de sala */
  --fuera:#C7CBD0;        /* marco exterior */
  --pleno-2:#F5F6F7;
  --curul:#FFFFFF;
  --linea:#D3D6DA;
  --linea-fuerte:#B4B9BF;

  --favor:#1F7A3D;        /* verde tablero */
  --contra:#C4161C;       /* rojo tablero */
  --abstencion:#E0A200;   /* ámbar tablero */

  --display:"Bricolage Grotesque","Archivo",system-ui,sans-serif;
  --lectura:"Literata",Georgia,serif;
  --dato:"IBM Plex Mono",ui-monospace,monospace;

  --ancho:1320px;
  --gap:28px;
  --radio:2px;
  --sombra:0 1px 0 rgba(20,22,26,.06), 0 8px 24px -18px rgba(20,22,26,.5);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--fuera);color:var(--tinta);
  font-family:var(--lectura);font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid var(--contra);outline-offset:2px;
}
.rc-contenedor{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 20px}

/* Caja del sitio: cabezal, cuerpo y pie viven dentro del marco */
.rc-marco{
  max-width:1360px;margin:0 auto;background:var(--pleno);
  box-shadow:0 0 0 1px rgba(20,22,26,.10), 0 26px 64px -34px rgba(20,22,26,.6);
  overflow:hidden;
}
@media (min-width:1420px){ .rc-marco{margin:26px auto} }
.rc-caja{background:var(--curul);box-shadow:var(--sombra)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.rc-skip{position:absolute;left:-9999px;top:0;background:var(--tinta);color:#fff;padding:10px 16px;z-index:999}
.rc-skip:focus{left:8px;top:8px}

/* ============================================================
   2. SIGNATURE: EL TABLERO
   Franja de celdas que codifica el estado editorial de cada
   sección: verde = actualizada hoy, ámbar = 24-72h, rojo = >72h.
   ============================================================ */
.rc-tablero{
  display:flex;gap:3px;align-items:stretch;
  border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);
  background:var(--tinta);padding:5px;overflow-x:auto;scrollbar-width:thin;
}
.rc-tablero__celda{
  flex:1 1 0;min-width:104px;padding:8px 10px;background:#1B1E24;
  display:flex;flex-direction:column;gap:5px;position:relative;
  transition:background .18s ease;
}
.rc-tablero__celda:hover{background:#242830}
.rc-tablero__led{width:100%;height:4px;background:var(--plomo)}
.rc-tablero__celda[data-estado="favor"] .rc-tablero__led{background:var(--favor)}
.rc-tablero__celda[data-estado="abstencion"] .rc-tablero__led{background:var(--abstencion)}
.rc-tablero__celda[data-estado="contra"] .rc-tablero__led{background:var(--contra)}
.rc-tablero__celda[data-estado="vacia"] .rc-tablero__led{background:#3A3F47}
.rc-tablero__nombre{
  font-family:var(--dato);font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:#fff;line-height:1.2;
}
.rc-tablero__meta{font-family:var(--dato);font-size:9.5px;color:var(--plomo-claro);letter-spacing:.04em}

/* ============================================================
   3. CABECERA
   ============================================================ */
.rc-cintillo{
  background:var(--tinta);color:#fff;font-family:var(--dato);
  font-size:11px;letter-spacing:.06em;padding:7px 0;
}
.rc-cintillo .rc-contenedor{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.rc-cintillo a{color:#fff;border-bottom:1px solid rgba(255,255,255,.35)}

.rc-cabecera{background:var(--curul);border-bottom:1px solid var(--linea)}
.rc-cabecera__fila{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:20px;padding:22px 0 18px;
}
.rc-marca{grid-column:2;text-align:center}
.rc-marca__nombre{
  font-family:var(--display);font-weight:800;font-size:clamp(30px,5.4vw,54px);
  letter-spacing:-.035em;line-height:.94;margin:0;text-transform:uppercase;
}
.rc-marca__nombre em{font-style:normal;color:var(--contra)}
.rc-marca__lema{
  font-family:var(--dato);font-size:10.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--plomo);margin:9px 0 0;
}
.rc-cabecera__izq,.rc-cabecera__der{display:flex;align-items:center;gap:12px}
.rc-cabecera__der{justify-content:flex-end}
.rc-boton{
  font-family:var(--dato);font-size:11px;letter-spacing:.09em;text-transform:uppercase;
  border:1px solid var(--tinta);padding:9px 14px;background:transparent;cursor:pointer;
  color:var(--tinta);transition:.16s ease;
}
.rc-boton:hover{background:var(--tinta);color:#fff}
.rc-boton--solido{background:var(--contra);border-color:var(--contra);color:#fff}
.rc-boton--solido:hover{background:#9E1116;border-color:#9E1116}

.rc-nav{border-top:1px solid var(--linea);background:var(--curul)}
.rc-nav__lista{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;
  justify-content:center;gap:0;
}
.rc-nav__lista li a{
  display:block;padding:12px 15px;font-family:var(--display);font-weight:600;
  font-size:14px;letter-spacing:.005em;text-transform:uppercase;color:var(--tinta-2);
  border-bottom:3px solid transparent;transition:.16s ease;
}
.rc-nav__lista li a:hover{color:var(--contra);border-bottom-color:var(--contra)}
.rc-nav__lista li.current-menu-item>a,
.rc-nav__lista li.current-cat>a{color:var(--contra);border-bottom-color:var(--contra)}
.rc-nav__mas{position:relative}
.rc-nav__mas>ul{
  display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);
  background:var(--curul);border:1px solid var(--linea);min-width:200px;z-index:60;
  list-style:none;margin:0;padding:6px 0;box-shadow:var(--sombra);
}
.rc-nav__mas:hover>ul,.rc-nav__mas:focus-within>ul{display:block}
.rc-nav__mas>ul li a{padding:9px 16px;border:0;text-align:left}

.rc-menu-movil{display:none}

/* ============================================================
   4. HERO — "LA PLANA"
   ============================================================ */
.rc-plana{display:grid;grid-template-columns:1.72fr 1fr;gap:var(--gap);margin:30px 0}
.rc-plana__principal{background:var(--curul);box-shadow:var(--sombra);overflow:hidden}
.rc-plana__figura{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--pleno-2)}
.rc-plana__figura img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.rc-plana__principal:hover .rc-plana__figura img{transform:scale(1.02)}
.rc-plana__cuerpo{padding:26px 30px 30px}
.rc-plana__titulo{
  font-family:var(--display);font-weight:800;letter-spacing:-.028em;line-height:1.02;
  font-size:clamp(30px,3.6vw,50px);margin:12px 0 14px;
}
.rc-plana__entrada{font-size:19px;color:var(--tinta-2);margin:0 0 16px;line-height:1.5}

.rc-radar{background:var(--curul);box-shadow:var(--sombra);display:flex;flex-direction:column}
.rc-radar__titulo{
  font-family:var(--display);font-weight:800;font-size:14px;letter-spacing:.14em;
  text-transform:uppercase;padding:15px 20px;margin:0;color:#fff;background:var(--tinta);
  display:flex;justify-content:space-between;align-items:center;
}
.rc-radar__titulo span{font-family:var(--dato);font-size:10px;color:var(--abstencion);letter-spacing:.08em}
.rc-radar__item{padding:16px 20px;border-bottom:1px solid var(--linea);display:block}
.rc-radar__item:last-child{border-bottom:0}
.rc-radar__item:hover .rc-radar__h{color:var(--contra)}
.rc-radar__h{font-family:var(--display);font-weight:700;font-size:17px;line-height:1.24;margin:6px 0 0;letter-spacing:-.012em}

/* Etiqueta de sección */
.rc-etiqueta{
  display:inline-flex;align-items:center;gap:7px;font-family:var(--dato);
  font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--contra);
  font-weight:600;
}
.rc-etiqueta::before{content:"";width:9px;height:9px;background:var(--contra);flex:none}
.rc-etiqueta--favor{color:var(--favor)}.rc-etiqueta--favor::before{background:var(--favor)}
.rc-etiqueta--abstencion{color:#9A7000}.rc-etiqueta--abstencion::before{background:var(--abstencion)}

/* ============================================================
   5. FIRMA Y FRESCURA
   ============================================================ */
.rc-firma{
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;
  font-family:var(--dato);font-size:11.5px;color:var(--plomo);letter-spacing:.02em;
  border-top:1px solid var(--linea);padding-top:12px;margin-top:14px;
}
.rc-firma__autor{color:var(--tinta);font-weight:600}
.rc-firma__sep{color:var(--linea-fuerte)}
.rc-frescura{
  font-family:var(--dato);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  padding:3px 7px;border:1px solid currentColor;
}
.rc-frescura--favor{color:var(--favor)}
.rc-frescura--abstencion{color:#9A7000}
.rc-frescura--contra{color:var(--contra)}
.rc-aviso-ia{
  font-family:var(--dato);font-size:11px;color:var(--plomo);
  background:var(--pleno-2);border-left:3px solid var(--abstencion);
  padding:8px 12px;margin:10px 0 0;letter-spacing:.01em;
}

/* ============================================================
   6. BLOQUES DE SECCIÓN
   ============================================================ */
.rc-seccion{margin:44px 0}
.rc-seccion__cabeza{
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  border-bottom:3px solid var(--tinta);padding-bottom:10px;margin-bottom:24px;flex-wrap:wrap;
}
.rc-seccion__titulo{
  font-family:var(--display);font-weight:800;font-size:clamp(24px,3vw,34px);
  letter-spacing:-.028em;margin:0;text-transform:uppercase;
}
.rc-seccion__bajada{font-size:14.5px;color:var(--plomo);margin:5px 0 0;max-width:62ch}
.rc-seccion__ver{font-family:var(--dato);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--contra);white-space:nowrap}
.rc-seccion__ver:hover{text-decoration:underline}

.rc-rejilla{display:grid;gap:var(--gap)}
.rc-rejilla--4{grid-template-columns:repeat(4,1fr)}
.rc-rejilla--3{grid-template-columns:repeat(3,1fr)}
.rc-rejilla--2{grid-template-columns:repeat(2,1fr)}
.rc-rejilla--destacada{grid-template-columns:1.6fr 1fr 1fr}

.rc-tarjeta{background:var(--curul);box-shadow:var(--sombra);display:flex;flex-direction:column;height:100%}
.rc-tarjeta__figura{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--pleno-2)}
.rc-tarjeta__figura img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.rc-tarjeta:hover .rc-tarjeta__figura img{transform:scale(1.03)}
.rc-tarjeta__cuerpo{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.rc-tarjeta__titulo{
  font-family:var(--display);font-weight:700;font-size:19px;line-height:1.22;
  letter-spacing:-.014em;margin:2px 0 0;
}
.rc-tarjeta:hover .rc-tarjeta__titulo{color:var(--contra)}
.rc-tarjeta__entrada{font-size:15px;color:var(--plomo);margin:0;line-height:1.5}
.rc-tarjeta--grande .rc-tarjeta__titulo{font-size:27px}
.rc-tarjeta--grande .rc-tarjeta__figura{aspect-ratio:16/9}
.rc-tarjeta--texto .rc-tarjeta__cuerpo{padding-top:20px}
.rc-tarjeta__pie{
  margin-top:auto;font-family:var(--dato);font-size:10.5px;color:var(--plomo-claro);
  letter-spacing:.05em;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:6px;
}

/* Lista compacta */
.rc-lista{list-style:none;margin:0;padding:0;background:var(--curul);box-shadow:var(--sombra)}
.rc-lista li{border-bottom:1px solid var(--linea)}
.rc-lista li:last-child{border-bottom:0}
.rc-lista a{display:flex;gap:14px;padding:15px 18px;align-items:flex-start}
.rc-lista a:hover{background:var(--pleno-2)}
.rc-lista__num{font-family:var(--dato);font-size:12px;color:var(--contra);font-weight:600;padding-top:2px;min-width:22px}
.rc-lista__h{font-family:var(--display);font-weight:600;font-size:16px;line-height:1.26;margin:0}

/* ============================================================
   7. ZONAS COMERCIALES
   ============================================================ */
.rc-anuncio{margin:36px 0;display:flex;justify-content:center}
.rc-anuncio__marco{
  width:100%;border:1px dashed var(--linea-fuerte);background:var(--curul);
  padding:26px 20px;text-align:center;
}
.rc-anuncio__kicker{
  font-family:var(--dato);font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--plomo-claro);margin:0 0 8px;
}
.rc-anuncio__titulo{
  font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.02em;margin:0 0 6px;text-transform:uppercase;
}
.rc-anuncio__texto{font-size:14.5px;color:var(--plomo);margin:0 0 14px}

/* ============================================================
   8. NOTA (SINGLE)
   ============================================================ */
.rc-nota{background:var(--curul);box-shadow:var(--sombra);margin:30px 0;padding:0 0 40px}
.rc-nota__cabeza{padding:34px 8% 0;max-width:920px;margin:0 auto}
.rc-nota__titulo{
  font-family:var(--display);font-weight:800;font-size:clamp(29px,4vw,48px);
  line-height:1.03;letter-spacing:-.03em;margin:14px 0 16px;
}
.rc-nota__entrada{font-size:20.5px;line-height:1.5;color:var(--tinta-2);margin:0 0 18px}
.rc-nota__figura{margin:24px 0 0}
.rc-nota__figura figcaption{
  font-family:var(--dato);font-size:11.5px;color:var(--plomo);padding:9px 8% 0;max-width:920px;margin:0 auto;
}
.rc-nota__cuerpo{padding:26px 8% 0;max-width:920px;margin:0 auto;font-size:18.5px}
.rc-nota__cuerpo p{margin:0 0 1.3em}
.rc-nota__cuerpo h2{font-family:var(--display);font-weight:800;font-size:27px;letter-spacing:-.02em;margin:1.7em 0 .5em}
.rc-nota__cuerpo h3{font-family:var(--display);font-weight:700;font-size:21px;margin:1.5em 0 .45em}
.rc-nota__cuerpo blockquote{
  border-left:4px solid var(--contra);margin:1.6em 0;padding:2px 0 2px 22px;
  font-size:22px;line-height:1.4;font-family:var(--display);font-weight:600;letter-spacing:-.015em;
}
.rc-nota__cuerpo a{color:var(--contra);border-bottom:1px solid rgba(196,22,28,.35)}
.rc-nota__cuerpo img{margin:1.4em 0}
.rc-nota__pie{padding:26px 8% 0;max-width:920px;margin:0 auto}
.rc-compartir{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0 0}
.rc-compartir a{
  font-family:var(--dato);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--linea-fuerte);padding:8px 12px;color:var(--plomo);
}
.rc-compartir a:hover{background:var(--tinta);color:#fff;border-color:var(--tinta)}

/* ============================================================
   9. ARCHIVO / BÚSQUEDA / PAGINACIÓN
   ============================================================ */
.rc-encabezado-archivo{
  background:var(--tinta);color:#fff;padding:38px 0;margin:0 0 4px;
}
.rc-encabezado-archivo h1{
  font-family:var(--display);font-weight:800;font-size:clamp(28px,4vw,46px);
  letter-spacing:-.03em;margin:0;text-transform:uppercase;
}
.rc-encabezado-archivo p{color:#B9BEC5;margin:8px 0 0;max-width:70ch}
.rc-paginacion{display:flex;justify-content:center;gap:6px;margin:40px 0;flex-wrap:wrap}
.rc-paginacion .page-numbers{
  font-family:var(--dato);font-size:13px;padding:9px 14px;border:1px solid var(--linea);background:var(--curul);
}
.rc-paginacion .page-numbers.current{background:var(--tinta);color:#fff;border-color:var(--tinta)}

.rc-buscador{display:flex;gap:0;max-width:520px}
.rc-buscador input[type="search"]{
  flex:1;border:1px solid var(--linea-fuerte);border-right:0;padding:11px 14px;
  font-family:var(--lectura);font-size:15px;background:var(--curul);
}
.rc-buscador button{border:1px solid var(--tinta);background:var(--tinta);color:#fff;padding:11px 18px;font-family:var(--dato);font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}

/* ============================================================
   10. PIE
   ============================================================ */
.rc-pie{background:var(--tinta);color:#C7CBD1;margin-top:56px;padding:46px 0 0;font-size:15px}
.rc-marco>.rc-pie{margin-bottom:0}
.rc-pie__rejilla{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:36px}
.rc-pie h4{
  font-family:var(--dato);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:#fff;margin:0 0 14px;padding-bottom:9px;border-bottom:1px solid #2E333B;
}
.rc-pie ul{list-style:none;margin:0;padding:0}
.rc-pie li{margin:0 0 9px}
.rc-pie a:hover{color:#fff;text-decoration:underline}
.rc-pie__marca{font-family:var(--display);font-weight:800;font-size:26px;color:#fff;text-transform:uppercase;letter-spacing:-.03em;margin:0 0 10px}
.rc-pie__legal{
  border-top:1px solid #2E333B;margin-top:38px;padding:18px 0;
  font-family:var(--dato);font-size:11px;color:#7C838C;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
}

.rc-wa{
  position:fixed;right:18px;bottom:18px;z-index:80;background:var(--favor);color:#fff;
  width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.28);
}
.rc-wa svg{width:26px;height:26px;fill:#fff}

/* ============================================================
   11. RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .rc-plana{grid-template-columns:1fr}
  .rc-rejilla--4{grid-template-columns:repeat(2,1fr)}
  .rc-rejilla--destacada{grid-template-columns:1fr}
  .rc-pie__rejilla{grid-template-columns:1fr 1fr}
}
@media (max-width:780px){
  body{font-size:16px}
  .rc-cabecera__fila{grid-template-columns:auto 1fr auto;text-align:left}
  .rc-marca{text-align:left}
  .rc-nav__lista{display:none;flex-direction:column;align-items:stretch}
  .rc-nav__lista.rc-abierto{display:flex}
  .rc-nav__lista li a{text-align:left;border-bottom:1px solid var(--linea)}
  .rc-menu-movil{display:inline-flex}
  .rc-rejilla--3,.rc-rejilla--2{grid-template-columns:1fr}
  .rc-nota__cabeza,.rc-nota__cuerpo,.rc-nota__pie,.rc-nota__figura figcaption{padding-left:22px;padding-right:22px}
  .rc-pie__rejilla{grid-template-columns:1fr}
  .rc-plana__cuerpo{padding:20px}
}
@media (max-width:520px){
  .rc-rejilla--4{grid-template-columns:1fr}
  .rc-tablero__celda{min-width:92px}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rc-tarjeta:hover .rc-tarjeta__figura img,
  .rc-plana__principal:hover .rc-plana__figura img{transform:none}
}

/* Utilidades WP */
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.aligncenter{margin-left:auto;margin-right:auto}
.wp-caption-text{font-family:var(--dato);font-size:12px;color:var(--plomo)}
.sticky,.gallery-caption,.bypostauthor{}
