/*
Theme Name: Noticias Valparaíso
Theme URI: https://noticiasvalparaiso.cl
Author: Noticias Valparaíso
Description: Tema ligero para portal periodístico regional con secciones editoriales y espacios publicitarios.
Version: 1.3
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: noticias-valparaiso
*/
:root{--red:#c51e2b;--dark:#181818;--yellow:#ffd22c;--muted:#676767;--line:#e4e4e4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--dark);background:#fff}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}img{max-width:100%;height:auto;display:block}.wrap{max-width:1200px;margin:auto;padding:0 22px}.utility{background:#161616;color:#fff;font-size:12px}.utility .wrap{display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px}.masthead{border-bottom:4px solid var(--yellow)}.masthead .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:25px;padding-bottom:25px}.wordmark{font-weight:900;font-stretch:condensed;letter-spacing:-1.3px;font-size:clamp(27px,4.2vw,48px);line-height:1}.wordmark .red{color:var(--red)}.wordmark .yellow{color:#bc8200}.tagline{font-size:12px;color:var(--muted);margin:7px 0 0}.header-search{display:flex;border:1px solid #ccc;max-width:260px}.header-search input{min-width:0;border:0;padding:10px;font:inherit;width:100%}.header-search button{border:0;background:var(--red);color:#fff;padding:10px 13px;cursor:pointer}.nav{background:var(--red);color:#fff}.nav .wrap{display:flex;align-items:center}.nav-menu{display:flex;align-items:center;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0}.nav-menu li a{display:block;color:#fff;font-size:13px;font-weight:800;text-transform:uppercase;padding:14px 16px}.nav-menu li a:hover,.nav-menu .current-menu-item a{background:#9d0e1a}.ticker{border-bottom:1px solid var(--line);padding:14px 0;font-size:13px}.ticker b{color:var(--red);text-transform:uppercase;margin-right:14px}.ad-slot{border:1px dashed #c7c7c7;background:#f8f8f8;color:#777;min-height:98px;display:flex;justify-content:center;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:1px;margin:25px 0}.section-head{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--red);margin:35px 0 18px;gap:15px}.section-head h2{background:var(--red);color:white;font-size:17px;text-transform:uppercase;letter-spacing:.3px;margin:0;padding:8px 16px}.section-head a{font-size:12px;font-weight:700;color:var(--red)}.hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px}.hero-main{position:relative;min-height:460px;background:#222;overflow:hidden}.hero-main img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-main:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(0,0,0,.88))}.hero-main .hero-body{position:absolute;z-index:1;bottom:0;padding:26px;color:white}.hero-main .hero-body a:hover{color:var(--yellow)}.kicker{display:inline-block;background:var(--yellow);color:#171717;font-size:11px;text-transform:uppercase;font-weight:900;padding:5px 9px;margin-bottom:10px}.hero-main h2{font-size:clamp(24px,3vw,38px);line-height:1.13;margin:0}.hero-side{display:grid;grid-template-rows:1fr 1fr;gap:18px}.story{border-bottom:1px solid var(--line);padding-bottom:16px}.story img,.placeholder{width:100%;aspect-ratio:16/9;object-fit:cover;background:#eee}.placeholder{display:flex;align-items:center;justify-content:center;color:#999;font-weight:800;text-align:center;padding:16px}.story .cat{display:block;margin:10px 0 5px;color:var(--red);font-size:11px;text-transform:uppercase;font-weight:900}.story h3{font-size:19px;line-height:1.25;margin:4px 0 8px}.story p{font-size:13px;color:var(--muted);margin:0}.hero-side .story{display:grid;grid-template-columns:42% 1fr;gap:15px;align-items:start}.hero-side .story img,.hero-side .placeholder{aspect-ratio:4/3}.hero-side .story h3{font-size:18px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.empty{padding:35px 20px;background:#f5f5f5;color:#555}.columns{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(260px,1fr);gap:35px}.latest-list{list-style:none;margin:0;padding:0}.latest-list li{border-bottom:1px solid var(--line);padding:13px 0}.latest-list time{color:var(--red);font-size:12px;font-weight:800}.latest-list a{display:block;font-weight:700;line-height:1.3;margin-top:3px}.article-layout{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(240px,1fr);gap:40px;padding-top:35px}.article-title{font-size:clamp(32px,4vw,52px);line-height:1.12;letter-spacing:-1px;margin:10px 0 16px}.article-meta{font-size:13px;color:#777;margin-bottom:25px}.article-excerpt{font-size:21px;color:#555;font-weight:500}.article-content{font-size:18px;line-height:1.8}.article-content p{margin:0 0 20px}.article-content img{height:auto}.article-content a{color:var(--red);text-decoration:underline}.article-content h2{line-height:1.2}.footer{margin-top:65px;background:#171717;color:#fff;border-top:5px solid var(--yellow)}.footer .wrap{padding-top:36px;padding-bottom:36px}.footer .wordmark{font-size:31px}.footer p{font-size:13px;color:#bbb}.footer a:hover{color:var(--yellow)}.pagination{margin-top:30px;display:flex;gap:10px}.pagination .page-numbers{padding:8px 13px;border:1px solid #ddd}.pagination .current{background:var(--red);color:white;border-color:var(--red)}.screen-reader-text{position:absolute;left:-10000px}.mobile-toggle{display:none;background:transparent;color:#fff;border:0;font-size:24px;padding:12px;cursor:pointer}main{min-height:40vh}@media(max-width:800px){.hero,.columns,.article-layout{grid-template-columns:1fr}.hero-main{min-height:380px}.hero-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.hero-side .story{display:block}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-search{display:none}.mobile-toggle{display:block}.nav .wrap{display:block}.nav-menu{display:none;flex-direction:column;align-items:stretch}.nav-menu.open{display:flex}.nav-menu li a{padding:12px 14px}}@media(max-width:530px){.wrap{padding-left:15px;padding-right:15px}.hero-main{min-height:360px}.hero-side,.grid{grid-template-columns:1fr}.hero-side .story{display:grid;grid-template-columns:42% 1fr}.hero-main h2{font-size:26px}.wordmark{font-size:28px!important}.utility .wrap{gap:10px}.article-content{font-size:17px}}

/* Portada 1.1: una noticia central y cuatro secundarias */
@media(min-width:801px){
.hero{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:stretch}
.hero-side{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr));gap:8px}
.hero-side .story{display:grid;grid-template-columns:35% minmax(0,1fr);grid-template-rows:auto auto auto;gap:0 12px;padding-bottom:8px;min-width:0;align-content:start}
.hero-side .story>a:first-child{grid-row:1/4;min-width:0}
.hero-side .story img,.hero-side .placeholder{aspect-ratio:4/3;width:100%;object-fit:cover}
.hero-side .story .cat{margin:0 0 3px;font-size:10px}
.hero-side .story h3{font-size:clamp(13px,1.25vw,16px);line-height:1.2;margin:0}
.hero-side .story p{font-size:11px;line-height:1.25;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}

/* Portada 1.2: una principal + cuatro secundarias en cuadrícula 2x2 */
@media (min-width: 801px) {
  .hero { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1.25fr); align-items: stretch; }
  .hero-main { min-height: 485px; }
  .hero-side { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:14px; min-width:0; }
  .hero-side .story { display:flex; flex-direction:column; gap:0; min-width:0; padding-bottom:6px; overflow:hidden; }
  .hero-side .story img, .hero-side .placeholder { width:100%; aspect-ratio:16/9; object-fit:cover; }
  .hero-side .story .cat { margin:7px 0 2px; font-size:10px; }
  .hero-side .story h3 { font-size:clamp(13px,1.25vw,16px); line-height:1.22; margin:3px 0 4px; }
  .hero-side .story p { display:none; }
}
@media (min-width:801px) and (max-width:1050px) { .hero { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); } .hero-side .story h3 {font-size:13px;} }
