/*
 * Blog family only: the article page, the record list, the search and not-found states.
 * Colours, radii, spacing and type all come from tokens.css; shared .card/.page-head/.prose
 * classes are reused rather than re-styled.
 */

/* ---------- article head + meta line ---------- */
.post__head h1{max-width:26ch}
.post__head .lede{margin-bottom:0}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--s2);margin-top:var(--s3);font-size:var(--text-label);color:var(--color-slate);font-variant-numeric:tabular-nums}
.post-meta__date,.post-meta__reading{white-space:nowrap}
.post-meta__cats{display:inline-flex;flex-wrap:wrap;gap:4px}
.post-meta__cat{color:var(--color-slate);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--color-steel)}
.post-meta__cat:hover{color:var(--color-navy);text-decoration-color:var(--color-amber)}

/* ---------- article figure and body ---------- */
.post__figure{margin:0;padding-block:var(--s4);background:var(--color-paper)}
.post__figure img{width:100%;border:var(--border-default);border-radius:var(--radius-md);background:var(--color-white)}
.post__figure .media-caption{margin-top:var(--s1)}

/* ---------- previous / next ---------- */
.post-nav{padding-bottom:var(--s6)}
.post-nav__links{display:grid;gap:var(--s2);border-top:var(--border-default);padding-top:var(--s3)}
@media(min-width:760px){.post-nav__links{grid-template-columns:1fr 1fr}}
.post-nav__item{display:grid;gap:4px;padding:var(--s2) var(--s3);border:var(--border-default);border-radius:var(--radius-sm);background:var(--color-white);transition:border-color var(--transition-fast)}
.post-nav__item:hover{border-color:var(--color-navy);color:inherit}
.post-nav__label{font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--color-slate)}
.post-nav__title{font-weight:600;color:var(--color-navy);line-height:1.35}
.post-nav__item--next{text-align:right}
@media(min-width:760px){.post-nav__item--next{grid-column:2}}

/* ---------- list head, cards ---------- */
.list-head__count{margin:calc(var(--s1) * -1) 0 var(--s2)}
.list-head__desc{margin-bottom:0}
.list-head__desc p{margin-bottom:var(--s1)}
.list-head__search{margin-top:var(--s3);max-width:520px}
.list-grid{align-items:start}
.post-card__media-link{display:block;width:100%;height:100%}
.post-card__title{font-size:1.0625rem;font-weight:600;line-height:1.35;margin:0;letter-spacing:-.01em}
.post-card__title a{color:var(--color-ink)}
.post-card__title a:hover{color:var(--color-navy)}
.post-card__placeholder{position:relative;width:40px;height:40px;border:1px solid var(--color-steel);border-radius:4px;background:var(--color-paper)}
.post-card__placeholder::before{content:"";position:absolute;left:9px;right:9px;top:14px;height:1px;background:var(--color-slate);box-shadow:0 6px 0 var(--color-slate)}

/* ---------- pagination (the_posts_pagination output) ---------- */
.pagination{margin-top:var(--s5)}
.pagination .nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1);font-variant-numeric:tabular-nums}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0 12px;border:var(--border-default);border-radius:var(--radius-control);background:var(--color-white);color:var(--color-ink);font-size:.9375rem;font-weight:500;line-height:1;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}
.pagination a.page-numbers:hover{border-color:var(--color-navy);color:var(--color-navy)}
.pagination .page-numbers.current{background:var(--color-navy);border-color:var(--color-navy);color:#fff;font-weight:600}
.pagination .page-numbers.dots{background:none;border-color:transparent;min-width:24px}
.pagination .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- the native search form ---------- */
.search-form{display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--s1)}
.search-form label{flex:1 1 220px;min-width:0;display:block}
.search-form .search-field{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--color-steel);border-radius:var(--radius-control);background:var(--color-white);font:inherit;font-size:1rem;color:var(--color-ink);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}
.search-form .search-field:focus{outline:none;border-color:var(--color-navy);box-shadow:0 0 0 2px rgba(13,32,41,.18)}
.search-form .search-submit{min-height:46px;padding:11px 20px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--color-amber);color:var(--color-navy);font-weight:600;font-size:1rem;line-height:1.2;cursor:pointer;transition:background var(--transition-fast)}
.search-form .search-submit:hover{background:var(--color-amber-hover)}
.search-form .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- empty list ---------- */
.list-empty{display:grid;gap:var(--s3);max-width:640px;padding:var(--s4);border:var(--border-default);border-left:2px solid var(--color-amber);border-radius:var(--radius-sm);background:var(--color-white)}
.list-empty__text{margin:0;color:var(--color-slate);max-width:60ch}

/* ---------- not found ---------- */
.not-found__search{max-width:520px;margin-top:var(--s2)}
.not-found__links{list-style:none;margin:0;padding:0;display:grid;gap:var(--s1)}
.not-found__links a{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:12px var(--s3);border:var(--border-default);border-radius:var(--radius-sm);background:var(--color-white);transition:border-color var(--transition-fast)}
.not-found__links a:hover{border-color:var(--color-navy)}
.not-found__links a::after{content:"\2192";color:var(--color-amber-hover);font-weight:600}
.not-found__title{font-weight:600;color:var(--color-navy)}

/* ---------- motion ---------- */
@media(prefers-reduced-motion:reduce){
  .post-nav__item,.pagination .page-numbers,.search-form .search-field,.search-form .search-submit,.not-found__links a{transition:none}
}
