.cat-hero{
  padding:56px 0 20px;
  text-align:left;
  background:linear-gradient(180deg,var(--crema-2),var(--crema));
}
.cat-hero .eyebrow{ color:var(--naranja-fuerte); font-weight:700; font-size:.85rem; letter-spacing:.08em; text-transform:uppercase; }
.cat-hero h1{ font-size:clamp(1.9rem,3.6vw,2.6rem); margin:12px 0 10px; }
.cat-hero p{ color:var(--azul-gris); max-width:520px; }

.catalog-layout{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:36px;
  align-items:flex-start;
}

.filters{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:24px;
  box-shadow:var(--shadow-sm);
  position:sticky;
  top:calc(var(--header-h) + 24px);
}
.filters-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.filters-head h3{ font-size:1.1rem; }
.filters-head button{ font-size:.82rem; background:none; border:none; }
.filter-group{ margin-bottom:24px; }
.filter-group h4{ font-size:.88rem; text-transform:uppercase; letter-spacing:.04em; color:var(--azul-gris); margin-bottom:12px; }
.check-list{ display:flex; flex-direction:column; gap:10px; }
.check-list label{
  display:flex; align-items:center; gap:10px;
  font-size:.92rem; color:var(--carbon); cursor:pointer;
}
.check-list input{ width:16px; height:16px; accent-color:var(--verde); }
#applyFiltersMobile{ display:none; margin-top:6px; }

.price-slider{ padding:4px 2px 0; }
.price-slider input[type="range"]{
  width:100%;
  -webkit-appearance:none;
  appearance:none;
  height:6px;
  border-radius:var(--radius-pill);
  background:linear-gradient(to right, var(--verde) 0%, var(--verde) 100%, var(--borde) 100%);
  outline:none;
  margin:10px 0 2px;
}
.price-slider input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:20px; height:20px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--verde);
  box-shadow:var(--shadow-sm);
  cursor:pointer;
}
.price-slider input[type="range"]::-moz-range-thumb{
  width:20px; height:20px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--verde);
  box-shadow:var(--shadow-sm);
  cursor:pointer;
}
.price-slider-labels{
  display:flex; justify-content:space-between;
  font-size:.82rem; color:var(--azul-gris);
}
.price-slider-labels #priceValue{ font-weight:600; color:var(--verde-fuerte); }

.catalog-toolbar{
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  margin-bottom:18px;
}
.results-count{ color:var(--azul-gris); font-size:.9rem; margin-right:auto; }
#filterToggle{ display:none; }
#sortSelect{
  padding:10px 16px; border-radius:var(--radius-pill); border:2px solid var(--borde);
  background:#fff; font-family:inherit; font-size:.88rem; color:var(--carbon);
}

.active-chips{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.chip{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--crema-2); color:var(--carbon);
  padding:6px 12px; border-radius:var(--radius-pill); font-size:.82rem; font-weight:600;
}
.chip button{ background:none; border:none; color:var(--azul-gris); font-weight:700; line-height:1; }

.empty-state{ text-align:center; padding:60px 20px; }
.empty-state .art{ width:110px; height:110px; margin:0 auto 18px; font-size:2.6rem; }
.empty-state h3{ margin-bottom:8px; }
.empty-state p{ color:var(--azul-gris); }

.load-more-wrap{ display:flex; justify-content:center; margin-top:36px; }

@media (max-width:980px){
  .catalog-layout{ grid-template-columns:1fr; }
  .filters{
    position:fixed; inset:0 0 0 auto; top:0; height:100%;
    width:min(340px,86vw); z-index:80; border-radius:0;
    transform:translateX(100%); transition:transform .3s ease;
    overflow-y:auto;
  }
  .filters.show{ transform:translateX(0); box-shadow:var(--shadow-lg); }
  #filterToggle{ display:inline-flex; }
  #applyFiltersMobile{ display:block; }
}
