/* ═══════════════════════════════════════════════════════════════
   LAWRYSE — ARCHIVE PAGES (W2b)

   Practice-area and format listings, search results, and the date/author
   fallbacks. Loaded alongside home.css, which carries the shared card, grid
   and section system these pages reuse.

   No colour, size or spacing literals: everything comes from the tokens in
   style.css, so a brand revision stays a one-file change (MASTER §24.1).
   ═══════════════════════════════════════════════════════════════ */

/* ── Page head ───────────────────────────────────────────────────── */

.lw-archive__head {
  padding-bottom: var(--lw-s5);
  margin-bottom: var(--lw-s6);
  border-bottom: 3px solid var(--lw-ink);
}

/* Red as an accent mark, not a background block (Alice, 2026-07-31). */
.lw-archive__kicker {
  display: block;
  margin-bottom: var(--lw-s2);
  font-size: var(--lw-fs-xs);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lw-red);
}

.lw-archive__title {
  margin: 0;
  font-size: var(--lw-fs-2xl);
  line-height: var(--lw-lh-tight);
  letter-spacing: -0.02em;
}

.lw-archive__standfirst {
  max-width: 46rem;   /* same measure as the article body */
  margin: var(--lw-s3) 0 0;
  font-size: var(--lw-fs-md);
  line-height: var(--lw-lh-snug);
  color: var(--lw-body);
}

.lw-archive__count {
  margin: var(--lw-s3) 0 0;
  font-size: var(--lw-fs-xs);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--lw-muted);
}

/* ── Format chip row (§12.5.2 — format drives the public nav) ─────── */

.lw-archive__nav {
  margin-bottom: var(--lw-s6);
}

.lw-archive__nav ul,
.lw-archive__empty-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--lw-s2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.lw-archive__nav-chip {
  display: inline-block;
  padding: var(--lw-s2) var(--lw-s4);
  border: 1px solid var(--lw-border);
  border-radius: 999px;
  font-size: var(--lw-fs-sm);
  font-weight: 500;
  color: var(--lw-body);
  background: var(--lw-canvas);
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.lw-archive__nav-chip:hover,
.lw-archive__nav-chip:focus-visible {
  border-color: var(--lw-red);
  color: var(--lw-red);
  background: var(--lw-pink-soft);
}

.lw-archive__nav-chip.is-current {
  border-color: var(--lw-ink);
  background: var(--lw-ink);
  color: #fff;
}

/* ── Lead article (§11.8 Category Lead) ──────────────────────────── */

.lw-archive__lead {
  margin-bottom: var(--lw-s6);
  padding-bottom: var(--lw-s6);
  border-bottom: 1px solid var(--lw-border);
}

/* The lead uses card size 1 (.lw-card--hero). On an archive it gets the full
   column rather than the homepage's narrower slot, so the image is allowed a
   wider aspect than the 16:9 card crop would give it. */
.lw-archive__lead .lw-card--hero .lw-card__media {
  aspect-ratio: 21 / 9;
}

@media (max-width: 560px) {
  .lw-archive__lead .lw-card--hero .lw-card__media {
    aspect-ratio: 16 / 9;
  }
}

/* ── Empty state ─────────────────────────────────────────────────── */

.lw-archive__empty {
  padding: var(--lw-s7) var(--lw-s5);
  text-align: center;
  background: var(--lw-canvas-alt);
  border-radius: var(--lw-radius);
}

.lw-archive__empty-lede {
  margin: 0 0 var(--lw-s2);
  font-family: var(--lw-font-head);
  font-size: var(--lw-fs-lg);
  font-weight: 600;
  color: var(--lw-ink);
}

.lw-archive__empty-note {
  margin: 0 0 var(--lw-s5);
  font-size: var(--lw-fs-sm);
  color: var(--lw-muted);
}

.lw-archive__empty-chips {
  justify-content: center;
}

/* ── Pagination ──────────────────────────────────────────────────── */

.lw-pagination {
  margin-top: var(--lw-s7);
  padding-top: var(--lw-s5);
  border-top: 1px solid var(--lw-border);
}

.lw-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--lw-s2);
}

.lw-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  padding: var(--lw-s2) var(--lw-s3);
  border: 1px solid var(--lw-border);
  border-radius: var(--lw-radius-sm);
  font-size: var(--lw-fs-sm);
  font-weight: 500;
  color: var(--lw-body);
  transition: border-color 0.15s ease, color 0.15s ease;
}

.lw-pagination .page-numbers:hover,
.lw-pagination .page-numbers:focus-visible {
  border-color: var(--lw-red);
  color: var(--lw-red);
}

.lw-pagination .page-numbers.current {
  background: var(--lw-red);
  border-color: var(--lw-red);
  color: #fff;
}

.lw-pagination .page-numbers.dots {
  border-color: transparent;
  color: var(--lw-muted);
}

/* Astra renders its own heading above the pagination list. */
.lw-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;
}
