/* =========================================================
   DIARIO, ARTÍCULO, PÁGINAS GENÉRICAS Y 404
   ========================================================= */

/* Rejilla de entradas (también la usa la home) */
.pa-posts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px 20px;
  padding: 0 var(--pa-gutter);
}
@media (min-width: 768px) { .pa-posts { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .pa-posts { grid-template-columns: repeat(3, 1fr); } }
.pa-post__link { display: block; }
.pa-post__media { display: block; aspect-ratio: 4 / 4.6; overflow: hidden; }
.pa-post__media img { transition: transform 1.4s var(--pa-ease-out), filter 0.6s; }
.pa-post__link:hover .pa-post__media img { transform: scale(1.05); }
.pa-post__date { display: block; margin-top: 22px; font-size: 15px; color: var(--pa-bone-3); }
.pa-post__title {
  margin: 10px 0 0;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.03em;
  text-transform: uppercase;
}

.pa-pagination { display: flex; justify-content: center; gap: 18px; margin-top: 80px; font-size: 16px; text-transform: uppercase; }
.pa-pagination .current { color: var(--pa-bone-3); }

/* Artículo */
.pa-article__head { padding: calc(var(--pa-header-h) + 140px) var(--pa-gutter) 80px; text-align: center; max-width: 1200px; margin: 0 auto; }
.pa-article__head .pa-h1 { font-size: clamp(44px, 6.4vw, 104px); }
.pa-article__media { margin: 0 var(--pa-gutter); aspect-ratio: 16 / 8; overflow: hidden; }
.pa-article__content { max-width: 720px; margin: 0 auto; padding: 96px var(--pa-gutter) 48px; }

/* Página genérica (legales, etc.) */
.pa-page__head { padding: calc(var(--pa-header-h) + 140px) var(--pa-gutter) 72px; text-align: center; }
.pa-page__head .pa-h1 { font-size: clamp(44px, 6vw, 96px); }
.pa-page__content { max-width: 760px; margin: 0 auto; padding: 0 var(--pa-gutter) 140px; font-size: 17px; }

/* 404 */
.pa-404 {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}
.pa-404__media { position: absolute; inset: 0; }
.pa-404__media::after { content: ""; position: absolute; inset: 0; background: rgba(14, 11, 9, 0.65); }
.pa-404__inner { position: relative; z-index: 2; padding: 140px var(--pa-gutter); display: grid; justify-items: center; gap: 0; }
.pa-404__inner .pa-lead { margin-bottom: 40px; }
