:root{--green:#0b7a3b;--green-dark:#073b22;--green-soft:#e6f6ec;--bg:#f4fbf6;--text:#213227;--muted:#65756b;--border:#dcebe2;--warning:#fff3d6;--warning-text:#765300;--shadow:0 14px 34px rgba(7,59,34,.10)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,var(--bg),#fff 42%);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}.app-header{position:sticky;top:0;z-index:20;background:rgba(244,251,246,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:12px 14px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:10px}.brand-icon{width:46px;height:46px;border-radius:17px;background:linear-gradient(135deg,var(--green),#36ba70);color:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 10px 24px rgba(11,122,59,.25)}.brand-title{font-size:1.25rem;font-weight:900;color:var(--green-dark);line-height:1}.brand-subtitle{font-size:.72rem;color:var(--muted);margin-top:4px}.filter-btn{border:1px solid #c5e7d1;background:#fff;color:var(--green);font-weight:800;border-radius:999px;padding:10px 14px}.container{max-width:760px;margin:0 auto;padding:14px}.tabs{position:sticky;top:71px;z-index:15;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:rgba(244,251,246,.95);backdrop-filter:blur(12px);padding:8px 0 12px}.tab{border:1px solid #cde8d6;background:#fff;color:var(--green);border-radius:999px;padding:10px 8px;font-weight:900}.tab.active{background:var(--green);color:#fff;border-color:var(--green)}input,select{width:100%;border:1px solid var(--border);border-radius:16px;padding:13px;background:#fff;outline:none}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.stat-card{background:#f2faf5;border:1px solid #d6efdf;border-radius:18px;padding:11px 8px;text-align:center}.stat-card.warning{background:var(--warning);border-color:#f1d98a}.stat-card strong{display:block;color:var(--green-dark);font-size:.98rem}.stat-card span{display:block;color:var(--muted);font-size:.68rem;margin-top:2px}.property-card{background:#fff;border:1px solid #e2ece6;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:15px;position:relative}.property-image{width:100%;height:220px;object-fit:cover;background:#e6ede8;display:block}.property-body{padding:15px}.price{font-size:1.42rem;color:var(--green-dark);font-weight:950;margin-bottom:4px}.price-caiu{color:#087a3a!important}.price-subiu{color:#b42318!important}.price-trend{display:inline-flex;border-radius:999px;padding:6px 10px;margin:0 0 9px;font-size:.74rem;font-weight:900}.price-trend.down{background:#e8f8ef;color:#087a3a;border:1px solid #bfe9ce}.price-trend.up{background:#fff0f0;color:#b42318;border:1px solid #ffd0d0}.price-trend.same{background:#f3f6f4;color:#66756b;border:1px solid #e2e9e5}.location{font-size:.9rem;line-height:1.35;color:#415248;margin-bottom:11px}.location strong{color:var(--green-dark)}.features,.status-row,.active-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.feature{background:#f3f6f4;border:1px solid #e2e9e5;border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:750;color:#2f4035}.badge{display:inline-flex;border-radius:12px;padding:6px 9px;font-size:.72rem;font-weight:850}.badge.ok{color:#0a6b35;background:#e5f8eb;border:1px solid #c6eccf}.badge.warn{color:var(--warning-text);background:var(--warning);border:1px solid #f1d98a}.meta{color:#76877d;font-size:.72rem;margin-top:4px}.ad-link{display:block;margin-top:12px;text-align:center;color:#fff;text-decoration:none;background:var(--green);border-radius:17px;padding:13px;font-weight:900;box-shadow:0 9px 20px rgba(11,122,59,.24)}.card-actions{position:absolute;top:12px;right:12px}.favorite-btn{width:42px;height:42px;border-radius:50%;border:none;background:rgba(255,255,255,.92);box-shadow:0 8px 18px rgba(0,0,0,.14);font-size:1.25rem}.favorite-btn.active{background:#fff3d6;color:#b77900}.seen-badge{position:absolute;left:12px;top:12px;background:rgba(7,59,34,.86);color:#fff;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:900}.load-more,.primary-btn,.ghost-btn{border-radius:17px;border:none;padding:13px 15px;font-weight:900}.load-more,.primary-btn{background:var(--green);color:#fff}.ghost-btn{background:#eef8f1;color:var(--green);border:1px solid #c5e7d1}.load-more{display:block;width:100%;margin:8px 0 24px}.full{width:100%;margin-top:10px}.drawer{position:fixed;inset:0 0 0 auto;width:min(92vw,420px);background:#fff;z-index:60;transform:translateX(110%);transition:transform .25s ease;box-shadow:-18px 0 40px rgba(0,0,0,.16);display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.32);z-index:55;display:none}.drawer-backdrop.open{display:block}.drawer-header{padding:16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.drawer-header button{border:none;background:#f1f5f2;width:38px;height:38px;border-radius:14px;font-size:1.3rem}.drawer-content{padding:14px;overflow-y:auto}.drawer-content label{display:block;margin:12px 0 6px;font-weight:850;color:var(--green-dark);font-size:.82rem}.price-grid,.two-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chip-list{display:flex;flex-wrap:wrap;gap:8px;max-height:210px;overflow-y:auto;padding:8px;border:1px solid var(--border);border-radius:18px;background:#fbfffc}.choice-chip{border:1px solid #cde8d6;background:#f5fbf7;color:#30513d;border-radius:999px;padding:9px 12px;font-weight:850;font-size:.78rem}.choice-chip.selected{background:var(--green);color:white;border-color:var(--green)}.selected-line{margin-top:7px;color:var(--muted);font-size:.75rem;min-height:18px}.pill{background:var(--green-soft);color:var(--green);border:1px solid #c5e7d1;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:800}@media(min-width:780px){.property-image{height:290px}}

/* Modal inicial de preferências */
.pref-locked {
  overflow: hidden;
}

.pref-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  align-items: flex-end;
  justify-content: center;
}

.pref-modal.open {
  display: flex;
}

.pref-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 31, 18, .42);
  backdrop-filter: blur(7px);
}

.pref-card {
  position: relative;
  width: min(94vw, 460px);
  max-height: 90vh;
  overflow-y: auto;
  background: #fff;
  border-radius: 30px 30px 0 0;
  padding: 22px 16px 18px;
  box-shadow: 0 -18px 50px rgba(0,0,0,.22);
  animation: prefUp .22s ease-out;
}

@keyframes prefUp {
  from { transform: translateY(30px); opacity: .75; }
  to { transform: translateY(0); opacity: 1; }
}

.pref-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 14px;
  background: #f1f5f2;
  color: var(--green-dark);
  font-size: 1.35rem;
  font-weight: 900;
}

.pref-title {
  color: var(--green-dark);
  font-size: 1.65rem;
  font-weight: 950;
  padding-right: 42px;
}

.pref-subtitle {
  color: var(--muted);
  font-size: .88rem;
  margin: 5px 0 14px;
}

.pref-card label {
  display: block;
  margin: 13px 0 7px;
  font-size: .82rem;
  color: var(--green-dark);
  font-weight: 900;
}

.pref-chip-list {
  max-height: 165px;
}

@media (min-width: 700px) {
  .pref-modal {
    align-items: center;
  }

  .pref-card {
    border-radius: 30px;
  }
}
/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}
/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}
/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}
/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}
/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}
/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}
/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}/* Melhorias mobile do pop-up Preferências */
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}

.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}

.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}
.pref-modal {
  align-items: flex-end;
}

.pref-card {
  width: min(94vw, 460px);
  max-height: 88vh;
  padding: 24px 16px 18px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top left, rgba(11,122,59,.10), transparent 34%),
    #ffffff;
}
.pref-title {
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.pref-subtitle {
  max-width: 320px;
  line-height: 1.35;
}

.pref-card input {
  min-height: 48px;
  border-radius: 18px;
  background: #fbfffc;
}

.pref-card .price-grid {
  gap: 10px;
}

.pref-chip-list {
  max-height: 150px;
  padding: 10px;
}

.pref-card .choice-chip {
  padding: 10px 13px;
  border-radius: 999px;
  font-size: .8rem;
  box-shadow: 0 4px 10px rgba(7,59,34,.04);
}

.pref-card .choice-chip.selected {
  box-shadow: 0 8px 16px rgba(11,122,59,.18);
}

.pref-card .primary-btn {
  min-height: 52px;
  border-radius: 20px;
  font-size: .98rem;
  box-shadow: 0 12px 24px rgba(11,122,59,.25);
}

.pref-card .ghost-btn {
  min-height: 48px;
  border-radius: 18px;
}
.pref-close {
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

@media (max-width: 420px) {
  .pref-card {
    width: 100vw;
    max-height: 91vh;
    border-radius: 28px 28px 0 0;
  }

  .pref-title {
    font-size: 1.55rem;
  }

  .pref-chip-list {
    max-height: 130px;
  }
}
/* FORÇA DESIGN MOBILE DO MODAL DE PREFERÊNCIAS */
#preferencesModal.pref-modal.open {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
}

#preferencesModal .pref-backdrop {
  background: rgba(3, 24, 13, 0.58) !important;
  backdrop-filter: blur(10px) !important;
}

#preferencesModal .pref-card {
  width: 100vw !important;
  max-width: 480px !important;
  max-height: 92vh !important;
  overflow-y: auto !important;
  border-radius: 34px 34px 0 0 !important;
  padding: 24px 18px 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7fff9 100%) !important;
  box-shadow: 0 -18px 45px rgba(0,0,0,.28) !important;
}

#preferencesModal .pref-title {
  font-size: 1.75rem !important;
  font-weight: 950 !important;
  color: #073b22 !important;
  margin-bottom: 4px !important;
}

#preferencesModal .pref-subtitle {
  font-size: .9rem !important;
  color: #65756b !important;
  margin-bottom: 16px !important;
}

#preferencesModal label {
  margin-top: 14px !important;
  margin-bottom: 7px !important;
  font-weight: 900 !important;
  color: #073b22 !important;
}

#preferencesModal input {
  min-height: 50px !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid #dcebe2 !important;
}

#preferencesModal .chip-list {
  max-height: 145px !important;
  overflow-y: auto !important;
  padding: 10px !important;
  border-radius: 20px !important;
  background: #fbfffc !important;
}

#preferencesModal .choice-chip {
  padding: 10px 13px !important;
  border-radius: 999px !important;
  font-size: .8rem !important;
  background: #f5fbf7 !important;
}

#preferencesModal .choice-chip.selected {
  background: #0b7a3b !important;
  color: white !important;
}

#preferencesModal .primary-btn {
  min-height: 54px !important;
  border-radius: 20px !important;
  margin-top: 16px !important;
}

#preferencesModal .ghost-btn {
  min-height: 50px !important;
  border-radius: 18px !important;
}

#preferencesModal .pref-close {
  top: 14px !important;
  right: 16px !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 15px !important;
}

/* Carrossel de imagens do card */
.image-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #eef3ef;
}

.image-carousel .property-image {
  display: none;
  width: 100%;
  object-fit: cover;
}

.image-carousel .property-image.active {
  display: block;
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  border: 0;
  border-radius: 999px;
  width: 34px;
  height: 34px;
  font-size: 28px;
  line-height: 28px;
  cursor: pointer;
  background: rgba(255,255,255,.85);
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
}

.carousel-prev {
  left: 10px;
}

.carousel-next {
  right: 10px;
}

.carousel-count {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: 12px;
}


/* Coração visual no duplo clique para favoritar */
.property-card {
  position: relative;
}

.dbl-fav-heart {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 30;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
  opacity: 0;
  transform: scale(0.65);
  transition: opacity 0.18s ease, transform 0.18s ease;
  pointer-events: none;
}

.dbl-fav-heart.show {
  opacity: 1;
  transform: scale(1);
}


/* Coração visual no 3º toque para favoritar */
.property-card {
  position: relative;
}

.triple-fav-heart {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 40;
  width: 58px;
  height: 58px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
  opacity: 0;
  transform: scale(0.65);
  transition: opacity 0.18s ease, transform 0.18s ease;
  pointer-events: none;
}

.triple-fav-heart.show {
  opacity: 1;
  transform: scale(1);
}

/* Botão de remover somente na aba Favoritos */
.remove-favorite-tab-btn {
  width: 100%;
  margin-top: 10px;
  border: 0;
  border-radius: 10px;
  padding: 10px 12px;
  font-weight: 700;
  cursor: pointer;
  background: #fff1f1;
  color: #b42318;
  border: 1px solid #f5c2c2;
}

.remove-favorite-tab-btn:hover {
  background: #ffe4e4;
}

.property-card.removing-favorite {
  opacity: 0.4;
  transform: scale(0.98);
  transition: opacity 0.2s ease, transform 0.2s ease;
}


/* Carrossel de imagens nos cards */
.image-carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #f3f4f6;
}

.image-carousel .property-image,
.image-carousel .carousel-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: none;
}

.image-carousel .property-image.active,
.image-carousel .carousel-img.active {
  display: block;
}

.image-carousel.no-image .property-image,
.image-carousel .property-image.placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #667085;
  font-weight: 600;
}

.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 0;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  cursor: pointer;
  font-size: 26px;
  line-height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-prev {
  left: 10px;
}

.carousel-next {
  right: 10px;
}

.carousel-count {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 20;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 700;
  background: rgba(0, 0, 0, 0.62);
  color: #fff;
}


/* Override final para carrossel visível */
.image-carousel {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  background: #f3f4f6 !important;
}

.image-carousel .carousel-img,
.image-carousel .property-image {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: none !important;
}

.image-carousel .carousel-img.active,
.image-carousel .property-image.active {
  display: block !important;
}

.image-carousel.has-multiple-images {
  outline: 3px solid rgba(11, 122, 59, 0.35);
}

.carousel-btn {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 50 !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28) !important;
  cursor: pointer !important;
  font-size: 34px !important;
  line-height: 38px !important;
  color: #0b7a3b !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.carousel-prev {
  left: 10px !important;
}

.carousel-next {
  right: 10px !important;
}

.carousel-count {
  position: absolute !important;
  right: 10px !important;
  bottom: 10px !important;
  z-index: 55 !important;
  border-radius: 999px !important;
  padding: 5px 10px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  background: rgba(11, 122, 59, 0.92) !important;
  color: #fff !important;
}


/* Rollback: esconder carrossel, setas e contador */
.carousel-btn,
.carousel-prev,
.carousel-next,
.carousel-count {
  display: none !important;
}

.image-carousel {
  outline: none !important;
}

.property-image {
  width: 100%;
  object-fit: cover;
}


/* ============================================================
   PADRÃO FINAL: sem carrossel, sem setas, sem contador
   ============================================================ */

.carousel-btn,
.carousel-prev,
.carousel-next,
.carousel-count,
.triple-fav-heart,
.remove-favorite-tab-btn {
  display: none !important;
}

.image-carousel {
  outline: none !important;
  border: none !important;
}

.image-carousel.has-multiple-images {
  outline: none !important;
  border: none !important;
}

.property-image {
  width: 100% !important;
  object-fit: cover !important;
}

.image-carousel .property-image,
.image-carousel .carousel-img {
  display: block !important;
}

.image-carousel .carousel-img:not(:first-child) {
  display: none !important;
}


/* FINAL DEFINITIVO: imagem única visível */
.carousel-btn,
.carousel-prev,
.carousel-next,
.carousel-count,
.triple-fav-heart,
.remove-favorite-tab-btn {
  display: none !important;
}

.property-image {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  background: #f3f4f6 !important;
}

.property-image.placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #6b7280 !important;
  font-weight: 600 !important;
}


/* FINAL DEFINITIVO: imagem única visível */
.carousel-btn,
.carousel-prev,
.carousel-next,
.carousel-count,
.triple-fav-heart,
.remove-favorite-tab-btn {
  display: none !important;
}

.property-image {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  background: #f3f4f6 !important;
}

.property-image.placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #6b7280 !important;
  font-weight: 600 !important;
}


/* Forçar imagem única visível */
.carousel-btn,
.carousel-prev,
.carousel-next,
.carousel-count,
.triple-fav-heart,
.remove-favorite-tab-btn {
  display: none !important;
}

.property-image {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  background: #f3f4f6 !important;
}

.property-image.placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #6b7280 !important;
  font-weight: 600 !important;
}


/* Forçar imagem única visível */
.carousel-btn,
.carousel-prev,
.carousel-next,
.carousel-count,
.triple-fav-heart,
.remove-favorite-tab-btn {
  display: none !important;
}

.property-image {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  background: #f3f4f6 !important;
}

.property-image.placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #6b7280 !important;
  font-weight: 600 !important;
}


/* Correção filtros: Tipo e Sub-região */
.injected-filter-field {
  margin-top: 12px;
}

.injected-filter-field label {
  display: block;
  font-weight: 700;
  margin-bottom: 6px;
}

.injected-filter-field select {
  width: 100%;
}


/* Esconder filtros Fonte e Status Localidade sem alterar estrutura */
#fonte,
#status,
label[for="fonte"],
label[for="status"] {
  display: none !important;
}


/* Esconder somente Fonte e Status Localidade */
#fonte,
#status,
#statusLocalidade,
#status_localidade,
label[for="fonte"],
label[for="status"],
label[for="statusLocalidade"],
label[for="status_localidade"] {
  display: none !important;
}


/* Ordenação na página principal */
.ordenacao-principal {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 12px 0;
}

.ordenacao-principal label {
  font-weight: 700;
}

.ordenacao-principal select {
  height: 36px;
  padding: 6px 10px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  color: #111827;
}
