/* busca pública desktop. mantém a tela independente do CSS legado. */
@media (min-width: 1024px) {
    .search-page { width:min(1520px,calc(100% - 48px)); margin:36px auto 56px; }
    .search-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:26px; }
    .search-heading>div { display:none; }
    .search-heading { justify-content:flex-end; }
    .search-heading>div>span { color:var(--brand); font-size:12px; font-weight:900; text-transform:uppercase; }
    .search-heading h1 { margin:6px 0 0; font-size:34px; }
    .search-heading p { margin:10px 0 0; color:var(--muted); }
    .search-heading>strong { color:var(--muted); font-size:14px; }
    .search-feedback { width:100%; margin:0 0 18px; padding:14px 16px; border:1px solid #fecaca; border-radius:6px; background:#fff1f2; color:#991b1b; }
    .search-layout { display:grid; grid-template-columns:300px minmax(0,1fr); align-items:start; gap:24px; }
    .search-filters { position:sticky; top:82px; border:1px solid var(--line); border-radius:7px; background:#fff; padding:16px; }
    .search-filters-toggle { display:none; }
    .search-filters form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .search-filters label { min-width:0; display:grid; gap:6px; }
    .search-filters label span,.search-toolbar label { color:var(--muted); font-size:11px; font-weight:900; text-transform:uppercase; }
    .search-filters input,.search-filters select,.search-toolbar select { width:100%; min-height:40px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); padding:0 10px; font:inherit; }
    .search-filter-wide,.search-filter-actions { grid-column:1/-1; }
    .search-filter-actions { display:flex; gap:8px; padding-top:4px; }
    .search-filter-actions button,.search-filter-actions a,.search-toolbar button { min-height:40px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:6px; padding:0 14px; background:#fff; color:var(--ink); font:inherit; font-weight:800; cursor:pointer; }
    .search-filter-actions button { flex:1; border-color:var(--brand); background:var(--brand); color:#fff; }
    .search-results { min-width:0; }
    .search-toolbar { min-height:55px; display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:16px; border-bottom:1px solid var(--line); padding-bottom:14px; }
    .search-toolbar p { margin:0; font-weight:900; }
    .search-results-summary strong { display:none; }
    .search-toolbar form { display:flex; align-items:center; gap:8px; }
    .search-toolbar select { width:auto; min-width:160px; }
    .search-results-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
    .search-results-grid .public-listing-card { min-width:0; overflow:hidden; display:block; border:1px solid var(--green); border-radius:7px; background:#fff; transition:transform .2s ease,box-shadow .2s ease; }
    .search-results-grid .public-listing-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
    .search-results-grid .public-listing-media { position:relative; aspect-ratio:4/3; background:#dfe5e9; }
    .search-results-grid .public-listing-media img,.search-results-grid .public-listing-no-image { width:100%; height:100%; display:grid; place-items:center; object-fit:cover; }
    .search-results-grid .public-featured-badge { position:absolute; top:12px; left:12px; border-radius:99px; background:var(--green); color:#fff; padding:5px 11px; font-size:11px; font-weight:900; }
    .search-results-grid .public-listing-body { padding:15px; display:grid; gap:10px; }
    .search-results-grid .public-listing-body h3 { margin:0; color:var(--deep); font-size:14px; line-height:1.4; }
    .search-results-grid .public-listing-price { font-size:20px; }
    .search-results-grid .public-listing-location { margin:0; color:var(--deep); font-size:12px; }
    .search-results-grid .public-listing-specs,.search-results-grid .public-listing-link { display:none; }
    .search-results-grid .public-listing-metrics { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; font-weight:800; }
    .search-empty-state { padding:48px 24px; border-block:1px solid var(--line); background:#fff; text-align:center; }
    .search-empty-state h2 { margin:0; font-size:20px; }
    .search-empty-state p { margin:10px 0 18px; color:var(--muted); }
    .search-empty-state a { color:var(--brand); font-weight:800; }
    .search-pagination { margin-top:26px; padding-top:18px; border-top:1px solid var(--line); }
    .search-pagination nav>div { display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .search-pagination nav>div:first-child { margin-bottom:10px; }
    .search-pagination a,.search-pagination span { display:inline-flex; align-items:center; gap:6px; }
    .search-pagination svg { width:18px; height:18px; }
    .search-pagination .hidden { display:none; }
}
