.products-page{color:var(--color-text);min-height:100vh}.catalog-hero{background:var(--paper-deep);border-bottom:var(--hairline);padding:2.75rem 0 2.5rem}.catalog-hero .container{max-width:var(--container)}.catalog-hero h1{margin-bottom:.4rem}.catalog-hero .lede{max-width:46rem;color:var(--color-text-light);margin-bottom:1.75rem;font-size:1.02rem}.hero-search{gap:.5rem;max-width:40rem;margin-bottom:1.5rem;display:flex}.search-wrap{background:var(--color-secondary);border-radius:var(--radius);border:1px solid var(--color-border);flex:1;align-items:center;padding:0 .8rem;display:flex}.search-wrap:focus-within{border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-soft)}.search-icon{color:var(--color-text-light);flex-shrink:0;font-size:.85rem}.search-input{box-shadow:none;background:0 0;border:none;flex:1;padding:.8rem .5rem}.search-input:focus{box-shadow:none;border:none}.clear-btn{cursor:pointer;color:var(--color-text-light);background:0 0;border:none;padding:.25rem .5rem;font-size:.85rem}.clear-btn:hover{color:var(--color-text)}.hero-stats{flex-wrap:wrap;gap:.5rem;display:flex}.filter-bar{background:var(--color-primary);border-bottom:var(--hairline);z-index:50;padding:.85rem 0;position:sticky;top:60px}.filter-bar .container{max-width:var(--container);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:0 20px;display:flex}.category-pills{flex-wrap:wrap;gap:.4rem;display:flex}.pill{border-radius:var(--radius);border:1px solid var(--color-border);color:var(--color-text-light);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;white-space:nowrap;background:0 0;padding:.45rem .9rem;font-size:.74rem;transition:border-color .15s,color .15s,background .15s}.pill:hover{border-color:var(--signal);color:var(--signal)}.pill.active{background:var(--ink);border-color:var(--ink);color:#fff}[data-theme=dark] .pill.active{color:var(--paper)}.sort-wrap{align-items:center;gap:.6rem;display:flex}.sort-label{color:var(--color-text-light);font-size:.7rem}.sort-select{width:auto;padding:.4rem .75rem;font-size:.85rem}.results-count{color:var(--color-text-light);white-space:nowrap;font-size:.72rem}.info-banner{background:var(--signal-soft);border-bottom:var(--hairline);padding:.75rem 0}.info-banner .container{max-width:var(--container);margin:0 auto;padding:0 20px}.info-items{flex-wrap:wrap;justify-content:center;gap:2.5rem;display:flex}.info-item{letter-spacing:.1em;color:var(--color-text-light);align-items:center;gap:.5rem;font-size:.72rem;display:flex}.info-item i{color:var(--signal);font-size:.85rem}.products-section{padding:2rem 0 4rem}.products-section .container{max-width:var(--container);margin:0 auto;padding:0 20px}.products-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.product-card{background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;transition:border-color .15s;display:flex;overflow:hidden}.product-card:hover{border-color:var(--signal)}.product-img-wrap{background:var(--paper-deep);border-bottom:var(--hairline);height:190px;overflow:hidden}.product-img{object-fit:cover;width:100%;height:100%}.product-img-placeholder{width:100%;height:100%;color:var(--color-text-light);opacity:.6;justify-content:center;align-items:center;font-size:2.2rem;display:flex}.product-info{flex-direction:column;flex:1;padding:1rem 1.1rem 1.1rem;display:flex}.product-category-tag{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);border:1px solid var(--color-border);border-radius:var(--radius);white-space:nowrap;align-self:flex-start;margin-bottom:.75rem;padding:.22rem .55rem;font-size:.66rem;font-weight:500;display:inline-flex}.product-name{color:var(--color-text);margin:0 0 .5rem;font-size:1rem;font-weight:700;line-height:1.35}.product-sku{color:var(--color-text-light);font-size:.73rem;font-family:var(--font-mono);margin:0 0 .9rem}.product-rating{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .75rem;display:flex}.product-stars i{color:var(--signal);font-size:.72rem}.product-rating-num{color:var(--color-text);font-size:.78rem}.product-review-count{color:var(--color-text-light);font-size:.72rem}.product-footer{border-top:var(--hairline);justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.product-price{color:var(--color-text);font-size:.92rem;font-weight:600}.view-btn,.view-btn:hover{text-decoration:none}.loading-state,.empty-state{text-align:center;color:var(--color-text-light);padding:4rem 2rem}.loading-state i{color:var(--signal);margin-bottom:1rem;display:block}.reset-btn{margin-top:1rem}.error-msg{background:var(--signal-soft);border:1px solid var(--color-danger);color:var(--color-danger);border-radius:var(--radius);margin-bottom:1.5rem;padding:1rem 1.5rem}.load-more-wrap{text-align:center;margin:2.5rem 0 1rem}.load-more-btn:disabled{opacity:.35;cursor:not-allowed}@media (width<=768px){.hero-search{flex-direction:column}.filter-bar .container{flex-direction:column;align-items:flex-start}.products-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem}.product-img-wrap{height:150px}.info-items{justify-content:flex-start;gap:1rem}}@media (width<=480px){.products-grid{grid-template-columns:1fr 1fr}}
