/* ==========================================================================
   Page: catalog lists  (site/measures/index, site/partners/index)
   --------------------------------------------------------------------------
   .cat-count   big thin number + label in the page header
   .cat-jump    group chips (accent dot + name)
   .cat-group   a group band: dot · title · count · 7-line rule, then .cat-grid
   .logo-wall   partner tiles: muted logo (colour on hover) + name
   ========================================================================== */

.cat-count { flex-basis: 100%; display: flex; align-items: baseline; gap: var(--space-3); color: var(--ink-soft); }
.cat-count__num { font-family: var(--font-display); font-weight: 200; font-size: clamp(2.5rem, 2rem + 2vw, 3.5rem); line-height: 1; color: var(--ink); }

.cat-jump { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.cat-jump__chip {
    display: inline-flex; align-items: center; gap: var(--space-2);
    min-height: 44px; padding: 0.5em 1.2em;
    border: 1px solid var(--line-strong); border-radius: var(--r-pill);
    background: var(--card); color: var(--ink);
    font-size: var(--fs-sm); font-weight: 500; text-decoration: none;
    transition: border-color var(--dur) var(--ease-out);
}
.cat-jump__chip:hover { color: var(--ink); border-color: var(--ink); }

.cat-group { scroll-margin-top: var(--header-h); }
.cat-group__head { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-8); }
.cat-group__title { font-size: var(--fs-2xl); }
.cat-group__count { color: var(--ink-faint); font-size: var(--fs-sm); white-space: nowrap; }
.cat-group__rule { flex: 1; min-width: 40px; }

.cat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }

/* ── Partner logo wall ───────────────────────────────────────────────────── */
.logo-wall { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-4); }
.logo-tile {
    display: flex; flex-direction: column; align-items: center; gap: var(--space-4);
    height: 100%; padding: var(--space-6) var(--space-4) var(--space-5);
    border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--card);
    color: var(--ink); text-align: center; text-decoration: none;
    transition: border-color var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);
}
a.logo-tile:hover { color: var(--ink); }
.logo-tile:hover { border-color: var(--ink); }
.logo-tile__logo { display: grid; place-items: center; width: 100%; height: 96px; }
.logo-tile__logo img { max-width: 88%; max-height: 96px; object-fit: contain; filter: grayscale(1); opacity: 0.75; transition: filter var(--dur-slow) var(--ease-out), opacity var(--dur-slow) var(--ease-out); }
.logo-tile:hover .logo-tile__logo img { filter: none; opacity: 1; }
.logo-tile__name { margin-top: auto; color: var(--ink-soft); font-size: var(--fs-xs); line-height: 1.6; }

@media (max-width: 1199.98px) { .logo-wall { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 991.98px)  { .cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .logo-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 575.98px)  {
    .cat-grid { grid-template-columns: 1fr; }
    .logo-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
    .cat-group__rule { display: none; }
    .logo-tile__logo { height: 72px; }
    .logo-tile__logo img { max-height: 72px; filter: none; opacity: 1; }   /* no hover on touch: show colour */
}
