/* busca pública mobile. não depende das regras desktop. */
@media (max-width: 1023px) {
    .search-page { width:min(100% - 32px,760px); margin:24px auto 40px; }
    .search-heading { display:none; }
    .search-heading>div>span { color:var(--brand); font-size:11px; font-weight:900; text-transform:uppercase; }
    .search-heading h1 { margin:5px 0 0; font-size:28px; }
    .search-heading p { margin:8px 0 0; color:var(--muted); font-size:14px; }
    .search-heading>strong { flex:0 0 auto; color:var(--muted); font-size:12px; }
    .search-feedback { margin-bottom:16px; padding:12px 14px; border:1px solid #fecaca; border-radius:6px; background:#fff1f2; color:#991b1b; }
    .search-layout { display:grid; gap:20px; }
    .search-filters { border:1px solid var(--line); border-radius:7px; background:#fff; }
    .search-filters-toggle { width:100%; min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:12px; border:0; background:transparent; padding:0 14px; color:var(--ink); font:inherit; font-weight:900; text-align:left; cursor:pointer; }
    .search-filters-toggle-icon { width:9px; height:9px; flex:0 0 9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translate(-2px,-2px); transition:transform .2s ease; }
    .search-filters-toggle[aria-expanded="true"] .search-filters-toggle-icon { transform:rotate(225deg) translate(-2px,-2px); }
    .search-filters form { display:none; padding:0 14px 14px; }
    .search-filters form.is-mobile-expanded { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .search-filters label { min-width:0; display:grid; gap:5px; }
    .search-filters label span,.search-toolbar label { color:var(--muted); font-size:10px; font-weight:900; text-transform:uppercase; }
    .search-filters input,.search-filters select,.search-toolbar select { width:100%; min-width:0; min-height:42px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); padding:0 9px; font:inherit; }
    .search-filter-wide,.search-filter-actions { grid-column:1/-1; }
    .search-filter-actions { display:flex; gap:8px; }
    .search-filter-actions button,.search-filter-actions a,.search-toolbar button { min-height:42px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:6px; padding:0 12px; background:#fff; color:var(--ink); font:inherit; font-weight:800; }
    .search-filter-actions button { flex:1; border-color:var(--brand); background:var(--brand); color:#fff; }
    .search-results { min-width:0; }
    .search-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--line); }
    .search-toolbar p { margin:0; font-size:13px; font-weight:900; }
    .search-results-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .search-results-summary strong { color:var(--muted); font-size:11px; white-space:nowrap; }
    .search-toolbar form { display:flex; align-items:center; gap:6px; }
    .search-toolbar label { display:none; }
    .search-toolbar select { min-width:0; }
    .search-results-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
    .search-results-grid .public-listing-card { min-width:0; overflow:hidden; display:block; border:1px solid var(--green); border-radius:7px; background:#fff; }
    .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:8px; left:8px; border-radius:99px; background:var(--green); color:#fff; padding:4px 8px; font-size:9px; font-weight:900; }
    .search-results-grid .public-listing-body { min-width:0; padding:10px; display:grid; gap:4px; }
    .search-results-grid .public-listing-body h3 { min-width:0; margin:0; display:-webkit-box; overflow:hidden; color:var(--deep); font-size:12px; line-height:1.35; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
    .search-results-grid .public-listing-price { min-width:0; overflow-wrap:anywhere; font-size:16px; }
    .search-results-grid .public-listing-location { min-width:0; margin:0; overflow:hidden; color:var(--deep); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
    .search-results-grid .public-listing-specs,.search-results-grid .public-listing-link { display:none; }
    .search-results-grid .public-listing-metrics { display:flex!important; align-items:center!important; justify-content:space-between!important; gap:6px!important; color:var(--muted)!important; font-size:10px!important; font-weight:800; }
    .search-results-grid .public-listing-metric { min-width:0; display:inline-flex!important; align-items:center!important; gap:3px!important; }
    .search-results-grid .public-listing-metric svg { width:14px!important; height:14px!important; flex:0 0 14px!important; fill:none!important; stroke:currentColor!important; }
    .search-empty-state { padding:38px 18px; border-block:1px solid var(--line); background:#fff; text-align:center; }
    .search-empty-state h2 { margin:0; font-size:18px; }
    .search-empty-state p { margin:9px 0 16px; color:var(--muted); }
    .search-empty-state a { color:var(--brand); font-weight:800; }
    .search-pagination { margin-top:22px; padding-top:16px; border-top:1px solid var(--line); }
    .search-pagination nav>div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
    .search-pagination nav>div:first-child { margin-bottom:8px; }
    .search-pagination a,.search-pagination span { display:inline-flex; align-items:center; gap:4px; }
    .search-pagination svg { width:16px; height:16px; }
    .search-pagination .hidden { display:none; }
}

@media (max-width: 560px) {
    .search-toolbar { align-items:stretch; flex-direction:column; }
    .search-results-summary { width:100%; }
    .search-toolbar form { width:100%; }
    .search-toolbar select { flex:1; }
}
