.catalog-filter-bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d8d8d8;margin-top:24px;min-height:62px}.catalog-filter-groups{display:flex;gap:32px}.catalog-filter-drop{position:relative;margin:0;padding:0;border:0;min-width:0}.catalog-filter-drop>summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;font-size:12px;min-height:60px;padding:0;border:0;white-space:nowrap}.catalog-filter-drop>summary::-webkit-details-marker{display:none}.catalog-filter-drop>summary svg{width:15px;height:15px;stroke-width:1.2;transition:transform .2s}.catalog-filter-drop[open]>summary svg{transform:rotate(180deg)}.filter-active-dot{width:4px;height:4px;border-radius:50%;background:#111;margin-left:-5px}.catalog-filter-panel{position:absolute;top:100%;left:0;width:280px;background:white;padding:18px 20px;border:1px solid #dedede;box-shadow:0 12px 28px #0000000a;z-index:8;max-height:390px;overflow:auto}.filter-choice{width:100%;display:flex;align-items:center;gap:12px;padding:12px 0;text-align:left;font-size:12px;line-height:1.5}.filter-choice:hover{text-decoration:none}.filter-choice>span{flex:1}.filter-choice small{color:#999;font-size:10px}.filter-radio{width:13px;height:13px;border:1px solid #aaa;border-radius:50%;flex-shrink:0}.filter-choice.selected .filter-radio{border:4px solid #111}.filter-choice.selected>span{font-weight:600}.filter-color-dot{width:17px;height:17px;flex-shrink:0;border-radius:50%;border:1px solid #0002}.filter-choice.selected .filter-color-dot{outline:1px solid #111;outline-offset:3px}.filter-range-label{font-size:11px;margin-bottom:20px}.filter-range{display:flex;align-items:end;gap:10px}.filter-range label{display:grid;gap:9px;min-width:0;color:#777;font-size:10px}.filter-range input{width:100%;min-width:0;height:42px;border:1px solid #ccc;background:#fff;padding:10px;font-size:13px;border-radius:0}.filter-range>span{padding-bottom:14px;color:#777}.catalog-filter-panel .button{width:100%;margin-top:20px;padding:13px}.filter-hint{font-size:10px!important;color:#888;line-height:1.7;margin:12px 0 0!important;border-top:1px solid #eee;padding-top:12px}.filter-range-error{font-size:11px;color:#a22424;line-height:1.6;margin:12px 0 0}.catalog-filter-meta{display:flex;align-items:center;gap:28px;white-space:nowrap;color:#777;font-size:11px}.catalog-filter-meta select{border:0;border-radius:0;background:none;max-width:175px;padding:10px 22px 10px 0;font-size:11px;color:#222}.catalog-filter-chips{display:flex;flex-wrap:wrap;gap:8px;padding:18px 0 0}.catalog-filter-chips>button{display:flex;align-items:center;gap:14px;border:1px solid #ddd;padding:7px 10px;font-size:10px;background:#fff}.catalog-filter-chips svg{width:12px;height:12px;stroke-width:1}.catalog-filter-chips>.filter-reset{border-color:transparent;text-decoration:underline;text-underline-offset:3px;color:#777}.catalog-stock-note{font-size:10px;color:#999;margin:16px 0 26px;line-height:1.6}.bag-recommendations{border-top:1px solid #eee;padding-top:48px}.bag-recommendations .sectiontitle h2{margin-top:12px;font-family:Avant,Arial,sans-serif;font-size:30px;font-weight:400}.bag-recommendations .sectiontitle p{margin:14px 0 0;color:#777;font-size:12px;line-height:1.7}.recommendations-empty{font-size:12px;color:#777;padding:25px 0;line-height:1.8}
@media(max-width:800px){.catalog-filter-groups{gap:22px}.catalog-filter-meta{gap:12px}.catalog-filter-bar{gap:12px}.catalog-filter-drop>summary{gap:7px}}
@media(max-width:600px){.catalog-filter-bar{display:block;margin-top:14px}.catalog-filter-groups{justify-content:space-between;gap:12px}.catalog-filter-drop{position:static}.catalog-filter-drop>summary{font-size:12px;min-height:52px;gap:8px}.catalog-filter-drop>summary svg{width:12px}.catalog-filter-panel{top:52px;left:0;right:0;width:100%;padding:18px 20px;max-height:min(420px,60dvh)}.catalog-filter-meta{border-top:1px solid #eee;justify-content:space-between;min-height:45px;font-size:10px}.catalog-filter-meta select{font-size:10px;padding-top:11px;padding-bottom:11px}.filter-choice{padding:13px 0;font-size:13px}.filter-colors-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.filter-colors-panel>.filter-choice:first-child{grid-column:1/-1}.filter-range input{font-size:16px}.catalog-filter-chips{padding-top:14px;gap:6px}.catalog-filter-chips>button{font-size:9px;padding:7px 8px;gap:9px}.catalog-stock-note{font-size:9px;margin:12px 0 22px}.bag-recommendations{padding:32px 16px}.bag-recommendations .sectiontitle h2{font-size:25px}.bag-recommendations .sectiontitle p{font-size:11px}.bag-recommendations .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 7px}}
@media(prefers-reduced-motion:reduce){.catalog-filter-drop>summary svg{transition:none}}
.filter-subheading{border-top:1px solid #e6e6e6;padding-top:18px;margin:12px 0 7px;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#888}
@media(max-width:600px){.catalog-filter-groups{gap:7px}.catalog-filter-drop>summary{font-size:11px;gap:4px}.filter-active-dot{margin-left:0;width:3px;height:3px}.catalog-filter-drop>summary svg{width:11px}}

/* Six compact controls, with two calm rows on phones. */
.catalog-filter-groups{gap:24px;flex-wrap:wrap}.catalog-filter-bar{gap:18px}.catalog-filter-meta{gap:16px}
@media(min-width:601px) and (max-width:1050px){.catalog-filter-bar{flex-wrap:wrap;gap:0}.catalog-filter-groups{width:100%;justify-content:space-between;gap:12px}.catalog-filter-meta{width:100%;justify-content:space-between;border-top:1px solid #eee}}
@media(max-width:600px){.catalog-filter-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}.catalog-filter-drop>summary{justify-content:space-between;font-size:12px;min-height:44px;gap:6px}.catalog-filter-drop:nth-child(-n+3){border-bottom:1px solid #eee}.catalog-filter-panel{top:88px}.filter-active-dot{margin-left:auto}.catalog-filter-meta{gap:12px}}

/* Compact controls keep fixed gaps instead of stretching across the window. */
.catalog-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:0;flex-wrap:nowrap}
.catalog-filter-groups{display:flex;flex:0 1 auto;flex-wrap:nowrap;justify-content:flex-start;width:auto;gap:24px}
.catalog-filter-drop{position:relative;flex:0 0 auto;min-width:0;border:0}
.catalog-filter-drop>summary{justify-content:flex-start;min-height:56px;gap:8px;font-size:12px}
.catalog-filter-drop>summary svg{flex-shrink:0}
.catalog-filter-meta{width:auto;min-height:44px;justify-content:space-between;border:0;gap:16px;flex:0 0 auto}
.catalog-filter-drop:last-child .catalog-filter-panel{left:auto;right:0}
@media(max-width:1050px){.catalog-filter-bar{display:block}.catalog-filter-meta{width:100%;border-top:1px solid #eee}.catalog-filter-groups{gap:24px}}
@media(max-width:800px){
 .catalog-filter-groups{display:grid;grid-template-columns:repeat(3,max-content);justify-content:flex-start;gap:0 24px;width:auto}
 .catalog-filter-drop{position:static;border:0}
 .catalog-filter-drop:nth-child(-n+3){border:0}
 .catalog-filter-drop>summary{min-height:44px;font-size:12px;gap:8px;justify-content:flex-start}
 .catalog-filter-panel,.catalog-filter-drop:last-child .catalog-filter-panel{top:88px;left:0;right:0;width:100%;max-height:min(420px,60dvh)}
 .filter-active-dot{margin-left:0}
}
@media(max-width:360px){.catalog-filter-groups{gap:0 16px}.catalog-filter-drop>summary{font-size:11px}}

/* A single quiet entry point for mobile filters; desktop controls stay inline. */
.mobile-filter-trigger{display:none}
body.mobile-filters-open{overflow:hidden}
#mobile-filters{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;height:min(88dvh,780px);max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:15px 15px 0 0;background:#fff;overflow:hidden;color:#171717}
#mobile-filters[open]{display:flex;flex-direction:column;animation:filter-sheet-in .28s ease-out}
#mobile-filters::backdrop{background:#0005}
.mobile-filter-heading{display:flex;justify-content:space-between;align-items:center;flex:none;padding:25px 24px 21px;border-bottom:1px solid #e5e5e5}
.mobile-filter-heading h2{font-family:Avant,Arial,sans-serif;font-size:24px;font-weight:400;margin:0 0 7px}
.mobile-filter-heading p{font-size:11px;color:#777;margin:0}
.mobile-filter-heading>button{width:44px;height:44px;display:grid;place-items:center;padding:10px;border:0!important;background:transparent!important;box-shadow:none!important;outline:none!important}
.mobile-filter-heading>button svg{width:22px;height:22px;stroke-width:1.1}
.mobile-filter-heading>button:focus-visible svg{stroke-width:1.7}
#mobile-filter-body{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:0 24px 20px}
#mobile-filter-body .catalog-filter-bar{display:block;margin:0;border:0}
#mobile-filter-body .mobile-filter-trigger,#mobile-filter-body .catalog-filter-meta,#mobile-filter-body .catalog-filter-chips,#mobile-filter-body .catalog-stock-note{display:none}
#mobile-filter-body .catalog-filter-groups{display:block;width:100%}
#mobile-filter-body .catalog-filter-drop{position:relative;border:0;border-bottom:1px solid #e5e5e5;padding:0}
#mobile-filter-body .catalog-filter-drop>summary{min-height:61px;font-size:13px;justify-content:space-between;gap:10px}
#mobile-filter-body .filter-active-dot{margin-left:auto}
#mobile-filter-body .catalog-filter-panel,#mobile-filter-body .catalog-filter-drop:last-child .catalog-filter-panel{position:static;width:100%;max-height:none;padding:0 0 20px;overflow:visible;border:0;box-shadow:none}
#mobile-filter-body .filter-choice{font-size:12px;min-height:44px;padding:11px 0}
#mobile-filter-body .filter-colors-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
#mobile-filter-body .filter-colors-panel>.filter-choice:first-child{grid-column:1/-1}
#mobile-filter-body .filter-range input{font-size:16px}
#mobile-filter-body .catalog-filter-panel form>.button{display:none}
.mobile-filter-footer{flex:none;display:flex;align-items:center;gap:24px;border-top:1px solid #e5e5e5;padding:17px 24px calc(17px + env(safe-area-inset-bottom));background:#fff}
.mobile-filter-footer>button:first-child{font-size:12px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.mobile-filter-footer>.button{flex:1;min-height:46px;font-size:11px;padding:12px 16px}
.mobile-filter-footer>.button:disabled{opacity:.4;cursor:default}
@media(max-width:600px){
 .catalog-filter-bar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:14px;min-height:58px;border-bottom:1px solid #ddd}
 .catalog-filter-bar>.catalog-filter-groups{display:none}
 .mobile-filter-trigger{display:flex;align-items:center;gap:9px;min-height:48px;padding:0;font-size:12px;flex-shrink:0}
 .mobile-filter-trigger svg{width:20px;height:20px;stroke-width:1.15}
 .mobile-filter-trigger small{display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:50%;background:#111;color:#fff;font-size:9px}
 .catalog-filter-bar>.catalog-filter-meta{border:0;width:auto;min-height:48px;gap:14px;flex:0 1 auto}
 .catalog-filter-meta>span{font-size:10px;white-space:nowrap}
 .catalog-filter-meta select{max-width:145px;font-size:10px;padding-right:15px}
}
@media(max-width:360px){.catalog-filter-meta select{max-width:122px}.catalog-filter-bar>.catalog-filter-meta{gap:8px}}
@keyframes filter-sheet-in{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#mobile-filters[open]{animation:none}}

/* The search overlay uses the same precise filters as the catalog. */
.search-filter-tools{margin:4px 20px 12px}.search-filter-tools .catalog-filter-bar{margin-top:0}.search-filter-tools .catalog-stock-note{display:none}.search-filter-tools .catalog-filter-chips{padding-top:12px}.search-filter-tools:empty{display:none}
@media(max-width:600px){.search-filter-tools{margin:0 0 8px}.search-filter-tools .catalog-filter-bar{min-height:56px}.search-filter-tools .catalog-filter-chips{padding-top:10px}}
