/* =========================================================================
   FILTRI MOBILE — barra fissa + bottom sheet
   ========================================================================= */
.sar-fbar, .sar-sheet { display:none; }

/* components shared with the desktop sidebar */
.sar-card { background:var(--surface); border-radius:1rem; overflow:hidden; }
.sar-card--price { padding:1rem 1.125rem 1.125rem; }
.sar-card__label {
  display:block; font-family:var(--font-display); font-weight:700; font-size:0.9375rem;
  color:var(--ink); margin-bottom:0.875rem;
}

.sar-check {
  display:flex; align-items:center; gap:0.8125rem; min-height:3.5rem; padding:0.625rem 1.125rem; cursor:pointer;
}
.sar-check + .sar-check { border-top:1px solid var(--line); }
.sar-check input { position:absolute; opacity:0; width:0; height:0; }
.sar-check__box {
  width:1.4375rem; height:1.4375rem; flex-shrink:0; border:1.8px solid var(--line-strong); border-radius:0.4375rem;
  background:var(--surface); display:inline-flex; align-items:center; justify-content:center;
  color:transparent; transition:background .15s, border-color .15s, color .15s;
}
.sar-check__box svg { width:0.875rem; height:0.875rem; }
.sar-check input:checked + .sar-check__box { background:var(--red); border-color:var(--red); color:#fff; }
.sar-check input:focus-visible + .sar-check__box { box-shadow:0 0 0 3px var(--focus); }
.sar-check__txt { font-size:0.9375rem; color:var(--ink); line-height:1.35; }
.sar-check__n { margin-left:auto; font-family:var(--font-label); font-size:0.78125rem; color:var(--muted); font-variant-numeric:tabular-nums; }
.sar-range { position:relative; height:1.625rem; margin:0.125rem 0 1rem; }
.sar-range__track {
  position:absolute; left:0.6875rem; right:0.6875rem; top:50%; height:0.25rem; margin-top:-0.125rem;
  border-radius:0.125rem; background:var(--line);
}
.sar-range__fill { position:absolute; top:0; bottom:0; background:var(--red); border-radius:0.125rem; }
.sar-range__input {
  position:absolute; left:0; right:0; top:0; width:100%; height:1.625rem; margin:0; padding:0;
  background:transparent; border:0; appearance:none; -webkit-appearance:none; pointer-events:none;
}
.sar-range__input::-webkit-slider-thumb {
  -webkit-appearance:none; pointer-events:auto; width:1.5rem; height:1.5rem; border-radius:50%;
  background:var(--surface); border:2px solid var(--ink); box-shadow:var(--shadow-1); cursor:grab;
}
.sar-range__input::-moz-range-thumb {
  pointer-events:auto; width:1.375rem; height:1.375rem; border-radius:50%;
  background:var(--surface); border:2px solid var(--ink); box-shadow:var(--shadow-1); cursor:grab;
}
.sar-range__fields { display:flex; align-items:center; gap:0.625rem; }
.sar-range__field {
  flex:1 1 0; display:flex; align-items:center; gap:0.375rem; min-width:0;
  border:1.5px solid var(--line-strong); border-radius:0.6875rem; padding:0 0.75rem; height:2.875rem;
  background:var(--surface);
}
.sar-range__field span { font-family:var(--font-label); font-size:0.8125rem; color:var(--muted); }
.sar-range__field input {
  width:100%; min-width:0; border:0; background:transparent; padding:0; height:100%;
  font-family:var(--font-label); font-size:0.9375rem; color:var(--ink);
}
.sar-range__field input::-webkit-outer-spin-button,
.sar-range__field input::-webkit-inner-spin-button { -webkit-appearance:none; appearance:none; margin:0; }
.sar-range__field input[type="number"] { -moz-appearance:textfield; appearance:textfield; }
.sar-range__field input:focus { outline:none; }
.sar-range__field:focus-within { border-color:var(--ink); }
.sar-range__dash { color:var(--muted); }


@media (max-width:900px){
  .sar-fbar {
    position:fixed; left:0; right:0; bottom:0; z-index:50; display:flex; gap:0.625rem;
    padding:0.625rem var(--gutter) calc(0.625rem + env(safe-area-inset-bottom, 0px));
    background:var(--surface); border-top:1px solid var(--line);
    box-shadow:0 -2px 14px rgba(16,18,27,.08);
  }
  :root[data-theme="dark"] .sar-fbar { box-shadow:0 -2px 14px rgba(0,0,0,.5); }
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .sar-fbar { box-shadow:0 -2px 14px rgba(0,0,0,.5); } }
  .sar-fbar__btn {
    flex:1 1 0; display:inline-flex; align-items:center; justify-content:center; gap:0.5625rem;
    min-height:3rem; padding:0 1rem; border:1.5px solid var(--line-strong); border-radius:0.75rem;
    background:var(--surface); color:var(--ink); cursor:pointer;
    font-family:var(--font-display); font-weight:600; font-size:0.9375rem;
  }
  .sar-fbar__btn svg { width:1.125rem; height:1.125rem; }
  .sar-fbar__btn:active { background:var(--surface-2); }
  .sar-fbar__badge {
    min-width:1.3125rem; height:1.3125rem; padding:0 0.375rem; border-radius:0.6875rem; background:var(--red); color:#fff;
    font-family:var(--font-label); font-size:0.71875rem; font-weight:600;
    display:inline-flex; align-items:center; justify-content:center;
  }
  .sar-fbar__badge[hidden] { display:none; }

  body.sar-sheet-open { overflow:hidden; }

  .sar-sheet { display:block; position:fixed; inset:0; z-index:70; }
  .sar-sheet[hidden] { display:none; }
  .sar-sheet__scrim {
    position:absolute; inset:0; background:rgba(16,18,27,.45);
    opacity:0; transition:opacity .26s ease;
  }
  .sar-sheet.is-open .sar-sheet__scrim { opacity:1; }
  .sar-sheet__panel {
    position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column;
    max-height:92vh; background:var(--bg); border-radius:1.375rem 1.375rem 0 0; overflow:hidden;
    transform:translateY(100%); transition:transform .28s cubic-bezier(.32,.72,0,1);
  }
  .sar-sheet.is-open .sar-sheet__panel { transform:translateY(0); }
  .sar-sheet--compact .sar-sheet__panel { max-height:70vh; }
  .sar-sheet--compact .sar-sheet__body { padding-bottom:calc(1.125rem + env(safe-area-inset-bottom, 0px)); }

  .sar-sheet__grip { padding:0.5625rem 0 0.1875rem; display:flex; justify-content:center; cursor:grab; touch-action:none; }
  .sar-sheet__grip span { width:2.5rem; height:0.25rem; border-radius:0.125rem; background:var(--line-strong); display:block; }

  .sar-sheet__head {
    position:relative; display:flex; align-items:center; justify-content:center;
    padding:0.375rem var(--gutter) 0.875rem;
  }
  .sar-sheet__head h2 {
    margin:0; font-family:var(--font-display); font-weight:800; font-size:1.1875rem;
    letter-spacing:-.015em; color:var(--ink);
  }
  .sar-sheet__x, .sar-sheet__back {
    position:absolute; top:50%; transform:translateY(-60%); width:2.25rem; height:2.25rem;
    display:inline-flex; align-items:center; justify-content:center;
    border:0; border-radius:50%; background:transparent; color:var(--ink); cursor:pointer;
  }
  .sar-sheet__x { right:calc(var(--gutter) - 0.5rem); }
  .sar-sheet__back { left:calc(var(--gutter) - 0.5rem); }
  .sar-sheet__x svg, .sar-sheet__back svg { width:1.375rem; height:1.375rem; }
  .sar-sheet__x:active, .sar-sheet__back:active { background:var(--surface-2); }

  .sar-sheet__body {
    flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch;
    padding:0 var(--gutter) 1.125rem; display:flex; flex-direction:column; gap:0.875rem;
  }

  .sar-row {
    display:flex; align-items:center; gap:0.75rem; width:100%; min-height:3.625rem;
    padding:0 1.125rem; border:0; background:transparent; cursor:pointer; text-align:left;
  }
  .sar-row + .sar-row { border-top:1px solid var(--line); }
  .sar-row__label { font-family:var(--font-display); font-weight:600; font-size:0.96875rem; color:var(--ink); }
  .sar-row__value {
    margin-left:auto; font-size:0.90625rem; color:var(--muted); text-align:right;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:52%;
  }
  .sar-row__chev { width:1.125rem; height:1.125rem; color:var(--line-strong); flex-shrink:0; }
  .sar-row:active { background:var(--surface-2); }

  .sar-pane--sub {
    position:absolute; inset:0; display:flex; flex-direction:column; background:var(--bg);
    transform:translateX(100%); transition:transform .26s cubic-bezier(.32,.72,0,1); z-index:2;
    padding-bottom:5.25rem;
  }
  .sar-pane--sub.is-open { transform:translateX(0); }
  .sar-pane--sub[hidden] { display:none; }



  .sar-sheet__foot {
    display:flex; gap:0.75rem; padding:0.75rem var(--gutter) calc(0.75rem + env(safe-area-inset-bottom, 0px));
    background:var(--surface); border-top:1px solid var(--line); z-index:3;
  }
  .sar-sheet__reset, .sar-sheet__apply {
    min-height:3.125rem; border-radius:1.5625rem; cursor:pointer;
    font-family:var(--font-display); font-weight:600; font-size:0.96875rem;
  }
  .sar-sheet__reset {
    flex:0 0 auto; padding:0 1.375rem; background:transparent; color:var(--ink);
    border:1.5px solid var(--line-strong);
  }
  .sar-sheet__apply {
    flex:1 1 auto; padding:0 1.25rem; border:0; background:var(--anthracite); color:#fff;
  }
  :root[data-theme="dark"] .sar-sheet__apply { background:var(--ink); color:var(--bg); }
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .sar-sheet__apply { background:var(--ink); color:var(--bg); } }
  .sar-sheet__apply.is-counting { opacity:.6; }

  .sar-sort {
    display:flex; align-items:center; gap:0.75rem; min-height:3.5rem; padding:0 1.125rem;
    text-decoration:none; color:var(--ink); font-size:0.96875rem;
  }
  .sar-sort + .sar-sort { border-top:1px solid var(--line); }
  .sar-sort svg { width:1.1875rem; height:1.1875rem; margin-left:auto; color:var(--red); opacity:0; flex-shrink:0; }
  .sar-sort.is-current { font-family:var(--font-display); font-weight:600; }
  .sar-sort.is-current svg { opacity:1; }
  .sar-sort:active { background:var(--surface-2); }

  .woocommerce-shop main.section-pad,
  .tax-product_cat main.section-pad { padding-bottom:5.375rem; }
}

/* Active-filter chips above the grid */
.sar-chips { display:flex; flex-wrap:wrap; gap:0.5rem; margin:0 0 1.125rem; }
.sar-chip {
  display:inline-flex; align-items:center; gap:0.4375rem; padding:0.4375rem 0.75rem; border-radius:62.4375rem;
  background:var(--surface); border:1px solid var(--line-strong); color:var(--ink);
  font-size:0.84375rem; text-decoration:none; transition:border-color .18s, color .18s;
}
.sar-chip svg { width:0.8125rem; height:0.8125rem; color:var(--muted); }
.sar-chip:hover { border-color:var(--red); color:var(--red); }
.sar-chip:hover svg { color:var(--red); }
:root[data-theme="dark"] .sar-chip:hover { border-color:var(--red-on-dark); color:var(--red-on-dark); }
.sar-chip--clear { border-style:dashed; color:var(--muted); }

.shop-layout.is-loading .shop-main { opacity:.45; pointer-events:none; }
.shop-layout .shop-main { transition:opacity .18s ease; }

/* ---- Filter sidebar (desktop): same visual language as the mobile sheet ---- */
.shop-sidebar .sar-side { position:sticky; top:var(--sticky-top); display:flex; flex-direction:column; gap:1.25rem; }
.sar-side__head { display:flex; align-items:baseline; justify-content:space-between; gap:0.75rem; }
.sar-side__title { font-family:var(--font-display); font-weight:700; font-size:1rem; letter-spacing:-.01em; color:var(--ink); }
.sar-side__reset { font-family:var(--font-display); font-weight:600; font-size:0.78125rem; color:var(--muted); text-decoration:none; transition:color .18s; }
.sar-side__reset:hover { color:var(--red); }
:root[data-theme="dark"] .sar-side__reset:hover { color:var(--red-on-dark); }
.sar-side__group { margin:0; }
.sar-side__label {
  font-family:var(--font-label); font-size:0.6875rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); font-weight:500; margin:0 0 0.5625rem;
}
.sar-side .sar-card { border:1px solid var(--line); }
.sar-side .sar-check { min-height:2.875rem; padding:0.5625rem 0.875rem; gap:0.6875rem; text-decoration:none; transition:background .15s; }
.sar-side .sar-check:hover { background:var(--surface-2); }
.sar-side .sar-check__txt { font-size:0.90625rem; }
.sar-side .sar-check__box { width:1.3125rem; height:1.3125rem; border-radius:0.375rem; }
.sar-check.is-on .sar-check__box { background:var(--red); border-color:var(--red); color:#fff; }
.sar-side .sar-card--price { padding:1rem 0.875rem 0.875rem; }
.sar-side .sar-range__field { height:2.625rem; padding:0 0.625rem; }
.sar-side .sar-range__field input { font-size:0.875rem; }
.sar-side__apply {
  width:100%; margin-top:0.75rem; min-height:2.625rem; border-radius:0.625rem; cursor:pointer;
  font-family:var(--font-display); font-weight:600; font-size:0.90625rem;
  background:var(--anthracite); color:#fff; border:0;
}
:root[data-theme="dark"] .sar-side__apply { background:var(--ink); color:var(--bg); }
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .sar-side__apply { background:var(--ink); color:var(--bg); } }
.sar-side__apply[hidden] { display:none; }
.sar-side p { margin:0; }
.sar-side p:empty { display:none; }

.sar-side .sar-range { height:1.375rem; }
.sar-side .sar-range__input::-webkit-slider-thumb { width:1.25rem; height:1.25rem; border-width:2px; }
.sar-side .sar-range__input::-moz-range-thumb { width:1.125rem; height:1.125rem; border-width:2px; }
.sar-side .sar-range__track { left:0.5625rem; right:0.5625rem; }
.sar-range__dash { width:0.625rem; height:0.09375rem; border-radius:0.0625rem; background:var(--line-strong); font-size:0; flex:0 0 auto; }
