/*
  ╔══════════════════════════════════════════════════════════════════╗
  ║  DESCENTRALIZANDO — styles.css v4.0                              ║
  ║  Medio Digital ADASFRO · Economía 4.0 · Costa Rica               ║
  ║  DISEÑO: Accesible · Vibrante · Elegante · WCAG AA/AAA           ║
  ║  PALETA: Blanco/Crema · Verde esmeralda · Azul marino · Dorado   ║
  ╚══════════════════════════════════════════════════════════════════╝
*/

/* ══ RESET ══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
img,video{max-width:100%;display:block}
ul,ol{list-style:none}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:inherit;border:none;background:none}
input,textarea,select{font-family:inherit}

/* ══ VARIABLES — Paleta WCAG AA/AAA ══ */
:root {
  /* ─ Fondos ─ */
  --fondo:          #f8f9fa;     /* gris muy claro, cálido */
  --fondo-2:        #ffffff;     /* blanco puro (cards) */
  --fondo-3:        #eef2f7;     /* gris azulado claro */
  --fondo-4:        #e8f5e9;     /* verde muy pálido */

  /* ─ Texto ─ */
  --texto-1:        #0d1b2a;     /* casi negro, WCAG AAA */
  --texto-2:        #1f3a5f;     /* azul marino oscuro */
  --texto-3:        #4a5568;     /* gris texto secundario */
  --texto-4:        #718096;     /* gris claro */

  /* ─ Acentos principales (WCAG AA sobre blanco) ─ */
  --verde:          #00875a;     /* verde esmeralda oscuro, legible */
  --verde-claro:    #00c48c;     /* verde brillante, sobre oscuro */
  --verde-bg:       #e6f7f1;     /* fondo verde suave */
  --verde-borde:    #b2dfdb;     /* borde verde pálido */

  --azul:           #1a3a6b;     /* azul marino profundo */
  --azul-medio:     #2563eb;     /* azul brillante, links */
  --azul-bg:        #e8eef8;     /* fondo azul pálido */

  --dorado:         #b7791f;     /* dorado oscuro (WCAG AA) */
  --dorado-claro:   #f6ad55;     /* dorado brillante */
  --dorado-bg:      #fefce8;     /* fondo dorado pálido */

  /* ─ Acentos por categoría (fondos dark de badges) ─ */
  --cat-politica:   #1e40af;     /* azul royal */
  --cat-social:     #6d28d9;     /* púrpura */
  --cat-tecnologia: #0369a1;     /* azul tech */
  --cat-economia:   #b45309;     /* ámbar oscuro */
  --cat-turismo:    #047857;     /* verde bosque */
  --cat-blockchain: #7c3aed;     /* violeta */
  --cat-breaking:   #dc2626;     /* rojo alerta */

  /* ─ Bordes ─ */
  --borde:          #dee2e8;
  --borde-hover:    #94a3b8;

  /* ─ Header/Navbar ─ */
  --nav-bg:         #0d1b2a;     /* azul marino muy oscuro */
  --nav-texto:      #f0f4f8;
  --nav-acento:     #00c48c;

  /* ─ Footer ─ */
  --footer-bg:      #0d1b2a;
  --footer-texto:   #94a3b8;
  --footer-titulo:  #e2e8f0;

  /* ─ Sombras ─ */
  --sombra-sm:  0 1px 3px rgba(13,27,42,0.10);
  --sombra-md:  0 4px 16px rgba(13,27,42,0.12);
  --sombra-lg:  0 10px 40px rgba(13,27,42,0.18);
  --sombra-card:0 2px 8px rgba(13,27,42,0.08);

  /* ─ Tipografía ─ */
  --f-titulo: 'DM Serif Display','Playfair Display',Georgia,serif;
  --f-cuerpo: 'IBM Plex Sans','Source Sans 3',system-ui,sans-serif;
  --f-ui:     'Oswald','DM Sans',sans-serif;

  /* ─ Tamaños ─ */
  --t-xs:  0.72rem;
  --t-sm:  0.82rem;
  --t-base:0.96rem;
  --t-md:  1.05rem;
  --t-lg:  1.2rem;
  --t-xl:  1.4rem;
  --t-2xl: 1.75rem;
  --t-3xl: clamp(1.8rem,3.5vw,2.6rem);

  /* ─ Radios ─ */
  --r-sm: 5px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-xl: 22px;
  --r-pill:99px;

  /* ─ Transición ─ */
  --t: 0.2s ease;
  --t-slow: 0.4s ease;

  /* ─ Layout ─ */
  --max-w: 1340px;
  --pad-x: 1.5rem;
}

/* ══ BASE ══ */
body{
  font-family:var(--f-cuerpo);
  font-size:var(--t-base);
  color:var(--texto-1);
  background:var(--fondo);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--f-titulo);
  line-height:1.2;
  color:var(--texto-1);
  font-weight:400;
}
p{line-height:1.8}
.contenedor{
  width:100%;max-width:var(--max-w);
  margin:0 auto;padding:0 var(--pad-x);
}

/* ══ ACCESIBILIDAD ══ */
.saltar-contenido{
  position:absolute;top:-120px;left:1rem;
  background:var(--verde);color:#fff;
  padding:0.5rem 1.2rem;border-radius:var(--r-sm);
  font-weight:700;font-family:var(--f-ui);
  font-size:var(--t-sm);letter-spacing:0.05em;
  text-transform:uppercase;z-index:9999;transition:top 0.2s;
}
.saltar-contenido:focus{top:0.75rem}
:focus-visible{
  outline:3px solid var(--azul-medio);
  outline-offset:3px;border-radius:3px;
}
body.alto-contraste{
  filter:contrast(1.6) saturate(0);
}
body.texto-grande{font-size:19px}

/* ══ BARRA SUPERIOR ══ */
.barra-top{
  background:var(--nav-bg);
  color:var(--nav-texto);
  padding:7px 0;
  border-bottom:2px solid var(--nav-acento);
}
.barra-top-inner{
  display:flex;align-items:center;
  justify-content:space-between;flex-wrap:wrap;gap:0.5rem;
}
.barra-entidad{
  font-family:var(--f-ui);font-size:var(--t-xs);
  letter-spacing:0.08em;text-transform:uppercase;
  color:rgba(240,244,248,0.7);
  display:flex;align-items:center;gap:0.5rem;
}
.barra-entidad strong{color:var(--nav-acento);font-weight:700}
.barra-accesibilidad{display:flex;align-items:center;gap:0.5rem}
.dm-fecha{
  font-family:var(--f-cuerpo);font-size:var(--t-xs);
  color:rgba(240,244,248,0.6);
}
.barra-sep{width:1px;height:14px;background:rgba(255,255,255,0.2)}
.btn-accesibilidad{
  background:rgba(255,255,255,0.1);
  color:rgba(240,244,248,0.8);
  border:1px solid rgba(255,255,255,0.15);
  border-radius:var(--r-sm);
  padding:2px 8px;
  font-size:var(--t-xs);
  font-family:var(--f-ui);font-weight:700;
  transition:all var(--t);
}
.btn-accesibilidad:hover{
  background:var(--nav-acento);color:var(--nav-bg);
  border-color:var(--nav-acento);
}
.red-social{
  display:inline-flex;align-items:center;justify-content:center;
  width:27px;height:27px;border-radius:50%;
  background:rgba(255,255,255,0.1);
  color:rgba(240,244,248,0.8);
  font-size:var(--t-xs);font-weight:800;
  transition:all var(--t);text-decoration:none;
  border:1px solid rgba(255,255,255,0.15);
}
.red-social:hover{background:var(--nav-acento);color:var(--nav-bg);border-color:var(--nav-acento)}

/* ══ NAVBAR ══ */
.navbar{
  background:var(--fondo-2);
  border-bottom:3px solid var(--verde);
  position:sticky;top:0;z-index:500;
  box-shadow:var(--sombra-md);
  transition:box-shadow var(--t);
}
.navbar.con-sombra{
  box-shadow:0 6px 30px rgba(13,27,42,0.18);
}
.nav-inner{
  display:flex;align-items:center;
  justify-content:space-between;min-height:70px;gap:1rem;
}
/* Logo */
.logo{display:flex;align-items:center;gap:0.75rem;text-decoration:none;flex-shrink:0}
.logo-icono{
  width:44px;height:44px;
  background:var(--azul);
  border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;
  font-size:1.35rem;flex-shrink:0;
  box-shadow:var(--sombra-sm);
}
.logo-texto{display:flex;flex-direction:column;line-height:1}
.logo-nombre{
  font-family:var(--f-titulo);font-size:1.5rem;
  color:var(--texto-1);letter-spacing:-0.02em;font-weight:400;
}
.logo-subtitulo{
  font-family:var(--f-ui);font-size:var(--t-xs);
  color:var(--verde);letter-spacing:0.12em;
  text-transform:uppercase;font-weight:600;margin-top:2px;
}
/* Menú desktop */
.nav-menu{display:flex;align-items:center;gap:0}
.nav-menu a{
  font-family:var(--f-ui);font-size:var(--t-sm);font-weight:600;
  text-transform:uppercase;letter-spacing:0.07em;
  color:var(--texto-2);
  padding:0.5rem 0.85rem;border-radius:var(--r-sm);
  transition:all var(--t);position:relative;white-space:nowrap;
}
.nav-menu a::after{
  content:'';position:absolute;bottom:-3px;left:0.85rem;right:0.85rem;
  height:3px;background:var(--verde);
  transform:scaleX(0);transition:transform var(--t);border-radius:99px;
}
.nav-menu a:hover{color:var(--verde);background:var(--fondo-4)}
.nav-menu a:hover::after,.nav-menu a.activo::after{transform:scaleX(1)}
.nav-menu a.activo{color:var(--verde);font-weight:700}
/* Botones nav */
.nav-acciones{display:flex;align-items:center;gap:0.6rem}
.nav-suscribir{
  display:inline-flex;align-items:center;gap:0.4rem;
  background:var(--verde);color:#fff;
  padding:0.5rem 1.25rem;border-radius:var(--r-pill);
  font-family:var(--f-ui);font-size:var(--t-sm);font-weight:700;
  text-transform:uppercase;letter-spacing:0.06em;
  transition:all var(--t);text-decoration:none;white-space:nowrap;
  box-shadow:0 2px 8px rgba(0,135,90,0.3);
}
.nav-suscribir:hover{
  background:var(--azul);
  box-shadow:0 4px 16px rgba(26,58,107,0.35);
  transform:translateY(-1px);
}
.btn-buscar{
  width:38px;height:38px;border-radius:var(--r-sm);
  background:var(--fondo-3);color:var(--texto-2);
  font-size:1rem;display:flex;align-items:center;justify-content:center;
  transition:all var(--t);border:1px solid var(--borde);
}
.btn-buscar:hover{background:var(--verde);color:#fff;border-color:var(--verde)}
/* Hamburguesa */
.hamburguesa{
  display:none;width:42px;height:42px;border-radius:var(--r-sm);
  background:var(--fondo-3);color:var(--texto-2);
  flex-direction:column;align-items:center;justify-content:center;
  gap:5px;transition:all var(--t);border:1px solid var(--borde);
}
.hamburguesa:hover{background:var(--verde-bg);border-color:var(--verde)}
.hamburguesa span{
  display:block;width:20px;height:2px;
  background:currentColor;border-radius:99px;transition:all var(--t);
}
.hamburguesa.abierto span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburguesa.abierto span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburguesa.abierto span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Menú móvil */
.menu-movil{
  display:none;position:fixed;top:70px;left:0;right:0;bottom:0;
  background:var(--fondo-2);z-index:400;
  padding:2rem var(--pad-x);overflow-y:auto;
  border-top:3px solid var(--verde);
  box-shadow:var(--sombra-lg);
}
.menu-movil.abierto{display:block}
.menu-movil a{
  display:flex;align-items:center;gap:0.75rem;
  font-family:var(--f-titulo);font-size:1.5rem;
  color:var(--texto-1);padding:0.85rem 0;
  border-bottom:1px solid var(--borde);transition:color var(--t);
}
.menu-movil a:hover{color:var(--verde)}
.menu-movil a:last-child{border-bottom:none}

/* ══ TICKER ══ */
.ticker-barra{
  background:var(--azul);color:var(--nav-texto);
  padding:9px 0;overflow:hidden;
}
.ticker-inner{display:flex;align-items:center;gap:1rem}
.ticker-label{
  background:var(--cat-breaking);color:#fff;
  font-family:var(--f-ui);font-size:var(--t-xs);font-weight:800;
  letter-spacing:0.1em;text-transform:uppercase;
  padding:3px 10px;border-radius:var(--r-sm);flex-shrink:0;
  animation:pulseTicker 1.8s ease-in-out infinite;
}
@keyframes pulseTicker{0%,100%{opacity:1}50%{opacity:0.75}}
.ticker-pista-wrap{
  flex:1;overflow:hidden;position:relative;
}
.ticker-pista-wrap::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:30px;
  background:linear-gradient(to right,var(--azul),transparent);
  z-index:2;pointer-events:none;
}
.ticker-pista-wrap::after{
  content:'';position:absolute;right:0;top:0;bottom:0;width:30px;
  background:linear-gradient(to left,var(--azul),transparent);
  z-index:2;pointer-events:none;
}
#ticker-pista{
  display:flex;gap:2.5rem;white-space:nowrap;
  animation:scrollTicker 35s linear infinite;
}
@keyframes scrollTicker{0%{transform:translateX(60%)}100%{transform:translateX(-100%)}}
.ticker-item{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-family:var(--f-cuerpo);font-size:var(--t-sm);
  color:rgba(240,244,248,0.85);flex-shrink:0;
}
.ticker-item a{color:#fff;transition:color var(--t);font-weight:500}
.ticker-item a:hover{color:var(--nav-acento)}
.ticker-dot{color:var(--nav-acento);font-size:0.55rem}

/* ══ BÚSQUEDA OVERLAY ══ */
.busqueda-overlay{
  display:none;position:fixed;top:0;left:0;right:0;bottom:0;
  background:rgba(13,27,42,0.95);z-index:9000;
  align-items:flex-start;justify-content:center;padding-top:18vh;
}
.busqueda-overlay.activo{display:flex;animation:fadeIn 0.2s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.busqueda-cerrar{
  position:fixed;top:1.5rem;right:2rem;
  color:rgba(240,244,248,0.7);font-size:1.5rem;transition:color var(--t);
}
.busqueda-cerrar:hover{color:var(--nav-acento)}
.busqueda-caja{width:100%;max-width:700px;padding:0 var(--pad-x)}
.busqueda-hint{
  font-family:var(--f-ui);font-size:var(--t-xs);letter-spacing:0.12em;
  text-transform:uppercase;color:var(--nav-acento);margin-bottom:1rem;
}
.busqueda-input{
  width:100%;background:none;border:none;
  border-bottom:3px solid rgba(255,255,255,0.3);
  color:#fff;font-family:var(--f-titulo);
  font-size:clamp(1.6rem,4vw,3rem);padding:0.5rem 0;outline:none;
  transition:border-color var(--t);
}
.busqueda-input:focus{border-bottom-color:var(--nav-acento)}
.busqueda-input::placeholder{color:rgba(255,255,255,0.25)}

/* ══ BADGES / CATEGORÍAS ══ */
.badge{
  display:inline-block;font-family:var(--f-ui);
  font-size:var(--t-xs);font-weight:700;
  letter-spacing:0.09em;text-transform:uppercase;
  padding:3px 10px;border-radius:var(--r-sm);
  background:var(--verde);color:#fff;flex-shrink:0;
}
.badge-politica   {background:var(--cat-politica)}
.badge-social     {background:var(--cat-social)}
.badge-tecnologia {background:var(--cat-tecnologia)}
.badge-economia   {background:var(--cat-economia)}
.badge-turismo    {background:var(--cat-turismo)}
.badge-blockchain {background:var(--cat-blockchain)}
.badge-breaking   {background:var(--cat-breaking)}

/* ══ HERO GRID ══ */
.hero{
  background:var(--fondo);
  padding:1.75rem 0 0;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  grid-template-rows:auto auto;
  gap:1.25rem;
}
/* Post principal */
.hero-main{
  grid-column:1;grid-row:1/3;
  position:relative;border-radius:var(--r-lg);
  overflow:hidden;min-height:500px;
  background:var(--fondo-3);cursor:pointer;
  display:block;text-decoration:none;
  box-shadow:var(--sombra-md);
  border:1px solid var(--borde);
}
.hero-main img,.hero-sub img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  transition:transform 0.6s ease;
  /* CORRECCIÓN: sin filtro borroso */
  image-rendering:auto;
}
.hero-main:hover img,.hero-sub:hover img{transform:scale(1.04)}
.hero-main-overlay{
  position:absolute;inset:0;
  background:linear-gradient(
    to top,
    rgba(13,27,42,0.92) 0%,
    rgba(13,27,42,0.55) 45%,
    rgba(13,27,42,0.15) 75%,
    transparent 100%
  );
}
.hero-main-content{
  position:absolute;bottom:0;left:0;right:0;padding:2rem;
}
.hero-main .badge{margin-bottom:0.8rem}
.hero-main-title{
  font-family:var(--f-titulo);
  font-size:clamp(1.4rem,2.5vw,2.1rem);
  color:#fff;line-height:1.2;margin-bottom:0.75rem;
  text-shadow:0 2px 12px rgba(0,0,0,0.6);
}
.hero-main-meta{
  display:flex;align-items:center;gap:0.75rem;
  font-family:var(--f-cuerpo);font-size:var(--t-xs);
  color:rgba(255,255,255,0.75);
}
/* Posts secundarios */
.hero-sub{
  position:relative;border-radius:var(--r-md);overflow:hidden;
  min-height:190px;background:var(--fondo-3);cursor:pointer;
  display:block;text-decoration:none;
  box-shadow:var(--sombra-sm);border:1px solid var(--borde);
}
.hero-sub-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(13,27,42,0.88) 0%,rgba(13,27,42,0.2) 55%,transparent 100%);
}
.hero-sub-content{position:absolute;bottom:0;left:0;right:0;padding:1.1rem}
.hero-sub .badge{margin-bottom:0.45rem;font-size:0.62rem}
.hero-sub-title{
  font-family:var(--f-titulo);font-size:0.98rem;
  color:#fff;line-height:1.25;text-shadow:0 1px 6px rgba(0,0,0,0.5);
}
.hero-sub-meta{
  font-family:var(--f-cuerpo);font-size:var(--t-xs);
  color:rgba(255,255,255,0.65);margin-top:0.4rem;
}
/* Placeholder imagen */
.img-placeholder{
  position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;font-size:3rem;
  background:linear-gradient(135deg,var(--fondo-3) 0%,var(--verde-bg) 100%);
  color:var(--verde);opacity:0.6;
}

/* ══ DIVIDER CON ETIQUETA ══ */
.seccion-divider{
  background:var(--fondo);
  padding:0.75rem 0 0;
  margin-top:0.5rem;
}
.seccion-divider-inner{
  border-top:2px solid var(--borde);
  padding-top:0.75rem;
  display:flex;align-items:center;gap:1rem;
}
.seccion-divider-label{
  font-family:var(--f-ui);font-size:var(--t-xs);font-weight:700;
  text-transform:uppercase;letter-spacing:0.12em;
  color:var(--verde);white-space:nowrap;
}
.seccion-divider-line{flex:1;height:1px;background:var(--borde)}

/* ══ ENCABEZADO DE SECCIÓN ══ */
.seccion-header{
  display:flex;align-items:center;justify-content:space-between;
  padding-bottom:0.9rem;margin-bottom:1.5rem;
  border-bottom:2px solid var(--borde);position:relative;
}
.seccion-header::before{
  content:'';position:absolute;bottom:-2px;left:0;
  width:50px;height:2px;background:var(--verde);border-radius:99px;
}
.seccion-titulo{
  font-family:var(--f-ui);font-size:var(--t-sm);font-weight:700;
  text-transform:uppercase;letter-spacing:0.12em;color:var(--texto-1);
  display:flex;align-items:center;gap:0.5rem;
}
.seccion-ver-todos{
  font-family:var(--f-ui);font-size:var(--t-xs);font-weight:600;
  text-transform:uppercase;letter-spacing:0.08em;color:var(--verde);
  transition:color var(--t);display:flex;align-items:center;gap:0.3rem;
}
.seccion-ver-todos:hover{color:var(--azul)}
.seccion-ver-todos::after{content:'→';transition:transform var(--t)}
.seccion-ver-todos:hover::after{transform:translateX(3px)}

/* ══ GRILLA DE NOTICIAS ══ */
.grilla-noticias{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.grilla-noticias.cols-2{grid-template-columns:repeat(2,1fr)}
.grilla-noticias.cols-4{grid-template-columns:repeat(4,1fr)}

/* Card de noticia */
.noticia-card{
  background:var(--fondo-2);
  border:1px solid var(--borde);
  border-radius:var(--r-lg);
  overflow:hidden;transition:all var(--t);
  display:flex;flex-direction:column;cursor:pointer;
  box-shadow:var(--sombra-card);
}
.noticia-card:hover{
  border-color:var(--verde);
  transform:translateY(-4px);
  box-shadow:var(--sombra-lg);
}
.noticia-thumb{
  position:relative;padding-top:62%;
  overflow:hidden;background:var(--fondo-3);flex-shrink:0;
}
.noticia-thumb img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  transition:transform 0.5s ease;
  /* SIN filtro, imagen nítida */
}
.noticia-card:hover .noticia-thumb img{transform:scale(1.05)}
.noticia-thumb .badge{
  position:absolute;top:0.75rem;left:0.75rem;z-index:2;
  box-shadow:var(--sombra-sm);
}
.noticia-body{padding:1.1rem;flex:1;display:flex;flex-direction:column}
.noticia-titulo{
  font-family:var(--f-titulo);font-size:1.05rem;
  color:var(--texto-1);line-height:1.3;
  margin-bottom:auto;padding-bottom:0.75rem;transition:color var(--t);
}
.noticia-card:hover .noticia-titulo{color:var(--verde)}
.noticia-titulo a{color:inherit;text-decoration:none;display:block}
.noticia-meta{
  display:flex;align-items:center;gap:0.6rem;flex-wrap:wrap;
  font-family:var(--f-cuerpo);font-size:var(--t-xs);color:var(--texto-3);
  padding-top:0.75rem;border-top:1px solid var(--borde);margin-top:0.75rem;
}
.noticia-autor{font-weight:600;color:var(--texto-2)}

/* ══ LISTA NOTICIAS (sidebar) ══ */
.lista-noticias{display:flex;flex-direction:column;gap:0}
.lista-item{
  display:flex;gap:0.85rem;align-items:flex-start;
  padding:0.85rem 0;border-bottom:1px solid var(--borde);
  transition:all var(--t);
}
.lista-item:last-child{border-bottom:none}
.lista-item:hover{padding-left:0.35rem}
.lista-thumb{
  width:78px;height:62px;border-radius:var(--r-sm);
  overflow:hidden;flex-shrink:0;background:var(--fondo-3);
  border:1px solid var(--borde);
}
.lista-thumb img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  transition:transform 0.4s;
}
.lista-item:hover .lista-thumb img{transform:scale(1.08)}
.lista-body{flex:1;min-width:0}
.lista-badge{margin-bottom:0.3rem}
.lista-titulo{
  font-family:var(--f-titulo);font-size:0.9rem;
  color:var(--texto-1);line-height:1.3;margin-bottom:0.2rem;
  display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;
}
.lista-titulo a{color:inherit;text-decoration:none;transition:color var(--t)}
.lista-titulo a:hover{color:var(--verde)}
.lista-fecha{font-family:var(--f-cuerpo);font-size:var(--t-xs);color:var(--texto-4)}

/* ══ LAYOUT 2 COLUMNAS ══ */
.layout-2col{
  display:grid;grid-template-columns:1fr 320px;
  gap:2.5rem;padding-top:2rem;padding-bottom:3rem;
}

/* ══ SIDEBAR ══ */
.sidebar{display:flex;flex-direction:column;gap:1.5rem}
.widget-card{
  background:var(--fondo-2);border:1px solid var(--borde);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sombra-card);
}
.widget-card-accent{
  border-top:3px solid var(--verde);
}
.widget-header{
  padding:0.9rem 1.2rem;border-bottom:1px solid var(--borde);
  display:flex;align-items:center;gap:0.6rem;
  background:var(--fondo);
}
.widget-header-titulo{
  font-family:var(--f-ui);font-size:var(--t-xs);font-weight:700;
  text-transform:uppercase;letter-spacing:0.12em;color:var(--texto-1);
}
.widget-header-icon{font-size:1rem;color:var(--verde)}
.widget-body{padding:1.1rem}

/* Nube de etiquetas */
.etiquetas-nube{display:flex;flex-wrap:wrap;gap:0.5rem}
.etiqueta-btn{
  display:inline-block;font-family:var(--f-ui);
  font-size:var(--t-xs);font-weight:600;
  text-transform:uppercase;letter-spacing:0.06em;
  padding:5px 12px;border-radius:var(--r-pill);
  background:var(--fondo-3);color:var(--texto-2);
  border:1px solid var(--borde);
  text-decoration:none;transition:all var(--t);
}
.etiqueta-btn:hover{
  background:var(--verde);color:#fff;border-color:var(--verde);
  transform:translateY(-1px);box-shadow:var(--sombra-sm);
}

/* Ranking */
.rank-item{
  display:flex;align-items:flex-start;gap:0.75rem;
  padding:0.75rem 0;border-bottom:1px solid var(--borde);
}
.rank-item:last-child{border-bottom:none;padding-bottom:0}
.rank-num{
  font-family:var(--f-ui);font-size:1.4rem;font-weight:800;
  color:var(--borde);line-height:1;flex-shrink:0;width:30px;
  transition:color var(--t);
}
.rank-item:hover .rank-num{color:var(--verde)}
.rank-titulo{font-family:var(--f-titulo);font-size:0.9rem;color:var(--texto-1);line-height:1.3}
.rank-titulo a{color:inherit;text-decoration:none;transition:color var(--t)}
.rank-titulo a:hover{color:var(--verde)}
.rank-fecha{font-size:var(--t-xs);color:var(--texto-4);margin-top:0.2rem}

/* Widget sobre nosotros */
.widget-sobre{background:linear-gradient(135deg,var(--azul-bg),var(--verde-bg))}
.widget-sobre .widget-header{background:var(--azul);border-bottom:none}
.widget-sobre .widget-header-titulo,.widget-sobre .widget-header-icon{color:#fff}
.widget-sobre-logo{display:flex;align-items:center;gap:0.65rem;margin-bottom:0.8rem}
.widget-sobre-logo-box{
  width:38px;height:38px;background:var(--azul);border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;flex-shrink:0;box-shadow:var(--sombra-sm);
}
.widget-sobre-nombre{font-family:var(--f-titulo);font-size:1.15rem;color:var(--texto-1)}
.widget-sobre-sub{font-family:var(--f-ui);font-size:var(--t-xs);color:var(--verde);text-transform:uppercase;letter-spacing:0.1em}
.widget-cedula{
  font-size:var(--t-xs);color:var(--texto-2);
  padding:0.5rem 0.75rem;background:var(--fondo-2);
  border-radius:var(--r-sm);border:1px solid var(--borde);
  font-family:var(--f-cuerpo);margin-top:0.75rem;
}

/* Formulario de suscripción */
.sub-form-inner{display:flex;flex-direction:column;gap:0.6rem}
.sub-form-inner p{font-size:var(--t-sm);color:var(--texto-3);line-height:1.6}
.sub-input{
  width:100%;padding:0.7rem 0.9rem;
  background:var(--fondo);border:2px solid var(--borde);
  border-radius:var(--r-md);color:var(--texto-1);
  font-family:var(--f-cuerpo);font-size:var(--t-sm);outline:none;
  transition:border-color var(--t),box-shadow var(--t);
}
.sub-input:focus{border-color:var(--verde);box-shadow:0 0 0 3px rgba(0,135,90,0.15)}
.sub-input::placeholder{color:var(--texto-4)}
.sub-btn{
  padding:0.7rem;background:var(--verde);color:#fff;
  border-radius:var(--r-md);font-family:var(--f-ui);
  font-size:var(--t-sm);font-weight:700;text-transform:uppercase;
  letter-spacing:0.06em;transition:all var(--t);width:100%;
  box-shadow:0 2px 8px rgba(0,135,90,0.25);
}
.sub-btn:hover{background:var(--azul);box-shadow:0 4px 16px rgba(26,58,107,0.3)}

/* ══ POST INDIVIDUAL ══ */
.post-individual{max-width:800px}
.post-eyebrow{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;flex-wrap:wrap}
.post-titulo-principal{
  font-family:var(--f-titulo);font-size:var(--t-3xl);
  color:var(--texto-1);line-height:1.15;margin-bottom:1.25rem;
}
.post-dateline{
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  font-family:var(--f-cuerpo);font-size:var(--t-sm);color:var(--texto-3);
  padding-bottom:1.5rem;border-bottom:2px solid var(--borde);margin-bottom:2rem;
}
.post-dateline strong{color:var(--texto-2)}
.post-img-dest{width:100%;border-radius:var(--r-lg);overflow:hidden;margin-bottom:2rem;border:1px solid var(--borde)}
.post-img-dest img{width:100%;max-height:480px;object-fit:cover;object-position:center top}
.post-body{font-family:var(--f-cuerpo);font-size:var(--t-md);line-height:1.85;color:var(--texto-1)}
.post-body p{margin-bottom:1.5rem}
.post-body h2{font-family:var(--f-titulo);font-size:var(--t-2xl);color:var(--texto-1);margin:2.5rem 0 1rem;padding-top:1.5rem;border-top:2px solid var(--borde)}
.post-body h3{font-family:var(--f-titulo);font-size:var(--t-xl);color:var(--texto-1);margin:2rem 0 0.75rem}
.post-body a{color:var(--azul-medio);text-decoration:underline}
.post-body a:hover{color:var(--verde)}
.post-body img{max-width:100%;border-radius:var(--r-md);margin:1.5rem auto;display:block;border:1px solid var(--borde)}
.post-body blockquote{
  border-left:4px solid var(--verde);padding:1rem 1.5rem;
  background:var(--verde-bg);border-radius:0 var(--r-md) var(--r-md) 0;
  margin:1.5rem 0;font-style:italic;color:var(--texto-2);
}
.post-body ul{list-style:disc;padding-left:1.5rem;margin-bottom:1.5rem}
.post-body ul li{margin-bottom:0.5rem}
.post-body ol{list-style:decimal;padding-left:1.5rem;margin-bottom:1.5rem}
.post-labels-footer{
  display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;
  margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--borde);
}
.post-labels-footer span{font-family:var(--f-ui);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:0.08em;color:var(--texto-3)}

/* Compartir */
.compartir-caja{
  margin-top:1.5rem;padding:1.25rem;
  background:var(--fondo-3);border-radius:var(--r-md);
  border:1px solid var(--borde);
}
.compartir-titulo{
  font-family:var(--f-ui);font-size:var(--t-xs);text-transform:uppercase;
  letter-spacing:0.1em;color:var(--texto-3);margin-bottom:0.75rem;
}
.compartir-btns{display:flex;gap:0.6rem;flex-wrap:wrap}
.btn-compartir{
  font-family:var(--f-ui);font-size:var(--t-xs);font-weight:700;
  text-transform:uppercase;padding:7px 16px;border-radius:var(--r-sm);
  text-decoration:none;transition:all var(--t);display:inline-flex;
  align-items:center;gap:0.4rem;
}
.btn-compartir:hover{transform:translateY(-2px);box-shadow:var(--sombra-sm)}
.btn-fb{background:#1877f2;color:#fff}
.btn-tw{background:#0f1419;color:#fff}
.btn-wa{background:#25d366;color:#fff}

/* ══ COMENTARIOS ══ */
.comentario-item{
  background:var(--fondo);border:1px solid var(--borde);
  border-radius:var(--r-md);padding:1.1rem;margin-bottom:1rem;
  border-left:4px solid var(--verde);
}
.comentario-autor{font-family:var(--f-ui);font-size:var(--t-sm);font-weight:700;color:var(--texto-1);margin-bottom:0.2rem}
.comentario-fecha{font-size:var(--t-xs);color:var(--texto-4);margin-bottom:0.5rem}
.comentario-cuerpo{font-size:var(--t-base);color:var(--texto-2);line-height:1.7}

/* ══ PAGE HEADER (búsqueda/etiqueta) ══ */
.page-header{
  background:linear-gradient(135deg,var(--azul) 0%,var(--verde) 100%);
  color:#fff;padding:2.5rem 0;margin-bottom:2rem;
}
.page-header-badge{margin-bottom:0.75rem}
.page-header .badge{background:rgba(255,255,255,0.25);color:#fff;border:1px solid rgba(255,255,255,0.4)}
.page-header-titulo{font-family:var(--f-titulo);font-size:var(--t-3xl);color:#fff;margin-bottom:0.5rem;margin-top:0.5rem}
.page-header-desc{font-size:var(--t-base);color:rgba(255,255,255,0.8)}

/* ══ PAGINACIÓN ══ */
.blog-pager{display:flex;justify-content:center;gap:0.6rem;padding:2rem 0;flex-wrap:wrap}
.blog-pager-newer-link,.blog-pager-older-link{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 1.1rem;border-radius:var(--r-sm);
  font-family:var(--f-ui);font-size:var(--t-sm);font-weight:700;
  text-transform:uppercase;letter-spacing:0.06em;
  background:var(--fondo-2);border:2px solid var(--borde);
  color:var(--texto-2);text-decoration:none;transition:all var(--t);
  box-shadow:var(--sombra-sm);
}
.blog-pager-newer-link:hover,.blog-pager-older-link:hover{
  background:var(--verde);color:#fff;border-color:var(--verde);
  box-shadow:0 4px 12px rgba(0,135,90,0.3);
}

/* ══ FOOTER ══ */
.footer{background:var(--footer-bg);color:var(--footer-texto)}
.footer-banda{
  background:var(--verde);padding:0.6rem 0;
}
.footer-banda-inner{
  display:flex;align-items:center;justify-content:center;gap:2rem;
  flex-wrap:wrap;
}
.footer-banda-link{
  font-family:var(--f-ui);font-size:var(--t-xs);font-weight:600;
  text-transform:uppercase;letter-spacing:0.08em;
  color:var(--nav-bg);text-decoration:none;transition:opacity var(--t);
}
.footer-banda-link:hover{opacity:0.7}
.footer-superior{
  display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;
  gap:3rem;padding:3.5rem 0;
}
.footer-logo{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;text-decoration:none}
.footer-logo-box{
  width:40px;height:40px;background:var(--verde);border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;
}
.footer-logo-nombre{font-family:var(--f-titulo);font-size:1.3rem;color:var(--footer-titulo)}
.footer-logo-sub{font-family:var(--f-ui);font-size:var(--t-xs);color:var(--nav-acento);text-transform:uppercase;letter-spacing:0.1em}
.footer-desc{font-size:var(--t-sm);color:var(--footer-texto);line-height:1.75;max-width:280px;margin-bottom:1rem}
.footer-redes{display:flex;gap:0.5rem;flex-wrap:wrap}
.footer-red{
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);
  color:var(--footer-texto);display:flex;align-items:center;justify-content:center;
  font-size:var(--t-xs);font-weight:800;text-decoration:none;transition:all var(--t);
}
.footer-red:hover{background:var(--verde);color:var(--nav-bg);border-color:var(--verde)}
.footer-col h3{
  font-family:var(--f-ui);font-size:var(--t-xs);font-weight:700;
  text-transform:uppercase;letter-spacing:0.12em;color:var(--footer-titulo);
  margin-bottom:1rem;padding-bottom:0.6rem;
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.footer-col ul{display:flex;flex-direction:column;gap:0.5rem}
.footer-col a{
  font-size:var(--t-sm);color:var(--footer-texto);text-decoration:none;
  transition:color var(--t);display:flex;align-items:center;gap:0.4rem;
}
.footer-col a::before{content:'›';color:rgba(255,255,255,0.2);transition:color var(--t)}
.footer-col a:hover{color:var(--nav-acento)}
.footer-col a:hover::before{color:var(--nav-acento)}
.footer-col p{font-size:var(--t-sm);color:var(--footer-texto);line-height:1.7}
.footer-col address{font-style:normal}
.footer-inferior{border-top:1px solid rgba(255,255,255,0.1);padding:1.25rem 0}
.footer-inferior-inner{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:0.5rem;font-size:var(--t-xs);color:rgba(148,163,184,0.7);
}

/* ══ VOLVER ARRIBA ══ */
.volver-arriba{
  position:fixed;bottom:2rem;right:2rem;
  width:46px;height:46px;border-radius:var(--r-md);
  background:var(--verde);color:#fff;
  font-size:1.1rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(0,135,90,0.4);
  opacity:0;transform:translateY(10px);
  transition:opacity var(--t),transform var(--t),background var(--t);
  z-index:300;
}
.volver-arriba.visible{opacity:1;transform:translateY(0)}
.volver-arriba:hover{background:var(--azul);box-shadow:0 4px 20px rgba(26,58,107,0.35)}

/* ══ ANIMACIONES ══ */
[data-animar]{opacity:0;transition:opacity 0.6s ease,transform 0.6s ease}
[data-animar="arriba"]{transform:translateY(20px)}
[data-animar="izquierda"]{transform:translateX(20px)}
[data-animar="derecha"]{transform:translateX(-20px)}
[data-animar].animado{opacity:1;transform:translate(0,0)}
.oculto{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ══ RESPONSIVE ══ */
@media(max-width:1100px){
  .hero-grid{grid-template-columns:1fr 1fr}
  .grilla-noticias.cols-4{grid-template-columns:repeat(2,1fr)}
  .footer-superior{grid-template-columns:1fr 1fr;gap:2rem}
  .footer-banda-inner{gap:1rem}
}
@media(max-width:900px){
  .nav-menu,.nav-suscribir{display:none}
  .hamburguesa{display:flex}
  .hero-main{grid-column:1/3;grid-row:1;min-height:380px}
  .layout-2col{grid-template-columns:1fr}
  .grilla-noticias{grid-template-columns:repeat(2,1fr)}
  .footer-superior{grid-template-columns:1fr 1fr;gap:1.5rem}
  .barra-entidad{display:none}
}
@media(max-width:600px){
  :root{--pad-x:1rem}
  .hero-grid{grid-template-columns:1fr}
  .hero-main{grid-column:1;min-height:320px}
  .hero-sub{min-height:165px}
  .grilla-noticias,.grilla-noticias.cols-2,.grilla-noticias.cols-4{grid-template-columns:1fr}
  .footer-superior{grid-template-columns:1fr}
  .footer-inferior-inner{flex-direction:column;text-align:center}
  .barra-top-inner{justify-content:center}
  .footer-banda-inner{flex-direction:column;gap:0.6rem}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}
  [data-animar]{opacity:1;transform:none}
}
