/* ============================================================
   VOCERO DEL ZÓCALO — blog stylesheet
   Extiende las variables y clases de css/style.css (nav, footer,
   .container, .eyebrow, .section-title, .rule, .btn-primary).
   ============================================================ */

/* NAV: en el blog no hay hero oscuro detrás, así que el nav
   siempre se ve en su estado "scrolled" (fondo claro). */
body.blog nav{background:rgba(243,239,232,.96);backdrop-filter:blur(16px);padding:1.2rem 5%;border-bottom:.5px solid rgba(107,86,72,.12)}
body.blog nav .nav-logo-mark{filter:brightness(0);opacity:.7}
body.blog nav .nav-logo-text{color:var(--cafe)}
body.blog nav .nav-links a{color:var(--nogal)}
body.blog nav .nav-links a:hover{color:var(--terracota)}
body.blog nav .nav-cta{background:var(--terracota);color:var(--hueso);border-color:var(--terracota)}
body.blog nav .nav-cta:hover{background:var(--cafe);border-color:var(--cafe)}
body.blog nav .hamburger span{background:var(--cafe)}
body.blog{padding-top:78px}

/* BREADCRUMB */
.breadcrumb{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--nogal);margin-bottom:1.5rem}
.breadcrumb a{color:var(--nogal);text-decoration:none;border-bottom:.5px solid rgba(107,86,72,.3)}
.breadcrumb a:hover{color:var(--terracota);border-color:var(--terracota)}
.breadcrumb span{opacity:.5;margin:0 .5rem}

/* BLOG HEADER (index page) */
.blog-header{background:var(--cafe);padding:5rem 0 4rem;text-align:center}
.blog-header .eyebrow{justify-content:center;color:var(--terracota-light)}
.blog-header h1{font-family:var(--serif);font-size:clamp(2.4rem,5vw,4rem);font-weight:300;color:var(--hueso);margin-bottom:1rem}
.blog-header h1 em{font-style:italic;color:rgba(243,239,232,.7)}
.blog-header p{max-width:560px;margin:0 auto;color:rgba(243,239,232,.6);font-size:.95rem;line-height:1.8}
.blog-header .rule{margin:1.5rem auto}

/* BLOG GRID (index page) */
.blog-section{padding:5rem 0}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:1rem}
.blog-card{text-decoration:none;color:inherit;display:block}
.blog-card-img{aspect-ratio:4/3;overflow:hidden;margin-bottom:1.2rem;background:var(--marmol)}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;display:block}
.blog-card:hover .blog-card-img img{transform:scale(1.05)}
.blog-card-category{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracota);font-weight:500;display:block;margin-bottom:.6rem}
.blog-card h2{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--cafe);line-height:1.3;margin-bottom:.6rem}
.blog-card p{font-size:.85rem;color:var(--nogal);line-height:1.7;margin-bottom:.8rem}
.blog-card-date{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(107,86,72,.55)}
.blog-empty{text-align:center;padding:3rem 0;color:var(--nogal)}

/* ARTICLE PAGE */
.article-header{padding:3.5rem 0 2.5rem}
.article-category{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--terracota);font-weight:500;display:block;margin-bottom:1rem}
.article-title{font-family:var(--serif);font-size:clamp(2rem,4.5vw,3.2rem);font-weight:300;color:var(--cafe);line-height:1.15;margin-bottom:1.2rem;max-width:820px}
.article-meta{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--nogal);display:flex;gap:.8rem;align-items:center}
.article-meta span:not(:last-child)::after{content:"·";margin-left:.8rem;opacity:.5}
.article-cover{width:100%;aspect-ratio:16/9;overflow:hidden;margin-bottom:3rem}
.article-cover img{width:100%;height:100%;object-fit:cover;display:block}
.article-body{max-width:700px;margin:0 auto;font-size:1.02rem;line-height:1.95;color:var(--cafe);font-weight:300}
.article-body p{margin-bottom:1.5rem}
.article-body h2{font-family:var(--serif);font-size:1.7rem;font-weight:300;color:var(--cafe);margin:2.6rem 0 1.2rem;line-height:1.25}
.article-body h3{font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--cafe);margin:2rem 0 1rem}
.article-body ul,.article-body ol{margin:0 0 1.5rem 1.3rem}
.article-body li{margin-bottom:.6rem;line-height:1.8}
.article-body a{color:var(--terracota);text-decoration:underline;text-decoration-color:rgba(139,74,58,.35)}
.article-body a:hover{text-decoration-color:var(--terracota)}
.article-body blockquote{border-left:2px solid var(--terracota);padding:.3rem 0 .3rem 1.5rem;margin:2rem 0;font-family:var(--serif);font-size:1.3rem;font-style:italic;color:var(--nogal);line-height:1.6}
.article-body img{width:100%;height:auto;margin:2rem 0}
.article-tags{max-width:700px;margin:3rem auto 0;display:flex;flex-wrap:wrap;gap:.5rem}
.article-tag{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cafe);border:.5px solid var(--greige);padding:.35rem .9rem;background:var(--hueso)}

/* CTA block inside/after articles */
.article-cta{max-width:700px;margin:3.5rem auto 0;background:var(--marmol);padding:2.5rem;text-align:center}
.article-cta p{font-family:var(--serif);font-size:1.3rem;color:var(--cafe);margin-bottom:1.4rem;font-weight:300}
.article-cta .btn-primary{background:var(--terracota);color:var(--hueso)}

.back-to-blog{max-width:700px;margin:3rem auto 0;padding-top:2rem;border-top:.5px solid var(--greige)}
.back-to-blog a{color:var(--nogal);text-decoration:none;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.back-to-blog a:hover{color:var(--terracota)}

@media(max-width:900px){
  .blog-grid{grid-template-columns:repeat(2,1fr);gap:1.8rem}
}
@media(max-width:640px){
  .blog-grid{grid-template-columns:1fr}
  .blog-header{padding:4rem 0 3rem}
  .article-cta{padding:2rem 1.5rem}
}
