/*
Theme Name: La Voz de San Luis
Theme URI: https://lavozdesanluis.com.ar
Author: La Voz de San Luis
Description: Tema a medida para el diario digital La Voz de San Luis. Portada con ticker, categorías, nota destacada y noticias por RSS.
Version: 1.0
Text Domain: la-voz-de-san-luis
*/

:root{
  --blue:#0266F2;
  --blue-dark:#014FBE;
  --ink:#3C3C3C;
  --ink-strong:#1E1E1E;
  --lime:#CCFF20;
  --paper:#FFFFFF;
  --gray-bg:#F3F4F6;
  --muted:#8A8A8A;
  --line:#E4E4E4;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  background:var(--paper);
  color:var(--ink-strong);
  font-family:'Roboto', sans-serif;
  line-height:1.45;
}
h1,h2,h3,.display{font-family:'Montserrat', sans-serif;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}

/* ---- ticker ---- */
.ticker{background:var(--ink-strong); color:#fff; font-size:12.5px; overflow:hidden; white-space:nowrap;}
.ticker-inner{display:flex; align-items:center; max-width:1220px; margin:0 auto; padding:7px 20px;}
.ticker-tag{
  background:var(--lime); color:var(--ink-strong); font-family:'Montserrat'; font-weight:700;
  font-size:11px; padding:3px 9px; margin-right:12px; letter-spacing:.4px; flex-shrink:0; text-transform:uppercase;
}
.ticker-track{overflow:hidden; flex:1;}
.ticker-items{display:inline-block; animation:scroll 28s linear infinite; white-space:nowrap;}
.ticker-items span{margin-right:48px; color:#D6D6D6;}
@keyframes scroll{ 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }

/* ---- topbar ---- */
.topbar{border-bottom:1px solid var(--line); font-size:12px; color:var(--muted);}
.topbar-inner{max-width:1220px; margin:0 auto; padding:8px 20px; display:flex; justify-content:space-between; align-items:center;}
.topbar-social{display:flex; gap:14px;}
.topbar-social a:hover{color:var(--blue);}

/* ---- masthead ---- */
.masthead{max-width:1220px; margin:0 auto; padding:16px 20px; display:flex; align-items:center; justify-content:space-between;}
.brand-block{display:flex; align-items:center;}
.brand-block img{height:58px; width:auto;}
.weather{font-size:12px; color:var(--muted); text-align:right;}
.weather .date{font-weight:500; color:var(--ink-strong);}

/* ---- nav ---- */
nav.categories{background:var(--blue); position:sticky; top:0; z-index:5;}
.categories-inner{max-width:1220px; margin:0 auto; padding:0 20px; display:flex; gap:0; overflow-x:auto;}
.cat-btn{
  font-family:'Montserrat', sans-serif; font-size:13.5px; font-weight:600;
  letter-spacing:.3px; text-transform:uppercase;
  background:none; border:none; cursor:pointer;
  padding:12px 16px; color:#fff; opacity:.85;
  border-bottom:3px solid transparent; white-space:nowrap; display:inline-block;
}
.cat-btn:hover{opacity:1; border-bottom-color:var(--lime);}

/* ---- hero ---- */
main{max-width:1220px; margin:0 auto; padding:22px 20px 60px;}
.hero{display:grid; grid-template-columns:1.7fr 1fr; gap:0; border-bottom:1px solid var(--line); margin-bottom:26px; padding-bottom:26px;}
.hero-left{padding-right:28px; border-right:1px solid var(--line);}
.hero-img{width:100%; aspect-ratio:16/9; object-fit:cover; background:var(--gray-bg); display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:12px;}
.live-badge{display:inline-flex; align-items:center; gap:6px; background:var(--ink-strong); color:var(--lime); font-family:'Montserrat'; font-weight:700; font-size:11px; padding:4px 9px; margin-top:14px; letter-spacing:.4px;}
.live-dot{width:6px; height:6px; border-radius:50%; background:var(--lime); animation:pulse 1.4s infinite;}
@keyframes pulse{0%,100%{opacity:1;} 50%{opacity:.25;}}
.hero h2{font-size:33px; font-weight:700; line-height:1.15; margin-top:10px; letter-spacing:.1px; color:var(--ink-strong);}
.hero p.dek{color:var(--muted); font-size:15px; margin-top:10px;}
.byline{font-size:11.5px; color:var(--muted); margin-top:12px;}

.side-list{padding-left:28px;}
.side-title{font-size:13px; font-weight:700; color:var(--blue); text-transform:uppercase; border-bottom:2px solid var(--ink-strong); padding-bottom:8px; margin-bottom:2px; font-family:'Montserrat';}
.side-item{display:flex; gap:10px; padding:11px 0; border-bottom:1px solid var(--line);}
.side-num{font-family:'Montserrat', sans-serif; font-size:19px; color:var(--blue); font-weight:700; flex-shrink:0;}
.side-item span.txt{font-size:13.5px; line-height:1.35; font-weight:500;}

.whatsapp-box{margin-top:18px; background:var(--blue); color:#fff; padding:14px 16px;}
.whatsapp-box .t{font-size:13px; font-weight:700; font-family:'Montserrat'; display:flex; align-items:center; gap:8px; letter-spacing:.2px;}
.whatsapp-box .s{font-size:11.5px; color:#DCE9FF; margin-top:4px;}

/* ---- secciones de noticias ---- */
.section-title{font-size:15.5px; font-weight:700; letter-spacing:.4px; color:#fff; background:var(--ink-strong); padding:9px 14px; text-transform:uppercase; display:flex; justify-content:space-between; align-items:baseline; font-family:'Montserrat';}
.section-title .src{font-size:10.5px; font-weight:400; text-transform:none; color:#bbb; letter-spacing:0; font-family:'Roboto';}
.section-title a.add-note{color:var(--lime); font-size:10.5px; text-transform:none; font-weight:600;}
.rss-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:0; border:1px solid var(--line); border-top:none;}
.rss-card{padding:14px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); position:relative;}
.rss-card:nth-child(4n){border-right:none;}
.rss-card img.thumb{width:100%; aspect-ratio:16/10; object-fit:cover; background:var(--gray-bg);}
.rss-card .cat{font-size:10px; font-weight:700; letter-spacing:.5px; color:var(--blue); text-transform:uppercase; margin-top:10px; font-family:'Montserrat';}
.rss-card h3{font-size:14.5px; font-weight:600; line-height:1.3; margin-top:4px; font-family:'Roboto';}
.rss-card .meta{font-size:10.5px; color:var(--muted); margin-top:8px;}
.rss-card a:hover h3{color:var(--blue);}
.state-msg{grid-column:1/-1; text-align:center; padding:36px 0; color:var(--muted); font-size:13px;}
.rss-section{margin-bottom:34px;}

/* ---- nota individual (single.php) ---- */
.single-note{max-width:820px; margin:0 auto; padding:30px 20px 70px;}
.single-note .cat{font-size:11px; font-weight:700; letter-spacing:.5px; color:var(--blue); text-transform:uppercase; font-family:'Montserrat';}
.single-note h1{font-size:32px; font-weight:700; line-height:1.2; margin-top:10px;}
.single-note .meta{font-size:12px; color:var(--muted); margin:14px 0 22px;}
.single-note img.featured{width:100%; max-height:440px; object-fit:cover; border-radius:4px; margin-bottom:22px;}
.single-note .content{font-size:16px; line-height:1.8;}
.single-note .content p{margin-bottom:16px;}
.single-note .back-link{display:inline-block; margin-bottom:20px; font-size:13px; color:var(--blue); font-weight:600;}

/* ---- banner publicitario ---- */
.ad-banner{margin:26px 0;}
.ad-banner .ad-label{font-size:9px; color:var(--muted); text-transform:uppercase; letter-spacing:.5px; margin-bottom:6px; text-align:left;}
.ad-banner .ad-slot{background:var(--gray-bg); border:1.5px dashed #C7C7C7; border-radius:3px; min-height:100px; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.ad-banner .ad-slot img{width:100%; height:auto; display:block;}
.ad-banner .ad-placeholder-text{font-size:13px; color:var(--muted); font-family:'Montserrat'; text-align:center; padding:0 10px;}
.ad-banner.triple .ad-slots{display:grid !important; grid-template-columns:repeat(3, 1fr) !important; gap:16px !important;}
.ad-banner.triple .ad-slot{min-height:120px; width:100%;}
.ad-banner.square .ad-slot{min-height:250px; max-width:300px; margin:0 auto;}
@media (max-width:700px){
  .ad-banner.triple .ad-slots{grid-template-columns:1fr;}
}

footer{background:var(--ink-strong); color:#fff; margin-top:40px;}
.footer-inner{max-width:1220px; margin:0 auto; padding:30px 20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; font-size:12.5px; color:#aaa;}
.footer-inner strong{color:#fff; font-family:'Montserrat'; font-size:16px; letter-spacing:.3px;}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;}
  .hero-left{border-right:none; padding-right:0; padding-bottom:20px; border-bottom:1px solid var(--line); margin-bottom:20px;}
  .side-list{padding-left:0;}
  .rss-grid{grid-template-columns:repeat(2, 1fr);}
  .rss-card:nth-child(4n){border-right:1px solid var(--line);}
  .rss-card:nth-child(2n){border-right:none;}
}
@media (max-width:560px){
  .brand-block img{height:44px;}
  .rss-grid{grid-template-columns:1fr;}
  .rss-card{border-right:none !important;}
}
