/* ===========================================================
   SHOP — sidebar + grid layout
=========================================================== */

.shop-head{background:var(--c-stone);padding-block:var(--sp-6) var(--sp-7);}
.shop-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-5);flex-wrap:wrap;margin-top:var(--sp-3);}
.shop-head h1{font-size:var(--fs-3xl);}
.shop-head p{color:var(--text-muted);}

.shop-layout{display:grid;grid-template-columns:250px 1fr;gap:var(--sp-8);padding-block:var(--sp-8);align-items:start;}

.shop-sidebar{position:sticky;top:6.5rem;display:flex;flex-direction:column;gap:var(--sp-7);}
.filter-block h3{font-family:var(--font-body);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--sp-4);font-weight:var(--fw-semibold);}
.filter-list{display:none;}
.chip-wrap{display:flex;flex-wrap:wrap;gap:.6rem;}
.range-input{width:100%;accent-color:var(--accent);}
.range-labels{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--text-muted);margin-top:.4rem;}
.checkbox-row{display:flex;align-items:center;gap:.6rem;font-size:var(--fs-sm);margin-bottom:.65rem;}
.checkbox-row input{accent-color:var(--accent);width:16px;height:16px;}

.shop-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-6);}
.shop-count{font-size:var(--fs-sm);color:var(--text-muted);}
.sort-label{display:flex;align-items:center;gap:.6rem;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);}
.sort-label select{border:1px solid var(--border-soft);border-radius:var(--r-sm);padding:.55rem .9rem;font-size:var(--fs-sm);background:var(--bg-surface);}

.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5);}
.filtered-out{display:none !important;}


@media (max-width:960px){
  .shop-layout{grid-template-columns:1fr;}
  .shop-sidebar{position:static;flex-direction:row;flex-wrap:wrap;}
  .filter-block{flex:1 1 220px;}
  .product-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
  .product-grid{grid-template-columns:1fr;}
  .shop-head-row{align-items:flex-start;flex-direction:column;}
}
