/* Property reverse marketplace — shared desktop/mobile chrome */
.zp-reverse { max-width: 960px; }
.zp-wizard, .zp-wizard .zp-step { display: grid; gap: .85rem; }
.zp-wizard .zp-step[hidden] { display: none; }
.zp-wizard label { display: flex; flex-direction: column; gap: .3rem; color: #94a3b8; font-size: .85rem; }
.zp-wizard input, .zp-wizard select, .zp-wizard textarea {
  min-height: 44px; border-radius: 10px; border: 1px solid rgba(255,255,255,.14);
  background: #0f172a; color: #e2e8f0; padding: .55rem .75rem;
}
.zp-wizard-steps { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0 0 1.25rem; }
.zp-wizard-steps li {
  padding: .4rem .75rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.12);
  font-size: .78rem; color: #94a3b8;
}
.zp-wizard-steps li.is-active { color: #fff; border-color: #60a5fa; background: color-mix(in srgb, #1D4ED8 22%, transparent); }
.zp-wizard-nav { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .5rem; }
.zp-review, .zp-card-stack { margin-top: 1rem; }
.zp-card-stack { display: grid; gap: 1rem; }
.zp-card {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px; padding: 1.1rem 1.2rem;
}
.zp-stat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .75rem; margin-top: 1rem; }
.zp-stat { display: flex; flex-direction: column; gap: .25rem; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: .85rem; }
.zp-compare { display: grid; gap: .75rem; margin-top: 1.25rem; }
.zp-compare table { width: 100%; border-collapse: collapse; }
.zp-compare th, .zp-compare td { text-align: left; padding: .55rem .4rem; border-bottom: 1px solid rgba(255,255,255,.08); font-size: .85rem; }
@media (max-width: 720px) {
  .zp-compare table, .zp-compare thead, .zp-compare tbody, .zp-compare tr, .zp-compare th, .zp-compare td { display: block; width: 100%; }
  .zp-compare thead { display: none; }
  .zp-compare tr { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: .75rem; margin-bottom: .75rem; }
  .zp-compare td::before { content: attr(data-label); display: block; font-size: .7rem; color: #64748b; text-transform: uppercase; }
  .mkt-hero-actions { flex-direction: column; }
}
