.catalog-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:2.5rem}.filter-panel{background:#ffffff;border:1px solid #e5e7eb;border-radius:1.2rem;padding:1.75rem 1.5rem;box-shadow:0 18px 40px rgba(15,23,42,0.12);position:sticky;top:96px;height:fit-content;display:flex;flex-direction:column;gap:1.75rem}.filter-collapse{border:none;background:transparent;padding:0;margin-bottom:1.25rem;width:100%;display:none;align-items:center;justify-content:space-between;font-size:1rem;font-weight:600;color:#1f2937;cursor:pointer}.filter-collapse-label{display:inline-flex;align-items:center;gap:0.5rem}.filter-collapse .material-symbols-outlined{font-size:1.35rem}.filter-content{display:flex;flex-direction:column;gap:1.75rem}.filter-panel.collapsed .filter-content{display:none}.filter-panel.collapsed{padding-bottom:0.6rem}.filter-panel.collapsed .filter-collapse{margin-bottom:0.35rem}.filter-group{display:flex;flex-direction:column;gap:0.85rem}.filter-heading{margin:0;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.14em;color:#6b7280;font-weight:700}.filter-title{font-weight:700;color:#b91c1c;font-size:1rem}#sortSelect{border-radius:0.75rem;padding:0.65rem 0.9rem;border:1px solid #d1d5db;font-weight:600;color:#1f2937}.filter-toggle{display:flex;align-items:center;gap:0.6rem;font-size:0.95rem;font-weight:600;color:#1f2937}.filter-toggle input{appearance:none;-webkit-appearance:none;width:1.1rem;height:1.1rem;border:1px solid rgba(15,23,42,0.25);border-radius:4px;background-color:#ffffff;display:inline-flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:border-color 0.15s ease,background-color 0.15s ease,box-shadow 0.15s ease}.filter-toggle input::after{content:'';width:0.35rem;height:0.65rem;border-bottom:2px solid #ffffff;border-right:2px solid #ffffff;transform:rotate(45deg) scale(0);transition:transform 0.15s ease;position:absolute}.filter-toggle input:focus-visible{outline:none;box-shadow:0 0 0 0.1rem rgba(202,0,8,0.25)}.filter-toggle input:checked{background-color:var(--bs-primary);border-color:var(--bs-primary);box-shadow:0 0 0 0.1rem rgba(202,0,8,0.35)}.filter-toggle input:checked::after{transform:rotate(45deg) scale(1)}.filter-list{display:flex;flex-direction:column;gap:0.75rem}.filter-empty{font-size:0.85rem;color:#6b7280;padding-left:0.25rem;font-style:italic}.filter-color-dot{display:inline-block;width:0.7rem;height:0.7rem;border-radius:50%;margin-right:0.45rem;vertical-align:middle}.make-filter{display:flex;align-items:center;gap:0.75rem;background:#f9fafb;border:1px solid transparent;border-radius:0.85rem;padding:0.55rem 0.75rem;cursor:pointer;transition:all 0.18s ease;color:#1f2937}.make-filter img{width:48px;height:auto;display:block}.make-filter .make-initial{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#1e40af;color:#fff;font-weight:700;font-size:1rem}.make-filter span{font-weight:600;font-size:0.9rem;letter-spacing:0.03em}.make-filter:hover{border-color:rgba(30,64,175,0.35);box-shadow:0 12px 24px rgba(30,64,175,0.14);transform:translateY(-2px)}.make-filter.active{background:#f9fafb;border-color:#b91c1c;box-shadow:0 6px 16px rgba(185,28,28,0.15);color:#b91c1c}.make-filter.active span{color:#b91c1c}.make-filter.active img{filter:none}.filter-loading{display:flex;align-items:center;gap:0.65rem;color:#6b7280;font-size:0.9rem}.filter-loading .material-symbols-outlined{font-size:1.5rem}.catalog-results{min-height:320px}body{overflow-x:hidden}.bike-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.bike-grid.bike-grid-single{max-width:620px;margin-left:auto;margin-right:auto;grid-template-columns:repeat(auto-fit,minmax(280px,310px));justify-content:center}.bike-card{display:flex;flex-direction:column;border-radius:1.15rem;border:1px solid #e5e7eb;background:#ffffff;box-shadow:0 16px 40px rgba(15,23,42,0.12);overflow:hidden;transition:transform 0.2s ease,box-shadow 0.2s ease}.bike-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(30,64,175,0.15)}.bike-media{position:relative}.bike-image-link,.bike-image-placeholder{display:block;width:100%;aspect-ratio:4 / 3;background:#f3f4f6}.bike-image{width:100%;height:100%;object-fit:cover}.bike-image-placeholder{display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:3rem}.bike-badge{position:absolute;top:1rem;right:1rem;padding:0.35rem 0.75rem;border-radius:999px;background:rgba(250,204,21,0.92);color:#1f2937;font-size:0.75rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;box-shadow:0 10px 30px rgba(250,204,21,0.4)}.bike-body{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;height:100%}.bike-header{display:flex;flex-direction:column;gap:0.35rem}.bike-make{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.12em;color:#6b7280;font-weight:600}.bike-name{font-size:1.35rem;line-height:1.3;margin:0;color:#111827}.bike-name-link{color:inherit;text-decoration:none;transition:color 0.15s ease}.bike-name-link:hover,.bike-name-link:focus{color:#1d4ed8}.bike-pill-row{display:flex;flex-wrap:wrap;gap:0.35rem}.bike-pill{align-self:flex-start;padding:0.2rem 0.75rem;border-radius:999px;font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;background:#eef2ff;color:#1d4ed8;box-shadow:0 4px 12px rgba(15,23,42,0.12)}.bike-pill-lams{background:#fef3c7;color:#92400e}.bike-starting{font-size:0.9rem;font-weight:700;color:#b91c1c}.bike-info-row{display:flex;flex-direction:column;gap:0.4rem}.bike-description{margin:0;font-size:0.95rem;color:#4b5563;line-height:1.5}.bike-description-more{font-size:0.85rem;color:#b91c1c;text-decoration:none;transition:color 0.15s ease;display:inline-flex;align-items:center;gap:0.25rem}.bike-description-more:hover,.bike-description-more:focus{color:#1d4ed8}.bike-description-icon{font-size:1rem}.bike-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0.5rem;margin-top:auto}.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.5rem}.price-grid-single{grid-template-columns:1fr}.price-item{display:flex;flex-direction:column;padding:0.55rem 0.75rem;border-radius:0.75rem;background:#f3f4f6;color:#1f2937;font-size:0.85rem;min-height:72px;justify-content:center;text-align:center;box-shadow:inset 0 1px 3px rgba(15,23,42,0.05)}.price-item.muted{background:#fff7ed;color:#92400e}@media (max-width:767.98px){.bike-info-row{flex-direction:row;align-items:center;justify-content:space-between;gap:0.5rem;flex-wrap:wrap}.bike-info-row .bike-description{margin:0}.bike-info-row .bike-description-more{white-space:nowrap}}.price-duration{font-weight:700;letter-spacing:0.06em;text-transform:uppercase}.price-value{display:inline-flex;align-items:baseline;justify-content:center;gap:0.25rem;font-size:1rem;font-weight:700;color:#b91c1c}.price-suffix{font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:#6b7280}.bike-actions{display:flex;gap:0.75rem;margin-top:0.75rem}.bike-actions .btn{flex:1;text-transform:uppercase;font-weight:600;letter-spacing:0.08em;display:inline-flex;align-items:center;justify-content:center;gap:0.35rem}.bike-info-link{margin:0;text-align:center}.important-info-link{font-weight:600;color:#6b7280!important;padding:0}.important-info-link .material-symbols-outlined{font-size:1.1rem}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:0.75rem;text-align:center;color:#6b7280}.loading-icon,.empty-state-icon{font-size:3rem}.loading-text,.empty-state-text{margin:0;font-size:1rem}@media (max-width:1200px){.catalog-layout{grid-template-columns:260px minmax(0,1fr);gap:2rem}}@media (max-width:992px){.catalog-layout{grid-template-columns:minmax(0,1fr)}.filter-panel{position:static;order:-1;box-shadow:0 12px 28px rgba(15,23,42,0.12);padding:1.25rem 1.25rem 1.5rem}.filter-collapse{display:flex}.filter-panel.collapsed{padding-bottom:0.6rem}.filter-panel.collapsed .filter-collapse{margin-bottom:0.35rem}.make-filter img,.make-filter .make-initial{width:40px;height:40px}}@media (max-width:768px){.bike-card{border-radius:1rem}.bike-body{padding:1.25rem}.bike-actions{flex-direction:column}}