.cart-tools{gap:.85rem;margin-bottom:1.6rem}
.cart-tools .cart-filters{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem 1.2rem}
.cf-chips{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;min-width:0}
.cf-chip{
  position:relative;display:inline-flex;align-items:center;gap:.45rem;height:42px;padding:0 .9rem 0 1.05rem;
  font:inherit;font-size:.88rem;font-weight:500;color:var(--ink);white-space:nowrap;cursor:pointer;
  background:var(--white);border:1px solid var(--line);border-radius:40px;
  transition:background-color .25s cubic-bezier(.22,.61,.36,1), border-color .25s cubic-bezier(.22,.61,.36,1), color .25s cubic-bezier(.22,.61,.36,1);
}
.cf-chev{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.55;transition:transform .25s cubic-bezier(.22,.61,.36,1)}
.cf-chip[aria-expanded="true"] .cf-chev{transform:rotate(180deg)}

.cf-chip select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;border:0;-webkit-appearance:none;appearance:none}
.cf-chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.cf-chip.is-on .cf-chev{opacity:.8}
.cf-chip:focus-visible,.cf-chip:has(select:focus-visible){outline:2px solid var(--champ);outline-offset:2px}
@media (hover:hover) and (pointer:fine){
  .cf-chip:not(.is-on):hover{border-color:color-mix(in srgb,var(--ink) 45%,transparent)}
}
.cf-reset{font-size:.84rem;padding:.5rem .3rem;margin-left:.2rem}

.cf-meta{display:flex;align-items:center;gap:1.1rem;font-size:.88rem;color:var(--muted);white-space:nowrap}
.cf-count{font-variant-numeric:tabular-nums}
.cf-sort{position:relative;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}
.cf-sort__v{font-weight:600;color:var(--ink)}
.cf-sort .cf-chev{color:var(--ink);margin-left:-.1rem}

.cf-sort select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;border:0;-webkit-appearance:none;appearance:none}
.cf-sort:has(select:focus-visible){outline:2px solid var(--champ);outline-offset:4px;border-radius:2px}

.cf-pop{
  position:absolute;z-index:30;width:320px;padding:1rem 1rem 1.05rem;
  background:var(--white);border:1px solid var(--line);border-radius:6px;
  box-shadow:0 26px 48px -28px rgba(16,27,36,.5), 0 2px 8px -4px rgba(16,27,36,.12);
}
.cf-pop[hidden]{display:none}
.cf-pop__t{margin:0 0 .7rem;font-size:.74rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.cf-range{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.cf-range label{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;color:var(--muted)}
.cf-pop .cf-num{width:100%;flex:none;height:44px;border-radius:6px;padding:0 .8rem;font-size:.95rem;color:var(--ink)}
.cf-pop__n{margin:.65rem 0 0;font-size:.78rem;color:var(--muted)}

@media (max-width:640px){

  .cart-tools,.cart-tools .cart-filters,.cf-meta{min-width:0;max-width:100%}
  .cart-tools .cart-filters{display:flex;flex-direction:column;align-items:stretch;gap:.6rem}

  .cf-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    box-sizing:border-box;width:calc(100% + 2 * var(--pad));max-width:none;
    margin-inline:calc(var(--pad) * -1);padding:2px var(--pad);scroll-padding-inline:var(--pad)}
  .cf-chips::-webkit-scrollbar{display:none}
  .cf-chip{flex:none;height:40px;font-size:.86rem}
  .cf-meta{justify-content:space-between;font-size:.84rem}
  .cf-pop{left:0 !important;right:0;width:auto}
}
@media (hover:none){ .cf-chip{height:44px} }

@keyframes cfEntra{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.cf-entra{animation:cfEntra .32s cubic-bezier(.22,.61,.36,1)}
.cart-suggest:not([hidden]){animation:cfEntra .22s cubic-bezier(.22,.61,.36,1)}

@keyframes cfSai{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}
.cf-pop.a-abrir{animation:cfEntra .22s cubic-bezier(.22,.61,.36,1)}
.cf-pop.a-fechar{animation:cfSai .18s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}
@media (prefers-reduced-motion:reduce){ .cf-entra,.cf-pop:not([hidden]),.cart-suggest:not([hidden]){animation:none} }

.cf-js .cf-chip select,.cf-js .cf-sort select{display:none}
.cf-js .cf-chip[role="button"]:focus-visible,.cf-js .cf-sort:focus-visible{outline:2px solid var(--champ);outline-offset:3px}
.cf-pop--lista{width:auto;min-width:230px;padding:.85rem .5rem .5rem}
.cf-pop--lista .cf-pop__t{padding:0 .6rem;margin-bottom:.4rem}
.cf-op{
  display:flex;align-items:center;gap:.6rem;width:100%;min-height:42px;padding:0 .65rem;
  font:inherit;font-size:.92rem;color:var(--text);text-align:left;cursor:pointer;
  background:none;border:0;border-radius:6px;
  transition:background-color .2s cubic-bezier(.22,.61,.36,1), color .2s cubic-bezier(.22,.61,.36,1);
}
.cf-op__t{flex:1}
.cf-op__n{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums;
  min-width:1.6rem;text-align:center;padding:.12rem .4rem;border-radius:20px;background:color-mix(in srgb,var(--ink) 6%,transparent)}
.cf-op__ok{width:16px;height:16px;flex:none;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .2s ease}
.cf-op.is-on{color:var(--ink);font-weight:600}
.cf-op.is-on .cf-op__ok{opacity:1}
.cf-op:focus-visible{outline:2px solid var(--champ);outline-offset:-2px}
@media (hover:hover) and (pointer:fine){ .cf-op:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)} }
@media (hover:none){ .cf-op{min-height:46px} }
