/* Crameri Food filters: one component, shared across category and search. */
.cf-filters{margin:28px 0;padding:22px 0;border-block:1px solid var(--cf-line,#d8d2c5);color:var(--cf-forest,#2b3d32);font-family:var(--cf-sans,"Avenir Next",Avenir,Manrope,sans-serif)}
.cf-filters__jump{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--cf-line,#d8d2c5);color:var(--cf-forest,#2b3d32);background:var(--cf-cream,#f6f1e8);font-family:var(--cf-sans,"Avenir Next",Avenir,Manrope,sans-serif);font-size:14px;font-weight:600;line-height:1.5;text-decoration:none}
.cf-filters__jump:focus-visible{outline:2px solid var(--cf-gold,#a27d49);outline-offset:3px}
.cf-filters__heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}
.cf-filters__heading h2{margin:0;font-family:inherit;font-size:13px;font-weight:700;line-height:1.5;letter-spacing:.12em;text-transform:uppercase}
.cf-filters__clear{font-size:14px;text-decoration:underline;text-underline-offset:4px;color:inherit}
.cf-filters__groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:start}
.cf-filters__group{min-width:0;border:1px solid var(--cf-line,#d8d2c5);background:var(--cf-cream,#f6f1e8)}
.cf-filters__group summary{display:flex;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer;list-style:none;font-size:16px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.cf-filters__group summary::-webkit-details-marker{display:none}
.cf-filters__group summary>span{flex:none;color:var(--cf-gold,#a27d49);transition:transform .18s ease}
.cf-filters__group[open] summary>span{transform:rotate(45deg)}
.cf-filters__options{display:grid;gap:4px;margin:0;padding:0 16px 14px;list-style:none}
.cf-filters__option{display:flex;align-items:center;gap:10px;min-width:0;min-height:44px}
.cf-filters__option input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--cf-forest,#2b3d32);cursor:pointer}
.cf-filters__link{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0;flex:1;padding:8px 0;color:inherit;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.cf-filters__count{flex:none;color:var(--cf-muted,#6b6258);font-size:12px}
.cf-filters__option--active .cf-filters__link{font-weight:600}
.cf-filters a:hover{color:var(--cf-gold,#a27d49)}
.cf-filters :is(a,input,summary):focus-visible{outline:2px solid var(--cf-gold,#a27d49);outline-offset:4px}
@media(max-width:600px){.cf-filters{margin:20px 0;padding:16px 0}.cf-filters__groups{grid-template-columns:1fr}.cf-filters__group summary{padding:13px 14px}.cf-filters__options{padding-inline:14px}}
@media(prefers-reduced-motion:reduce){.cf-filters__group summary>span{transition:none}}

.cf-filters__slider{margin:0;padding:0 24px 24px;font-size:14px;line-height:1.5}
.cf-filters__slider p{margin:0 0 24px;color:inherit;font-family:inherit;font-size:14px;line-height:1.5}
/* Own widget geometry against the module's ID-qualified generic defaults. */
#search_filters.cf-filters .ui-slider{height:4px;border:0;background:var(--cf-line,#d8d2c5);font-family:var(--cf-sans,"Avenir Next",Avenir,Manrope,sans-serif);font-size:14px;line-height:1.5}
#search_filters.cf-filters .ui-slider-range{background:var(--cf-gold,#a27d49)}
#search_filters.cf-filters .ui-slider .ui-slider-handle{width:44px;height:44px;top:-20px;margin-left:-22px;border:0;border-radius:0;background:transparent;cursor:grab;touch-action:none}
#search_filters.cf-filters .ui-slider-handle::before{position:absolute;inset:13px;content:"";border:1px solid var(--cf-gold,#a27d49);border-radius:50%;background:var(--cf-cream,#f6f1e8);pointer-events:none}
#search_filters.cf-filters .ui-slider-handle:focus-visible{outline:0}
#search_filters.cf-filters .ui-slider-handle:focus-visible::before{outline:2px solid var(--cf-forest,#2b3d32);outline-offset:3px}

.cf-active-filters{margin:16px 0;color:var(--cf-forest,#2b3d32);font-family:var(--cf-sans,"Avenir Next",Avenir,Manrope,sans-serif)}
.cf-active-filters h2{margin:0 0 10px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.5}
.cf-active-filters ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.cf-active-filters a{display:flex;align-items:center;gap:12px;min-height:44px;padding:7px 12px;border:1px solid var(--cf-line,#d8d2c5);color:inherit;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.cf-active-filters a:focus-visible{outline:2px solid var(--cf-gold,#a27d49);outline-offset:3px}
