/*
Theme Name: Punto Baires Digital
Theme URI: https://puntobairesdigital.com.ar
Author: Sustantiva
Author URI: https://sustantiva.digital
Description: Tema custom de Punto Baires Digital. Diario metropolitano porteño: rojo #C8001E, negro #131313, blanco roto #F8F7F4. Playfair Display + Inter.
Version: 1.0.1
License: GNU General Public License v2 or later
Text Domain: puntobaires
*/

:root{
  --pb-red:#C8001E;
  --pb-red-dark:#9E0018;
  --pb-black:#131313;
  --pb-cream:#F8F7F4;
  --pb-gray:#7B7B7B;
  --pb-line:#E7E4DC;
  --font-title:'Playfair Display',Georgia,serif;
  --font-ui:'Inter',-apple-system,'Segoe UI',sans-serif;
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ font-size:16px; }
body{
  font-family:var(--font-ui);
  background:var(--pb-cream);
  color:var(--pb-black);
  line-height:1.6;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
.pb-container{ max-width:1200px; margin:0 auto; padding:0 20px; }

/* ============ HEADER ============ */
.pb-header{ background:#fff; border-bottom:3px solid var(--pb-red); }
.pb-topbar{
  border-bottom:1px solid var(--pb-line);
  font-size:12px; color:var(--pb-gray);
}
.pb-topbar .pb-container{
  display:flex; justify-content:flex-end; padding-top:7px; padding-bottom:7px;
}
.pb-masthead .pb-container{
  display:flex; align-items:baseline; justify-content:space-between;
  flex-wrap:wrap; gap:8px; padding-top:20px; padding-bottom:4px;
}
.pb-logo{
  font-family:var(--font-title);
  font-weight:900; font-size:32px; letter-spacing:-.5px;
  color:var(--pb-black); line-height:1;
}
.pb-logo .pb-dot{ color:var(--pb-red); }
.pb-logo .pb-logo-light{ font-weight:700; }
.pb-logo img{ max-height:56px; width:auto; }
.pb-tagline{ font-size:12px; color:var(--pb-gray); }

.pb-nav{ padding-top:8px; }
.pb-nav ul{ list-style:none; display:flex; gap:26px; flex-wrap:wrap; }
.pb-nav a{
  display:inline-block; padding:6px 0 12px;
  font-weight:600; font-size:15px; color:var(--pb-black);
}
.pb-nav a:hover,
.pb-nav .current-menu-item > a,
.pb-nav .current_page_item > a,
.pb-nav .current-cat > a{
  color:var(--pb-red);
  box-shadow:inset 0 -3px 0 var(--pb-red);
}

/* ============ BADGES ============ */
.pb-badge{
  display:inline-block;
  background:var(--pb-red); color:#fff;
  font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em;
  padding:3px 9px; border-radius:2px;
  margin-bottom:10px;
}
a.pb-badge:hover{ background:var(--pb-red-dark); color:#fff; }

/* ============ HOME ============ */
.pb-main{ padding:28px 0 48px; }

.pb-hero{ margin-bottom:36px; }
.pb-hero .pb-hero-title{
  font-family:var(--font-title); font-weight:800;
  font-size:34px; line-height:1.12; margin:2px 0 12px;
}
.pb-hero .pb-hero-title a:hover{ color:var(--pb-red); }
.pb-hero img{ width:100%; margin-bottom:14px; }
.pb-hero .pb-excerpt{ font-size:16px; color:#3a3a3a; max-width:820px; }

.pb-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:26px;
  border-top:1px solid var(--pb-line); padding-top:26px; margin-bottom:44px;
}
.pb-card .pb-card-title{
  font-family:var(--font-title); font-weight:700;
  font-size:19px; line-height:1.22; margin-top:10px;
}
.pb-card .pb-card-title a:hover{ color:var(--pb-red); }
.pb-card img{ width:100%; aspect-ratio:16/10; object-fit:cover; }
.pb-card time{ display:block; font-size:12px; color:var(--pb-gray); margin-top:8px; }

.pb-block-title{
  font-family:var(--font-title); font-weight:800; font-size:22px;
  border-left:5px solid var(--pb-red); padding-left:12px;
  margin:0 0 20px;
}
.pb-section{ margin-bottom:44px; }
.pb-more{
  display:inline-block; margin-top:6px;
  font-weight:600; font-size:14px; color:var(--pb-red);
}
.pb-more:hover{ color:var(--pb-red-dark); }

/* ============ SINGLE / PAGE ============ */
.pb-article{ max-width:820px; margin:0 auto; background:transparent; }
.pb-article .pb-entry-title{
  font-family:var(--font-title); font-weight:800;
  font-size:38px; line-height:1.12; margin:4px 0 14px;
}
.pb-meta{ font-size:13px; color:var(--pb-gray); margin-bottom:18px; }
.pb-article .pb-featured img{ width:100%; margin-bottom:22px; }
.pb-content{ font-size:17px; line-height:1.75; }
.pb-content p{ margin-bottom:1.2em; }
.pb-content h2,.pb-content h3{
  font-family:var(--font-title); line-height:1.2; margin:1.4em 0 .5em;
}
.pb-content a{ color:var(--pb-red); }
.pb-content a:hover{ color:var(--pb-red-dark); }
.pb-content blockquote{
  border-left:4px solid var(--pb-red);
  padding:6px 0 6px 18px; margin:1.4em 0;
  font-family:var(--font-title); font-size:20px; font-style:italic;
}
.pb-content img{ margin:1.2em 0; }

/* ============ ARCHIVE ============ */
.pb-archive-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.pb-pagination{ margin-top:32px; display:flex; gap:10px; font-weight:600; }
.pb-pagination a,.pb-pagination span{
  padding:7px 13px; background:#fff; border:1px solid var(--pb-line);
}
.pb-pagination .current,
.pb-pagination a:hover{ background:var(--pb-red); color:#fff; border-color:var(--pb-red); }

/* ============ BANNERS ============ */
.pb-banner-zone{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  margin:44px 0;
}
.pb-banner{ max-width:100%; text-align:center; width:100%; }
.pb-banner img{ margin:0 auto; height:auto; max-width:100%; }
.pb-banner-zone::before{
  content:'PUBLICIDAD';
  font-family:var(--font-ui); font-size:9px; letter-spacing:.14em;
  color:var(--pb-gray); text-transform:uppercase;
}

/* ============ FOOTER ============ */
.pb-footer{
  background:var(--pb-black); color:var(--pb-cream);
  margin-top:40px; padding:26px 0;
  font-size:13px;
}
.pb-footer .pb-container{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
}
.pb-footer a{ color:var(--pb-cream); }
.pb-footer a:hover{ color:var(--pb-red); }
.pb-footer .pb-footer-logo{
  font-family:var(--font-title); font-weight:900; font-size:17px;
}
.pb-footer .pb-footer-logo .pb-dot{ color:var(--pb-red); }

/* ============ RESPONSIVE ============ */
@media (max-width:900px){
  .pb-grid,.pb-archive-list{ grid-template-columns:repeat(2,1fr); }
  .pb-hero .pb-hero-title{ font-size:28px; }
  .pb-article .pb-entry-title{ font-size:30px; }
}
@media (max-width:600px){
  .pb-grid,.pb-archive-list{ grid-template-columns:1fr; }
  .pb-logo{ font-size:26px; }
  .pb-nav ul{ gap:18px; }
  .pb-hero .pb-hero-title{ font-size:24px; }
}

/* Accesibilidad */
a:focus-visible{ outline:2px solid var(--pb-red); outline-offset:2px; }
@media (prefers-reduced-motion:reduce){
  *{ transition:none !important; animation:none !important; }
}
