/* =============================================================================
   ZWF Pages — listing, pagination, detail-page furniture (Phase 7)
   Tokens only. Depends on tokens.css + layout.css + blocks.css (.zwf-card).
   ============================================================================= */

/* Detail header ----------------------------------------------------------------- */
.zwf-detail-header__meta { font-size: var(--zwf-text-sm); }
.zwf-detail-header__figure {
  max-width: var(--zwf-size-2xl);
  margin-inline: auto;
  padding-inline: var(--zwf-gutter);
}
.zwf-detail-header__figure img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--zwf-radius-lg); }

/* Card meta line (date / type) ------------------------------------------------- */
.zwf-card__meta {
  font-size: var(--zwf-text-xs);
  font-weight: var(--zwf-weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--zwf-tracking-wide);
  color: var(--zwf-color-ink-subtle);
}

/* Pagination ------------------------------------------------------------------- */
.zwf-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--zwf-space-sm);
  margin-top: var(--zwf-space-2xl);
  border-top: 1px solid var(--zwf-color-border);
  padding-top: var(--zwf-space-md);
}
.zwf-pagination__step {
  display: inline-flex;
  align-items: center;
  gap: var(--zwf-space-3xs);
  font-size: var(--zwf-text-sm);
  font-weight: var(--zwf-weight-semibold);
  text-decoration: none;
  color: var(--zwf-color-primary);
}
.zwf-pagination__step[aria-disabled="true"] { color: var(--zwf-color-ink-subtle); pointer-events: none; }
.zwf-pagination__step[rel="prev"] .zwf-icon { transform: rotate(180deg); }
.zwf-pagination__pages { display: flex; gap: var(--zwf-space-3xs); list-style: none; margin: 0; padding: 0; }
.zwf-pagination__pages a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 2.25rem;
  block-size: 2.25rem;
  border-radius: var(--zwf-radius-sm);
  font-size: var(--zwf-text-sm);
  text-decoration: none;
  color: var(--zwf-color-ink);
}
.zwf-pagination__pages a:hover { background: var(--zwf-color-surface); }
.zwf-pagination__pages a[aria-current="page"] {
  background: var(--zwf-color-primary);
  color: var(--zwf-color-primary-contrast);
  font-weight: var(--zwf-weight-semibold);
}

/* Fact list (project meta, product ref) -------------------------------------- */
.zwf-factlist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(10rem, 100%), 1fr));
  gap: var(--zwf-space-md);
  margin: 0;
  padding: var(--zwf-space-md);
  border: 1px solid var(--zwf-color-border);
  border-radius: var(--zwf-radius-lg);
  background: var(--zwf-color-surface);
}
.zwf-factlist dt { font-size: var(--zwf-text-xs); text-transform: uppercase; letter-spacing: var(--zwf-tracking-wide); color: var(--zwf-color-ink-muted); }
.zwf-factlist dd { margin: var(--zwf-space-3xs) 0 0; font-weight: var(--zwf-weight-semibold); }

/* Contact details --------------------------------------------------------------- */
.zwf-contact-details { display: grid; gap: var(--zwf-space-md); margin: 0; }
.zwf-contact-details dt { font-size: var(--zwf-text-xs); text-transform: uppercase; letter-spacing: var(--zwf-tracking-wide); color: var(--zwf-color-ink-muted); }
.zwf-contact-details dd { margin: var(--zwf-space-3xs) 0 0; }

/* Downloads list ------------------------------------------------------------------ */
.zwf-downloads { display: flex; flex-wrap: wrap; gap: var(--zwf-space-2xs); list-style: none; margin: var(--zwf-space-sm) 0 0; padding: 0; }

/* Tags ------------------------------------------------------------------------- */
.zwf-tags { display: flex; flex-wrap: wrap; gap: var(--zwf-space-2xs); }
.zwf-tag {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  font-size: var(--zwf-text-xs);
  border-radius: var(--zwf-radius-full);
  background: var(--zwf-color-surface-2);
  color: var(--zwf-color-ink-muted);
}
