.catalog-page [hidden]{display:none!important}
.catalog-page .catalog-main{padding-top:40px;padding-bottom:50px}
.catalog-intro{max-width:880px;margin-bottom:30px}
.catalog-page h1{font-size:clamp(46px,6vw,76px);max-width:18ch;line-height:1.02}
.catalog-intro>p:last-child{max-width:65ch;color:var(--text2);font-size:15px;line-height:1.8;margin:18px 0 0}
.catalog-filters{display:grid;grid-template-columns:1.7fr 1fr 1fr .8fr;gap:16px;padding:24px 0;border-block:1px solid var(--border)}
.catalog-filters label{display:block;font:650 12px/1.5 var(--ui);color:var(--text2);margin-bottom:7px}
.catalog-filters :is(input,select){display:block;width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid var(--border2);border-radius:3px;color:var(--text);background:var(--surface);font:500 16px/1.4 var(--ui);box-sizing:border-box}
.catalog-filters input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.catalog-results-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0;scroll-margin-top:110px}
.catalog-results-heading p{font-size:13px;color:var(--text2);margin:0}
.catalog-results-heading button{font-size:12px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.catalog-card{min-width:0;display:flex;flex-direction:column;background:var(--surface);border-top:3px solid var(--border2)}
.catalog-card[data-selected=a]{border-top-color:var(--bike-a)}
.catalog-card[data-selected=b]{border-top-color:var(--bike-b)}
.catalog-card .catalog-photo{aspect-ratio:1.7;margin:0;background:#fff}
.catalog-card-content{padding:18px 20px 20px;display:flex;flex:1;flex-direction:column}
.catalog-card-meta{display:flex;justify-content:space-between;gap:8px;font:700 11px/1.5 var(--ui);color:var(--text3)}
.catalog-card h2{font:italic 900 31px/1.1 var(--display);letter-spacing:-.3px;margin:13px 0 10px;min-height:2.2em;color:var(--text)}
.catalog-card p{font:500 12px/1.7 var(--ui);color:var(--text2);margin:0 0 18px}
.catalog-card button,.catalog-pagination button,.selection-clear{appearance:none;min-height:44px;padding:10px 14px;font:700 12px/1.5 var(--ui);color:var(--text);background:transparent;border:1px solid var(--border2);border-radius:3px;cursor:pointer}
.catalog-card button{width:100%;margin-top:auto}
.catalog-card button[aria-pressed=true]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}
.catalog-card button:disabled,.catalog-pagination button:disabled{opacity:.45;cursor:default}
.catalog-card .catalog-source{font:500 11px/1.5 var(--ui);color:var(--text3);margin-top:13px;align-self:flex-start;text-underline-offset:3px;min-height:26px}
.catalog-empty{padding:40px 20px;background:var(--surface2);color:var(--text2);text-align:center;font-size:15px}
.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:32px 0}
.catalog-pagination span{font:600 12px/1.5 var(--ui);color:var(--text2)}
.catalog-selection{position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--surface);border-top:2px solid var(--accent);padding:16px max(20px,calc((100vw - 1240px)/2));display:flex;align-items:center;gap:20px;box-shadow:0 -4px 22px #12231b0d}
.selection-copy{flex:1;min-width:0}
.selection-copy>strong{font:750 12px/1.5 var(--ui);display:block;color:var(--text)}
#selected-models{display:flex;flex-wrap:wrap;gap:4px 18px;font:600 12px/1.6 var(--ui);margin:5px 0;color:var(--text2)}
#selection-hint{font:500 11px/1.5 var(--ui);color:var(--text3);margin:0}
.selection-open{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 22px;border:1px solid var(--accent);border-radius:3px;color:var(--accent-text);background:var(--accent);font:750 13px/1.5 var(--ui);text-decoration:none;white-space:nowrap}
.catalog-page .selection-open{color:var(--accent-text)}
.selection-open[aria-disabled=true]{opacity:.4;pointer-events:none}
.catalog-page.has-selection{padding-bottom:160px}
@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-selection{gap:12px;padding:12px 20px}.selection-open{padding-inline:15px}.selection-clear{padding-inline:10px}}
@media(max-width:620px){.catalog-page .catalog-main{padding-top:28px}.catalog-intro{margin-bottom:24px}.catalog-intro>p:last-child{font-size:14px}.catalog-filters{gap:14px}.catalog-filters>div:first-child{grid-column:1/-1}.catalog-filters>div:last-child{grid-column:1/-1}.catalog-grid{grid-template-columns:1fr;gap:20px}.catalog-card h2{min-height:0;font-size:34px}.catalog-card .catalog-photo{aspect-ratio:1.8}.catalog-selection{display:grid;grid-template-columns:1fr auto;padding:12px 16px;gap:8px 12px}.selection-copy{grid-column:1/-1}.selection-clear{grid-column:2;grid-row:2}.selection-open{grid-column:1;grid-row:2}#selected-models{font-size:11px;line-height:1.5}.catalog-page.has-selection{padding-bottom:200px}}

.catalog-card-actions{display:grid;gap:8px;margin-top:auto}.catalog-card .catalog-card-actions button{margin:0}.catalog-card .catalog-details{color:var(--accent);border-color:var(--accent);background:var(--surface2)}.catalog-card .catalog-details:hover{background:var(--border)}.catalog-card .catalog-details:active{transform:translateY(1px)}
