/* Compact catalogue: scoped to archives and product search, not checkout. */
.shop-shell:has(.catalogue-layout) { padding-top: 1rem; gap: .65rem; }
.catalogue-layout .collection-hero {
  display: block;
  padding: .25rem 0 .75rem;
  margin-bottom: .5rem;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.catalogue-layout .collection-hero .eyebrow { display: none; }
.catalogue-layout .collection-hero__title { font-size: clamp(1.7rem, 3vw, 2.35rem); line-height: 1.15; }
.catalogue-layout .collection-hero__description { font-size: .95rem; }
.catalogue-layout .catalogue-toolbar { gap: .75rem; padding-bottom: .9rem; }
.catalogue-layout .catalogue-sidebar { gap: .75rem; }
.catalogue-layout .catalogue-sidebar__section { padding: .85rem; border-radius: 16px; box-shadow: none; }
.catalogue-layout .catalogue-sidebar__text { display: none; }
.catalogue-layout .catalogue-sidebar__title { font-size: 1.1rem; }
.catalogue-layout .catalogue-sidebar__eyebrow { margin-bottom: .25rem; }
.catalogue-layout .catalogue-sidebar__link { padding: .55rem .65rem; min-height: 44px; }
.catalogue-layout .catalogue-sidebar__select { padding: .65rem; min-height: 44px; border-radius: 10px; }
.catalogue-layout .catalogue-sidebar__select-wrap { gap: .4rem; }
.catalogue-layout .catalogue-sidebar__filter-form { gap: .9rem; }
.catalogue-layout ul.products { gap: .9rem; }
.catalogue-layout .dnb-product-card { padding: .7rem; gap: .6rem; border-radius: 16px; box-shadow: 0 4px 16px rgba(16,20,22,.04); }
.catalogue-layout .dnb-product-card__body { gap: .5rem; }
.catalogue-layout .dnb-product-card__badges { margin-bottom: 0; }
.catalogue-layout .dnb-product-card__media,
.catalogue-layout ul.products li.product a img { border-radius: 10px; }
.catalogue-price-fields { min-width: 0; margin: 0; padding: 0; border: 0; }
.catalogue-price-fields legend { padding: 0; margin-bottom: .5rem; font-size: .85rem; font-weight: 700; }
.catalogue-price-inputs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
.catalogue-price-inputs label { display: grid; gap: .35rem; font-size: .8rem; }
.catalogue-price-inputs input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; padding: .55rem; border: 1px solid #b7bdb9; border-radius: 10px; background: #fff; color: #101416; font: inherit; font-size: 1rem; }
.catalogue-price-presets { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.catalogue-price-presets a { display: inline-flex; align-items: center; gap: .25rem; min-height: 40px; padding: .35rem .5rem; border: 1px solid #c8cfca; border-radius: 8px; color: #173f36; background: #f0f6f2; font-size: .8rem; }
.catalogue-active-filters { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin: .25rem 0 .85rem; }
.catalogue-filter-chip { display: inline-flex; align-items: center; justify-content: space-between; gap: .65rem; min-height: 44px; padding: .45rem .8rem; border: 1px solid #b8cec5; border-radius: 999px; background: #e8f1ec; color: #173f36; font-size: .85rem; }
.catalogue-filter-chip span { font-size: 1.15rem; }
.catalogue-filter-clear { display: inline-flex; align-items: center; min-height: 44px; padding: .4rem; font-size: .85rem; text-decoration: underline; }
.catalogue-filter-chip:hover, .catalogue-price-presets a:hover { background: #d5e7dd; }
.catalogue-layout :is(a,select,input,button,summary):focus-visible { outline: 3px solid #17685b; outline-offset: 3px; }
@media (max-width: 760px) {
  .catalogue-layout { gap: .65rem; }
  .catalogue-layout ul.products { gap: .6rem; }
  .catalogue-layout .dnb-product-card { padding: .55rem; }
  .catalogue-layout .catalogue-toolbar { flex-wrap: wrap; }
  .catalogue-layout .catalogue-filter-toggle { margin-bottom: 0; }
}
