:root{
  --qp-accent:#3cc6f0; --qp-text:#e6edf3; --qp-muted:#8b949e;
  --qp-glass:rgba(11,15,20,.5); --qp-sold:#ef4444; --qp-reserved:#f59e0b;
}
.ads-grid{ padding-left:16px; padding-right:16px; gap:12px; }

.card .card-image{ position:relative; aspect-ratio:1/1; overflow:hidden; }
.card .card-image img{ width:100%; height:100%; object-fit:cover; display:block; }
.card.is-sold .card-image img{ opacity:.55; }

.card .status-badge{ position:absolute; top:8px; left:8px; z-index:2; padding:4px 10px;
  border-radius:999px; font-size:11px; font-weight:800; letter-spacing:.02em; color:#fff; }
.card .status-badge.is-sold{ background:var(--qp-sold); }
.card .status-badge.is-reserved{ background:var(--qp-reserved); }

.card .fav-btn{ position:absolute; top:8px; right:8px; z-index:2; width:36px; height:36px;
  padding:0; border:none; border-radius:50%; background:var(--qp-glass);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); color:#fff;
  display:grid; place-items:center; cursor:pointer; font-size:0; }
.card .fav-btn.is-fav{ color:var(--qp-sold); }
.card .fav-btn:focus-visible{ outline:2px solid var(--qp-accent); outline-offset:2px; }
.card .mine-chip{ position:absolute; top:8px; right:8px; z-index:2; padding:4px 9px;
  border-radius:999px; background:var(--qp-glass); backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px); color:var(--qp-text); font-size:11px; font-weight:600; }

.card .card-info{ padding:10px 12px 12px; }
.card .card-title{ color:var(--qp-text); font-size:15px; line-height:1.3; display:-webkit-box;
  -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.card .card-bottom{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:6px; }
.card .price{ color:var(--qp-accent); font-size:20px; font-weight:700; white-space:nowrap; }
.card.is-sold .price{ color:var(--qp-muted); text-decoration:line-through; }
.card .favorite-counter{ display:flex; align-items:center; gap:4px; padding:0; background:none;
  color:var(--qp-text); font-size:13px; }
.card .favorite-counter svg{ color:var(--qp-sold); }
.card .card-meta{ display:flex; justify-content:space-between; align-items:center; gap:8px;
  margin-top:8px; color:var(--qp-muted); font-size:12px; }
.card .card-location{ display:flex; align-items:center; gap:4px; min-width:0; overflow:hidden;
  white-space:nowrap; text-overflow:ellipsis; }
.card .card-location svg{ flex-shrink:0; }
.card .card-time{ white-space:nowrap; }

@keyframes qp-bump{ 0%{transform:scale(1)} 40%{transform:scale(1.25)} 100%{transform:scale(1)} }
.card .bump{ animation:qp-bump .28s ease-out; }
@media (prefers-reduced-motion:reduce){ .card .bump{ animation:none; } }

.home-empty{ grid-column:1/-1; text-align:center; padding:48px 16px; color:var(--qp-muted); }
.home-empty button{ margin-top:12px; padding:12px 20px; border:none; border-radius:999px;
  background:var(--qp-accent); color:#0b0f14; font-weight:700; cursor:pointer; }

#bottomNav{ padding-bottom:max(8px, env(safe-area-inset-bottom)); }

/* ===== Cabecera v3 ===== */
#appHeader .search-input{
  height:48px;
  border-radius:14px;
  font-size:16px;
  background:#0f1722;
  border:1px solid #1e2a38;
  color:var(--qp-text);
}

#appHeader .header-actions .btn{
  height:46px;
  border-radius:999px;
  font-size:15px;
  font-weight:600;
}

#appHeader .btn[data-view="categories"]{
  background:#0f1722;
  border:1px solid #1e2a38;
  color:var(--qp-text);
}

#appHeader .btn[data-view="publish"]{
  background:var(--qp-accent);
  border:1px solid var(--qp-accent);
  color:#04121a;
}

#main .home-page{
  padding:12px 0 0;
}

#main .ads-grid{
  padding-left:16px;
  padding-right:16px;
  margin:0 auto;
}
