/* IslandOrder Stage 2 B2 — inline discovery filters, directly after category navigation.
 * Filter logic, storefronts, cart, gallery and dashboard styles are unchanged.
 */
.io-b2-filters{box-sizing:border-box;margin:10px 0 24px;padding:12px 14px;background:#fff;border:1px solid #dce9df;border-radius:16px;max-width:100%;color:#173e2a}
.io-b2-filters *, .io-b2-filters *::before,.io-b2-filters *::after{box-sizing:border-box}
.io-b2-filters input:focus-visible,.io-b2-filters select:focus-visible,.io-b2-filters a:focus-visible,.io-b2-filters button:focus-visible{outline:3px solid #20844a;outline-offset:2px}
.io-b2-filters-form{display:flex;flex-wrap:wrap;align-items:center;gap:9px 12px;min-width:0}
.io-b2-filters-form .io-b2-check{display:inline-flex;gap:8px;align-items:center;min-height:42px;padding:0 12px;border:1px solid #d7e6dc;border-radius:10px;background:#f8fcf9;color:#244c36;font-size:13px;font-weight:650;cursor:pointer;white-space:nowrap}
.io-b2-filters-form .io-b2-check:has(input:checked){border-color:#65ae80;background:#eafaef;color:#116333}
.io-b2-filters-form .io-b2-check input{width:17px;height:17px;margin:0;accent-color:#156b39;flex-shrink:0}
.io-b2-sort-label{display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:650;color:#345a43;white-space:nowrap;min-width:0}
.io-b2-sort-label select{appearance:auto;min-width:150px;max-width:100%;height:42px;padding:0 10px;background:white;border:1px solid #d7e6dc;border-radius:10px;color:#173d29;font-size:13px}
.io-b2-actions{display:flex;align-items:center;gap:8px;min-width:0}
.io-b2-actions>.io-b2-apply{min-height:42px;padding:8px 17px;white-space:nowrap;font-size:13px;margin:0}
.io-b2-clear{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:7px 11px;border-radius:10px;border:1px solid #dbe5df;text-decoration:none;color:#345a43;font-size:12px;font-weight:700;white-space:nowrap}
.io-b2-clear:hover{background:#eff7f1}
.io-b2-help{font-size:12px;color:#546c5b;margin:9px 0 0;line-height:1.6}
.store-card .io-b2-distance-label{display:inline-block;font-size:12px;font-weight:750;color:#126239}
.store-card .io-b2-open-chip{font-size:10px;color:#17633a;background:#eaf8ef;padding:4px 7px;border-radius:30px;font-weight:750}
/* Mobile: two control rows — (1) Open now + Popular, (2) Sort + Apply/Reset. */
@media(max-width:760px){
 .io-b2-filters{padding:10px;margin:9px 0 18px;border-radius:13px}
 .io-b2-filters-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:8px;align-items:stretch;min-width:0}
 .io-b2-filters-form>.io-b2-check{min-width:0;min-height:43px;padding:6px 8px;font-size:12px;white-space:normal;line-height:1.3}
 .io-b2-sort-label{grid-column:1;grid-row:2;display:block;min-width:0;align-self:stretch}
 .io-b2-sort-label>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .io-b2-sort-label select{display:block;width:100%;min-width:0;max-width:100%;height:43px;padding:0 6px;font-size:12px}
 .io-b2-actions{grid-column:2;grid-row:2;display:flex;align-items:stretch;gap:5px;min-width:0}
 .io-b2-actions>.io-b2-apply{flex:1 1 auto;min-width:0;min-height:43px;padding:7px 5px;font-size:12px}
 .io-b2-clear{flex:0 0 auto;min-width:0;min-height:43px;padding:7px 6px;font-size:11px}
}
@media(max-width:355px){
 .io-b2-filters-form>.io-b2-check{font-size:11px;padding:6px}
 .io-b2-actions{gap:4px}
 .io-b2-actions>.io-b2-apply{font-size:11px}
 .io-b2-clear{font-size:10px;padding:7px 5px}
}
@media(prefers-reduced-motion:reduce){.io-b2-filters *{transition:none!important}}
