.cheer-lpw {
  --cheer-lpw-accent: #f47721;
  --cheer-lpw-rent: #2877c7;
  color: #252525;
  font-family: inherit;
}
.cheer-lpw * { box-sizing: border-box; }
.cheer-lpw__heading-row {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin:0 0 12px;
}
.cheer-lpw__heading {
  margin:0; padding-left:12px; border-left:4px solid var(--cheer-lpw-accent);
  font-size:26px; line-height:1.25; font-weight:700; color:#252525;
}
.cheer-lpw__view-all { color:var(--cheer-lpw-accent); text-decoration:none; font-size:14px; font-weight:600; white-space:nowrap; }
.cheer-lpw__filters { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
.cheer-lpw__tabs { display:flex; gap:8px; }
.cheer-lpw__tabs button {
  border:1px solid #d7dce2; background:#fff; color:#555; border-radius:3px;
  min-width:74px; padding:9px 16px; font:inherit; font-size:13px; cursor:pointer;
}
.cheer-lpw__tabs button.is-active { background:var(--cheer-lpw-accent); color:#fff; border-color:var(--cheer-lpw-accent); }
.cheer-lpw__district {
  min-width:120px; max-width:100%; padding:9px 32px 9px 12px; border:1px solid #d7dce2;
  border-radius:3px; background:#fff; color:#555; font:inherit; font-size:13px;
}
.cheer-lpw__grid { display:grid; grid-template-columns:repeat(var(--cheer-lpw-columns, 4), minmax(0, 1fr)); gap:12px; }
.cheer-lpw__card {
  position:relative; min-width:0; overflow:hidden; background:#fff; border:1px solid #e8e8e8;
  border-radius:5px; box-shadow:0 1px 4px rgba(0,0,0,.08);
}
.cheer-lpw__image-link { display:block; position:relative; overflow:hidden; background:#eef0f2; }
.cheer-lpw__image { display:block; width:100%; height:125px; object-fit:cover; }
.cheer-lpw__image--empty { background:linear-gradient(135deg,#e7e9ec,#cdd2d8); }
.cheer-lpw__badge {
  position:absolute; left:8px; bottom:8px; color:#fff; font-size:12px; font-weight:700;
  line-height:1; padding:7px 9px; border-radius:2px;
}
.cheer-lpw__badge.is-sell { background:var(--cheer-lpw-accent); }
.cheer-lpw__badge.is-rent { background:var(--cheer-lpw-rent); }
.cheer-lpw__heart {
  position:absolute; top:8px; right:9px; color:#fff; font-size:27px; line-height:1;
  text-shadow:0 1px 4px rgba(0,0,0,.6); z-index:5; cursor:pointer;
}
.cheer-lpw__body { padding:9px 11px 10px; }
.cheer-lpw__title { margin:0 0 5px; font-size:14px; font-weight:700; line-height:1.35; }
.cheer-lpw__title a { color:#252525; text-decoration:none; }
.cheer-lpw__location,.cheer-lpw__area { color:#626262; font-size:11px; line-height:1.55; margin-top:3px; overflow-wrap:anywhere; }
.cheer-lpw__price { margin-top:5px; font-size:18px; font-weight:700; line-height:1.25; overflow-wrap:anywhere; }
.cheer-lpw__price.is-sell { color:var(--cheer-lpw-accent); }
.cheer-lpw__price.is-rent { color:var(--cheer-lpw-rent); }
.cheer-lpw__empty { padding:18px; background:#f7f7f7; }
@media (max-width:1024px) { .cheer-lpw__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) {
  .cheer-lpw__heading { font-size:21px; }
  .cheer-lpw__filters { align-items:stretch; }
  .cheer-lpw__tabs { width:100%; }
  .cheer-lpw__tabs button { flex:1; min-width:0; padding:9px 8px; }
  .cheer-lpw__district { width:100%; }
  .cheer-lpw__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .cheer-lpw__image { height:112px; }
  .cheer-lpw__body { padding:8px; }
  .cheer-lpw__price { font-size:15px; }
}

.cheer-lpw.is-loading { opacity:.6; pointer-events:none; transition:opacity .15s ease; }
.cheer-lpw__heart {
  border:0; background:transparent; padding:0; cursor:pointer;
}
.cheer-lpw__heart.is-active { color:#f47721; text-shadow:0 1px 4px rgba(0,0,0,.55); }
.cheer-lpw__heart:disabled { cursor:wait; }
