.catalog{padding-block:var(--space-12) var(--space-16)}.catalog__head{gap:var(--space-3);margin-bottom:var(--space-8);flex-direction:column;display:flex}.catalog__title{max-width:18ch}.catalog__controls{z-index:50;gap:var(--space-4);margin-bottom:var(--space-8);padding-block:var(--space-4);background:var(--color-bg-base);-webkit-backdrop-filter:blur(var(--glass-subtle-blur));backdrop-filter:blur(var(--glass-subtle-blur));border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.catalog__filters{gap:var(--space-2);flex-wrap:wrap;display:flex}.catalog__filter{appearance:none;border:1px solid var(--border-default);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-sm);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),background var(--duration-fast) var(--ease-out-quart);background:0 0}.catalog__filter:hover{color:var(--color-text-primary);border-color:var(--border-strong)}.catalog__filter[aria-pressed=true]{background:var(--color-text-primary);color:var(--color-text-inverse);border-color:var(--color-text-primary)}.catalog__search-wrap{flex:1;min-width:220px;max-width:320px;position:relative}.catalog__search{width:100%;padding-right:40px}.catalog__search::-webkit-search-cancel-button{appearance:none}.catalog__search::-webkit-search-decoration{appearance:none}.catalog__search-clear{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-pill);transition:color var(--duration-fast) var(--ease-out-quart),background var(--duration-fast) var(--ease-out-quart);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.catalog__search-clear:hover{color:var(--text-primary);background:var(--state-hover-overlay)}.catalog__search-clear[hidden]{display:none}@media(max-width:600px){.catalog__search-wrap{flex-basis:100%;width:100%;max-width:none}}.catalog__grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.catalog__empty{padding:var(--space-12) 0;text-align:center;color:var(--color-text-secondary);gap:var(--space-5);flex-direction:column;align-items:center;display:flex}.catalog__empty[hidden]{display:none}.cat-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-base);flex-direction:column;display:flex;overflow:hidden}.cat-card[hidden]{display:none}.cat-card__media{aspect-ratio:4/5;background:var(--color-bg-muted);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.cat-card__media.is-carousel{touch-action:pan-y;-webkit-user-select:none;user-select:none}.cat-card__eyebrow{top:var(--space-3);left:var(--space-3);z-index:4;pointer-events:none;position:absolute}.cat-card__img{object-fit:cover;width:100%;height:100%;display:block}.cat-card__media.is-carousel .cat-card__img{opacity:0;transition:opacity var(--duration-base) var(--ease-out-quart);position:absolute;inset:0}.cat-card__media.is-carousel .cat-card__img.is-active{opacity:1}.cat-card__nav{width:50%;padding:0 var(--space-3);cursor:pointer;color:var(--color-text-inverse);z-index:2;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;display:flex;position:absolute;top:0;bottom:0}.cat-card__nav--prev{justify-content:flex-start;left:0}.cat-card__nav--next{justify-content:flex-end;right:0}.cat-card__nav-icon{background:var(--glass-subtle-bg);border:1px solid var(--glass-border);color:#fff;border-radius:var(--radius-pill);width:36px;height:36px;-webkit-backdrop-filter:blur(var(--glass-subtle-blur));backdrop-filter:blur(var(--glass-subtle-blur));place-items:center;display:inline-grid}.cat-card__nav:focus-visible{outline:none}.cat-card__nav:focus-visible .cat-card__nav-icon{outline:2px solid var(--color-text-primary);outline-offset:2px}@media(pointer:fine){.cat-card__nav-icon{opacity:0;transition:opacity var(--duration-fast) var(--ease-out-quart)}.cat-card__media.is-carousel:focus-within .cat-card__nav:focus-visible .cat-card__nav-icon{opacity:1}.cat-card__media.is-carousel,.cat-card__media.is-carousel .cat-card__nav{cursor:none}}.cat-card__cursor{background:var(--glass-subtle-bg);border:1px solid var(--glass-border);color:#fff;border-radius:var(--radius-pill);pointer-events:none;opacity:0;width:56px;height:56px;transition:opacity var(--duration-instant) var(--ease-out-quart);z-index:100;-webkit-backdrop-filter:blur(var(--glass-subtle-blur));backdrop-filter:blur(var(--glass-subtle-blur));place-items:center;display:grid;position:fixed;top:0;left:0;transform:translate(-100px,-100px)}.cat-card__cursor.is-visible{opacity:1}.cat-card__cursor-arrow{display:none;position:absolute}.cat-card__cursor.is-prev .cat-card__cursor-arrow--prev,.cat-card__cursor.is-next .cat-card__cursor-arrow--next{display:block}@media(pointer:coarse),(hover:none){.cat-card__cursor{display:none}}.cat-card__dots{bottom:var(--space-3);z-index:4;gap:var(--space-2);justify-content:center;margin:0;padding:0;list-style:none;display:flex;position:absolute;left:50%;transform:translate(-50%)}.cat-card__dot{appearance:none;background:var(--border-default);border-radius:var(--radius-pill);cursor:pointer;width:6px;height:6px;transition:background var(--duration-fast) var(--ease-out-quart),transform var(--duration-fast) var(--ease-out-quart);border:0;padding:0}.cat-card__dot.is-active{background:var(--color-text-primary);transform:scale(1.4)}.cat-card__dot:focus-visible{outline:2px solid var(--color-text-primary);outline-offset:2px}.cat-card__body{gap:var(--space-3);padding:var(--space-5);border-top:1px solid var(--border-subtle);flex-direction:column;flex:1;display:flex}.cat-card__name{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cat-card__desc{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.cat-card__specs{gap:var(--space-1-5);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.cat-card__cta{padding-top:var(--space-3);margin-top:auto}
