/* ============================================================
   PONTI — Blog / Journal
   ============================================================ */
.pt-blog-shell{
  padding:clamp(2.75rem,5vw,4.75rem) var(--pt-gut) clamp(4rem,7vw,6.5rem);
}
.pt-blog-intro{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:end;
  padding-bottom:clamp(2rem,4vw,3.25rem);
  border-bottom:1px solid var(--pt-rule);
}
.pt-blog-intro h1{
  font-size:clamp(2.35rem,5vw,4.25rem);
  font-weight:500;
  letter-spacing:-.045em;
  line-height:.98;
  margin:.5rem 0 0;
}
.pt-blog-intro p{
  color:var(--pt-slate);
  font-size:1rem;
  line-height:1.65;
  max-width:48ch;
  margin:0;
}
.pt-blog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.5rem,2.6vw,2.25rem);
  padding-top:clamp(2rem,4vw,3.25rem);
}
.pt-blog-card{ min-width:0; }
.pt-blog-card__media{
  display:block;
  background:var(--pt-bone);
  overflow:hidden;
}
.pt-blog-card__image,
.pt-blog-card__placeholder{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:var(--pt-bone);
  transition:transform .38s ease, opacity .2s ease;
}
.pt-blog-card__media:hover .pt-blog-card__image{
  transform:scale(1.025);
  opacity:.96;
}
.pt-blog-card__body{ padding-top:1rem; }
.pt-blog-card__title{
  font-size:clamp(1.15rem,2vw,1.45rem);
  line-height:1.2;
  letter-spacing:-.02em;
  margin:.45rem 0 .55rem;
}
.pt-blog-card__title a{ color:var(--pt-ink); text-decoration:none; }
.pt-blog-card__title a:hover{ color:var(--pt-slate); }
.pt-blog-card__body p{
  color:var(--pt-slate);
  font-size:.88rem;
  line-height:1.6;
  margin:0 0 .8rem;
}
.pt-blog-card__more{
  color:var(--pt-ink);
  font-size:.73rem;
  font-weight:600;
  text-decoration:none;
  border-bottom:1px solid var(--pt-rule);
  padding-bottom:.18rem;
}
.pt-blog-pagination{
  padding-top:clamp(2.5rem,5vw,4rem);
}
.pt-blog-pagination .nav-links{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.pt-blog-pagination .page-numbers{
  min-width:2.4rem;
  min-height:2.4rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--pt-rule);
  color:var(--pt-ink);
  text-decoration:none;
  padding:.45rem .7rem;
}
.pt-blog-pagination .current{
  background:var(--pt-ink);
  color:var(--pt-paper);
  border-color:var(--pt-ink);
}

/* Entrada individual */
.pt-article{
  padding-bottom:clamp(4rem,7vw,6.5rem);
}
.pt-article__head{
  max-width:62rem;
  margin:0 auto;
  padding:clamp(2.75rem,5vw,4.75rem) var(--pt-gut) clamp(1.75rem,3vw,2.75rem);
  text-align:center;
}
.pt-article__head h1{
  font-size:clamp(2.15rem,5.4vw,4.5rem);
  font-weight:500;
  line-height:1.02;
  letter-spacing:-.045em;
  margin:.65rem auto 1rem;
}
.pt-article__dek{
  color:var(--pt-slate);
  max-width:48rem;
  margin:0 auto;
  font-size:1.05rem;
  line-height:1.65;
}
.pt-article__hero{
  width:min(76rem,calc(100% - (var(--pt-gut) * 2)));
  margin:0 auto clamp(2rem,4vw,3.5rem);
  background:var(--pt-bone);
}
.pt-article__hero img{
  display:block;
  width:100%;
  max-height:44rem;
  object-fit:cover;
}
.pt-article__content{
  max-width:48rem;
  margin:0 auto;
  padding:0 var(--pt-gut);
  font-size:1rem;
  line-height:1.75;
  color:var(--pt-slate);
}
.pt-article__content > p:first-child{ font-size:1.08rem; }
.pt-article__content h2,
.pt-article__content h3{
  color:var(--pt-ink);
  letter-spacing:-.025em;
  line-height:1.15;
}
.pt-article__content h2{
  font-size:clamp(1.55rem,3vw,2rem);
  margin:2.5rem 0 .8rem;
}
.pt-article__content h3{
  font-size:1.25rem;
  margin:2rem 0 .65rem;
}
.pt-article__content img{
  margin:1.75rem auto;
}
.pt-article__content a{ color:var(--pt-ink); }
.pt-article__content blockquote{
  font-family:var(--pt-serif);
  font-size:1.4rem;
  line-height:1.45;
  color:var(--pt-ink);
  border-left:2px solid var(--pt-mark);
  margin:2.25rem 0;
  padding:.25rem 0 .25rem 1.3rem;
}

/* Productos vinculados al blog */
.pt-article-products{
  width:min(76rem,calc(100% - (var(--pt-gut) * 2)));
  margin:clamp(3rem,6vw,5rem) auto 0;
  padding-top:clamp(2rem,4vw,3rem);
  border-top:1px solid var(--pt-rule);
}
.pt-article-products__head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  margin-bottom:1.2rem;
}
.pt-article-products__head h2{
  font-size:clamp(1.35rem,2.7vw,1.9rem);
  margin:.35rem 0 0;
}
.pt-article-products__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(.85rem,1.8vw,1.35rem);
}
.pt-article-product{
  display:block;
  color:var(--pt-ink);
  text-decoration:none;
}
.pt-article-product img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  background:var(--pt-bone);
  margin-bottom:.75rem;
}
.pt-article-product__name{
  display:block;
  font-size:.9rem;
  font-weight:600;
  line-height:1.3;
}
.pt-article-product__price{
  display:block;
  font-size:.85rem;
  color:var(--pt-slate);
  margin-top:.25rem;
}
.pt-article-product__price del{ color:var(--pt-ash); }
.pt-article-product__price ins{ text-decoration:none; color:var(--pt-ink); }

/* Archivo de categoría/etiqueta */
.pt-blog-archive-label{
  margin-bottom:.55rem;
}
.pt-blog-empty{
  padding:3rem 0;
  color:var(--pt-slate);
}

@media(max-width:900px){
  .pt-blog-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pt-blog-intro{ grid-template-columns:1fr; }
  .pt-article-products__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px){
  .pt-blog-grid{ grid-template-columns:1fr; }
  .pt-blog-intro h1{ font-size:2.5rem; }
  .pt-article__head{ text-align:left; }
  .pt-article__dek{ margin-left:0; }
  .pt-article-products__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
