.shop{padding-top:var(--nav-h)}.shop__head{padding-block:var(--space-2xl) var(--space-xl);background:radial-gradient(ellipse at 12% 0%, color-mix(in srgb, var(--color-primary) 14%, transparent), transparent 62%), var(--color-bg);border-bottom:1px solid var(--color-border)}.shop__title-hi{color:var(--color-fg-muted);font-weight:400}.shop__head .lead{margin-top:var(--space-xs)}.shop__cats{gap:var(--space-2xs);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.shop__cat{min-height:44px;padding-inline:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-fg);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.shop__cat:hover{border-color:var(--color-primary);color:var(--color-primary)}.shop__cat.is-on{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.shop__body{gap:var(--space-2xl);padding-block:var(--space-2xl) var(--space-4xl);grid-template-columns:236px 1fr;align-items:start;display:grid}.shop__filters{top:calc(var(--nav-h) + var(--space-md));gap:var(--space-lg);flex-direction:column;display:flex;position:sticky}.shop__filter{border:none;margin:0;padding:0}.shop__filter-label{margin-bottom:var(--space-xs);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-fg-muted);padding:0;font-weight:700;display:block}.shop__filter input[type=search]{width:100%;min-height:44px;padding:var(--space-xs) var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-sm)}.shop__filter input[type=search]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 22%, transparent);outline:none}.shop__opts{flex-direction:column;gap:4px;display:flex}.shop__opts--row{flex-flow:wrap}.shop__opt{min-height:44px;padding:var(--space-2xs) var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-fg);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:flex-start;font-weight:600;display:flex}.shop__opt em{opacity:.72;font-size:.68rem;font-style:normal;font-weight:500}.shop__opt:hover{border-color:var(--color-primary)}.shop__opt.is-on{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.shop__opt--pill{border-radius:var(--radius-pill);padding-inline:var(--space-md)}.shop__check{align-items:center;gap:var(--space-xs);min-height:44px;font-size:var(--text-sm);cursor:pointer;font-weight:600;display:flex}.shop__check input{width:18px;height:18px;accent-color:var(--color-primary)}.shop__clear{align-items:center;gap:var(--space-2xs);min-height:44px;font-size:var(--text-sm);color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;display:inline-flex}.shop__clear:hover{text-decoration:underline}.shop__count{margin-bottom:var(--space-md);font-size:var(--text-sm);color:var(--color-fg-muted)}.shop__grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));padding:0;list-style:none;display:grid}.shop__grid>li{display:flex}.shop__empty{align-items:flex-start;gap:var(--space-sm);padding:var(--space-2xl);background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);flex-direction:column;display:flex}.shop__empty-title{font-family:var(--font-display);font-size:var(--text-xl)}.shop__empty p{color:var(--color-fg-muted);max-width:46ch}@media (width<=900px){.shop__body{gap:var(--space-lg);grid-template-columns:1fr}.shop__filters{gap:var(--space-md);padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid;position:static}}
