/* ============================================================
   ITERA BLOG — extiende el sistema de site.css
   No reescribe tokens ni componentes existentes (panel, btn,
   kicker, hl-*, wrap): solo agrega lo que el blog necesita.
   ============================================================ */

.blog-main{
  position:relative;z-index:2;
  padding:150px 28px 100px;
}
.blog-main .wrap{max-width:760px}
.blog-main .wrap.wide{max-width:var(--maxw)}
.blog-main.post-page{padding:0}

/* --- listado de posts (/posts/, /en/posts/) --- */
.post-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px,1fr));
  gap:22px;
  margin-top:36px;
}
.post-card{
  display:flex;flex-direction:column;
  overflow:hidden;padding:0;
}
.post-card img{
  width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
}
.post-card .post-card-body{padding:20px 22px 24px}
.post-card .post-meta{font-size:.78rem;color:var(--text-dim);letter-spacing:.4px;text-transform:uppercase}
.post-card h3{font-size:1rem;letter-spacing:.4px;margin:8px 0 8px;text-transform:none;font-family:'Inter',sans-serif;font-weight:700}
.post-card p{font-size:.9rem;color:var(--text-dim)}
.post-card:hover{border-color:var(--green-dim);transform:translateY(-3px)}

/* --- post individual: imagen + texto ---
   Mobile (default): apilado — imagen recortada a cuadrado arriba, texto abajo.
   Desktop (>920px): dos columnas — imagen fija (sticky) a la izquierda,
   texto con scroll propio a la derecha. En los dos casos el <h1> es el
   primer elemento del bloque de texto (mismo orden en el DOM). */
.post-split{display:block}

.post-media{
  width:100%;
  aspect-ratio:1/1;         /* mobile: caja cuadrada */
  overflow:hidden;
  background:var(--bg2);
}
.post-media img{
  width:100%;height:100%;
  object-fit:cover;          /* recorta, nunca deforma */
  display:block;
}

.post-content{padding:44px 28px 80px}
.post-content .wrap{max-width:760px}

.post-content h1{
  font-family:'Archivo Black','Inter',sans-serif;
  text-transform:none;
  font-size:clamp(1.7rem,4vw,2.6rem);
  line-height:1.12;
  letter-spacing:.2px;
  margin-bottom:14px;
}
.post-meta{font-size:.85rem;color:var(--text-dim);letter-spacing:.4px;text-transform:uppercase;margin-bottom:32px}

@media(min-width:921px){
  .post-split{
    display:grid;
    grid-template-columns:minmax(320px,42%) 1fr;
    align-items:start;
  }
  .post-media{
    aspect-ratio:auto;       /* desktop: alto = viewport, no cuadrado */
    position:sticky;
    top:0;
    height:100vh;
  }
  .post-content{padding:120px 48px 100px}
}

/* imágenes incrustadas dentro del cuerpo (infografías, etc.) */
.post-body img{
  max-width:100%;
  display:block;
  margin:32px auto;
  border-radius:10px;
  border:1px solid var(--panel-border);
}

.post-body{font-size:1.05rem;color:var(--text)}
.post-body p{margin-bottom:22px}
.post-body h2{
  font-family:'Archivo Black','Inter',sans-serif;
  text-transform:uppercase;
  font-size:1.25rem;
  color:var(--green);
  margin:44px 0 16px;
  letter-spacing:.4px;
}
.post-body h3{
  font-family:'Inter',sans-serif;
  text-transform:none;
  font-weight:700;
  font-size:1.05rem;
  margin:32px 0 12px;
  color:var(--text);
}
.post-body ul,.post-body ol{margin:0 0 22px 22px}
.post-body li{margin-bottom:8px;color:var(--text-dim)}
.post-body blockquote{
  border-left:3px solid var(--orange);
  padding:4px 0 4px 20px;
  margin:28px 0;
  color:var(--text-dim);
  font-style:italic;
}
.post-body a{text-decoration:underline}
.post-body strong{color:var(--text)}

.post-footer{
  margin-top:56px;padding-top:28px;
  border-top:1px solid var(--panel-border);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
}
.tag-chip{
  display:inline-block;font-size:.76rem;letter-spacing:.5px;text-transform:uppercase;
  color:var(--teal);border:1px solid rgba(62,207,207,.4);
  padding:4px 10px;border-radius:20px;margin:0 8px 8px 0;
}
.back-link{font-size:.9rem;color:var(--text-dim)}
.back-link:hover{color:var(--green)}

/* --- toggle tarjetas / listado --- */
.view-toggle{
  display:flex;gap:16px;align-items:center;
  margin:28px 0 6px;
  font-size:.8rem;letter-spacing:.4px;text-transform:uppercase;
}
.view-toggle a{color:var(--text-dim)}
.view-toggle a:hover{color:var(--green)}
.view-toggle-active{color:var(--green);font-weight:700}

/* --- paginación (tarjetas y listado) --- */
.pagination{
  display:flex;align-items:center;justify-content:center;gap:22px;
  margin-top:48px;flex-wrap:wrap;
}
.pagination-status{font-size:.85rem;color:var(--text-dim)}

/* --- vista de listado compacta --- */
.post-list{list-style:none;margin:30px 0 0;padding:0}
.post-list-item{border-bottom:1px solid var(--panel-border)}
.post-list-item a{
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  padding:16px 4px;color:var(--text);
}
.post-list-item a:hover{color:var(--green)}
.post-list-date{
  font-size:.78rem;color:var(--text-dim);letter-spacing:.4px;text-transform:uppercase;
  min-width:130px;
}
.post-list-title{flex:1;font-weight:700;min-width:200px}
.post-list-tags{display:flex;gap:6px;flex-wrap:wrap}

@media(max-width:600px){
  .post-list-item a{flex-direction:column;align-items:flex-start;gap:6px}
  .post-list-date{min-width:0}
}
