/* Catalogue (T2): Shop and research-class archives. Tokens only. */
.soho-catalogue { padding-top: clamp(24px, 3vw, 48px); padding-bottom: clamp(96px, 11vw, 160px); }
@media (min-width: 1024px) {   /* D87: title left, introduction and count right, so the first row of products shows on a laptop screen */
  .soho-catalogue .soho-page-head { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 46ch); align-items: end; column-gap: 48px; margin-bottom: 28px; }
  .soho-catalogue .soho-page-head .soho-eyebrow { grid-column: 1 / -1; }
  .soho-catalogue .soho-page-head .soho-h2 { margin: 0; }
  .soho-catalogue .soho-page-head .soho-lead { margin: 0; font-size: 17px; }
  .soho-catalogue .soho-page-head .soho-filters__count { grid-column: 2; margin: 6px 0 0; }
}
.soho-page-head { max-width: 72ch; margin-bottom: clamp(32px, 4vw, 56px); }
.soho-page-head .soho-h2 { font-size: clamp(2.6rem, 5vw, 5rem); }
.soho-filters { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; padding: 16px 0; border-top: 1px solid var(--soho-color-plaster); border-bottom: 1px solid var(--soho-color-plaster); margin-bottom: 40px; }
.soho-filters__classes { display: flex; gap: 20px; flex-wrap: wrap; font-size: 13px; font-weight: 500; }
.soho-filters__classes a { display: inline-flex; align-items: center; min-height: 44px; }
.soho-filters__classes .soho-dot { width: 7px; height: 7px; }
.soho-filters__sort { display: flex; gap: 16px; align-items: center; font-size: 13px; font-weight: 500; }
.soho-filters__sort a[aria-current="true"] { color: var(--soho-color-red); }
.soho-products--catalogue { row-gap: 48px; }
.soho-ruo-note { margin-top: clamp(48px, 6vw, 96px); padding-top: 24px; border-top: 1px solid var(--soho-color-plaster); max-width: 68ch; }
.soho-ruo-note a { color: var(--soho-color-iron); border-bottom: 1px solid var(--soho-color-plaster); }
.pagination.navigation { margin-top: 56px; }
.pagination .nav-links { display: flex; gap: 8px; justify-content: center; }
.pagination .page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--soho-color-plaster); font: 500 13px var(--soho-font-mono); }
.pagination .page-numbers.current { background: var(--soho-color-iron); color: var(--soho-color-gallery); border-color: var(--soho-color-iron); }
.pagination .page-numbers:hover { border-color: var(--soho-color-iron); }
.pagination .screen-reader-text { position: absolute; left: -9999px; }
@media (max-width: 767px) { .soho-filters { align-items: flex-start; } .soho-products--catalogue { row-gap: 32px; } }
