.p-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.4rem .9rem;gap:1.4rem .9rem}@media (min-width:700px){.p-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem 1.2rem}}@media (min-width:1100px){.p-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.p-card{position:relative;display:flex;flex-direction:column;min-width:0}.p-card-media{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;border-radius:var(--radius);background:var(--surface-2)}.p-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.p-card:hover .p-card-media img{transform:scale(1.045)}.p-badges{position:absolute;top:10px;left:10px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.p-badge{padding:.22rem .6rem;border-radius:999px;background:var(--surface);color:var(--ink);font-size:.66rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;box-shadow:var(--shadow-sm)}.p-badge.new{background:var(--ink);color:#fff}.p-badge.sale{background:var(--danger);color:#fff}.p-badge.out{background:var(--surface-2);color:var(--muted)}.p-badge.low{color:var(--warning)}.p-card-body{display:flex;flex-direction:column;gap:.15rem;padding-top:.75rem}.p-card-brand{margin:0;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.p-card-title{font-family:var(--font-body);font-size:.96rem;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.p-card-title a:after{content:"";position:absolute;inset:0}.p-card:hover .p-card-title{text-decoration:underline;text-underline-offset:3px}.p-card-rating{display:flex;align-items:center;gap:.4rem;margin-top:.15rem}.p-card-price{margin:.3rem 0 0;font-size:.98rem}.p-card-price strong{font-weight:600}.p-card-price small{display:block;margin-top:.1rem;font-size:.76rem;color:var(--accent-ink);font-weight:500}.p-card-price .from{font-size:.78rem;color:var(--muted);font-weight:400}.page-head{padding:.5rem 0 0}.page-head h1{font-size:clamp(1.8rem,3.6vw,2.6rem)}.page-head h1 em{font-style:italic;color:var(--accent-ink)}.page-head p{margin:.4rem 0 0;color:var(--muted)}.chips{display:flex;gap:.5rem;margin:1.1rem 0 .4rem;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;padding:.5rem 1.05rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);font-size:.85rem;font-weight:500;transition:var(--transition-fast);white-space:nowrap}.chip.active,.chip:hover{border-color:var(--ink)}.chip.active{background:var(--ink);color:#fff}.chips.sub .chip{padding:.35rem .85rem;font-size:.8rem;background:transparent}.chips.sub .chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.catalog-layout{display:block;padding-bottom:1rem}@media (min-width:1024px){.catalog-layout{display:grid;grid-template-columns:260px minmax(0,1fr);grid-gap:2.4rem;gap:2.4rem;align-items:start}}.catalog-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem;margin:.8rem 0 1.4rem;padding:.7rem 0;border-block:1px solid var(--line)}.catalog-toolbar .count{font-size:.88rem;color:var(--muted)}.catalog-toolbar .count strong{color:var(--ink)}.toolbar-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.filter-toggle{display:inline-flex;align-items:center;gap:.5rem;height:42px;padding:0 1rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);font-size:.88rem;font-weight:500;cursor:pointer}.filter-toggle:hover{border-color:var(--ink)}@media (min-width:1024px){.filter-toggle{display:none}}.sort-select{height:42px;min-height:42px;width:auto;padding:0 2rem 0 .9rem;font-size:.88rem}.sort-selector{display:flex;align-items:center;gap:.5rem}.sort-selector label{display:none}.gs-mode-toggle{display:inline-flex;padding:3px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface)}.gs-mode-btn{padding:.45rem 1rem;border:0;border-radius:999px;background:transparent;font-size:.82rem;font-weight:600;color:var(--ink-2);cursor:pointer}.gs-mode-btn.active{background:var(--ink);color:#fff}.filter-overlay{position:fixed;inset:0;z-index:140;background:rgba(28,25,23,.5);opacity:0;visibility:hidden;transition:var(--transition-normal)}.filter-overlay.active{opacity:1;visibility:visible}.filters-sidebar{position:fixed;z-index:150;top:0;bottom:0;right:0;width:min(92vw,380px);padding:1.2rem;overflow-y:auto;background:var(--surface);transform:translateX(100%);transition:transform var(--transition-normal);box-shadow:var(--shadow-lg)}.filters-sidebar.active{transform:none}@media (min-width:1024px){.filters-sidebar{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + 70px);z-index:1;width:auto;max-height:calc(100vh - 150px);padding:1.2rem;transform:none;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:none}}.filters-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.filters-title{font-family:var(--font-body);font-size:1rem;font-weight:600}.filters-close{width:38px;height:38px;border:0;border-radius:50%;background:var(--surface-2);cursor:pointer}@media (min-width:1024px){.filters-close{display:none}}.filter-group{padding:1rem 0;border-bottom:1px solid var(--line)}.filter-group-title{margin-bottom:.7rem;font-family:var(--font-body);font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.filter-options{display:grid;grid-gap:.15rem;gap:.15rem}.filter-option{display:flex;align-items:center;gap:.65rem;min-height:38px;padding:0 .3rem;border-radius:var(--radius-sm);font-size:.92rem;font-weight:400;color:var(--ink-2);cursor:pointer}.filter-option:hover{background:var(--surface-2)}.filter-option input{width:17px;height:17px}.price-inputs{display:flex;align-items:end;gap:.5rem}.price-input-group{flex:1 1}.price-input-group label{display:block;margin-bottom:.25rem;font-size:.74rem;color:var(--muted)}.price-input{min-height:42px;padding:.4rem .7rem}.filter-actions{display:grid;grid-gap:.6rem;gap:.6rem;padding-top:1.1rem}.filter-actions .btn-block{min-height:44px}.no-results{grid-column:1/-1}.no-results-title{margin-bottom:.4rem}.hero-search-term{color:var(--accent-ink)}