/* Catalog landing pages (/catalog/...) — built on the site's tokens in style.css */
.catalog-landing-page h1 { font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; margin: 0 0 var(--space-4); }
.cl-lede { font-size: var(--text-lg, 1.125rem); color: var(--color-text); max-width: 62ch; }
.cl-hero p { max-width: 70ch; color: var(--color-text-muted); }
.cl-hero .cl-lede { color: var(--color-text); }
.cl-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--space-8, 2rem); align-items: start; }
.cl-summary { padding: var(--space-6, 1.5rem); }
.cl-summary dl { display: grid; gap: var(--space-3); margin: var(--space-4) 0 0; }
.cl-summary dt { font-size: var(--text-xs, .75rem); text-transform: uppercase; letter-spacing: .06em; color: var(--color-text-muted); font-weight: 700; }
.cl-summary dd { margin: 0; }
.cl-count { font-family: var(--font-display); font-size: 2.75rem; font-weight: 800; line-height: 1; margin: var(--space-2) 0 0; color: var(--color-primary); }
.cl-refine { display: grid; gap: var(--space-5); }
.cl-chip-group h2 { font-size: var(--text-base, 1rem); margin: 0 0 var(--space-2); }
.cl-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.cl-chips a { display: inline-flex; align-items: center; gap: .4em; padding: .4em .8em; border: 1px solid var(--tile-border-strong); border-radius: var(--radius-full); background: var(--tile-bg); color: var(--color-text); font-weight: 600; font-size: var(--text-sm, .875rem); text-decoration: none; }
.cl-chips a:hover { border-color: var(--color-primary); color: var(--color-primary); }
.cl-chips small, .cl-dir-card small, .cl-table-title small { color: var(--color-text-muted); font-weight: 500; }
.cl-table-title { font-size: var(--text-xl, 1.25rem); margin: 0 0 var(--space-3); }
.cl-table-wrap { overflow-x: auto; border: 1px solid var(--tile-border); border-radius: var(--radius-lg); background: var(--tile-bg); }
.cl-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm, .875rem); }
.cl-table th, .cl-table td { padding: .55rem .75rem; text-align: left; border-bottom: 1px solid var(--tile-border); vertical-align: top; }
.cl-table thead th { position: sticky; top: 0; background: var(--color-surface-2, var(--color-surface)); font-size: var(--text-xs, .75rem); text-transform: uppercase; letter-spacing: .05em; color: var(--color-text-muted); }
.cl-table tbody tr:hover { background: var(--tile-hover); }
.cl-table td small { display: block; color: var(--color-text-muted); }
.cl-table td a { font-weight: 700; white-space: nowrap; }
.cl-num { text-align: right !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cl-add { padding: .3em .8em; font-size: var(--text-xs, .75rem); min-height: 0; }
.cl-more, .cl-notice { margin-top: var(--space-4); color: var(--color-text-muted); }
.cl-notice { padding: var(--space-3) var(--space-4); border-left: 3px solid var(--color-warning); background: var(--tile-bg); }
.cl-dir-group { margin-top: var(--space-8, 2rem); }
.cl-dir-group h2 { font-size: var(--text-xl, 1.25rem); }
.cl-dir-group h2 a { color: inherit; }
.cl-dir-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-4); }
.cl-dir-card { padding: var(--space-4) var(--space-5); border: 1px solid var(--tile-border); border-radius: var(--radius-lg); background: var(--tile-bg); }
.cl-dir-card h3 { font-size: var(--text-base, 1rem); margin: 0 0 var(--space-2); }
.cl-dir-card ul { margin: 0; padding-left: 1.1em; columns: 2; column-gap: 1.25em; font-size: var(--text-sm, .875rem); }
.cl-dir-card li { break-inside: avoid; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 820px) {
  .cl-hero-grid { grid-template-columns: 1fr; }
  .cl-table th:nth-child(4), .cl-table td:nth-child(4), .cl-table th:nth-child(5), .cl-table td:nth-child(5) { display: none; }
}
.cl-crumbs { padding-bottom: 0; }
.cl-crumbs + section { padding-top: var(--space-4, 1rem); }
.catalog-landing-page .breadcrumbs { flex-wrap: wrap; row-gap: 4px; margin-bottom: 0; }
.catalog-landing-page .breadcrumbs span:last-child { white-space: normal; }
.catalog-landing-page h1 { max-width: none; }
.cl-summary { border: 1px solid var(--tile-border-strong, var(--color-border)); border-radius: var(--radius-lg); background: var(--tile-bg, var(--color-surface)); box-shadow: var(--shadow-sm, none); }
.cl-summary-label { margin: 0; font-size: var(--text-xs, .75rem); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: var(--color-text-muted); }
@media (max-width: 860px) { .cl-hero-grid { grid-template-columns: minmax(0, 1fr); } }
