/* ==============================================
   PERIÓDICO DIGITAL — DISEÑO PROFESIONAL
   Inter + Source Serif 4 · Mobile First
   ============================================== */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:100%;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;line-height:1.55;color:#222;background:#eef0f2;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;border:none;background:none}
h1,h2,h3,h4,h5{font-family:'Inter',system-ui,sans-serif;line-height:1.2}

/* VARIABLES — c1 y c2 vienen del inline style de head.php */
:root{
  --blanco:#fff;--gris1:#f5f6f8;--gris2:#e4e6e9;--gris3:#999;
  --negro:#111;--texto:#222;--w:1140px;--r:5px;
}

.w{max-width:var(--w);margin:0 auto;padding:0 16px}

/* ==============================================
   TICKER ÚLTIMA HORA
   ============================================== */
/* Ticker marquesina */
.ticker{background:#111;overflow:hidden;height:36px;display:flex;align-items:center;width:100%}
.ticker-label{background:#900;background:var(--c1,#900);color:#fff;padding:0 14px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;height:36px;line-height:36px;flex-shrink:0}
.ticker-wrap{position:relative;overflow:hidden;flex:1;height:36px}
.ticker-track{position:absolute;left:0;top:0;height:36px;display:flex;flex-wrap:nowrap;gap:50px;align-items:center;animation:marquee 40s linear infinite}
.ticker-track a{color:#ccc;font-size:.72rem;font-weight:600;white-space:nowrap;flex-shrink:0}
.ticker-track a:hover{color:#fff}
.ticker-dot{color:#c33;color:var(--c1,#c33);margin-right:8px}
.ticker-time{color:#666;font-size:.62rem;margin-left:8px}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ==============================================
   CABECERA
   ============================================== */
.topbar{background:var(--negro);padding:5px 0;font-size:.7rem;color:#888;display:none}
@media(min-width:768px){.topbar{display:block}}
.topbar .w{display:flex;justify-content:space-between}
.topbar a{color:#aaa}.topbar a:hover{color:#fff}

.cabecera{background:var(--blanco);border-bottom:4px solid var(--c1);padding:12px 0}
.cab-flex{display:flex;align-items:center;justify-content:space-between}
.logo{font-size:1.35rem;font-weight:900;color:var(--c1);line-height:1.1;letter-spacing:-.03em}
@media(min-width:768px){.logo{font-size:1.7rem}}
.cab-btns{display:flex;gap:8px;align-items:center}
.btn-ico{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gris1);color:var(--texto);transition:background .15s;-webkit-tap-highlight-color:transparent}
.btn-ico:hover{background:var(--gris2)}
.hamburger{display:inline-flex;flex-direction:column;gap:5px;padding:8px}
.hamburger i{display:block;width:20px;height:2px;background:var(--texto);border-radius:1px}
@media(min-width:768px){.hamburger{display:none}}

/* NAV */
.nav{background:var(--c1);position:sticky;top:0;z-index:100;box-shadow:0 2px 6px rgba(0,0,0,.12);display:none}
@media(min-width:768px){.nav{display:block}}
.nav-inner{display:flex;overflow-x:auto;scrollbar-width:none}
.nav-inner::-webkit-scrollbar{display:none}
.nav-inner a{flex-shrink:0;padding:11px 15px;font-size:.72rem;font-weight:700;color:rgba(255,255,255,.88);text-transform:uppercase;letter-spacing:.05em;transition:background .15s}
.nav-inner a:hover{background:rgba(255,255,255,.12);color:#fff}

/* MENÚ MÓVIL */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:900;opacity:0;pointer-events:none;transition:opacity .25s}
.overlay.on{opacity:1;pointer-events:auto}
.movil{position:fixed;top:0;right:0;bottom:0;width:280px;max-width:82vw;background:var(--blanco);z-index:901;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
.movil.on{transform:translateX(0)}
.movil-top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:3px solid var(--c1)}
.movil-top b{color:var(--c1);font-size:.9rem}
.movil-close{font-size:1.6rem;color:var(--gris3);padding:4px}
.movil-links{flex:1;overflow-y:auto;padding:4px 0}
.movil-links a{display:block;padding:13px 18px;font-size:.88rem;color:var(--texto);border-bottom:1px solid var(--gris1);font-weight:500}
.movil-links a:active{background:var(--gris1)}
html.locked,body.locked{overflow:hidden;height:100%;touch-action:none}

/* ==============================================
   LAYOUT
   ============================================== */
.main{padding:16px 0 40px}
.dos-col{display:block}
@media(min-width:768px){.dos-col{display:grid;grid-template-columns:1fr 300px;gap:28px}}
.lateral{display:none}
@media(min-width:768px){.lateral{display:block}}

/* ==============================================
   HERO — 1 principal + 2 secundarias (60/40)
   ============================================== */
.hero{margin-bottom:24px}
.hero-grid{display:flex;flex-direction:column;gap:10px}
@media(min-width:640px){.hero-grid{display:grid;grid-template-columns:3fr 2fr;grid-template-rows:1fr 1fr;gap:10px}}

.hero-item{background:var(--c1);color:#fff;border-radius:var(--r);padding:24px;display:flex;flex-direction:column;justify-content:flex-end;min-height:140px;position:relative}
@media(min-width:640px){
  .hero-item:first-child{grid-row:1/3;min-height:280px;padding:32px}
  .hero-item:first-child h2{font-size:1.5rem}
}
.hero-item h2{font-size:1rem;font-weight:900;line-height:1.25}
.hero-item h2 a{color:#fff}
.hero-item .badge-cat{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.8;margin-bottom:6px}
.hero-item .hero-meta{font-size:.65rem;opacity:.6;margin-top:8px;display:flex;gap:10px;align-items:center}
.hero-item .badge-uh{background:rgba(255,255,255,.2);padding:2px 8px;border-radius:3px;font-size:.55rem;font-weight:700;text-transform:uppercase;animation:pulso 2s ease-in-out infinite}
@keyframes pulso{0%,100%{opacity:1}50%{opacity:.5}}

/* ==============================================
   SEPARADOR ESTILO PRENSA
   ============================================== */
.sep{border:none;border-top:1px solid var(--gris2);margin:24px 0;position:relative}
.sep::after{content:'●';position:absolute;top:-7px;left:50%;transform:translateX(-50%);background:var(--gris1);color:var(--gris3);font-size:.5rem;padding:0 8px}

/* ==============================================
   SECCIONES
   ============================================== */
.sec-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;margin-top:4px}
.sec-head h2{font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.sec-head::after{content:'';flex:1;height:1px;background:var(--gris2)}
.sec-head.rojo h2{color:var(--c1)}
.sec-head.rojo::after{height:2px;background:var(--c1)}
.sec-link{font-size:.68rem;color:var(--c1);font-weight:600;white-space:nowrap}
.sec-link:hover{text-decoration:underline}

/* Bloque sección: 1 grande + 3 titulares */
.sec-bloque{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:28px}
@media(min-width:640px){.sec-bloque{grid-template-columns:1fr 1fr}}
.sec-bloque-principal h2{font-size:.95rem;font-weight:700;line-height:1.35}
.sec-bloque-principal .entradilla{font-family:'Source Serif 4',Georgia,serif;font-size:.82rem;color:var(--gris3);line-height:1.5;margin-top:6px}
.sec-bloque-lista{display:flex;flex-direction:column;gap:0}
.sec-bloque-lista a{display:block;padding:10px 0;font-size:.82rem;font-weight:600;color:var(--texto);line-height:1.35;border-bottom:1px solid var(--gris2)}
.sec-bloque-lista a:hover{color:var(--c1)}
.sec-bloque-lista a:last-child{border-bottom:none}

/* ==============================================
   TARJETAS DE NOTICIAS
   ============================================== */
.noticias-grid{display:flex;flex-direction:column;gap:10px}
@media(min-width:480px){.noticias-grid{display:grid;grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.noticias-grid{grid-template-columns:repeat(3,1fr)}}

.noticia{background:var(--blanco);border-radius:var(--r);padding:16px 18px;display:flex;flex-direction:column;gap:6px;border-left:3px solid transparent;transition:border-color .15s,box-shadow .2s}
.noticia:hover{box-shadow:0 3px 12px rgba(0,0,0,.07)}
.noticia .etiqueta{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;display:inline-block;padding:2px 0}
.noticia h2{font-size:.88rem;font-weight:700;line-height:1.35}
.noticia h2 a{color:var(--texto)}.noticia h2 a:hover{color:var(--c1)}
.noticia .meta{font-size:.65rem;color:var(--gris3);margin-top:auto;padding-top:6px;display:flex;gap:8px;align-items:center}
.noticia .badge-uh{background:var(--c1);color:#fff;padding:1px 6px;border-radius:3px;font-size:.5rem;font-weight:700;text-transform:uppercase}
/* Borde izquierdo del color de la categoría (se aplica con style inline) */

/* ==============================================
   WIDGETS SIDEBAR
   ============================================== */
.wg{background:var(--blanco);border-radius:var(--r);overflow:hidden;margin-bottom:16px}
.wg-head{background:var(--c1);color:#fff;padding:10px 14px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.wg-item{display:flex;align-items:baseline;gap:10px;padding:11px 14px;font-size:.82rem;line-height:1.4;color:var(--texto);border-bottom:1px solid var(--gris1);transition:background .1s}
.wg-item:last-child{border-bottom:none}
.wg-item:hover{background:var(--gris1);color:var(--c1)}
.wg-num{font-size:.7rem;font-weight:900;color:var(--c1);min-width:16px}

/* ==============================================
   TAGCLOUD
   ============================================== */
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags a{padding:5px 12px;font-size:.68rem;font-weight:600;background:var(--blanco);border-radius:20px;color:var(--texto);border:1px solid var(--gris2);transition:all .12s}
.tags a:hover{background:var(--c1);color:#fff;border-color:var(--c1)}

/* ==============================================
   BREADCRUMB
   ============================================== */
.breadcrumb{padding:12px 0;font-size:.72rem;color:var(--gris3)}
.breadcrumb a{color:var(--c1);font-weight:600}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb em{margin:0 5px;font-style:normal;opacity:.4}

/* ==============================================
   ARTÍCULO — Tipografía serif para lectura
   ============================================== */
.art-wrap{background:var(--blanco);border-radius:var(--r);padding:20px;margin-bottom:20px}
@media(min-width:640px){.art-wrap{padding:36px 40px}}

.art-h1{font-family:'Inter',system-ui,sans-serif;font-size:1.5rem;font-weight:900;line-height:1.2;margin-bottom:14px;color:var(--negro)}
@media(min-width:640px){.art-h1{font-size:2.2rem}}

.art-info{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.75rem;color:var(--gris3);margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--gris2)}
.art-info .etiqueta{font-weight:700;text-transform:uppercase;font-size:.62rem;letter-spacing:.05em}
.art-info .lectura{color:var(--gris3);font-style:italic}

.art-share{display:flex;gap:6px;margin-bottom:20px}
.art-share a{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-size:.78rem;font-weight:700;transition:all .15s}
.art-share a:nth-child(1){background:#1877f2}
.art-share a:nth-child(2){background:#000}
.art-share a:nth-child(3){background:#0a66c2}
.art-share a:nth-child(4){background:#25d366}
.art-share a:hover{opacity:.8;transform:scale(1.08)}

.art-img{margin:0 -20px 20px;overflow:hidden}
@media(min-width:640px){.art-img{margin:0 0 24px;border-radius:var(--r)}}

/* Cuerpo del artículo: serif para lectura confortable */
.art-body{font-family:'Source Serif 4',Georgia,serif;font-size:1.05rem;line-height:1.85;color:#333;max-width:680px}
.art-body p{margin-bottom:1.15em}
.art-body p:first-child{font-weight:600;font-size:1.1rem;color:var(--negro)}
.art-body h2{font-family:'Inter',sans-serif;font-size:1.2rem;font-weight:800;margin:1.8em 0 .5em;padding-bottom:6px;border-bottom:2px solid var(--gris2)}
.art-body h3{font-family:'Inter',sans-serif;font-size:1.05rem;font-weight:700;margin:1.4em 0 .4em}
.art-body a{color:var(--c1);text-decoration:underline;text-underline-offset:3px}
.art-body ul,.art-body ol{margin:.8em 0;padding-left:1.4em}
.art-body ul{list-style:disc}.art-body ol{list-style:decimal}
.art-body li{margin-bottom:.3em}
.art-body blockquote{border-left:4px solid var(--c1);padding:14px 18px;margin:1.2em 0;background:var(--gris1);border-radius:0 var(--r) var(--r) 0;font-style:italic;color:#555}
.art-body img{margin:1.2em 0;border-radius:var(--r)}

.art-tags{margin-top:28px;padding-top:18px;border-top:1px solid var(--gris2)}
.art-tags h3{font-family:'Inter',sans-serif;font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--gris3);margin-bottom:8px;letter-spacing:.05em}

/* Barra de progreso de lectura */
.progreso{position:fixed;top:0;left:0;height:3px;background:var(--c1);z-index:200;width:0;transition:width .1s}

/* ==============================================
   NOTICIAS RELACIONADAS
   ============================================== */
.relacionadas{margin-top:32px}
.relacionadas-grid{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:480px){.relacionadas-grid{grid-template-columns:repeat(3,1fr)}}

/* ==============================================
   PAGINACIÓN
   ============================================== */
.pag{display:flex;justify-content:center;gap:4px;padding:24px 0;flex-wrap:wrap}
.pag a,.pag span{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;font-size:.78rem;font-weight:600;border-radius:var(--r);background:var(--blanco);color:var(--texto);transition:all .12s}
.pag a:hover{background:var(--c1);color:#fff}
.pag .activo{background:var(--c1);color:#fff;font-weight:700}
.pag .off{opacity:.25;pointer-events:none}

/* ==============================================
   ADSENSE
   ============================================== */
.ad-slot{min-height:90px;margin:20px 0;display:flex;align-items:center;justify-content:center;background:var(--blanco);border-radius:var(--r)}

/* ==============================================
   NEWSLETTER
   ============================================== */
.newsletter{background:linear-gradient(135deg,var(--c1),var(--c2));padding:36px 0;text-align:center;color:#fff}
.newsletter h2{font-size:1.15rem;font-weight:700;margin-bottom:14px}
.nl-form{display:flex;flex-direction:column;gap:8px;max-width:440px;margin:0 auto;padding:0 16px}
@media(min-width:480px){.nl-form{flex-direction:row}}
.nl-form input{flex:1;padding:11px 14px;border:none;border-radius:var(--r);font-size:.88rem}
.nl-form button{padding:11px 22px;background:rgba(0,0,0,.25);color:#fff;border:none;border-radius:var(--r);font-weight:700;font-size:.85rem;transition:background .15s}
.nl-form button:hover{background:rgba(0,0,0,.4)}

/* ==============================================
   FOOTER
   ============================================== */
.footer{background:var(--negro);color:#666;padding:28px 0 16px;font-size:.78rem}
.footer a{color:#888;transition:color .1s}.footer a:hover{color:#ddd}
.ft-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:600px){.ft-grid{grid-template-columns:2fr 1fr 1fr}}
.footer h4,.ft-title{color:#ccc;font-size:.82rem;margin-bottom:8px;font-weight:700}
.ft-links{display:flex;flex-direction:column;gap:0}
.ft-links a{display:block;padding:6px 0}
.ft-copy{margin-top:20px;padding-top:10px;border-top:1px solid #1a1a1a;text-align:center;color:#444;font-size:.68rem}
/* Red de periódicos en footer */
.ft-red{display:flex;flex-wrap:wrap;gap:4px 10px}
.ft-red a{font-size:.7rem}

/* ==============================================
   COOKIES BANNER
   ============================================== */
.cookies{position:fixed;bottom:0;left:0;right:0;background:var(--negro);color:#ccc;padding:14px 16px;z-index:800;font-size:.75rem;display:none;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
.cookies.visible{display:flex}
.cookies a{color:#fff;text-decoration:underline}
.cookies button{background:var(--c1);color:#fff;padding:8px 20px;border-radius:var(--r);font-size:.75rem;font-weight:700;border:none;cursor:pointer}

/* ==============================================
   BÚSQUEDA
   ============================================== */
.buscador{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:28vh;opacity:0;pointer-events:none;transition:opacity .2s}
.buscador.on{opacity:1;pointer-events:auto}
.buscador form{width:90%;max-width:520px}
.buscador input{width:100%;padding:16px 20px;font-size:1.1rem;border:none;border-radius:var(--r);box-shadow:0 8px 32px rgba(0,0,0,.4)}
.buscador-x{position:absolute;top:18px;right:18px;color:rgba(255,255,255,.5);font-size:1.8rem;cursor:pointer}
.buscador-x:hover{color:#fff}

/* ==============================================
   RESPONSIVE
   ============================================== */
@media(max-width:380px){.logo{font-size:1.1rem}.art-h1{font-size:1.3rem}.hero-item{padding:18px;min-height:120px}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
