.page-header.svelte-28k0ar{background:linear-gradient(to bottom,var(--bg-alt),var(--bg));padding-block:var(--space-xl) var(--space-lg);border-bottom:1px solid var(--border)}.page-header.svelte-28k0ar h1:where(.svelte-28k0ar){margin-top:var(--space-sm)}.page-header.svelte-28k0ar p:where(.svelte-28k0ar){margin-top:var(--space-sm);font-size:1.05rem}.products-section.svelte-28k0ar{padding-top:var(--space-lg)}.catalog-summary.svelte-28k0ar{margin-bottom:var(--space-md);color:var(--text-muted);font-size:.95rem}.filters.svelte-28k0ar{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.filter-btn.svelte-28k0ar{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-sans);font-size:.85rem;font-weight:500;padding:.45rem 1rem;border:1.5px solid var(--border-strong);border-radius:99px;background:var(--bg-card);color:var(--text-muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.filter-btn.svelte-28k0ar:hover{border-color:var(--accent);color:var(--accent)}.filter-btn.active.svelte-28k0ar{background:var(--accent);border-color:var(--accent);color:#fff}.filter-btn.active.svelte-28k0ar .filter-count:where(.svelte-28k0ar){background:#ffffff40;color:#fff}.filter-count.svelte-28k0ar{font-size:.75rem;background:var(--bg-alt);color:var(--text-muted);border-radius:99px;padding:.1rem .4rem;transition:background .15s,color .15s}.products-grid.svelte-28k0ar{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-md)}.product-card.svelte-28k0ar{display:flex;flex-direction:column}.product-image-wrap.svelte-28k0ar{aspect-ratio:4 / 3;overflow:hidden;background:var(--bg-alt);border-bottom:1px solid var(--border)}.product-img.svelte-28k0ar{width:100%;height:100%;object-fit:cover;transition:transform .3s}.product-card.svelte-28k0ar:hover .product-img:where(.svelte-28k0ar){transform:scale(1.04)}.product-img-placeholder.svelte-28k0ar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;opacity:.3}.product-body.svelte-28k0ar{padding:var(--space-md);display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:0}.product-name.svelte-28k0ar{font-size:1.05rem;font-weight:600;line-height:1.3;margin-top:.2rem}.product-desc.svelte-28k0ar{font-size:.85rem;color:var(--text-muted);line-height:1.275rem;margin:0;max-width:none;min-width:0;display:block;max-height:calc(1.275rem * 3);overflow:hidden}.desc-more.svelte-28k0ar{align-self:flex-start;border:0;padding:0;background:transparent;color:var(--accent);font-size:.8rem;font-weight:500;cursor:pointer}.desc-more.svelte-28k0ar:hover{text-decoration:underline}.product-footer.svelte-28k0ar{margin-top:auto;padding-top:var(--space-sm);display:flex;align-items:center;justify-content:space-between}.product-price.svelte-28k0ar{font-family:var(--font-serif);font-size:1.2rem;font-weight:600;color:var(--accent)}.product-emoji.svelte-28k0ar{font-size:1.2rem;line-height:1}.desc-modal-backdrop.svelte-28k0ar{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:var(--space-md);z-index:60}.desc-modal.svelte-28k0ar{width:min(680px,100%);max-height:80vh;overflow:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.desc-modal-header.svelte-28k0ar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.desc-modal-header.svelte-28k0ar h3:where(.svelte-28k0ar){font-size:1.2rem;line-height:1.35}.desc-modal-close.svelte-28k0ar{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;width:2rem;height:2rem;font-size:1.25rem;line-height:1;cursor:pointer}.desc-modal-text.svelte-28k0ar{margin:0;max-width:none;color:var(--text-muted);line-height:1.7;white-space:pre-wrap}.error-state.svelte-28k0ar,.empty-catalog.svelte-28k0ar{text-align:center;padding:var(--space-2xl);display:flex;flex-direction:column;align-items:center;gap:var(--space-md);border:1px dashed var(--border-strong);border-radius:var(--radius-lg)}.error-icon.svelte-28k0ar{font-size:2.5rem}.error-state.svelte-28k0ar h2:where(.svelte-28k0ar){font-size:1.4rem}.error-state.svelte-28k0ar p:where(.svelte-28k0ar),.empty-catalog.svelte-28k0ar p:where(.svelte-28k0ar){max-width:45ch;text-align:center}.empty-state.svelte-28k0ar{text-align:center;padding:var(--space-xl);color:var(--text-muted);font-style:italic}.scroll-status.svelte-28k0ar{margin-top:var(--space-lg);text-align:center;color:var(--text-muted);font-size:.92rem}.scroll-sentinel.svelte-28k0ar{height:1px}@media(max-width:500px){.products-grid.svelte-28k0ar{grid-template-columns:1fr}}
