/* ─── Post-side templates: cards, archive/search lists, pagination, single,
   search form, empty state, 404. Loaded on every view except pages and the
   homepage (includes/assets.php). Reuses the shared .page-hero, .card, .tag,
   .btn, .sec and .photo styles. ────────────────────────────────────────── */

.posts-list{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(16px,2vw,28px)}
@media (min-width:640px){.posts-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:992px){.posts-list{grid-template-columns:repeat(3,minmax(0,1fr))}}

.news-card{display:flex;flex-direction:column;padding:0;overflow:hidden}
.news-card__media{position:relative;aspect-ratio:16/10;background:var(--paper-2);overflow:hidden}
.news-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.news-card:hover .news-card__media img{transform:scale(1.04)}
.news-card__tag{position:absolute;left:14px;top:14px;box-shadow:var(--shadow)}
.news-card__body{display:flex;flex-direction:column;gap:10px;padding:22px 24px 24px;flex:1}
.news-card__eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--coral-ink)}
.news-card__title{margin:0;font-size:1.25rem}
.news-card__title a:hover{color:var(--coral-ink)}
.news-card__excerpt{margin:0;color:var(--muted);font-size:.94rem}
.news-card__meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:6px;font-size:.84rem;color:var(--muted)}
.news-card__go{font-weight:600;color:var(--ink)}

.pagination{margin-top:clamp(28px,4vw,48px)}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 16px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 2px var(--line);font-weight:600;transition:box-shadow .2s,background .2s}
.pagination a.page-numbers:hover{box-shadow:inset 0 0 0 2px var(--lantern);color:var(--ink)}
.pagination .page-numbers.current{background:var(--ink);color:var(--paper);box-shadow:none}
.pagination .dots{background:none;box-shadow:none}

.search-form{display:flex;flex-wrap:wrap;gap:10px;max-width:560px;margin:24px 0}
.text-center .search-form{margin-left:auto;margin-right:auto}
.search-form__input{flex:1 1 220px;min-width:0;font:inherit;color:var(--ink);background:var(--card);border:2px solid var(--line);border-radius:999px;padding:12px 18px;transition:border-color .2s,box-shadow .2s}
.search-form__input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px color-mix(in srgb, var(--lantern) 45%, transparent)}
.hl-text{background:linear-gradient(transparent 62%,var(--lantern) 62% 92%,transparent 92%)}

.no-results{max-width:560px}
.no-results .search-form{margin:20px 0 0}

.not-found .onair{width:120px;margin:0 auto 16px}
.not-found .lede{margin-left:auto;margin-right:auto}

.single__head{max-width:860px}
.single__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:18px 0 0;color:var(--muted);font-size:.92rem}
.single__image-wrap{max-width:1200px}
.single__image{aspect-ratio:16/9;width:100%}
.single__body{max-width:780px}
.prose{font-size:1.06rem}
.prose>*+*{margin-top:1.1em}
.prose h2,.prose h3{margin-top:1.8em}
.prose img{height:auto;border-radius:var(--r-s)}
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:4px solid var(--lantern);color:var(--muted);font-size:1.12rem}
.single__categories{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:2em}
