.catalog-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:14px;padding:20px;background:#f1f2f3;border-radius:8px;margin-bottom:22px}.catalog-search{display:flex;flex:1;min-width:220px;gap:6px}.catalog-search input{width:100%;min-width:0;background:white}.catalog-search button{background:white;border:1px solid #d71f27;border-radius:4px;color:#bd252b;padding:8px 12px;white-space:nowrap}.catalog-stock{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer;position:relative}.catalog-stock input{position:absolute;opacity:0;width:40px;height:24px;margin:0}.catalog-switch{width:38px;height:22px;border-radius:15px;background:#b7bbc1;position:relative;flex-shrink:0}.catalog-switch:after{content:'';position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:white;transition:transform .15s}.catalog-stock input:checked+.catalog-switch{background:#ce8d90}.catalog-stock input:checked+.catalog-switch:after{transform:translateX(16px);background:#bb252d}.catalog-stock input:focus-visible+.catalog-switch{outline:2px solid #bb252d;outline-offset:3px}.catalog-tool-button{display:flex;align-items:center;justify-content:center;gap:8px;background:white;border:1px solid #d71f27;color:#bd252b;padding:9px 14px;border-radius:4px;font-size:13px;cursor:pointer;list-style:none}.catalog-tool-button::-webkit-details-marker{display:none}.catalog-sort{position:relative}.catalog-sort-menu{position:absolute;right:0;top:calc(100% + 6px);width:200px;background:white;box-shadow:0 6px 24px #0002;z-index:20;border-radius:5px;padding:6px}.catalog-sort-menu button{display:block;width:100%;text-align:left;padding:12px;background:white;color:#bd252b;border-radius:3px}.catalog-sort-menu button:hover,.catalog-sort-menu button[aria-current]{background:#fff0f0}.catalog-filter-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100%);height:100dvh;max-height:100dvh;max-width:100%;padding:0;border:0;background:white;color:#22262c}.catalog-filter-dialog[open]{display:flex;flex-direction:column}.catalog-filter-dialog::backdrop{background:#0006}.catalog-filter-dialog header{display:flex;align-items:center;justify-content:space-between;background:#b9232c;color:white;padding:20px;flex-shrink:0}.catalog-filter-dialog h2{font-size:18px;margin:0}.catalog-filter-dialog header button{background:none;color:white;font-size:28px;line-height:1;border:1px solid white;border-radius:3px}.catalog-filter-fields{overflow:auto;flex:1;padding-bottom:20px}.catalog-filter-fields details{border-bottom:1px solid #eee}.catalog-filter-fields summary{cursor:pointer;padding:18px 20px;font-size:15px}.catalog-filter-fields summary span{display:block;font-size:12px;color:#b9232c;margin-top:5px;overflow-wrap:anywhere}.catalog-filter-option{display:flex;align-items:center;gap:10px;padding:8px 22px;font-size:13px;cursor:pointer;overflow-wrap:anywhere}.catalog-filter-option input{accent-color:#b9232c;flex-shrink:0}.catalog-filter-dialog footer{display:flex;gap:8px;padding:16px;border-top:1px solid #eee;background:white;flex-shrink:0}.catalog-filter-dialog footer>*{flex:1;text-align:center;padding:12px;border:1px solid #b9232c;border-radius:5px}.catalog-filter-dialog footer>a{color:#b9232c}.catalog-filter-open{overflow:hidden}.catalog-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 22px}.catalog-filter-chips a{font-size:12px;padding:5px 10px;border-radius:16px;background:#fff0f0;color:#b9232c;overflow-wrap:anywhere}.catalog-filter-chips .catalog-clear{background:transparent;text-decoration:underline}@media(max-width:700px){.catalog-tools{padding:14px;gap:10px;justify-content:space-between}.catalog-search{flex-basis:100%}.catalog-stock{width:100%}.catalog-sort,.catalog-tools>[data-open-filters]{flex:1}.catalog-tool-button{width:100%}}

/* Keep brand heading and category links together without stacked grid gaps. */
.catalog-brand-intro{display:grid;gap:14px}
.catalog-brand-intro>.sectionhead,.catalog-brand-intro>.filters{margin:0}
.catalog-brand-intro>.sectionhead h2{margin-bottom:4px}
.catalog-brand-intro>.filters{gap:10px}
.catalog-brand-intro>.filters .button{padding:8px 16px}
