.catalog-controls-sticky{display:flex;align-items:end;gap:.5rem;align-items:start}.catalog-controls-sticky .catalog-search{flex:1 1 20rem}.catalog-controls-sticky .filter-toggle{flex:0 0 auto}.catalog-controls-sticky .result-count{flex:0 0 auto;margin:0;min-height:2.6rem;display:inline-flex;align-items:center;font-size:.9rem;font-weight:700}.catalog-layout{display:grid;grid-template-columns:17rem 1fr;grid-gap:1.25rem;gap:1.25rem;margin-top:.75rem;align-items:start}.catalog-layout.filters-collapsed{grid-template-columns:1fr}.catalog-layout.filters-collapsed .catalog-filters{display:none}.catalog-results{min-width:0}.catalog-filters{position:-webkit-sticky;position:sticky;top:4rem;display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#eee8df;border-radius:.65rem;max-height:calc(100vh - 5rem)}.catalog-filters-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.catalog-filters .filter-close{display:none}.filter-group{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.filter-group legend{font-weight:700;font-size:.9rem;padding:0;margin-bottom:.25rem}.filter-option{display:flex;align-items:center;gap:.5rem;font-size:.88rem;cursor:pointer;min-height:2rem}.filter-option input[type=checkbox]{width:1.1rem;height:1.1rem;flex:0 0 auto;accent-color:var(--brand-accent)}.filter-option-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-option-count{color:#665f56;font-size:.8rem;flex:0 0 auto}.filter-group>label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.filter-hint{font-size:.8rem;color:#665f56;margin:.25rem 0 0}.multi-select{position:relative}.multi-select-toggle{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2.75rem;padding:.5rem .75rem;background:#fff;border:1px solid #c7bdae;border-radius:.5rem;font-size:.9rem;font-weight:600;color:#211b16;cursor:pointer}.multi-select-toggle:disabled{opacity:.55;cursor:default}.multi-select-search:focus-visible,.multi-select-toggle:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.multi-select-toggle-text{flex:1 1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-count{flex:0 0 auto;min-width:1.4rem;padding:0 .35rem;border-radius:999px;background:var(--brand-accent);color:#fff;font-size:.78rem;font-weight:700;line-height:1.4rem;text-align:center}.multi-select-chevron{flex:0 0 auto;font-size:.8rem}.multi-select-toggle[aria-expanded=true] .multi-select-chevron{transform:rotate(180deg)}.multi-select-panel{position:absolute;top:calc(100% + .25rem);left:0;right:0;z-index:20;display:flex;flex-direction:column;gap:.15rem;max-height:16rem;overflow-y:auto;padding:.5rem;background:#fff;border:1px solid #c7bdae;border-radius:.5rem;box-shadow:0 .5rem 1.25rem rgb(33 27 22/.18)}.multi-select-search{position:-webkit-sticky;position:sticky;top:-.5rem;margin:-.5rem -.5rem .25rem;padding:.6rem .75rem;background:#fff;border:0;border-bottom:1px solid #e3dccd;border-radius:.5rem .5rem 0 0;font-size:.88rem}.multi-select-panel .filter-option{padding:0 .25rem;border-radius:.35rem}.multi-select-clear{align-self:flex-start;margin-top:.25rem}.filter-actions{position:relative;z-index:30;display:flex;gap:.5rem;margin:0 -1rem -1rem;padding:.75rem 1rem;background:inherit;border-top:1px solid #c7bdae;border-radius:0 0 .65rem .65rem}.filter-actions .clear-filters,.filter-actions .filter-apply{flex:1 1}.filter-apply{min-height:2.75rem;padding:.55rem .7rem;background:var(--brand-accent);color:#fff;border:none;border-radius:.5rem;font:inherit;font-weight:700;cursor:pointer}.filter-apply:not(:disabled):hover{background:#8a4e2a}.filter-apply:disabled{opacity:.5;cursor:default}.filter-apply:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}@media (max-width:850px){.catalog-controls-sticky{display:flex;flex-wrap:wrap;align-items:center}.catalog-controls-sticky .catalog-search{flex:1 1 100%}.catalog-controls-sticky .sort-control{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - .5rem)}.catalog-controls-sticky .sort-control-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.catalog-controls-sticky .sort-control select{width:100%;min-height:48px}.catalog-controls-sticky .filter-toggle{min-width:0;flex-grow:1;flex-shrink:1;flex-basis:calc(50% - .5rem);min-height:48px;background:white;border:1px solid #c7bdae;color:#211b16}.catalog-controls-sticky .result-count{margin-left:auto}.catalog-layout,.catalog-layout.filters-collapsed{display:block}.catalog-filters{display:none;position:fixed;inset:0;z-index:100;flex-direction:column;gap:.75rem;margin:0;padding:4.5rem 1rem 1rem;border-radius:0;background:#faf8f4;transform:translateY(100%);transition:transform .2s ease;max-height:none}.filter-actions{border-radius:0}.catalog-filters.is-open{display:flex;transform:translateY(0)}.catalog-filters .filter-close{display:inline-flex;position:absolute;top:.75rem;right:1rem;width:44px;min-height:44px;padding:0}}.ds-page{max-width:var(--page-width);margin-inline:auto;padding:var(--space-5) var(--space-4) var(--space-7)}.ds-page-header{margin-bottom:var(--space-6)}.ds-page-header h1{font-size:var(--font-size-2xl)}.ds-field,.ds-stack{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.ds-stack{gap:var(--space-5)}.ds-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.ds-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.ds-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4);min-width:0}.ds-card h2{font-size:var(--font-size-lg)}.ds-muted{color:var(--color-text-secondary)}.ds-button,.ds-tabs button{min-height:var(--touch-target);border:1px solid var(--color-brand-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);background:var(--color-brand-strong);color:var(--color-surface);font:inherit;font-weight:700;cursor:pointer;transition:background var(--duration-fast)}.ds-button-secondary,.ds-tabs button{color:var(--color-brand-strong);background:var(--color-surface)}.ds-button-danger{background:var(--color-error);border-color:var(--color-error)}.ds-button:hover:not(:disabled){background:var(--color-brand-dark);color:var(--color-surface)}.ds-button:active:not(:disabled){background:var(--color-brand-darker)}.ds-button:disabled,.ds-input:disabled{opacity:.6;cursor:not-allowed}.ds-button .loading-state{display:flex;flex-direction:row;padding:0;min-height:0;gap:var(--space-2);color:inherit}.ds-button .loading-state-mark{width:var(--space-5);height:var(--space-5)}.ds-input{width:100%;min-width:0;min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit}.ds-input[aria-invalid=true]{border-color:var(--color-error)}.ds-textarea{min-height:7.5rem;resize:vertical;line-height:1.5}.ds-field-error{color:var(--color-error)}.ds-choice{display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target)}.ds-choice input{accent-color:var(--color-brand-strong);width:var(--space-4);height:var(--space-4)}.ds-badge{display:inline-flex;border:1px solid;border-radius:var(--radius-pill);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.ds-tone-neutral{color:var(--color-text-secondary);background:var(--color-surface-muted)}.ds-tone-success{color:var(--color-success-strong);background:var(--color-surface)}.ds-tone-warning{color:var(--color-warning);background:var(--color-warning-surface)}.ds-tone-error{color:var(--color-error);background:var(--color-error-surface)}.ds-alert{border:1px solid;border-radius:var(--radius-md);padding:var(--space-4)}.ds-state{padding:var(--space-5);text-align:center}.ds-skeleton{min-height:var(--space-6);background:var(--color-surface-muted);border-radius:var(--radius-md)}.ds-modal{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);width:min(100% - var(--space-6),40rem);max-height:calc(100dvh - var(--space-6));overflow:auto;box-shadow:var(--shadow-lg)}.ds-modal::-webkit-backdrop{background:rgb(45 31 23/50%)}.ds-modal::backdrop{background:rgb(45 31 23/50%)}.ds-modal-dismiss{display:block;margin:var(--space-2) auto 0;min-height:var(--touch-target);padding:var(--space-2) var(--space-4);background:transparent;border:0;color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-sm);text-decoration:underline;text-underline-offset:.18em;cursor:pointer}.ds-modal-dismiss:hover{color:var(--color-text)}.ds-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.ds-tabs [aria-selected=true]{background:var(--color-brand-strong);color:var(--color-surface);text-decoration:underline}.ds-button:focus-visible,.ds-choice input:focus-visible,.ds-input:focus-visible,.ds-modal :focus-visible,.ds-page :where(a,button,input,select,summary,[tabindex]):focus-visible,.ds-tabs button:focus-visible{outline:var(--focus-ring);outline-offset:var(--space-1)}.ds-price{color:var(--color-price);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ds-price-drop{color:var(--color-price-drop)}.ds-price-rise{color:var(--color-price-rise)}.ds-catalog{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.ds-filter-desktop{display:none}.ds-swatch{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}@media (min-width:768px){.ds-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.ds-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ds-catalog{grid-template-columns:16rem minmax(0,1fr)}.ds-filter-desktop{display:block}.ds-filter-mobile{display:none}}.ds-card.product-card{padding:0}.ds-roaster-card{padding:0;border:0;box-shadow:none}.ds-page .loading-state{height:auto}.ds-choice input{min-height:auto;padding:0}button.ds-button:hover:not(:disabled){background:var(--color-brand-dark);color:var(--color-surface)}button.ds-button:active:not(:disabled){background:var(--color-brand-darker)}button.ds-button:disabled:hover{background:var(--color-brand-strong)}button.ds-button-secondary:disabled:hover{background:var(--color-surface)}button.ds-button-danger:disabled:hover{background:var(--color-error)}.ds-tabs button:hover:not(:disabled){background:var(--color-brand-strong);color:var(--color-surface)}