/* ============ ARCHIVIO PRODOTTI ============ */
.fs-archivio{padding-bottom:var(--s16)}
.fs-archivio__testa{margin-bottom:var(--s5)}
.fs-archivio__testa h1{font-size:var(--t-2xl);margin-bottom:var(--s2)}
.fs-archivio__intro{max-width:70ch;color:var(--testo-soft)}
.fs-archivio__coda{
  max-width:75ch;margin-top:var(--s12);padding-top:var(--s6);
  border-top:1px solid var(--bordo);color:var(--testo-soft);font-size:var(--t-sm)
}

/* --- sottocategorie: scorciatoie in cima --- */
.fs-sottocat{
  list-style:none;margin:0 0 var(--s6);padding:0;
  display:grid;gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(190px,1fr))
}
.fs-sottocat a{
  display:flex;align-items:center;justify-content:space-between;gap:var(--s2);
  padding:var(--s3) var(--s4);background:var(--sfondo-alt);border:1px solid var(--bordo);
  border-radius:var(--r);font-size:var(--t-sm);font-weight:600;color:var(--testo);
  text-decoration:none!important;transition:border-color var(--transizione),background var(--transizione)
}
.fs-sottocat a:hover{border-color:var(--blu-500);background:var(--blu-050);color:var(--blu-800)}
.fs-sottocat em{font-style:normal;color:var(--testo-tenue);font-weight:500;font-size:var(--t-xs)}

/* --- impianto a due colonne --- */
.fs-archivio__corpo{display:grid;gap:var(--s8);align-items:start}
@media(min-width:1024px){.fs-archivio__corpo{grid-template-columns:262px 1fr}}

/* --- sidebar filtri --- */
.fs-filtri{
  position:sticky;top:calc(var(--header-h) + var(--s4));
  max-height:calc(100vh - var(--header-h) - var(--s8));overflow-y:auto;
  padding-right:var(--s2)
}
.fs-filtri__testa{display:none}
@media(max-width:1023px){
  .fs-filtri{
    position:fixed;inset:0 auto 0 0;width:min(340px,88vw);max-height:none;z-index:500;
    background:#fff;transform:translateX(-100%);transition:transform .2s ease;
    padding:0 var(--s4) var(--s8);box-shadow:var(--ombra-3)
  }
  .fs-filtri.aperto{transform:none}
  .fs-filtri__testa{
    display:flex;align-items:center;justify-content:space-between;
    padding:var(--s4) 0;border-bottom:1px solid var(--bordo);
    position:sticky;top:0;background:#fff;z-index:1;margin-bottom:var(--s4)
  }
}

.fs-filtro{padding-bottom:var(--s5);margin-bottom:var(--s5);border-bottom:1px solid var(--bordo)}
.fs-filtro:last-child{border-bottom:0}
.fs-filtro__titolo{
  font-weight:700;font-size:var(--t-sm);letter-spacing:.01em;
  margin-bottom:var(--s3);color:var(--testo)
}
.fs-filtro__lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.fs-filtro__lista a{
  display:flex;align-items:center;gap:var(--s2);padding:var(--s2) 0;
  font-size:var(--t-sm);color:var(--testo-soft);text-decoration:none!important;line-height:1.35
}
.fs-filtro__lista a:hover{color:var(--blu-700)}
.fs-filtro__lista a > span:not(.fs-scelta){flex:1;min-width:0}
.fs-filtro__lista em{
  font-style:normal;font-size:var(--t-xs);color:var(--testo-tenue);
  font-variant-numeric:tabular-nums;flex:none
}
.fs-filtro__lista a[aria-current]{color:var(--blu-800);font-weight:600}

/* caselle: sono link, ma devono leggersi come caselle */
.fs-scelta{
  flex:none;width:16px;height:16px;border:1.5px solid var(--bordo-forte);
  border-radius:var(--r-sm);background:#fff;position:relative;transition:var(--transizione)
}
.fs-filtro__lista a:hover .fs-scelta{border-color:var(--blu-500)}
.fs-filtro__lista a[aria-current] .fs-scelta{background:var(--blu-700);border-color:var(--blu-700)}
.fs-filtro__lista a[aria-current] .fs-scelta::after{
  content:"";position:absolute;left:4.5px;top:1.5px;width:4px;height:8px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)
}

.fs-filtro__altri{
  margin-top:var(--s2);background:none;border:0;padding:0;cursor:pointer;
  font:inherit;font-size:var(--t-sm);font-weight:600;color:var(--link)
}
.fs-filtro__altri:hover{text-decoration:underline}

.fs-filtro--nota p{font-size:var(--t-sm);color:var(--testo-tenue);margin:0}

/* --- filtri attivi --- */
.fs-filtro--attivi{background:var(--blu-050);border:1px solid var(--blu-100);border-radius:var(--r-lg);padding:var(--s4)}
.fs-chip{list-style:none;margin:0 0 var(--s3);padding:0;display:flex;flex-wrap:wrap;gap:var(--s2)}
.fs-chip a{
  display:inline-flex;align-items:center;gap:var(--s1);
  background:#fff;border:1px solid var(--blu-100);border-radius:var(--r-full);
  padding:var(--s1) var(--s2) var(--s1) var(--s3);
  font-size:var(--t-xs);font-weight:600;color:var(--blu-800);text-decoration:none!important
}
.fs-chip a:hover{border-color:var(--blu-500)}
.fs-chip svg{width:13px;height:13px;opacity:.7}
.fs-chip .amount{font-size:inherit}
.fs-filtro__azzera{font-size:var(--t-sm);font-weight:600}

/* --- barra strumenti --- */
.fs-strumenti{
  display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;
  padding-bottom:var(--s4);margin-bottom:var(--s4);border-bottom:1px solid var(--bordo)
}
.fs-strumenti__conta{margin:0;font-size:var(--t-sm);color:var(--testo-tenue);flex:1}
.fs-strumenti__conta strong{color:var(--testo);font-variant-numeric:tabular-nums}
.fs-strumenti__ordina{margin:0}
.fs-strumenti__ordina .fs-campo{min-height:38px;padding:var(--s2) var(--s3);font-size:var(--t-sm);width:auto}
.fs-strumenti__filtri{display:none;position:relative;min-height:38px;padding:var(--s2) var(--s4)}
.fs-strumenti__pallino{width:7px;height:7px;border-radius:50%;background:var(--azione)}
@media(max-width:1023px){.fs-strumenti__filtri{display:inline-flex}}

/* --- griglia --- */
ul.products{
  list-style:none;margin:0;padding:0;display:grid;gap:var(--s4);
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr))
}
@media(min-width:640px){ul.products{gap:var(--s5);grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}}

.fs-card{
  display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--bordo);border-radius:var(--r-lg);overflow:hidden;
  transition:border-color var(--transizione),box-shadow var(--transizione)
}
.fs-card:hover{border-color:var(--bordo-forte);box-shadow:var(--ombra-2)}
.fs-card__link{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none!important}

/* rapporto fisso: le foto del catalogo hanno proporzioni disomogenee */
.fs-card__foto{
  position:relative;aspect-ratio:1/1;background:#fff;
  border-bottom:1px solid var(--grigio-100);overflow:hidden
}
.fs-card__foto img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;padding:var(--s4);transition:transform .25s ease
}
.fs-card:hover .fs-card__foto img{transform:scale(1.04)}

.fs-card__testo{padding:var(--s3) var(--s4) 0;display:flex;flex-direction:column;gap:var(--s1);flex:1}
.fs-card__marca{
  font-size:var(--t-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--blu-600)
}
.fs-card__nome{
  font-size:var(--t-sm);font-weight:500;line-height:1.35;margin:0;color:var(--testo);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em
}
.fs-card__piede{padding:var(--s3) var(--s4) var(--s4);display:flex;flex-direction:column;gap:var(--s3)}
.fs-card__prezzo{font-size:var(--t-lg);font-weight:700;color:var(--testo);line-height:1.1}
.fs-card__prezzo .woocommerce-Price-currencySymbol{font-size:.8em;font-weight:600}
.fs-card__prezzo del{font-size:var(--t-sm);font-weight:400;color:var(--testo-tenue);margin-right:var(--s2)}
.fs-card__carrello{width:100%;min-height:38px;font-size:var(--t-sm)}
.fs-card .added_to_cart{display:none}

/* --- paginazione --- */
.woocommerce-pagination{margin-top:var(--s10)}
.woocommerce-pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s2);margin:0;padding:0;justify-content:center}
.woocommerce-pagination a,.woocommerce-pagination span{
  display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--s3);
  border:1px solid var(--bordo);border-radius:var(--r);font-size:var(--t-sm);font-weight:600;
  color:var(--testo-soft);text-decoration:none!important
}
.woocommerce-pagination a:hover{border-color:var(--blu-500);color:var(--blu-700)}
.woocommerce-pagination .current{background:var(--blu-700);border-color:var(--blu-700);color:#fff}
