/* ============================================================================
   INCA content pages: prose, post listings, pagination.
   Loads with inca-base.css.
   ========================================================================== */

/* ── Prose ────────────────────────────────────────────────────────────────── */
.prose{max-width:820px;font-size:16.5px;line-height:1.7;color:var(--text-body)}
.prose > *{margin:0 0 1.1em}
.prose > *:last-child{margin-bottom:0}
.prose h2{font-family:var(--font-display);font-weight:800;font-size:clamp(1.35rem,2.2vw,1.8rem);
  line-height:1.2;letter-spacing:-.015em;color:var(--text-strong);margin:1.7em 0 .6em}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:var(--font-display);font-weight:700;font-size:clamp(1.1rem,1.7vw,1.35rem);
  color:var(--text-strong);margin:1.5em 0 .5em}
.prose a{color:var(--indigo-500);font-weight:600;text-decoration:underline;text-underline-offset:2px;
  word-break:break-word}
.prose a:hover{color:var(--indigo-700)}
.prose ul,.prose ol{padding-left:1.4em;display:flex;flex-direction:column;gap:.5em}
.prose li{line-height:1.65}
.prose strong{color:var(--text-strong);font-weight:700}
.prose img{border-radius:var(--radius-md);margin:1.4em 0}
.prose table{width:100%;border-collapse:collapse;font-size:15px}
.prose th,.prose td{border:1px solid var(--border-subtle);padding:10px 12px;text-align:left}
.prose th{background:var(--neutral-50);font-weight:700;color:var(--text-strong)}
/* WordPress file block (PDF embeds) */
.prose .wp-block-file{background:var(--surface-card);border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);padding:16px}
.prose .wp-block-file__embed{border-radius:var(--radius-sm);margin-bottom:12px}
.prose__embed{margin-top:28px}
.prose__embed iframe{border-radius:var(--radius-md);display:block;width:100%}

/* SWPM's members-only notice, so it does not look like a broken page. */
.prose .swpm-margin-top-10,.prose #swpm-login-form-wrapper{margin-top:1em}

/* ── Post listing ─────────────────────────────────────────────────────────── */
.post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.post-list--full{grid-template-columns:1fr;max-width:820px}
.post-card{display:flex;flex-direction:column;background:var(--surface-card);
  border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;
  transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard)}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--indigo-200)}
.post-card__media{aspect-ratio:16/9;overflow:hidden;background:var(--neutral-100)}
.post-card__media img{width:100%;height:100%;object-fit:cover}
.post-card__body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.post-card__date{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-600)}
.post-card__title{font-family:var(--font-display);font-weight:700;font-size:17px;line-height:1.3;color:var(--text-strong)}
.post-card__excerpt{font-size:14.5px;line-height:1.6;color:var(--text-body);flex:1}
.post-card__more{font-weight:700;font-size:13.5px;color:var(--indigo-500)}
.post-full{padding-bottom:8px}
.post-full__title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.4rem,2.3vw,1.9rem);
  color:var(--text-strong);margin-bottom:14px}

/* ── Pagination ───────────────────────────────────────────────────────────── */
.pager{display:flex;justify-content:center;margin-top:36px}
.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;
  padding:0 12px;margin:0 3px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);
  background:var(--surface-card);color:var(--text-body);text-decoration:none;
  font-family:var(--font-display);font-weight:600;font-size:14.5px}
.pager .page-numbers:hover{border-color:var(--indigo-200);color:var(--indigo-600)}
.pager .page-numbers.current{background:var(--indigo-500);border-color:var(--indigo-500);color:#fff}
.pager .page-numbers.dots{border:none;background:transparent}

@media (max-width:1024px){ .post-list{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){
  .post-list{grid-template-columns:1fr}
  .pager .page-numbers{min-width:36px;height:36px;padding:0 9px;font-size:13.5px}
}
