/* Carta / Tienda filter bar: search, one category, combinable diet filters.
   Loaded after the approved storefront sheets; owns only .sf-filterbar. */
.sf-filterbar{position:sticky;top:0;z-index:3;display:grid;gap:0;margin:0 0 4px;background:var(--sf-paper);border-top:1px solid var(--sf-ink)}

.sf-finder{display:flex;align-items:center;gap:10px;min-height:56px;padding:0 2px;border-bottom:1px solid var(--sf-rule);color:var(--sf-ink)}
.sf-finder>svg{flex:none;opacity:.7}
.sf-finder input{flex:1;min-width:0;min-height:52px;padding:0;border:0;border-radius:0;background:transparent;color:var(--sf-ink);font:500 19px/1.3 Archivo,Arial,sans-serif;letter-spacing:-.02em;appearance:none;outline:none}
.sf-finder input::placeholder{color:var(--sf-muted);opacity:1}
.sf-finder input::-webkit-search-cancel-button{appearance:none}
.sf-finder:focus-within{border-bottom-color:var(--sf-ink)}
/* Diet filters live behind this toggle, on the right of the search. */
.sf-diet-toggle{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 0 0 12px;margin-left:2px;border:0;border-left:1px solid var(--sf-rule);background:transparent;color:var(--sf-ink);font:500 11px/1 var(--sf-mono);text-transform:uppercase;letter-spacing:.04em;cursor:pointer}
.sf-diet-toggle b{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;background:var(--sf-red);color:var(--sf-ink);font:inherit;font-size:10px}
.sf-diet-toggle span{width:12px;text-align:center;font-size:15px}
.sf-diet-toggle:focus-visible{outline:2px solid var(--sf-ink);outline-offset:2px}
.sf-finder-clear{display:grid;place-items:center;flex:none;width:44px;height:44px;margin-right:-10px;border:0;background:transparent;color:var(--sf-ink)}

/* One scrolling row instead of wrapped boxes; the count says what a tap gives. */
.sf-cats{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;margin:0 -2px;padding:0 2px;border-bottom:1px solid var(--sf-rule);scroll-snap-type:x proximity}
.sf-cats::-webkit-scrollbar{display:none}
.sf-cats button{flex:none;display:inline-flex;align-items:baseline;gap:6px;min-height:46px;padding:14px 12px 11px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:var(--sf-muted);font:500 11px/1.2 var(--sf-mono);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;scroll-snap-align:start;cursor:pointer}
.sf-cats button:first-child{padding-left:0}
.sf-cats button small{font:inherit;font-size:9px;opacity:.75}
.sf-cats button:hover{color:var(--sf-ink)}
.sf-cats button[aria-pressed=true]{color:var(--sf-ink);border-bottom-color:var(--sf-ink)}

.sf-diets{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding:12px 0}
.sf-diets::-webkit-scrollbar{display:none}
.sf-diets-label{flex:none;margin-right:4px;font:10px/1.2 var(--sf-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--sf-muted)}
.sf-diets button{flex:none;display:inline-flex;align-items:baseline;gap:7px;min-height:40px;padding:10px 12px;border:1px solid var(--sf-rule);border-radius:0;background:transparent;color:var(--sf-ink);font:11px/1.2 var(--sf-mono);white-space:nowrap;cursor:pointer}
.sf-diets button small{font:inherit;font-size:9px;opacity:.6}
.sf-diets button:hover{border-color:var(--sf-ink)}
.sf-diets button[aria-pressed=true]{background:var(--sf-red);border-color:var(--sf-red);color:var(--sf-ink)}
.sf-diets button[aria-pressed=true]::before{content:'';width:7px;height:7px;align-self:center;background:var(--sf-ink)}

.sf-filter-status{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;border-top:1px solid var(--sf-rule);font:10px/1.2 var(--sf-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--sf-muted)}
.sf-filter-status button{min-height:38px;padding:0;border:0;background:transparent;color:var(--sf-ink);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* The Carta heading already draws the rule above. */
.sf-catalog-carta .sf-filterbar,.sf-catalog-tienda .sf-filterbar{border-top:0}
@media(max-width:520px){
  .sf-diets-label{display:none}
  .sf-diets{gap:5px}
  .sf-diets button{flex:1 1 auto;justify-content:center;padding-inline:8px}
}
.sf-cats button:focus-visible,.sf-diets button:focus-visible,.sf-filter-status button:focus-visible,.sf-finder-clear:focus-visible{outline:2px solid var(--sf-ink);outline-offset:-2px}

@media(min-width:900px){
  .sf-filterbar{grid-template-columns:minmax(0,1fr) minmax(220px,320px);column-gap:24px}
  .sf-cats{grid-column:1;grid-row:1;border-bottom:1px solid var(--sf-rule)}
  .sf-finder{grid-column:2;grid-row:1;min-height:46px}
  .sf-finder input{min-height:44px;font-size:15px}
  .sf-diets{grid-column:1/-1}
  .sf-filter-status{grid-column:1/-1}
}
@media(max-width:350px){.sf-finder input{font-size:17px}.sf-cats button{padding-inline:9px}.sf-diets button{padding-inline:10px}}
