/* Collection navigation and a compact, accessible filtering workspace. */
#catalog .factory-catalog-layout { display:grid; grid-template-columns:238px minmax(0,1fr); gap:24px; align-items:start; }
#catalog .factory-catalog-results { min-width:0; }
#catalog .factory-filter-sidebar { position:sticky; top:calc(var(--factory-header-offset,120px) + 14px); max-height:calc(100dvh - var(--factory-header-offset,120px) - 28px); overflow-y:auto; overscroll-behavior:contain; padding:20px; margin:0; border:1px solid color-mix(in srgb,var(--ink,#243f4c) 13%,transparent); border-radius:18px; background:#fff; min-width:0; }
#catalog .factory-filter-sidebar>summary { display:none; }
#catalog .factory-filter-sidebar label { display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:600; min-width:0; }
#catalog .factory-filter-sidebar input,#catalog .factory-filter-sidebar select { width:100%; min-width:0; max-width:100%; min-height:44px; font-size:14px; padding:10px 12px; border:1px solid #dce0e3; border-radius:8px; box-shadow:none; background-color:#fff; }
#catalog .factory-filter-sidebar>label { margin-bottom:22px; }
#catalog .factory-filter-sidebar .factory-facet-panel { display:block; padding:0; margin:0; border:0; box-shadow:none; background:none; }
#catalog .factory-filter-sidebar .factory-facet-panel>summary { padding:0 0 16px; font-size:14px; }
#catalog .factory-filter-sidebar .factory-facet-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; padding:0; }
#catalog .factory-filter-sidebar .factory-price-filter { display:block; padding:20px 0 0; margin:22px 0 0; border:0; border-top:1px solid #eceeef; border-radius:0; background:none; }
#catalog .factory-filter-sidebar .factory-price-filter>p:first-child { margin:0 0 12px; font-size:14px; }
#catalog .factory-filter-sidebar .factory-price-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; align-items:end; }
#catalog .factory-filter-sidebar .factory-price-fields button { grid-column:1/-1; min-height:42px; padding:10px; margin-top:4px; font-size:13px; border-radius:8px; }
#catalog .factory-filter-sidebar .filter-reset { width:100%; border:0; background:transparent; color:inherit; text-decoration:underline; text-underline-offset:4px; margin:18px 0 0; padding:10px 0; font-size:13px; box-shadow:none; }
.factory-shop #catalog .product-toolbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,240px); gap:20px; padding:0 0 18px; margin:0; border:0; border-radius:0; box-shadow:none; background:none; }
.factory-shop #catalog .product-toolbar label { min-width:0; font-size:12px; gap:7px; }
.factory-shop #catalog .product-toolbar input,.factory-shop #catalog .product-toolbar select { width:100%; min-width:0; min-height:46px; font-size:14px; box-shadow:none; border-radius:9px; }
#catalog .catalog-result-bar { margin:0 0 16px; padding:0; gap:12px; }
#catalog .catalog-result-bar p { font-size:13px; }
#catalog .catalog-stage { font-size:11px; }
#catalog .factory-category-choices { gap:9px; margin-bottom:24px; padding-bottom:3px; }
#catalog .factory-category-choices button { min-height:40px; padding:10px 16px; font-size:13px; box-shadow:none; }
#catalog .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
#catalog .catalog-pagination { gap:12px; flex-wrap:wrap; }
#catalog #catalog-pages { display:flex; gap:6px; align-items:center; }
#catalog .page-number,#catalog .page-nav { min-height:40px; min-width:38px; padding:8px 10px; font-size:13px; }
#catalog .catalog-page-gap { padding:5px; }
.factory-product-information { margin-top:22px; border-top:1px solid #e2e3e4; }
.factory-product-information details { border-bottom:1px solid #e2e3e4; padding:16px 0; }
.factory-product-information summary { cursor:pointer; font-weight:600; font-size:14px; }
.factory-product-information p { margin:12px 0 0; font-size:13px; line-height:1.65; }
@media(min-width:1500px) { #catalog .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1000px) { #catalog .factory-catalog-layout { grid-template-columns:205px minmax(0,1fr); gap:18px; } #catalog .factory-filter-sidebar { padding:16px; } #catalog .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) {
 #catalog .factory-catalog-layout { display:block; }
 #catalog .factory-filter-sidebar { position:static; max-height:none; overflow:visible; margin-bottom:18px; padding:0; border-radius:12px; }
 #catalog .factory-filter-sidebar>summary { display:list-item; padding:14px 16px; font-size:14px; font-weight:600; cursor:pointer; }
 #catalog .factory-filter-sidebar[open] { padding:0 16px 16px; }
 #catalog .factory-filter-sidebar[open]>summary { margin:0 -16px 16px; border-bottom:1px solid #eceeef; }
 #catalog .factory-filter-sidebar .factory-facet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }
 .factory-shop #catalog .product-toolbar { grid-template-columns:minmax(0,1fr); gap:14px; }
 #catalog .factory-category-choices { display:flex; flex-wrap:nowrap; overflow-x:auto; max-width:100%; scrollbar-width:thin; }
 #catalog .factory-category-choices button { flex:none; white-space:nowrap; }
 #catalog .catalog-result-bar { flex-wrap:wrap; }
 #catalog .product-grid { gap:12px; }
 #catalog .page-nav { font-size:12px; }
}
@media(max-width:360px) { #catalog .factory-filter-sidebar .factory-facet-grid { grid-template-columns:1fr; } #catalog .catalog-pagination { gap:6px; } #catalog .page-number { min-width:30px; padding:6px; } }
