/* Blog: compone las clases del sistema EO (.card, .wrap, .sect, .page-hero).
   Solo agrega lo que el HTML de referencia no cubria, porque no traia blog. */

.post-grid{align-items:stretch}
.post-grid .card{display:flex;flex-direction:column}
/* WordPress emite width/height en el <img>; sin height:auto ese atributo gana
   y anula el aspect-ratio, dejando tarjetas de alturas dispares. */
.post-grid .card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.post-grid .card .pad{display:flex;flex-direction:column;gap:6px;flex:1}
.post-grid .card h3{margin:6px 0 4px;line-height:1.22}
.post-grid .card h3 a{color:var(--ink)}
.post-grid .card h3 a:hover{color:var(--moss)}
.post-grid .card p{margin:0}
.card-media{display:block;overflow:hidden}
.card-media img{display:block;transition:transform .7s var(--ease)}
.card:hover .card-media img{transform:scale(1.04)}
.card-media-empty{display:block;width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,var(--mist),var(--sage))}
.post-meta{margin-top:auto;padding-top:12px;font-family:var(--ff-label);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(20,34,25,.55)}

/* Cuerpo del articulo */
.post-body{max-width:74ch;margin-inline:auto}
.post-body>*+*{margin-top:1.1em}
.post-body h2{font-family:var(--ff-display);font-weight:400;font-size:clamp(27px,3vw,40px);line-height:1.14;margin-top:1.9em}
.post-body h3{font-family:var(--ff-display);font-weight:400;font-size:clamp(21px,2.2vw,29px);line-height:1.2;margin-top:1.6em}
.post-body h4{font-family:var(--ff-label);font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin-top:1.5em}
.post-body p,.post-body li{font-size:17px;line-height:1.72;color:rgba(20,34,25,.82)}
.post-body a{color:var(--moss);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.post-body a:hover{color:var(--forest)}
.post-body strong{color:var(--ink);font-weight:600}
.post-body ul,.post-body ol{padding-left:1.15em;display:grid;gap:9px}
.post-body ul li{list-style:none;position:relative;padding-left:4px}
.post-body ul li::before{content:"+";position:absolute;left:-1.15em;color:var(--fern);font-family:var(--ff-label);font-weight:600}
.post-body ol li{list-style:decimal}
.post-body img{max-width:100%;height:auto;border-radius:18px;display:block}
.post-body figure{margin-inline:0}
.post-body figcaption{font-family:var(--ff-label);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(20,34,25,.55);margin-top:10px}
.post-body blockquote{border-left:2px solid var(--fern);padding:4px 0 4px 26px;font-family:var(--ff-display);font-size:clamp(20px,2.2vw,27px);line-height:1.35;color:var(--forest)}
.post-body blockquote p{font-size:inherit;line-height:inherit;color:inherit}
.post-body table{width:100%;border-collapse:collapse;font-size:15px;display:block;overflow-x:auto}
.post-body th,.post-body td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}
.post-body th{font-family:var(--ff-label);font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:var(--mist)}
.post-body hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.post-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:var(--mist);padding:2px 6px;border-radius:6px}

.post-tags{max-width:74ch;margin:34px auto 0;display:flex;flex-wrap:wrap;gap:10px}
.post-cta{max-width:74ch;margin:34px auto 0;display:flex;flex-wrap:wrap;gap:14px}

/* Paginacion */
.pagination{margin-top:clamp(40px,5vw,72px);display:flex;justify-content:center}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;font-family:var(--ff-label);font-size:13px;letter-spacing:.06em;color:var(--ink);transition:background .3s,color .3s,border-color .3s}
.pagination .page-numbers:hover{background:var(--mist);border-color:var(--fern)}
.pagination .page-numbers.current{background:var(--forest);border-color:var(--forest);color:var(--mint)}
.pagination .page-numbers.dots{border-color:transparent}
.pagination .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

@media (max-width:900px){
  .post-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .post-grid{grid-template-columns:1fr}
  .post-body p,.post-body li{font-size:16px}
}
