.we-wcs-filter {
  --we-purple: #6f35ff;
  --we-purple-soft: #f1ebff;
  --we-text: #0c0b10;
  --we-muted: #6a6470;
  --we-line: #e8e3ec;
  --we-bg: #fbfafc;
  --we-black: #08080a;
  color: var(--we-text);
  font-family: inherit;
  width: 100%;
}

.we-wcs-filter *, .we-wcs-filter *::before, .we-wcs-filter *::after { box-sizing: border-box; }

.we-wcs-filter__topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 0 34px;
  margin-bottom:2px;
  border-bottom:1px solid var(--we-line);
}

.we-wcs-filter__count { font-size:18px; font-weight:700; line-height:1.2; }
.we-wcs-filter__controls { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.we-wcs-filter__sort-label { display:flex; align-items:center; gap:12px; color:#56505d; font-size:15px; }

.we-wcs-filter__sort {
  appearance:none; -webkit-appearance:none; min-width:220px; height:52px; padding:0 44px 0 18px;
  border:1px solid #ddd8e4; border-radius:14px; background:
    linear-gradient(45deg, transparent 50%, #78727e 50%),
    linear-gradient(135deg, #78727e 50%, transparent 50%), #fff;
  background-position: calc(100% - 21px) 23px, calc(100% - 15px) 23px, 0 0;
  background-size:6px 6px, 6px 6px, auto; background-repeat:no-repeat; color:#141219; font:inherit;
}

.we-wcs-filter__sort:focus, .we-wcs-filter__search:focus {
  outline:none; border-color:#c7badf; box-shadow:0 0 0 3px rgba(111,53,255,.08);
}

.we-wcs-filter__view-toggle { display:flex; align-items:center; gap:6px; }
.we-wcs-filter__view-toggle button {
  width:48px; height:48px; border:1px solid #ddd8e4; background:#fff; border-radius:14px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; padding:0; transition:all .18s ease;
}
.we-wcs-filter__view-toggle button.is-active { background:var(--we-black); color:#fff; border-color:var(--we-black); }

.we-icon-grid { width:18px; height:18px; display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.we-icon-grid i { display:block; width:100%; height:100%; border:1.7px solid currentColor; border-radius:2px; }
.we-icon-list { width:18px; display:flex; flex-direction:column; gap:4px; }
.we-icon-list i { display:block; height:2px; width:18px; background:currentColor; border-radius:999px; }

.we-wcs-filter__active-row { display:flex; align-items:center; gap:14px; min-height:54px; padding:14px 0 18px; flex-wrap:wrap; }
.we-wcs-filter__chips { display:flex; flex-wrap:wrap; gap:8px; }
.we-wcs-filter__chip {
  display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border:0; border-radius:9px;
  background:var(--we-black); color:#fff; cursor:pointer; font-size:13px; font-weight:700; line-height:1;
}
.we-wcs-filter__clear { border:0; padding:0; background:transparent; text-decoration:underline; cursor:pointer; font-weight:600; color:#2d2832; }
.we-wcs-filter__clear[hidden] { display:none; }

.we-wcs-filter__layout { display:grid; grid-template-columns:290px minmax(0,1fr); gap:42px; align-items:start; }
.we-wcs-filter__sidebar-inner { display:block; }
.we-wcs-filter__mobile-toggle { display:none; }

.we-wcs-filter__group { padding:22px 0 6px; }
.we-wcs-filter__group:first-child { padding-top:8px; }
.we-wcs-filter__group h3 { margin:0 0 16px; text-transform:uppercase; font-size:11px; letter-spacing:.28em; font-weight:800; color:#5d5663; }

.we-wcs-filter__search-wrap { position:relative; }
.we-wcs-filter__search-icon {
  position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#595260; display:flex; align-items:center; justify-content:center; pointer-events:none;
}
.we-wcs-filter__search {
  width:100%; height:54px; padding:0 16px 0 46px; border:1px solid #dbd6e0; border-radius:12px; background:#fff; color:#141219; font-size:15px;
}
.we-wcs-filter__search::placeholder { color:#817a86; opacity:1; }

.we-wcs-filter__options { display:flex; flex-direction:column; gap:10px; }
.we-wcs-filter__option {
  display:flex; align-items:center; justify-content:space-between; gap:14px; font-size:15px; cursor:pointer; min-height:32px;
}
.we-wcs-filter__option > span { display:flex; align-items:center; gap:12px; min-width:0; }
.we-wcs-filter__option input { position:absolute; opacity:0; pointer-events:none; }
.we-wcs-filter__option i {
  flex:0 0 20px; width:20px; height:20px; border:1px solid #d8d3de; border-radius:6px; background:#fff; position:relative; transition:all .15s ease;
}
.we-wcs-filter__option input:checked + i { background:var(--we-purple); border-color:var(--we-purple); }
.we-wcs-filter__option input:checked + i::after {
  content:""; position:absolute; width:6px; height:6px; border-radius:2px; background:#fff; left:6px; top:6px;
}
.we-wcs-filter__option b { font-weight:500; color:#26222a; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.we-wcs-filter__option em { font-style:normal; color:#6c6672; font-size:14px; }

.we-wcs-filter__main { position:relative; min-width:0; }
.we-wcs-filter__products { display:grid; grid-template-columns:repeat(var(--we-cols, 3), minmax(0,1fr)); gap:28px 24px; }

.we-wcs-card { min-width:0; }
.we-wcs-card__image {
  position:relative; display:block; aspect-ratio:1 / 1.18; overflow:hidden; border-radius:18px; background:#0e0916; text-decoration:none; isolation:isolate;
}
.we-wcs-card__image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .28s ease; }
.we-wcs-card:hover .we-wcs-card__image img { transform:scale(1.02); }

.we-wcs-card__badge {
  position:absolute; left:14px; top:14px; z-index:2; padding:6px 10px; border-radius:999px; background:rgba(0,0,0,.72); color:#fff; font-size:10px;
  font-weight:800; letter-spacing:.18em; text-transform:uppercase;
}

.we-wcs-card__body { padding-top:14px; }
.we-wcs-card__meta { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.we-wcs-card__cat { text-transform:uppercase; color:var(--we-purple); font-size:10px; letter-spacing:.18em; font-weight:800; }
.we-wcs-card__price { font-weight:800; font-size:15px; white-space:nowrap; color:#0e0d12; }
.we-wcs-card__price del { color:#8e8892; font-weight:500; margin-right:6px; }
.we-wcs-card__price ins { text-decoration:none; }
.we-wcs-card__title { margin:7px 0 5px; font-size:30px; line-height:1.03; letter-spacing:-0.03em; }
.we-wcs-card__title a { color:inherit; text-decoration:none; }
.we-wcs-card__desc { color:#6e6871; font-size:15px; line-height:1.48; }

.we-wcs-filter.is-list .we-wcs-filter__products { grid-template-columns:1fr; gap:22px; }
.we-wcs-filter.is-list .we-wcs-card { display:grid; grid-template-columns:220px minmax(0,1fr); gap:22px; align-items:center; }
.we-wcs-filter.is-list .we-wcs-card__image { aspect-ratio:1 / 1; }
.we-wcs-filter.is-list .we-wcs-card__body { padding-top:0; }

.we-wcs-filter__pagination { display:flex; justify-content:center; gap:10px; margin:74px 0 18px; flex-wrap:wrap; }
.we-wcs-filter__pagination button {
  min-width:40px; height:40px; border:1px solid #dfdbe4; border-radius:10px; background:#fff; cursor:pointer; font:inherit; color:#16131b;
}
.we-wcs-filter__pagination button.is-current { background:var(--we-black); color:#fff; border-color:var(--we-black); }

.we-wcs-filter__loader[hidden] { display:none; }
.we-wcs-filter__loader { position:absolute; z-index:5; inset:0; background:rgba(255,255,255,.72); backdrop-filter:blur(1px); }
.we-wcs-filter__loader::after {
  content:""; position:absolute; width:36px; height:36px; border:3px solid #ddd; border-top-color:#141219; border-radius:50%;
  left:50%; top:110px; transform:translateX(-50%); animation:weSpin .7s linear infinite;
}
@keyframes weSpin { to { transform:translateX(-50%) rotate(360deg); } }

.we-wcs-filter__empty {
  padding:60px 20px; text-align:center; border:1px dashed #ddd8e1; border-radius:16px; color:#6b6570; font-size:15px;
}

@media (max-width: 1180px) {
  .we-wcs-card__title { font-size:24px; }
  .we-wcs-filter__layout { grid-template-columns:260px minmax(0,1fr); gap:28px; }
  .we-wcs-filter__products { gap:24px 18px; }
}

@media (max-width: 980px) {
  .we-wcs-filter__layout { grid-template-columns:230px minmax(0,1fr); gap:24px; }
  .we-wcs-filter__products { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .we-wcs-card__title { font-size:20px; }
}

@media (max-width: 720px) {
  .we-wcs-filter__topbar { align-items:flex-start; flex-direction:column; }
  .we-wcs-filter__controls { width:100%; justify-content:space-between; }
  .we-wcs-filter__sort-label span { display:none; }
  .we-wcs-filter__layout { display:block; }
  .we-wcs-filter__mobile-toggle {
    display:block; width:100%; border:1px solid #ddd8e4; background:#fff; border-radius:12px; padding:13px 14px; font-weight:700; margin-bottom:14px; color:#16131b;
  }
  .we-wcs-filter__sidebar-inner { display:none; padding-bottom:20px; }
  .we-wcs-filter__sidebar.is-open .we-wcs-filter__sidebar-inner { display:block; }
  .we-wcs-filter__products { grid-template-columns:repeat(2, minmax(0,1fr)); gap:20px 14px; }
  .we-wcs-card__title { font-size:16px; }
  .we-wcs-card__desc { font-size:13px; }
  .we-wcs-card__image { border-radius:12px; }
  .we-wcs-filter__sort { min-width:170px; height:46px; border-radius:12px; }
  .we-wcs-filter__view-toggle button { width:44px; height:44px; border-radius:12px; }
}

@media (max-width: 480px) {
  .we-wcs-filter__count { font-size:16px; }
  .we-wcs-filter__search { height:50px; }
  .we-wcs-filter__products { grid-template-columns:1fr 1fr; }
  .we-wcs-filter.is-list .we-wcs-card { grid-template-columns:110px minmax(0,1fr); gap:14px; }
  .we-wcs-filter__pagination { margin-top:42px; }
}
