/* Compact catalogue lists; all identity, eligibility and actions still come from the shared API. */
.catalogue-compact > .section { padding-block:1.4rem 2rem; }
.catalogue-compact .transaction-hero,.catalogue-compact .section--soft { padding-block:1.25rem; }
.catalogue-compact h1,.part-finder.catalogue-compact .transaction-hero h1 { font-size:clamp(1.65rem,2.6vw,2.2rem); line-height:1.18; margin:.2rem 0 .55rem; }
.catalogue-compact .eyebrow { margin:0 0 .25rem; font-size:.72rem; }
.catalogue-compact .hero-intro,.catalogue-compact .section--soft .hero-intro { font-size:1rem; line-height:1.5; margin:.4rem 0 .7rem; max-width:52rem; }
.finder-heading-layout { display:grid; align-items:center; gap:.65rem 2rem; }
.catalogue-compact .finder-search { margin:0; max-width:none; }
.catalogue-compact .finder-search > label { font-size:.9rem; margin-bottom:.3rem; }
.catalogue-compact .finder-search__row { flex-direction:row; gap:.5rem; }
.catalogue-compact .finder-search__row input { min-height:44px; padding:.6rem .7rem; width:100%; }
.catalogue-compact .finder-search__row .button { min-height:44px; padding:.55rem .8rem; width:auto; font-size:.9rem; }
.catalogue-compact .finder-rfq-link { margin-top:.5rem; font-size:.9rem; }
.catalogue-compact .catalogue-search-layout { gap:1rem; }
.catalogue-compact .finder-results-layout { grid-template-columns:minmax(16rem,18rem) minmax(0,1fr); gap:1.25rem; }
.catalogue-compact .finder-results-main { grid-column:2; grid-row:1; }
.catalogue-compact .finder-sidebar { grid-column:1; grid-row:1; }
.catalogue-compact .finder-sidebar { padding:.9rem; }
.catalogue-compact .finder-category-nav ul { max-height:14rem; }
.catalogue-compact .finder-category-trail { margin:.65rem 0; }
.catalogue-compact .finder-sidebar__header h2 { margin:0; font-size:1.05rem; }
.catalogue-compact .finder-category-nav { margin-top:.65rem; padding-top:.65rem; }
.catalogue-compact .shared-active-filters { gap:.4rem; margin:0 0 .65rem; }
.catalogue-compact .shared-active-filters a { padding:.4rem .6rem; font-size:.9rem; }
.finder-results-toolbar,.catalogue-compact .section-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1rem; margin:0 0 .8rem; }
.catalogue-compact #results-heading { margin:0; font-size:1.3rem; }
.catalogue-compact .catalogue-result-summary { margin:.25rem 0 0; font-size:.9rem; }
.catalogue-compact .catalogue-pagination { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin:1rem 0 0; font-size:.9rem; }
.catalogue-compact .finder-results-toolbar .catalogue-pagination,.catalogue-compact .section-heading .catalogue-pagination { margin:0; }
.catalogue-compact .catalogue-pagination a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:.35rem .65rem; border:1px solid var(--home-line); background:white; }
.catalogue-compact .parts-table { background:white; }
.catalogue-compact .parts-table th,.catalogue-compact .parts-table td { padding:.65rem .7rem; overflow-wrap:anywhere; vertical-align:top; }
.catalogue-compact .parts-table thead th:nth-child(1) { width:26%; }
.catalogue-compact .parts-table thead th:nth-child(2) { width:19%; }
.catalogue-compact .parts-table thead th:nth-child(3) { width:37%; }
.catalogue-compact .parts-table thead th:nth-child(4) { width:18%; }
.catalogue-compact .parts-table tbody th { font-size:1rem; line-height:1.45; }
.catalogue-compact .parts-manufacturer,.catalogue-compact .parts-description { font-size:.95rem; line-height:1.45; }
.parts-summary { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.parts-package { display:block; margin-top:.2rem; font-size:.85rem; color:var(--avant-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.catalogue-compact .parts-action .button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.5rem .65rem; font-size:.85rem; line-height:1.3; margin:0; white-space:normal; width:auto; text-align:center; }
.catalogue-compact .parts-action a+a { margin-top:.4rem; }
.catalogue-compact .taxonomy-shortcuts { gap:.25rem 1.25rem; font-size:.9rem; }
.catalogue-compact .taxonomy-shortcuts a { min-height:36px; }
.catalogue-compact .manufacturer-directory__heading { margin-bottom:.75rem; align-items:center; }
.catalogue-compact .manufacturer-directory__heading h2,.catalogue-compact .finder-browse h2 { font-size:1.35rem; margin:0; }
.catalogue-compact .manufacturer-directory__filter { max-width:35rem; margin-bottom:.6rem; }
.catalogue-compact .manufacturer-directory__filter input { min-height:44px; }
.catalogue-compact .manufacturer-directory__filter p { margin:.25rem 0 0; min-height:1.3rem; font-size:.85rem; }
.catalogue-compact .finder-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.catalogue-compact .finder-category-card { display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-height:52px; padding:.65rem .8rem; border-radius:4px; }
.catalogue-compact .finder-category-card__name { font-size:1rem; line-height:1.4; }
.catalogue-compact .finder-category-card__count { flex:0 0 auto; align-self:center; font-size:.8rem; }
.directory-letters { display:flex; flex-wrap:wrap; gap:.3rem; margin:0 0 1rem; }
.directory-letters button { min-width:40px; min-height:44px; border:1px solid var(--home-line); background:white; color:var(--home-ink); border-radius:3px; font:inherit; cursor:pointer; }
.directory-letters button[aria-pressed="true"] { background:var(--avant-action); color:var(--appearance-button-text,#fff); border-color:var(--avant-action); }
.directory-letters button:focus-visible { outline:3px solid var(--avant-action); outline-offset:2px; }
.category-directory__groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:1rem; }
.category-directory__group { min-width:0; border:1px solid var(--home-line); background:white; border-radius:4px; }
.category-directory__group > summary { display:flex; justify-content:space-between; align-items:center; gap:.7rem; padding:.8rem; min-height:52px; font-weight:700; cursor:pointer; }
.category-directory__group > summary::before { content:'+'; font-weight:700; width:1rem; flex:0 0 1rem; }
.category-directory__group[open] > summary::before { content:'−'; }
.category-directory__group > summary > span { flex:1; overflow-wrap:anywhere; }
.category-directory__group small { flex:0 0 auto; color:var(--avant-muted); font-size:.8rem; font-weight:400; }
.category-directory__body { padding:0 .8rem .6rem; border-top:1px solid var(--home-line); }
.category-directory__body ul { margin:0; padding:0; list-style:none; }
.category-directory__body a { display:flex; align-items:center; justify-content:space-between; gap:.6rem; min-height:44px; padding:.4rem 0; font-size:.9rem; text-decoration:none; }
.category-directory__body a:hover { text-decoration:underline; }
.category-directory__body a span { overflow-wrap:anywhere; }
.category-directory__all { font-weight:650; }
.category-directory__more > summary { cursor:pointer; padding:.6rem 0; min-height:44px; font-size:.9rem; text-decoration:underline; }
[data-catalogue-directory] [hidden] { display:none !important; }
.catalogue-loading-status.is-loading { position:sticky; top:.5rem; z-index:35; display:flex; align-items:center; gap:.75rem; max-width:32rem; margin:.5rem auto; padding:.65rem 1rem; border:1px solid var(--home-line); border-radius:4px; background:var(--avant-paper,#fff); color:var(--home-ink); box-shadow:0 2px 10px #0001; font-size:.95rem; }
.catalogue-loading-status.is-loading::before { content:''; width:3rem; height:.3rem; flex:0 0 3rem; border-radius:2px; background:linear-gradient(90deg,var(--avant-action) 30%,var(--home-line) 50%,var(--avant-action) 70%); background-size:200% 100%; animation:catalogue-loading 1s linear infinite; }
.catalogue-compact[aria-busy="true"] .taxonomy-results { opacity:.45; pointer-events:none; }
.catalogue-skeleton-slot[hidden],.catalogue-results-content[hidden] { display:none !important; }
.catalogue-parts-skeleton { table-layout:fixed; }
.catalogue-parts-skeleton .skeleton-line { margin:.25rem 0; }
.catalogue-parts-skeleton .catalogue-skeleton-action { width:100%; max-width:8rem; height:44px; }
.catalogue-parts-skeleton tbody tr { pointer-events:none; }
@keyframes catalogue-loading { to { background-position:-200% 0; } }
@media(prefers-reduced-motion:reduce) { .catalogue-loading-status.is-loading::before { animation:none; } }
@media(min-width:64.01rem) { .finder-heading-layout { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); } }
@media(min-width:48rem) {
 .catalogue-compact .parts-table { display:table; border:1px solid var(--home-line); width:100%; }
 .catalogue-compact .parts-table thead { display:table-header-group; position:static; width:auto; height:auto; overflow:visible; clip-path:none; }
 .catalogue-compact .parts-table tbody { display:table-row-group; }
 .catalogue-compact .parts-table tr { display:table-row; }
 .catalogue-compact .parts-table th,.catalogue-compact .parts-table td { display:table-cell; width:auto; margin:0; }
 .catalogue-compact .parts-table tbody tr { border:0; padding:0; }
 .catalogue-compact .mobile-cell-label { display:none; }
}
@media(max-width:64rem) {
 .catalogue-compact .finder-results-layout { display:block; }
 .catalogue-compact .finder-results-main,.catalogue-compact .finder-sidebar { grid-column:auto; grid-row:auto; }
 .category-directory__groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .catalogue-compact .finder-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:47.99rem) {
 .catalogue-compact > .section { padding-block:1rem 1.5rem; }
 .catalogue-compact .parts-table { display:block; border:0; background:transparent; }
 .catalogue-compact .parts-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .catalogue-compact .parts-table tbody { display:block; }
 .catalogue-compact .parts-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.2rem .6rem; border:1px solid var(--home-line); padding:.75rem; margin:0 0 .5rem; background:white; }
 .catalogue-compact .parts-table tbody th,.catalogue-compact .parts-table tbody td { display:block; width:auto; padding:0; border:0; margin:0; }
 .catalogue-compact .parts-table tbody th { grid-column:1; grid-row:1; }
 .catalogue-compact .parts-manufacturer { grid-column:1; grid-row:2; font-size:.9rem; }
 .catalogue-compact .parts-description { grid-column:1/-1; grid-row:3; font-size:.9rem; }
 .catalogue-compact .parts-action { grid-column:2; grid-row:1/3; align-self:start; }
 .catalogue-compact .parts-action .button { max-width:6.5rem; margin:0; }
 .catalogue-compact .parts-package { font-size:.8rem; }
 .catalogue-compact .mobile-cell-label { display:none; }
 .catalogue-compact .finder-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .catalogue-compact .finder-category-card { flex-wrap:wrap; padding:.6rem; gap:.15rem .4rem; }
 .catalogue-compact .finder-category-card__name { font-size:.95rem; }
 .catalogue-compact .finder-category-card__count { font-size:.8rem; }
 .category-directory__groups { grid-template-columns:1fr; gap:.5rem; }
 .catalogue-compact .manufacturer-directory__heading { flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:.5rem; }
}

.catalogue-loading-status.is-error { position:sticky; top:.5rem; z-index:35; max-width:38rem; margin:.5rem auto; background:var(--avant-surface,#fff); }
@media(min-width:80rem) { .catalogue-compact .manufacturer-directory__grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }

/* Remove editorial heading limits from a working catalogue, and keep the first results in view. */
.part-finder.catalogue-compact .transaction-hero { padding-block:.85rem; }
.part-finder.catalogue-compact .transaction-hero h1 { max-width:none; }
.part-finder--results.catalogue-compact .finder-heading-copy > .eyebrow { display:none; }
.catalogue-compact .finder-results-main,.catalogue-compact .taxonomy-results { scroll-margin-top:1rem; }

.finder-results-controls { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1rem; }
.catalogue-compact .finder-sort { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; margin:0; }
.catalogue-compact .finder-sort label { margin:0; font-size:.85rem; }
.catalogue-compact .finder-sort select { width:auto; min-width:10rem; min-height:44px; margin:0; padding:.4rem; font-size:.85rem; }
.catalogue-compact .finder-sort .button { min-height:44px; margin:0; padding:.4rem .6rem; font-size:.85rem; }
