.shop-head{padding:var(--space-4) 0 var(--space-3);border-bottom:1px solid var(--hairline)}.shop-head h1{margin:0 0 var(--space-2);font-size:clamp(1.75rem,1.3rem + 2vw,3rem)}.shop-head p{max-width:52ch;color:var(--ink);margin:0;font-size:.9375rem}.shop-body{padding:var(--space-4) 0 var(--space-8)}.shop-cats{gap:var(--space-2);margin:0 calc(var(--gutter) * -1) var(--space-3);padding:6px var(--gutter);scrollbar-width:none;display:flex;overflow-x:auto}.shop-cats::-webkit-scrollbar{display:none}.shop-chip{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--panel);color:var(--ink);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);flex:none;font-size:.9375rem;font-weight:600;display:inline-flex}.shop-chip-count{border-radius:var(--radius-xs);background:color-mix(in srgb, var(--ink) 8%, transparent);min-width:22px;color:var(--ink-muted);font-variant-numeric:tabular-nums;text-align:center;padding:1px 6px;font-size:.8125rem}.shop-chip.active{background:var(--ink);border-color:var(--ink);color:var(--plate)}.shop-chip.active .shop-chip-count{background:color-mix(in srgb, var(--plate) 18%, transparent);color:var(--plate)}.shop-tools{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"search search""price sort";align-items:end;display:grid}.shop-field{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.shop-field>label,.shop-field>legend{color:var(--ink);padding:0;font-size:.8125rem;font-weight:600}.shop-search{grid-area:search}.shop-price{grid-area:price;display:block}.shop-price>legend{float:left;width:100%;margin-bottom:6px;line-height:1.35}.shop-field>label{line-height:1.35}.shop-price-row{clear:both}.shop-sort{grid-area:sort}.shop-tools input,.shop-tools select{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-height:48px;color:var(--ink);font-variant-numeric:tabular-nums;transition:border-color var(--dur-fast) var(--ease-out);padding:0 12px;font-size:1rem}.shop-select{position:relative}.shop-select select{appearance:none;cursor:pointer;padding-right:40px}.shop-select:after{content:"";border-right:1.8px solid var(--ink-muted);border-bottom:1.8px solid var(--ink-muted);pointer-events:none;width:8px;height:8px;margin-top:-6px;position:absolute;top:50%;right:16px;transform:rotate(45deg)}.shop-tools input::placeholder{color:var(--ink-muted);opacity:1}.shop-tools input:focus-visible,.shop-tools select:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--focus)}.shop-tools input[aria-invalid=true]{border-color:var(--danger)}.shop-input-icon{position:relative}.shop-search input{padding-left:42px}.shop-search-icon{width:20px;height:20px;color:var(--ink-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.shop-price-row{color:var(--ink-muted);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;display:grid}.shop-error{margin:var(--space-3) 0 0;color:var(--danger);font-size:.9375rem;font-weight:600}.shop-summary{align-items:center;gap:var(--space-2) var(--space-4);min-height:44px;margin:var(--space-3) 0;padding-top:var(--space-2);border-top:1px solid var(--hairline);flex-wrap:wrap;display:flex}.shop-summary p{color:var(--ink);margin:0}.shop-clear{min-height:44px;color:var(--extrusion-text);text-underline-offset:.25em;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline;text-decoration-thickness:2px}.shop-empty{justify-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-4);border:1px dashed var(--line);border-radius:var(--radius-md);text-align:center;display:grid}.shop-empty p{max-width:48ch;color:var(--ink);margin:0}.shop-empty-icon{width:32px;height:32px;color:var(--ink-muted)}@media (hover:hover) and (pointer:fine){.shop-chip:not(.active):hover,.shop-tools input:hover,.shop-tools select:hover{border-color:var(--ink)}}@media (min-width:900px){.shop-head{padding:var(--space-8) 0 var(--space-6)}.shop-head p{font-size:1.125rem}.shop-body{padding:var(--space-6) 0 var(--space-9)}.shop-summary{margin:var(--space-4) 0;padding-top:var(--space-3)}.shop-cats{margin:0 0 var(--space-5);flex-wrap:wrap;padding:0;overflow:visible}.shop-tools{gap:var(--space-4);grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:"search price sort"}}
