/* ============================================================
   Academias Edison — Portal (self-hosted) · diseño editorial azul
   Tokens: ver config/identidad.md
   ============================================================ */
:root{
  --primario:#14213D; --acento:#2563EB; --acento-h:#1D4ED8;
  --fondo:#FFFFFF; --superficie:#F5F7FA; --texto:#374151; --titulo:#14213D;
  --alerta:#DC2626; --borde:#E5E7EB; --muted:#6B7280;
  --display:'Merriweather',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --radio:10px; --sombra:0 1px 3px rgba(20,33,61,.08),0 1px 2px rgba(20,33,61,.04);
  --sombra-h:0 6px 18px rgba(20,33,61,.12); --max:1200px; --lectura:720px; --gap:1.25rem;
}
*,*::before,*::after{box-sizing:border-box;}
body{margin:0;background:var(--fondo);color:var(--texto);font-family:var(--sans);line-height:1.65;font-size:16px;overflow-x:hidden;}
a{color:var(--acento);text-decoration:none;}
a:hover{color:var(--acento-h);text-decoration:underline;}
h1,h2,h3,h4{font-family:var(--display);color:var(--titulo);line-height:1.22;margin:0;text-wrap:balance;}
img{max-width:100%;height:auto;display:block;}
:focus-visible{outline:3px solid var(--acento);outline-offset:2px;border-radius:4px;}
.skip{position:absolute;left:-999px;top:0;background:var(--primario);color:#fff;padding:.7rem 1rem;z-index:1000;}
.skip:focus{left:0;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1rem;}

/* Franja última hora */
.topbar{background:var(--primario);color:#cbd5e1;font-size:.8rem;}
.topbar .wrap{display:flex;align-items:center;gap:.75rem;height:38px;overflow:hidden;}
.badge{background:var(--alerta);color:#fff;font-weight:700;padding:.15rem .55rem;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;}
.topbar .fecha{margin-left:auto;white-space:nowrap;color:#94a3b8;}

/* Encabezado */
header.site{background:var(--fondo);border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:30;}
header.site .wrap{display:flex;align-items:center;gap:1rem;min-height:66px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--display);font-weight:900;font-size:1.35rem;color:var(--primario);}
.brand:hover{text-decoration:none;}
.logo{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,var(--primario),var(--acento));display:grid;place-items:center;color:#fff;font-size:.9rem;font-family:var(--sans);font-weight:800;}
.brand em{color:var(--acento);font-style:normal;}
.nav-toggle{margin-left:auto;background:none;border:1px solid var(--borde);border-radius:8px;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;color:var(--primario);}
.nav-toggle svg{width:22px;height:22px;}
nav.main{display:none;width:100%;}
nav.main.abierto{display:block;}
nav.main ul{list-style:none;display:flex;flex-direction:column;gap:.15rem;margin:0;padding:.5rem 0;}
nav.main a{display:block;padding:.55rem .5rem;color:var(--primario);font-weight:600;border-radius:6px;font-size:.95rem;}
nav.main a:hover{color:var(--acento);background:var(--superficie);text-decoration:none;}
.tools{display:flex;align-items:center;gap:.6rem;width:100%;padding-bottom:.75rem;}
.search{display:flex;flex:1;border:1px solid var(--borde);border-radius:999px;overflow:hidden;background:var(--superficie);}
.search input{flex:1;border:0;background:transparent;padding:.55rem .9rem;font:inherit;color:var(--texto);min-width:0;}
.search input:focus{outline:none;}
.search button{border:0;background:var(--acento);color:#fff;padding:0 1rem;font-weight:600;cursor:pointer;}
.social{display:flex;gap:.4rem;}
.social a{width:38px;height:38px;border-radius:8px;background:var(--superficie);display:grid;place-items:center;color:var(--primario);}
.social svg{width:18px;height:18px;}

/* Publicidad */
.ad{margin:1.4rem 0;padding:1rem;background:var(--superficie);border:1px dashed var(--borde);border-radius:var(--radio);text-align:center;min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.ad::before{content:'PUBLICIDAD';font-size:.62rem;letter-spacing:.14em;color:var(--muted);margin-bottom:.35rem;}
.ad .ph{color:var(--muted);font-size:.82rem;}

/* Layout */
.layout{padding:1.5rem 0;}
main{min-width:0;}

/* Tarjetas */
.cat{align-self:flex-start;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--acento);background:rgba(37,99,235,.09);padding:.2rem .55rem;border-radius:999px;}
.meta{font-size:.78rem;color:var(--muted);display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-top:auto;}
.dot{width:3px;height:3px;border-radius:50%;background:var(--muted);}
.thumb{aspect-ratio:16/9;position:relative;overflow:hidden;background:linear-gradient(135deg,#1e2a4a,var(--acento));}
.thumb img{width:100%;height:100%;object-fit:cover;}
.thumb[data-ico]::after{content:attr(data-ico);position:absolute;inset:0;display:grid;place-items:center;font-size:2.4rem;opacity:.35;}
.c-ia{background:linear-gradient(135deg,#14213D,#2563EB);}
.c-tec{background:linear-gradient(135deg,#0f2f4a,#0891B2);}
.c-cie{background:linear-gradient(135deg,#0F4C5C,#0891B2);}
.c-inn{background:linear-gradient(135deg,#312e81,#2563EB);}
.c-edu{background:linear-gradient(135deg,#155e75,#22c55e);}

.hero{display:grid;gap:var(--gap);margin-bottom:1.5rem;}
.hero-main{background:var(--fondo);border:1px solid var(--borde);border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra);}
.hero-main .body{padding:1.25rem;display:flex;flex-direction:column;gap:.6rem;}
.hero-main h2{font-size:1.65rem;}
.hero-main h2 a{color:var(--titulo);}
.hero-main .excerpt{margin:0;color:var(--texto);}
.secundarias{display:grid;gap:var(--gap);}
.card{background:var(--fondo);border:1px solid var(--borde);border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra);display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;}
.card:hover{box-shadow:var(--sombra-h);transform:translateY(-2px);}
.card .body{padding:.9rem 1rem;display:flex;flex-direction:column;gap:.45rem;flex:1;}
.card h3{font-size:1.05rem;}
.card h3 a{color:var(--titulo);}
.card h3 a:hover{color:var(--acento);text-decoration:none;}
.card .excerpt{font-size:.9rem;margin:0;color:var(--texto);}

.sec-title{display:flex;align-items:center;gap:.6rem;font-size:1.2rem;margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--primario);}
.sec-title::before{content:'';width:6px;height:20px;background:var(--acento);border-radius:3px;}
.grid{display:grid;grid-template-columns:1fr;gap:var(--gap);}
.vacio{color:var(--muted);padding:2rem 0;text-align:center;}

/* Sidebar */
aside .widget{background:var(--fondo);border:1px solid var(--borde);border-radius:var(--radio);padding:1rem 1.15rem;margin-bottom:1.5rem;box-shadow:var(--sombra);}
aside .widget h2{font-family:var(--sans);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--primario);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:2px solid var(--primario);}
.lista{list-style:none;margin:0;padding:0;counter-reset:pp;}
.lista li{display:flex;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--borde);counter-increment:pp;}
.lista li:last-child{border-bottom:0;}
.lista.num li::before{content:counter(pp);font-family:var(--display);font-weight:900;color:var(--acento);font-size:1.15rem;line-height:1.1;}
.lista a{color:var(--titulo);font-weight:600;font-size:.9rem;}
.lista a:hover{color:var(--acento);text-decoration:none;}

/* Artículo */
.article{max-width:var(--lectura);margin:0 auto;}
.breadcrumbs{font-size:.8rem;color:var(--muted);margin:.5rem 0 1rem;}
.breadcrumbs a{color:var(--muted);}
.article h1{font-size:2rem;line-height:1.2;margin:.3rem 0 .75rem;}
.article .subtitle{font-size:1.15rem;color:var(--muted);line-height:1.5;margin-bottom:1.25rem;}
.byline{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;font-size:.85rem;color:var(--muted);border-top:1px solid var(--borde);border-bottom:1px solid var(--borde);padding:.75rem 0;margin-bottom:1.5rem;}
.byline .author{font-weight:600;color:var(--texto);}
.featured{aspect-ratio:16/9;border-radius:var(--radio);overflow:hidden;margin-bottom:1.5rem;background:var(--superficie);}
.featured img{width:100%;height:100%;object-fit:cover;}
.credito{font-size:.72rem;color:var(--muted);margin:-1.15rem 0 1.5rem;}
.post-body{font-size:18px;line-height:1.8;}
.post-body p{margin:0 0 1.25rem;}
.post-body h2{font-size:1.5rem;margin:2rem 0 .75rem;}
.post-body h3{font-size:1.25rem;margin:1.75rem 0 .6rem;}
.post-body ul,.post-body ol{padding-left:1.4rem;margin:0 0 1.25rem;}
.post-body a{text-decoration:underline;}
.share{display:flex;gap:.5rem;flex-wrap:wrap;margin:2rem 0;}
.share a{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;padding:.5rem .9rem;border:1px solid var(--borde);border-radius:999px;color:var(--primario);}
.share a:hover{background:var(--superficie);text-decoration:none;}
.tags{margin:1.5rem 0;}
.tags a{display:inline-block;margin:.2rem .3rem .2rem 0;}

/* Pie */
footer.site{background:var(--primario);color:#cbd5e1;margin-top:2.5rem;padding:2.5rem 0 1.5rem;font-size:.9rem;}
footer.site a{color:#e2e8f0;}
.fgrid{display:grid;grid-template-columns:1fr;gap:1.75rem;}
footer.site h4{color:#fff;font-family:var(--sans);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .7rem;}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;}
.fbottom{border-top:1px solid #2d3b5e;margin-top:2rem;padding-top:1.2rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;font-size:.8rem;color:#94a3b8;}
.fbottom a{color:#cbd5e1;}

@media (min-width:640px){
  .grid{grid-template-columns:1fr 1fr;}
  .secundarias{grid-template-columns:1fr 1fr;}
}
@media (min-width:1024px){
  .nav-toggle{display:none;}
  nav.main{display:block !important;width:auto;margin-left:.5rem;}
  nav.main ul{flex-direction:row;padding:0;gap:.1rem;}
  nav.main a{padding:.5rem .7rem;}
  .tools{width:auto;margin-left:auto;padding:0;}
  .search{width:230px;flex:none;}
  .layout .wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2rem;align-items:start;}
  .hero{grid-template-columns:1.5fr 1fr;align-items:start;}
  .hero-main h2{font-size:1.9rem;}
  .secundarias{grid-template-columns:1fr;}
  .grid{grid-template-columns:1fr 1fr;}
  aside{position:sticky;top:82px;}
  .article h1{font-size:2.4rem;}
  .fgrid{grid-template-columns:2fr 1fr 1fr 1.4fr;}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;}}

/* Banner de consentimiento de cookies (AdSense / RF-22) */
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;max-width:var(--max);
  margin:0 auto;background:var(--primario);color:#e5e7eb;border-radius:var(--radio);
  box-shadow:0 10px 30px rgba(20,33,61,.35);padding:1rem 1.25rem;
  display:flex;flex-direction:column;gap:.85rem;}
.cookie-banner[hidden]{display:none;}
.cookie-banner p{margin:0;font-size:.92rem;line-height:1.55;}
.cookie-banner a{color:#93c5fd;text-decoration:underline;text-underline-offset:2px;}
.cookie-acciones{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end;}
.cookie-banner .btn-pri,.cookie-banner .btn-sec{font:inherit;font-weight:600;font-size:.9rem;
  padding:.55rem 1.1rem;border-radius:8px;cursor:pointer;border:1px solid transparent;}
.cookie-banner .btn-pri{background:var(--acento);color:#fff;}
.cookie-banner .btn-pri:hover{background:var(--acento-h);}
.cookie-banner .btn-sec{background:transparent;color:#cbd5e1;border-color:#3b4a6b;}
.cookie-banner .btn-sec:hover{background:rgba(255,255,255,.06);}
@media (min-width:640px){.cookie-banner{flex-direction:row;align-items:center;justify-content:space-between;}
  .cookie-acciones{flex-shrink:0;}}
@media (max-width:639px){
  .cookie-banner{left:.5rem;right:.5rem;bottom:.5rem;padding:.75rem 1rem;gap:.6rem;}
  .cookie-banner p{font-size:.78rem;line-height:1.45;}
}

/* Solo para lectores de pantalla (h1 del home) */
.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;}

/* Paginación (home / categoría / búsqueda) */
.paginacion{display:flex;justify-content:space-between;gap:1rem;margin:2rem 0 1rem;}
.paginacion:empty{display:none;}
.paginacion a{font-weight:600;font-size:.95rem;color:var(--acento);padding:.6rem 1.1rem;
  border:1px solid var(--borde);border-radius:8px;background:var(--fondo);}
.paginacion a:hover{border-color:var(--acento);text-decoration:none;}
.paginacion a.sig{margin-left:auto;}

/* Contador de resultados / intro del listado */
.intro-listado{color:var(--muted);font-size:.95rem;margin:-.5rem 0 1.2rem;}

/* Unidades de anuncio reales: altura reservada acorde a AdSense responsive (anti-CLS) */
.ad-live{min-height:280px;}

/* Botón copiar enlace (junto a compartir) */
.share button{font:inherit;font-size:.85rem;font-weight:600;padding:.5rem .95rem;
  border:1px solid var(--borde);border-radius:8px;background:var(--fondo);
  color:var(--texto);cursor:pointer;}
.share button:hover{border-color:var(--acento);color:var(--acento);}

/* Volver arriba */
.volver-arriba{position:fixed;right:1rem;bottom:1rem;z-index:50;width:44px;height:44px;
  display:grid;place-items:center;border-radius:50%;background:var(--primario);color:#fff;
  font-size:1.2rem;box-shadow:var(--sombra-h);}
.volver-arriba:hover{background:var(--acento);text-decoration:none;}
.volver-arriba[hidden]{display:none;}

/* Header desktop: nav compacto para que entren las 5 categorías + búsqueda */
@media (min-width:1024px){
  nav.main a{padding:.5rem .55rem;font-size:.9rem;}
  .search{width:190px;}
}
