.products-hero[data-v-56a676e2]{background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);padding:24px var(--inner-padding-x) 20px}.products-hero__inner[data-v-56a676e2]{max-width:var(--inner-max-width);margin:0 auto}.breadcrumb[data-v-56a676e2]{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:8px;flex-wrap:wrap}.breadcrumb__link[data-v-56a676e2]{color:var(--color-primary);text-decoration:none}.breadcrumb__link[data-v-56a676e2]:hover{text-decoration:underline}.breadcrumb__back[data-v-56a676e2]{background:none;border:none;padding:0;cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--color-primary)}.breadcrumb__sep[data-v-56a676e2]{color:var(--color-text-faint)}.breadcrumb__current[data-v-56a676e2]{color:var(--color-text-muted)}.products-hero__title[data-v-56a676e2]{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);color:var(--color-secondary);margin:0;line-height:var(--line-height-tight)}.cats-section[data-v-56a676e2]{padding:40px var(--inner-padding-x) 80px}.cats-section__inner[data-v-56a676e2]{max-width:var(--inner-max-width);margin:0 auto}.cats-grid[data-v-56a676e2]{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media(max-width:900px){.cats-grid[data-v-56a676e2]{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.cats-grid[data-v-56a676e2]{grid-template-columns:1fr}}.cat-card[data-v-56a676e2]{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;font-family:var(--font-family);padding:0;transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-base)}.cat-card[data-v-56a676e2]:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--color-primary)}.cat-card__img-wrap[data-v-56a676e2]{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#e5e7eb;flex-shrink:0}.cat-card__img[data-v-56a676e2]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.cat-card:hover .cat-card__img[data-v-56a676e2]{transform:scale(1.04)}.cat-card__placeholder[data-v-56a676e2]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#9ca3af}.cat-card__placeholder svg[data-v-56a676e2]{width:40px;height:40px}.cat-card__placeholder--uncategorized[data-v-56a676e2]{background:#f3f4f6;color:#6b7280}.cat-card__overlay[data-v-56a676e2]{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,23,42,.65) 0%,rgba(15,23,42,.1) 55%,transparent 100%)}.cat-card__label[data-v-56a676e2]{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.cat-card__name[data-v-56a676e2]{font-family:var(--font-family-heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#fff;line-height:1.2}.cat-card__count[data-v-56a676e2]{font-size:.72rem;color:#ffffffbf;white-space:nowrap;flex-shrink:0}.cat-card__desc[data-v-56a676e2]{flex:1;padding:14px 18px 10px;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-relaxed);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cat-card__footer[data-v-56a676e2]{padding:12px 18px 16px;border-top:1px solid var(--color-border);margin-top:auto}.cat-card__cta[data-v-56a676e2]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.pl-wrap[data-v-56a676e2]{padding:32px var(--inner-padding-x) 80px}.pl-inner[data-v-56a676e2]{max-width:var(--inner-max-width);margin:0 auto;display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:start}@media(max-width:768px){.pl-inner[data-v-56a676e2]{grid-template-columns:1fr}}.pl-sidebar[data-v-56a676e2]{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px}.pl-back[data-v-56a676e2]{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--color-primary);background:none;border:none;cursor:pointer;padding:0;font-family:var(--font-family);font-weight:var(--font-weight-semibold)}.pl-back svg[data-v-56a676e2]{width:14px;height:14px;flex-shrink:0}.pl-back[data-v-56a676e2]:hover{text-decoration:underline}.pl-search[data-v-56a676e2]{position:relative}.pl-search__icon[data-v-56a676e2]{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--color-text-muted);pointer-events:none}.pl-search__input[data-v-56a676e2]{width:100%;box-sizing:border-box;padding:8px 12px 8px 30px;border:1px solid var(--color-border);border-radius:var(--radius-base);font-size:var(--font-size-sm);color:var(--color-text);background:#fff;outline:none;font-family:var(--font-family);transition:border-color .15s}.pl-search__input[data-v-56a676e2]:focus{border-color:var(--color-primary)}.pl-sidebar__heading[data-v-56a676e2]{display:flex;align-items:center;justify-content:space-between;font-size:.7rem;font-weight:var(--font-weight-bold);color:var(--color-text-heading);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.pl-sidebar__clear[data-v-56a676e2]{font-size:.7rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--color-primary);background:none;border:none;cursor:pointer;padding:0}.pl-sidebar__clear[data-v-56a676e2]:hover{text-decoration:underline}.cat-list[data-v-56a676e2]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.cat-list__row[data-v-56a676e2]{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s;-webkit-user-select:none;user-select:none}.cat-list__row[data-v-56a676e2]:hover{background:var(--color-bg-alt)}.cat-list__row--active[data-v-56a676e2]{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.cat-list__check[data-v-56a676e2]{width:14px;height:14px;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer}.cat-list__name[data-v-56a676e2]{flex:1;font-size:var(--font-size-sm);color:var(--color-text)}.cat-list__count[data-v-56a676e2]{font-size:.68rem;color:var(--color-text-muted);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:999px;padding:1px 5px;flex-shrink:0}.pl-main[data-v-56a676e2]{min-width:0}.pl-toolbar[data-v-56a676e2]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;min-height:28px}.pl-toolbar__count[data-v-56a676e2]{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}.pl-toolbar__chips[data-v-56a676e2]{display:flex;flex-wrap:wrap;gap:6px}.pl-chip[data-v-56a676e2]{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 10px;background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-radius:999px;font-size:.75rem;font-weight:var(--font-weight-semibold)}.pl-chip__x[data-v-56a676e2]{background:none;border:none;cursor:pointer;padding:0;font-size:1rem;line-height:1;color:inherit;opacity:.7}.pl-chip__x[data-v-56a676e2]:hover{opacity:1}.pl-chip--clear[data-v-56a676e2]{background:none;border-color:var(--color-border);color:var(--color-text-muted);cursor:pointer}.pl-chip--clear[data-v-56a676e2]:hover{border-color:var(--color-primary);color:var(--color-primary)}.products-grid[data-v-56a676e2]{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}@media(max-width:1200px){.products-grid[data-v-56a676e2]{grid-template-columns:repeat(3,1fr)}}@media(max-width:860px){.products-grid[data-v-56a676e2]{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.products-grid[data-v-56a676e2]{grid-template-columns:1fr}}.product-card[data-v-56a676e2]{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);text-decoration:none;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-base)}.product-card[data-v-56a676e2]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary)}.product-card__img-wrap[data-v-56a676e2]{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;background:#f3f4f6;flex-shrink:0;display:flex;align-items:center;justify-content:center}.product-card__img[data-v-56a676e2]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.product-card:hover .product-card__img[data-v-56a676e2]{transform:scale(1.04)}.product-card__img--placeholder[data-v-56a676e2]{color:#9ca3af}.product-card__img--placeholder svg[data-v-56a676e2]{width:36px;height:36px}.product-card__body[data-v-56a676e2]{flex:1;padding:12px 14px 8px}.product-card__title[data-v-56a676e2]{font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 4px;line-height:1.3}.product-card__desc[data-v-56a676e2]{font-size:.78rem;color:var(--color-text-muted);margin:0;line-height:var(--line-height-relaxed);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__footer[data-v-56a676e2]{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 12px;border-top:1px solid var(--color-border);margin-top:auto}.product-card__price[data-v-56a676e2]{font-size:.78rem;font-weight:var(--font-weight-bold);color:var(--color-primary)}.product-card__cta[data-v-56a676e2]{font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--color-primary)}.products-empty[data-v-56a676e2]{text-align:center;padding:80px 24px;color:var(--color-text-muted);display:flex;flex-direction:column;align-items:center;gap:16px}.products-empty svg[data-v-56a676e2]{width:40px;height:40px;opacity:.3}.products-empty p[data-v-56a676e2]{margin:0;font-size:var(--font-size-lg)}.products-empty__clear[data-v-56a676e2]{padding:8px 20px;background:none;border:1px solid var(--color-primary);color:var(--color-primary);border-radius:999px;font-size:var(--font-size-sm);cursor:pointer;font-family:var(--font-family);transition:background .15s,color .15s}.products-empty__clear[data-v-56a676e2]:hover{background:var(--color-primary);color:#fff}
