/* ================= PROPERTIES PAGE (filters + grid) ================= */
.props-layout{display:grid;grid-template-columns:1fr;gap:var(--sp-6)}
@media (min-width:1024px){.props-layout{grid-template-columns:290px 1fr;gap:var(--sp-8)}}

.filter-toolbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--sp-3);margin-bottom:var(--sp-5);
  padding-bottom:var(--sp-4);border-bottom:1px solid var(--gray-200);
}
.filter-toolbar .count{font-size:.9rem;color:var(--gray-700)}
.filter-toolbar .count strong{color:var(--ink);font-weight:600}
.filter-open-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.85rem;background:var(--white)}
.filter-open-btn svg{width:16px;height:16px}
@media (min-width:1024px){.filter-open-btn{display:none}}

.filters{
  background:var(--white);border-radius:var(--radius);
  padding:var(--sp-5);border:1px solid var(--gray-200);
  position:sticky;top:calc(var(--nav-h) + var(--sp-4));
  align-self:start;max-height:calc(100vh - var(--nav-h) - var(--sp-8));
  overflow-y:auto;
}
@media (max-width:1023.98px){
  .filters{
    position:fixed;top:0;right:0;bottom:0;left:auto;
    width:min(90vw,360px);max-height:100vh;z-index:250;
    border-radius:0;transform:translateX(100%);
    transition:transform var(--dur) var(--ease);
    box-shadow:-20px 0 40px rgba(0,0,0,.2);
  }
  .filters.open{transform:translateX(0)}
}
.filters h4{font-family:var(--font-sans);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;margin:var(--sp-5) 0 var(--sp-3);color:var(--primary);font-weight:700}
.filters h4:first-child{margin-top:0}
.filter-close{display:none;position:absolute;top:.9rem;right:.9rem;width:36px;height:36px;place-items:center;color:var(--gray-700)}
.filter-close svg{width:22px;height:22px}
@media (max-width:1023.98px){.filter-close{display:grid}}

.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{
  padding:.45rem .9rem;border-radius:99px;border:1px solid var(--gray-200);
  font-size:.82rem;color:var(--gray-700);background:var(--white);
  transition:all var(--dur) var(--ease);cursor:pointer;
}
.chip:hover{border-color:var(--accent)}
.chip.active{background:var(--primary);color:var(--cream);border-color:var(--primary)}
.chip.gold.active{background:var(--accent);color:var(--primary-darker);border-color:var(--accent)}

.filter-select,.filter-input{
  width:100%;height:44px;padding:0 .9rem;
  border:1px solid var(--gray-200);border-radius:var(--radius-sm);
  background:var(--white);color:var(--ink);font-size:.88rem;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a7a7a' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;background-size:12px;padding-right:2.5rem;
}
.filter-input{background-image:none;padding-right:.9rem}

.filter-actions{display:flex;gap:.5rem;margin-top:var(--sp-6);padding-top:var(--sp-5);border-top:1px solid var(--gray-200)}

.no-results{padding:var(--sp-10) var(--sp-5);text-align:center;color:var(--gray-500);font-size:1rem;background:var(--white);border-radius:var(--radius);border:1px dashed var(--gray-300)}
