.catalog-facet__options{max-height:250px;overflow-y:auto;overscroll-behavior-y:auto;scrollbar-width:thin;padding-right:6px}
.catalog-facet__options>label{display:grid;grid-template-columns:17px minmax(0,1fr) max-content;align-items:center;gap:10px;min-height:36px;padding:5px 0;color:#30383d;font-size:14px;line-height:1.4;cursor:pointer}
.catalog-facet__options>label[hidden]{display:none}
.catalog-facet__options input[type="checkbox"]{margin:0;width:17px;height:17px}
.catalog-facet__label{min-width:0;overflow-wrap:anywhere}
.catalog-facet__options>label.catalog-facet__colour{grid-template-columns:17px 18px minmax(0,1fr);gap:9px}
.catalog-facet__colour>span:last-child{min-width:0;overflow-wrap:anywhere}
.catalog-facet__swatch{display:block;width:18px;height:18px;border:1px solid #cbd0d3;border-radius:50%;box-shadow:inset 0 0 0 2px #fff;flex-shrink:0}
.catalog-facet__swatch.is-unknown{background:repeating-linear-gradient(135deg,#fff 0 3px,#d9dee1 3px 4px)}
.catalog-facet__options small{margin-left:0;color:#626b70;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}
.catalog-facet__help,.catalog-facet__empty{margin:0 0 12px;color:#626b70;font-size:12px;line-height:1.55}
.catalog-facet__empty{margin-bottom:0}
@media(max-width:600px){.catalog-facet__options>label{min-height:44px}}
[data-server-facet] > .catalog-facet__options { max-height: 240px; overflow-y: auto; overscroll-behavior-y: auto; }
[data-server-facet="size"] > .catalog-facet__options { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.catalog-facet-search { width: 100%; min-height: 36px; margin: 0 0 10px; padding: 7px 9px; border: 1px solid #d9dee3; border-radius: 6px; font: inherit; }
.filter-group-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:4px 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.filter-group-toggle>span:first-child{flex:1;min-width:0}
.filter-group-count{flex-shrink:0;padding:3px 6px;border-radius:4px;background:#fff1e7;color:#ad470d;font:600 10px/1.3 var(--body);text-transform:none;max-width:110px;overflow-wrap:anywhere}
.filter-group-chevron{flex-shrink:0;font:400 20px/1 var(--body);color:#69747b}
.filter-group-toggle:focus-visible{outline:2px solid #c75a11;outline-offset:3px;border-radius:3px}
body .filter-sidebar .filter-group:has(>.filter-group-toggle),body .filter-sidebar .filter-group:has(>legend>.filter-group-toggle){padding:5px 0}
.filter-group[data-filter-collapsed="true"]>:not(legend){display:none!important}
.filter-group:has(.filter-group-toggle)>legend{margin-bottom:0}
.bike-fitment-card[data-filter-collapsed="true"]>:not(.eyebrow):not(h3),.catalog-fit-card[data-filter-collapsed="true"]>:not(.eyebrow):not(h3){display:none!important}
.bike-fitment-card .filter-group-toggle,.catalog-fit-card .filter-group-toggle{font-size:18px;line-height:1.15;min-height:38px}
.bike-fitment-card .filter-group-chevron,.catalog-fit-card .filter-group-chevron{color:#ffb27d}
.bike-fitment-card .filter-group-count{background:#30383b;color:#d9e3e7;font-size:10px}
.filter-size-grid .catalog-facet__options>label{display:flex;justify-content:center;min-width:0;gap:3px;padding:7px 4px;text-align:center}
.filter-size-grid .catalog-facet__label{font-size:12px;overflow-wrap:anywhere}
.filter-size-grid .catalog-facet__options{overflow-x:hidden}
.catalog-update-status{margin:0 0 10px;font-size:12px;color:#626b70;min-height:0}
.catalog-update-status:empty{display:none}
/* Dedicated editorial campaign banners, using one real category photograph. */
body .catalog-hero.category-campaign { position:relative; min-height:248px; padding:34px 40px; overflow:hidden; isolation:isolate; border:1px solid #30373b; border-radius:12px; color:#fff; background:#151a1d!important; background-image:linear-gradient(110deg,#111517,#20292e)!important; }
body .category-campaign .catalog-hero__content { width:55%; position:relative; z-index:2; padding:0; }
body .category-campaign .category-campaign__eyebrow { display:block; color:#ffa363; font-size:11px; font-weight:700; letter-spacing:1.8px; line-height:1.5; text-transform:uppercase; margin-bottom:12px; }
body .category-campaign h1 { color:#fff; font-size:clamp(30px,3.1vw,44px); line-height:1.05; max-width:680px; margin:0 0 14px; }
body .category-campaign .catalog-hero__content > p { color:#c5cdd1; font-size:14px; line-height:1.6; max-width:550px; }
body .category-campaign .category-campaign__link { display:inline-flex; gap:24px; align-items:center; color:#fff; font-size:13px; font-weight:600; border-bottom:1px solid #727f86; padding:7px 0; margin-top:12px; }
body .category-campaign .category-campaign__link:hover { color:#ffa363; border-bottom-color:#ffa363; }
body .category-campaign .category-campaign__link:focus-visible { outline:2px solid #ffa363; outline-offset:5px; border-radius:2px; }
.category-campaign__visual { position:absolute; inset:0 0 0 56%; display:flex; justify-content:center; align-items:center; padding:14px 30px; }
.category-campaign__visual:before { display:none; }
.category-campaign__visual img { width:220px; height:220px; max-width:100%; object-fit:contain; border-radius:50%; padding:12px; background:#fff; mix-blend-mode:normal; }
body[data-page="shop"].is-catalog-leaf .catalog-hero.category-campaign::before,
body[data-page="shop"].is-catalog-leaf .catalog-hero.category-campaign::after,
.catalog-hero.category-campaign::before,.catalog-hero.category-campaign::after { display:none!important; }
body[data-page="shop"].is-catalog-leaf .category-campaign .catalog-hero__content { display:block!important; width:55%; max-width:none; padding:0!important; }
body[data-page="shop"].is-catalog-leaf .category-campaign .catalog-hero__content h1 { color:#fff!important; font-size:clamp(30px,3.1vw,44px); line-height:1.05; margin:0 0 14px; }
body[data-page="shop"].is-catalog-leaf .category-campaign .catalog-hero__content > p { color:#c5cdd1; margin:0; }
body .category-campaign .category-campaign__link { position:static; }
@media(max-width:640px){
 body .catalog-hero.category-campaign {
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  align-content:start;
  row-gap:12px;
  padding:20px clamp(16px,5vw,26px);
  min-height:0;
 }
 body .catalog-hero.category-campaign:has(> .category-campaign__visual) { column-gap:clamp(10px,3vw,18px); }
 body .category-campaign .catalog-hero__content,
 body[data-page="shop"].is-catalog-leaf .category-campaign .catalog-hero__content { display:contents!important; }
 body .category-campaign .category-campaign__eyebrow {
  grid-area:1 / 1 / 2 / -1;
  margin:0;
  font-size:10px;
  letter-spacing:1.1px;
 }
 body .category-campaign h1,
 body[data-page="shop"].is-catalog-leaf .category-campaign .catalog-hero__content h1 {
  grid-area:2 / 1;
  margin:0;
  font-size:clamp(26px,7vw,34px);
  overflow-wrap:anywhere;
 }
 .category-campaign__visual { grid-area:2 / 2; position:static; padding:0; }
 .category-campaign__visual img { width:clamp(70px,24vw,112px); height:auto; aspect-ratio:1; padding:8px; }
 body .category-campaign .catalog-hero__content > p {
  grid-area:3 / 1 / 4 / -1;
  margin:0;
  font-size:13px;
  max-width:none;
 }
 body .category-campaign .category-campaign__link {
  grid-area:4 / 1 / 5 / -1;
  justify-self:center;
  justify-content:center;
  min-height:44px;
  gap:8px;
  margin:2px 0 0;
  padding:0 12px;
  border:1px solid #59656b;
  border-radius:7px;
 }
}
@media(max-width:960px){
 body[data-page="shop"] .catalog-toolbar .mobile-filter-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  padding-inline:10px;
  white-space:nowrap;
 }
}
@media(max-width:700px){
 body[data-page="shop"] .catalog-toolbar .toolbar-actions {
  grid-template-columns:max-content minmax(0,1fr) auto;
 }
 body[data-page="shop"] .catalog-toolbar .sort-dropdown__trigger { gap:6px; }
 body[data-page="shop"] .catalog-toolbar #sortDropdownValue {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
 }
 body[data-page="shop"] .catalog-toolbar .view-toggle button { width:44px; }
}
/* Legacy category artwork styles retained for existing custom templates. */
.catalog-hero.catalog-hero--products { position:relative; overflow:hidden; background:#141617 !important; isolation:isolate; }
.catalog-hero--products .catalog-hero__content { position:relative; z-index:2; width:54%; padding-right:24px; }
.catalog-hero__art { position:absolute; inset:0 0 0 56%; display:flex; align-items:center; gap:10px; padding:18px; background:#fff; transform:skewX(-8deg); transform-origin:bottom; }
.catalog-hero__art > span { display:block; flex:1; min-width:0; height:100%; transform:skewX(8deg); }
.catalog-hero__art img { width:100%; height:100%; max-height:210px; object-fit:contain; background:#fff; }
@media(max-width:640px){
 .catalog-hero--products .catalog-hero__content { width:100%; padding-right:0; }
 .catalog-hero.catalog-hero--products { padding-bottom:116px; }
 .catalog-hero__art { inset:auto 0 0; height:100px; padding:8px 20px; transform:none; }
 .catalog-hero__art > span { transform:none; }
 .catalog-hero__art img { max-height:84px; }
}


/* Compact mobile catalogue toolbar: count and controls share one row. */
@media(max-width:700px){
 body[data-page="shop"] .catalog-toolbar {
  display:grid;
  grid-template-columns:minmax(44px,.75fr) 44px minmax(72px,1.6fr) 90px;
  align-items:center;
  gap:4px;
  min-height:0;
  padding:8px;
  margin-bottom:10px;
 }
 body[data-page="shop"] .catalog-toolbar > div:first-child { min-width:0; }
 body[data-page="shop"] .catalog-toolbar .eyebrow { display:none; }
 body[data-page="shop"] .catalog-toolbar #results-heading {
  display:flex;
  flex-direction:column;
  gap:1px;
  margin:0;
  font:600 14px/1.2 var(--body);
  text-transform:none;
  overflow-wrap:anywhere;
 }
 body[data-page="shop"] .catalog-toolbar #resultLabel { font-size:11px; font-weight:400; white-space:nowrap; }
 body[data-page="shop"] .catalog-toolbar .toolbar-actions { display:contents; }
 body[data-page="shop"] .catalog-toolbar .mobile-filter-btn {
  width:44px;
  height:44px;
  min-height:44px;
  padding:0;
  gap:0;
  font-size:0;
 }
 body[data-page="shop"] .catalog-toolbar .mobile-filter-btn i { font-size:15px; }
 body[data-page="shop"] .catalog-toolbar .sort-control { min-width:0; }
 body[data-page="shop"] .catalog-toolbar .sort-dropdown__trigger { padding-inline:8px; font-size:12px; }
 body[data-page="shop"] .catalog-toolbar .sort-dropdown__menu { left:auto; right:0; }
 body[data-page="shop"] .catalog-toolbar .view-toggle { height:44px; }
 body[data-page="shop"] .catalog-toolbar .view-toggle button { width:44px; height:42px; }
}
