.bike-browser{max-width:1120px;margin:auto}.bike-intro{max-width:760px}.bike-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius: var(--r-lg);margin:28px 0}.bike-filters label{display:grid;gap:8px;font-weight:700}.bike-filters input,.bike-filters select{width:100%;min-width:0;padding:12px;background:var(--white);border:1px solid var(--line);border-radius: var(--r-sm);font:inherit;color:var(--ink)}.bike-filter-note{grid-column:1/-1;margin:0;font-size:.9rem}.bike-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.bike-card{padding:24px;border:1px solid var(--line);border-radius: var(--r-lg);background:var(--white);box-shadow:0 8px 24px #0b254509}.bike-card[hidden]{display:none}.bike-card h2{margin:8px 0 16px;line-height:1.25}.bike-eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--brand)}.bike-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 0;border-block:1px solid var(--paper)}.bike-card dt{font-size:.8rem}.bike-card dd{margin:4px 0;font-size:1.15rem;font-weight:800}.bike-source{font-size:.85rem}.bike-detail{display:block;margin:16px 0}.bike-browser button{padding:var(--button-padding);border:1px solid var(--brand);border-radius: var(--r-sm);background:var(--brand);color:var(--on-brand);font:var(--button-font);cursor:pointer;min-height:44px}.bike-browser button[aria-pressed=true]{background:var(--ink)}.bike-browser [hidden]{display:none!important}.bike-comparison{margin-top:32px;padding:24px;background:var(--paper);border-radius: var(--r-lg);}.bike-table-wrap{overflow-x:auto}.bike-browser table{width:100%;border-collapse:collapse;min-width:480px}.bike-browser th,.bike-browser td{text-align:left;vertical-align:top;padding:14px;border-bottom:1px solid var(--line)}.bike-browser small{display:block;max-width:320px;line-height:1.5;margin-top:8px}.bike-bars{display:grid;gap:20px;max-width:650px}.bike-bar-track{background:var(--paper);border-radius: var(--r-sm);height:18px;margin-top:8px;overflow:hidden}.bike-bar{height:100%;background:var(--brand)}.bike-help{padding:24px;border-left:4px solid var(--brand);margin-top:32px}.bike-browser input:focus-visible,.bike-browser select:focus-visible,.bike-browser button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media(max-width:700px){.bike-filters,.bike-grid{grid-template-columns:1fr}.bike-card{padding:20px}.bike-card dl{gap:8px}.bike-card dd{font-size:1rem}.bike-comparison{padding:16px}.bike-browser h1{font-size:2rem}}

.bike-selected-list { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.bike-selected-list button { background:var(--white); color:var(--brand); border:1px solid var(--brand); }
#bike-compare-table table { min-width:calc(180px + 220px * var(--compare-columns,2)); }
#bike-compare-table th:first-child { position:sticky; left:0; background:var(--paper); min-width:150px; }
.bike-table-wrap:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.bike-share-panel { margin:24px 0; padding:24px; border:1px solid var(--line); border-radius: var(--r-lg); }
.bike-share-panel label { display:grid; gap:8px; margin:16px 0; }
.bike-share-panel input,.bike-share-panel textarea { width:100%; min-width:0; box-sizing:border-box; padding:12px; font:inherit; border:1px solid var(--line); border-radius: var(--r-sm); background:var(--white); color:var(--ink); }
#bike-state-warning { color:var(--error); font-weight:600; }

/* The wrapper owns scrolling; a nested overflow table breaks sticky labels. */
#bike-compare-table table { display:table; overflow:visible; max-width:none; border-collapse:separate; border-spacing:0; font-variant-numeric:tabular-nums; }
#bike-compare-table th,#bike-compare-table td { text-align:left; }
#bike-compare-table th:first-child { z-index:2; }
#bike-compare-table tbody tr:nth-child(even) td { background:var(--paper,var(--paper)); }
#bike-compare-table caption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.bike-compare-hint { margin:12px 0; font-size:.9rem; }

.bike-mobile-comparison { display:none; }
@media(max-width:700px) {
 #bike-compare-table { display:none; }
 .bike-mobile-comparison { display:grid; gap:16px; }
 .bike-mobile-comparison article { min-width:0; padding:16px; background:var(--white); border:1px solid var(--line); border-radius: var(--r-md); }
 .bike-mobile-comparison h3 { font-size:1.2rem; line-height:1.4; margin:0 0 16px; }
 .bike-mobile-comparison dl { margin:0; }
 .bike-mobile-comparison dl>div { padding:12px 0; border-top:1px solid var(--line); }
 .bike-mobile-comparison dt { font-weight:700; }
 .bike-mobile-comparison dd { margin:6px 0 0; font-variant-numeric:tabular-nums; }
 .bike-mobile-comparison small { font-size:.85rem; }
 .bike-mobile-comparison p { font-size:.85rem; }
}

.bike-browser :is(#bike-reset,#bike-clear-compare),.bike-selected-list button { background:var(--white);color:var(--brand); }

/* Narrow cards keep unavailable values separate and readable. */
@media(max-width:480px){.bike-card dl{grid-template-columns:1fr;gap:.75rem}.bike-card dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.bike-card dd{text-align:right;white-space:normal}.bike-card dt{flex:1;min-width:0}}

/* Reviewed product illustrations are supplemental navigation, never evidence. */
.bike-card-heading,.bike-compare-heading,.bike-artwork-links{display:flex;align-items:center;gap:12px;min-width:0}
.bike-card-heading h2{margin:8px 0;min-width:0}
.bike-artwork-thumb{display:block;flex:0 0 auto;width:84px;line-height:0;border-radius:var(--r-sm);overflow:hidden;background:var(--paper)}
.bike-artwork-thumb img{display:block;width:84px;height:56px;object-fit:cover}
.bike-image-note-link{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:44px;min-height:44px;border-radius:var(--r-sm);font-weight:800;text-decoration:underline}
.bike-compare-heading{align-items:center;max-width:260px}
.bike-compare-heading>span:last-child{display:flex;align-items:center;gap:4px;min-width:0}
.bike-browser th .bike-compare-heading{max-width:100%}
.bike-browser th .bike-artwork-thumb{width:64px}
.bike-browser th .bike-artwork-thumb img{width:64px;height:43px}
.bike-image-note{scroll-margin-top:6rem;margin:32px 0;padding:20px 24px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:var(--r-md);background:var(--paper);color:var(--ink)}
.bike-grid>.bike-image-note{grid-column:1/-1}
.bike-image-note:focus{outline:3px solid var(--focus);outline-offset:3px}
.bike-image-note details{margin-top:12px}
.bike-image-note summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.bike-profile-art{max-width:900px;margin:24px auto 32px}
.bike-profile-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#EEF4F8;border-radius:var(--r-md)}
.bike-profile-art figcaption{font-size:.9rem;margin-top:8px}
@media(max-width:700px){.bike-card-heading{align-items:flex-start}.bike-card-heading h2{font-size:1.3rem}.bike-compare-heading{align-items:flex-start}.bike-compare-heading .bike-artwork-thumb{width:72px}.bike-compare-heading .bike-artwork-thumb img{width:72px;height:48px}.bike-image-note{padding:16px}.bike-profile-art{margin:20px 0}}
/* A long model name must never widen the catalogue grid on a phone. */
.bike-card{min-width:0}.bike-card-heading h2{overflow-wrap:anywhere}
@media(max-width:700px){.bike-grid{grid-template-columns:minmax(0,1fr)}.bike-card-heading{flex-wrap:wrap}.bike-card-heading h2{flex:1 1 130px}.bike-artwork-links{flex:0 0 auto}.bike-image-note{min-width:0;overflow-wrap:anywhere}}

/* Source-shaped category silhouettes with explicit labels and a non-colour selected cue. */
.bike-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
.bike-filters>label:first-child{grid-column:1/-1}
.bike-category-filter{grid-column:1/-1;min-width:0;margin:0;padding:0;border:0}
.bike-category-filter legend{padding:0;margin:0 0 10px;font-weight:700}
.bike-category-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
.bike-browser .bike-category-choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:106px;padding:12px 5px 10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--white);color:var(--ink);font:600 .8rem/1.25 var(--font-body,Inter,system-ui,sans-serif);text-align:center;transition:border-color .15s,background-color .15s}
.bike-category-icon{display:block;width:58px;height:44px;max-width:100%;flex:none;color:var(--brand)}
.bike-category-icon .category-icon-accent{stroke:var(--brand);fill:var(--brand-soft,var(--paper))}
.bike-category-label{display:block;min-height:2.5em;align-content:center;overflow-wrap:break-word}
.bike-category-check{position:absolute;top:5px;right:6px;display:none;color:var(--ink);font-size:13px;font-weight:800}
.bike-browser .bike-category-choice[aria-pressed=true]{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--brand-soft,var(--paper));color:var(--ink)}
.bike-category-choice[aria-pressed=true] .bike-category-check{display:block}
@media(hover:hover){.bike-browser .bike-category-choice:hover{border-color:var(--brand)}}
@media(max-width:900px){.bike-category-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.bike-browser .bike-category-choice{min-height:94px}.bike-category-label{min-height:1.3em}}
@media(max-width:700px){.bike-filters{grid-template-columns:minmax(0,1fr)}.bike-browser .bike-category-choice{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.bike-browser .bike-category-choice{transition:none}}

/* Shopper controls stay readable at narrow widths and in either theme. */
.bike-browser,.bike-browser *{min-width:0}
.bike-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
.bike-filters>label:first-child{grid-column:1/-1}
.bike-range-control{align-content:start}
.bike-range-control input[type=range]{box-sizing:border-box;min-height:44px;padding:8px 0;accent-color:var(--brand)}
.bike-range-control output{font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:600}
.bike-filter-note{overflow-wrap:anywhere}
.bike-view-controls{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:20px 0}
.bike-view-buttons{display:flex;gap:8px}
.bike-view-controls label{display:grid;gap:8px;font-weight:700}
.bike-view-controls select{min-width:220px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--white);color:var(--ink);font:inherit}
.bike-view-controls [aria-pressed=true]{background:var(--ink);border-color:var(--ink)}
.bike-primary-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 0;border-block:1px solid var(--line)}
.bike-primary-facts>div{min-width:0;padding:8px 10px;border-radius:var(--r-sm);background:var(--paper)}
.bike-primary-facts dt{font-size:.82rem;font-weight:650}
.bike-primary-facts dd{margin:5px 0 0;overflow-wrap:anywhere}
.bike-fact-value,.bike-price-value{font-size:1.1rem;font-weight:800;font-variant-numeric:tabular-nums}
.bike-primary-facts small,.bike-secondary-facts small{display:block;max-width:none;margin-top:5px;font-size:.82rem;line-height:1.45;font-weight:400;overflow-wrap:anywhere}
.bike-data-note{display:block;margin-top:4px;color:var(--muted,var(--ink))}
.bike-data-date{display:block;margin-top:3px}
.bike-secondary-facts{margin:12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--white)}
.bike-secondary-facts summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700}
.bike-secondary-facts dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 0}
.bike-secondary-facts dt{font-size:.82rem;font-weight:650}
.bike-secondary-facts dd{margin:4px 0}
.bike-card-footer{display:flex;align-items:center;min-height:44px;margin:12px 0 0}
.bike-card-footer a{display:inline-flex;align-items:center;min-height:44px}
#bike-table-view{margin:20px 0;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper)}
#bike-table-view>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700}
.bike-catalogue-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;margin:12px 0;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--white)}
.bike-catalogue-table-wrap:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.bike-catalogue-table-wrap table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}
.bike-catalogue-table-wrap th,.bike-catalogue-table-wrap td{padding:12px 14px;vertical-align:top;text-align:left;border-bottom:1px solid var(--line)}
.bike-catalogue-table-wrap thead th{position:sticky;top:0;z-index:2;background:var(--paper)}
.bike-catalogue-table-wrap th:first-child,.bike-catalogue-table-wrap td:first-child{position:sticky;left:0;z-index:1;min-width:220px;background:var(--white)}
.bike-catalogue-table-wrap thead th:first-child{z-index:3;background:var(--paper)}
.bike-catalogue-table-wrap tbody tr:nth-child(even) td{background:var(--paper)}
.bike-catalogue-table-wrap tbody tr:nth-child(even) td:first-child{background:var(--paper)}
.bike-catalogue-table-wrap td small{max-width:260px;overflow-wrap:anywhere}
.bike-catalogue-model{display:flex;align-items:center;gap:10px;min-width:0}
.bike-catalogue-model>a:last-child{overflow-wrap:anywhere}
.bike-catalogue-table-wrap .bike-artwork-thumb{width:72px}
.bike-catalogue-table-wrap .bike-artwork-thumb img{width:72px;height:48px}
.bike-catalogue-table-wrap .bike-compare-button{white-space:nowrap}
.bike-field-method{margin-top:16px;padding-top:8px;border-top:1px solid var(--line)}
.bike-field-method summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700}
#bike-image-note{scroll-margin-top:6rem}
@media(max-width:700px){
 .bike-filters{grid-template-columns:minmax(0,1fr)}
 .bike-filters>label:first-child{grid-column:1}
 .bike-view-controls{align-items:stretch;flex-direction:column}
 .bike-view-controls label,.bike-view-controls select{width:100%;box-sizing:border-box}
 .bike-primary-facts{grid-template-columns:minmax(0,1fr)}
 .bike-secondary-facts dl{grid-template-columns:minmax(0,1fr)}
 .bike-catalogue-table-wrap{max-width:calc(100vw - 40px)}
 .bike-catalogue-table-wrap th:first-child,.bike-catalogue-table-wrap td:first-child{min-width:190px}
}
/* Keep shopper fields readable above the legacy card rules. */
.bike-card .bike-primary-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.bike-card .bike-secondary-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}
.bike-card .bike-card-footer{justify-content:flex-end}
.bike-card-footer .bike-image-note-link{font-size:.82rem;font-weight:500;color:var(--muted);text-decoration-thickness:1px}
.bike-enhanced #bike-table-view>summary{display:none}
#bike-catalogue-table{display:table;table-layout:fixed;width:1240px;min-width:100%;max-width:none}
#bike-catalogue-table th:first-child,#bike-catalogue-table td:first-child{width:260px;min-width:260px;max-width:260px}
#bike-catalogue-table .bike-compare-button{white-space:normal;max-width:100%}
@media(max-width:700px){.bike-card .bike-primary-facts,.bike-card .bike-secondary-facts dl{grid-template-columns:minmax(0,1fr)}#bike-catalogue-table th:first-child,#bike-catalogue-table td:first-child{width:190px;min-width:190px;max-width:190px}}
/* Tablet cards stay compact; narrow tables keep the sticky model column useful. */
.bike-catalogue-table-wrap{max-height:72vh}
#bike-catalogue-table caption{text-align:left;padding:10px;white-space:normal}
@media(min-width:481px) and (max-width:700px){.bike-card .bike-primary-facts,.bike-card .bike-secondary-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.bike-catalogue-model{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}}
@media(max-width:480px){#bike-catalogue-table th:first-child,#bike-catalogue-table td:first-child{width:150px;min-width:150px;max-width:150px}}
#bike-catalogue-table{width:1000px}
#bike-catalogue-table th,#bike-catalogue-table td{overflow-wrap:anywhere}
@media(min-width:701px){#bike-catalogue-table th:first-child,#bike-catalogue-table td:first-child{width:220px;min-width:220px;max-width:220px}}

/* Shared unit rollout: pairs may wrap; model artwork must not shrink over text. */
.bike-card-heading>.bike-artwork-links,.bike-catalogue-model>.bike-artwork-links{flex-shrink:0}.bike-card-heading h2{overflow-wrap:anywhere}
.bike-filters output{font-size:.875rem;font-weight:500;overflow-wrap:anywhere}
@media(max-width:480px){.bike-card dl>div{display:grid;grid-template-columns:1fr;gap:.2rem}.bike-card dd{text-align:left;margin:0}.bike-card-heading{flex-direction:column;align-items:flex-start}.bike-card-heading>.bike-artwork-links{flex-basis:auto}.bike-card-heading h2{font-size:1.35rem;overflow-wrap:normal}}

.bike-unit-filter{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:start}.bike-unit-filter label{min-width:0}@media(max-width:700px){.bike-unit-filter{grid-template-columns:1fr}}
