/* ── Generic page (page.php) ─────────────────────────────────────────────── */
.page-main {
  padding: 80px var(--padding-page) var(--section-gap);
  max-width: var(--prose-max-width);
  margin: 0 auto;
  min-height: 50vh;
}

.page-title {
  font-family: var(--font-serif);
  font-size: var(--text-page-title);
  font-weight: 400;
  margin-bottom: 32px;
  color: var(--ink);
}

.page-content {
  font-size: 16px;
  line-height: 1.8;
  color: var(--ink-soft);
}

/* ── Single post (single.php) ────────────────────────────────────────────── */
.post-main {
  padding: 80px var(--padding-page) var(--section-gap);
  max-width: var(--prose-max-width);
  margin: 0 auto;
  min-height: 50vh;
}

.post-title {
  font-family: var(--font-serif);
  font-size: var(--text-page-title);
  font-weight: 400;
  margin-bottom: 16px;
  color: var(--ink);
}

.post-date {
  font-size: 13px;
  color: var(--ink-soft);
  margin-bottom: 40px;
  letter-spacing: 1px;
}

.post-thumbnail {
  margin-bottom: 40px;
}

.post-thumbnail img {
  width: 100%;
  height: auto;
  display: block;
}

.entry-content {
  font-size: 16px;
  line-height: 1.8;
  color: var(--ink-soft);
}

/* ── Archive (archive.php) ───────────────────────────────────────────────── */
.archive-main {
  padding: 80px var(--padding-page) var(--section-gap);
  min-height: 50vh;
}

.archive-title {
  font-family: var(--font-serif);
  font-size: 52px;
  font-weight: 400;
  margin-bottom: 48px;
  color: var(--ink);
}

.archive-entry {
  margin-bottom: 48px;
  padding-bottom: 48px;
  border-bottom: var(--border-fine);
}

.archive-entry:last-of-type {
  border-bottom: none;
}

.archive-entry-title {
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 400;
  margin-bottom: 8px;
}

.archive-entry-title a {
  color: var(--ink);
  text-decoration: none;
  transition: color var(--transition);
}

.archive-entry-title a:hover {
  color: var(--bordeaux);
}

.archive-entry-date {
  font-size: 13px;
  color: var(--ink-soft);
  margin-bottom: 16px;
}

/* ── 404 (404.php) ───────────────────────────────────────────────────────── */
.error-404 {
  padding: 120px var(--padding-page);
  text-align: center;
  min-height: 60vh;
}

.error-404-code {
  font-family: var(--font-serif);
  font-size: 80px;
  font-weight: 300;
  color: var(--bordeaux);
  font-style: italic;
  margin-bottom: 24px;
}

.error-404-text {
  font-size: 18px;
  color: var(--ink-soft);
  margin-bottom: 40px;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .error-404 {
    padding: var(--section-gap-mobile) var(--padding-mobile);
  }

  .page-main,
  .post-main {
    padding: var(--section-gap-mobile) var(--padding-mobile);
  }

  .archive-main {
    padding: var(--section-gap-mobile) var(--padding-mobile);
  }

  .page-title,
  .post-title {
    font-size: var(--text-page-title-md);
  }

  .archive-title {
    font-size: 32px;
  }
}
