/* home pública desktop. o mobile terá uma folha independente. */
@media (min-width: 1024px) {
    .public-home { background: var(--surface); }
    .home-desktop { width:min(1520px,100%); margin:0 auto; padding:24px; display:grid; gap:28px; }
    .home-desktop-hero { display:grid; grid-template-columns:minmax(360px,0.78fr) minmax(520px,1.22fr); align-items:stretch; gap:20px; }
    .home-desktop-search { align-self:end; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:18px; border:1px solid var(--line); border-radius:7px; background:#fff; box-shadow:0 2px 8px rgb(0 0 0 / 4%); }
    .home-desktop-search-query { min-width:0; min-height:48px; display:flex; align-items:center; gap:12px; padding:0 15px; border:1px solid var(--line); border-radius:6px; }
    .home-desktop-search-icon { width:20px; height:20px; flex:0 0 20px; color:var(--muted); }
    .home-desktop-search-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2; }
    .home-desktop-search input,.home-desktop-search select { width:100%; min-width:0; min-height:48px; padding:0 14px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); font:inherit; }
    .home-desktop-search-query input { min-height:auto; padding:0; border:0; outline:0; }
    .home-desktop-search select,.home-desktop-search-query,.home-desktop-search button { grid-column:1/-1; }
    .home-desktop-search button { min-height:48px; border:0; border-radius:6px; background:var(--brand); color:#fff; font:inherit; font-weight:900; cursor:pointer; }
    .home-desktop-section-heading,.home-desktop-section-header { display:flex; align-items:end; justify-content:space-between; gap:16px; }
    .home-desktop-section-heading h2 { flex:1 1 0; }
    .home-desktop-section-heading > span { flex:1 1 0; text-align:right; }
    .home-desktop-listing-arrows { display:flex; align-items:center; justify-content:center; gap:8px; }
    .home-desktop-listing-arrows button { width:34px; height:30px; display:grid; place-items:center; padding:0; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--deep); font-size:19px; line-height:1; cursor:pointer; }
    .home-desktop-listing-arrows button:hover:not(:disabled) { border-color:var(--green); color:var(--green); }
    .home-desktop-listing-arrows button:disabled { opacity:.35; cursor:default; }
    .home-desktop-section-heading h2,.home-desktop-section-header h2 { margin:0; font-size:20px; font-weight:900; }
    .home-desktop-section-heading span,.home-desktop-section-header span,.home-desktop-section-header a { color:var(--muted); font-size:12px; font-weight:800; }
    .home-desktop-banner { display:grid; gap:14px; }
    .home-desktop-banner-frame { position:relative; height:260px; overflow:hidden; border:1px solid var(--line); border-radius:7px; background:#fff; box-shadow:0 2px 8px rgb(0 0 0 / 5%); }
    .home-desktop-banner-frame a { width:100%; height:100%; display:block; }
    .home-desktop-banner-frame img { width:100%; height:100%; display:block; object-fit:cover; }
    .home-desktop-banner-dots { position:absolute; left:50%; bottom:14px; display:flex; gap:7px; transform:translateX(-50%); }
    .home-desktop-banner-dots button { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:rgb(255 255 255 / 70%); cursor:pointer; }
    .home-desktop-banner-dots button.is-active { width:30px; border-radius:4px; background:#fff; }
    .home-desktop-feedback { padding:14px 16px; border:1px solid #fecaca; border-radius:6px; background:#fff1f2; color:#991b1b; }
    .home-desktop-dual-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
    .home-desktop-listing-panel { min-width:0; display:grid; align-content:start; grid-template-rows:auto auto; gap:16px; padding:18px; border:1px solid var(--line); border-radius:7px; background:#fff; box-shadow:0 2px 8px rgb(0 0 0 / 4%); }
    .home-desktop-listing-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:16px; }
    .home-desktop-listing-grid--compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home-desktop-carousel-item { min-width:0; }
    .home-desktop-listing-grid .public-listing-body { gap:3px!important; }
    .home-desktop-listing-grid .public-listing-body h3 { min-height:0!important; margin:0!important; line-height:1.25!important; }
    .home-desktop-listing-grid .public-listing-price { display:block; margin-top:2px!important; margin-bottom:5px!important; line-height:1.12!important; }
    .home-desktop-listing-grid .public-listing-location { gap:4px!important; }
    .home-desktop-listing-grid .public-listing-metrics { margin-top:9px!important; }
    .home-desktop-listing-section { display:grid; gap:18px; }
    .home-desktop-empty { grid-column:1/-1; margin:0; color:var(--muted); font-size:13px; }
}

@media (min-width: 1024px) {
    .home-desktop-search select { appearance:none; padding-right:40px; background-image:linear-gradient(45deg,transparent 50%,#667085 50%),linear-gradient(135deg,#667085 50%,transparent 50%); background-position:calc(100% - 19px) 21px,calc(100% - 14px) 21px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
    .home-desktop-listing-grid .public-listing-metrics { gap:8px!important; color:#475467!important; }
    .home-desktop-listing-grid .public-listing-metric { min-height:28px; display:inline-flex!important; flex-direction:row!important; align-items:center!important; gap:5px!important; border-radius:5px; background:#f2f4f7; padding:0 8px; color:#344054!important; line-height:1!important; white-space:nowrap; }
    .home-desktop-listing-grid .public-listing-metric:last-child { color:#16794b!important; }
    .home-desktop-listing-grid .public-listing-metric svg { width:15px!important; height:15px!important; flex:0 0 15px!important; display:block!important; fill:none!important; stroke:currentColor!important; stroke-width:1.6!important; }
}
