/* Search return navigation and unobstructed mobile map. */
body.estate-home-page #property-search { scroll-margin-top:calc(var(--results-header-offset,136px) + 12px); }
body.estate-home-page #listings > .results-back { display:block; width:min(1280px,calc(100% - 64px)); margin:0 auto 14px; padding:0; border:0; background:transparent; text-align:left; font-size:11px; letter-spacing:.035em; }
body.estate-home-page #listings > .results-back:hover { text-decoration:underline; text-underline-offset:4px; }
body.estate-home-page #listings > .results-workspace { z-index:5; }
/* The fullscreen map must sit above the hero and its search bar, while the fixed header remains highest. */
body.estate-home-page.has-fullscreen-map .estate-results { position:relative; z-index:90; }
body.estate-home-page.has-fullscreen-map .map-panel.is-fullscreen { z-index:100; }
body.estate-home-page .map-toolbar { position:relative; z-index:2; background:#e8dccb; }
body .map-collapse,
body .map-fullscreen { color:#7f302d; }
body .map-collapse:hover,
body .map-collapse:focus-visible,
body .map-fullscreen:hover,
body .map-fullscreen:focus-visible { color:#642421; }
body .map-fullscreen { white-space:nowrap; }
body.estate-home-page .map-panel.is-fullscreen { top:calc(var(--results-header-offset,136px) - 1px) !important; }
body.estate-home-page.has-fullscreen-map .business-topbar.estate-topbar { z-index:100; }
@media (max-width:640px) {
  body.estate-home-page .results-heading-row h2 { font-size:16px; letter-spacing:.06em; }
  body.estate-home-page #listings > .results-back { width:calc(100% - 40px); margin-bottom:12px; font-size:10px; }
  body.estate-home-page.has-visible-results-map .results-workspace:not([data-results-view="list"]) .map-panel.is-footer-docked { height:calc(44px + env(safe-area-inset-bottom,0px)) !important; }
  body.estate-home-page .map-panel.is-footer-docked .map-canvas { display:none; }
  body.estate-home-page .map-panel.is-fullscreen { top:calc(var(--results-header-offset,76px) - 1px) !important; }
}

/* Keep the newest-listings return action consistent with the red search return action used on subpages. */
body.estate-home-page .newest-all {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  padding:10px 20px;
  border:1px solid var(--signal-red);
  border-radius:5px;
  color:#fff;
  background:var(--signal-red);
  box-shadow:0 8px 20px rgba(89,30,24,.18),inset 0 1px rgba(255,255,255,.22);
  font-size:12px;
  font-weight:600;
  letter-spacing:.035em;
  text-decoration:none;
}
body.estate-home-page .newest-all::before { content:'←'; font-size:18px; font-weight:400; line-height:1; }
body.estate-home-page .newest-all:hover,
body.estate-home-page .newest-all:focus-visible { color:#fff; background:var(--signal-red-hover); border-color:var(--signal-red-hover); box-shadow:0 10px 24px rgba(89,30,24,.24),inset 0 1px rgba(255,255,255,.24); }
@media (max-width:640px) {
  body.estate-home-page .newest-all { width:calc(100% - 40px); margin-top:20px; }
}

/* Browser-comment corrections: use the same red return treatment above the results. */
body.estate-home-page #listings > .results-back {
  display:inline-flex;
  width:auto;
  min-height:54px;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:0 0 14px;
  padding:10px 20px;
  border:1px solid var(--signal-red);
  border-radius:5px;
  color:#fff;
  background:var(--signal-red);
  box-shadow:0 8px 20px rgba(89,30,24,.18),inset 0 1px rgba(255,255,255,.22);
  font-size:12px;
  font-weight:600;
  letter-spacing:.035em;
  line-height:1.35;
  text-align:center;
  text-decoration:none;
}
body.estate-home-page #listings > .results-back::before { content:'←'; font-size:18px; font-weight:400; line-height:1; }
body.estate-home-page #listings > .results-back:hover,
body.estate-home-page #listings > .results-back:focus-visible { color:#fff; background:var(--signal-red-hover); border-color:var(--signal-red-hover); box-shadow:0 10px 24px rgba(89,30,24,.24),inset 0 1px rgba(255,255,255,.24); }
body.estate-home-page .results-pagination { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; justify-content:initial; }
body.estate-home-page .results-pagination .pagination-controls { justify-self:end; }
@media (max-width:640px) {
  body.estate-home-page #listings > .results-back { width:calc(100% - 40px); margin:0 20px 12px; padding:10px 16px; font-size:11px; }
  body.estate-home-page .results-pagination { grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; }
  body.estate-home-page .results-pagination .pagination-controls { width:auto; justify-self:end; gap:8px; }
  body.estate-home-page .results-pagination .pagination-controls button { padding:10px 9px; }
}

/* Keep the result count with the pagination controls on the right below the listings. */
body.estate-home-page .results-pagination {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}
body.estate-home-page .results-pagination .results-range { order:2; align-self:flex-end; text-align:center; }
body.estate-home-page .results-pagination .pagination-controls { order:1; align-self:flex-end; }
@media (max-width:640px) {
  body.estate-home-page .results-pagination { display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
  body.estate-home-page .results-pagination .pagination-controls { width:auto; justify-content:flex-end; align-self:flex-end; }
}

body.estate-home-page #listings > .results-back { margin-top:14px; }
@media (max-width:640px) { body.estate-home-page #listings > .results-back { margin:18px 20px 0; } }

body.estate-home-page .results-pagination .results-range { min-width:240px; }
@media (max-width:640px) {
  body.estate-home-page .results-pagination .results-range { min-width:239px; }
}

@media (min-width:641px) {
  body.estate-home-page #listings > .results-back {
    margin-left:max(32px, calc((100% - 1280px) / 2));
  }
}

@media (max-width:640px) {
  body.estate-home-page .results-pagination .pagination-controls {
    align-self:center;
    justify-content:center;
  }
  body.estate-home-page .results-pagination .results-range {
    align-self:center;
    text-align:center;
  }
}

/* The return action belongs to the listing column, directly below its last card. */
body.estate-home-page #listings .listing-list > .results-back {
  grid-column:1;
  justify-self:stretch;
  box-sizing:border-box;
  max-width:100%;
  width:100%;
  margin-left:0;
  margin-top:14px;
  margin-bottom:0;
}
@media (max-width:640px) {
  body.estate-home-page #listings .listing-list > .results-back {
    width:calc(100% - 40px);
    justify-self:center;
    margin:18px 20px 0;
  }
}

/* Apply the same attached treatment to the catalogue's return action. */
body.estate-home-page #newest-listings .newest-list > .newest-all {
  grid-column:1;
  justify-self:stretch;
  box-sizing:border-box;
  max-width:100%;
  width:100%;
  margin-left:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  padding:10px 20px;
  border:1px solid var(--signal-red);
  border-radius:5px;
  color:#fff;
  background:var(--signal-red);
  box-shadow:0 8px 20px rgba(89,30,24,.18),inset 0 1px rgba(255,255,255,.22);
  font-size:12px;
  font-weight:600;
  letter-spacing:.035em;
  line-height:1.35;
  text-decoration:none;
  margin-top:14px;
  margin-bottom:0;
}
body.estate-home-page #newest-listings .newest-list > .newest-all::before { content:'←'; font-size:18px; font-weight:400; line-height:1; }
body.estate-home-page #newest-listings .newest-list > .newest-all:hover,
body.estate-home-page #newest-listings .newest-list > .newest-all:focus-visible { color:#fff; background:var(--signal-red-hover); border-color:var(--signal-red-hover); }
body.estate-home-page #listings .listing-list > .results-back {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  padding:10px 20px;
  border:1px solid var(--signal-red);
  border-radius:5px;
  color:#fff;
  background:var(--signal-red);
  box-shadow:0 8px 20px rgba(89,30,24,.18),inset 0 1px rgba(255,255,255,.22);
  font-size:12px;
  font-weight:600;
  letter-spacing:.035em;
  line-height:1.35;
  text-align:center;
  text-decoration:none;
}
body.estate-home-page #listings .listing-list > .results-back::before { content:'←'; font-size:18px; font-weight:400; line-height:1; }
body.estate-home-page #listings .listing-list > .results-back:hover,
body.estate-home-page #listings .listing-list > .results-back:focus-visible { color:#fff; background:var(--signal-red-hover); border-color:var(--signal-red-hover); }
@media (max-width:640px) {
  body.estate-home-page #newest-listings .newest-list > .newest-all {
    width:calc(100% - 40px);
    justify-self:center;
    margin:18px 20px 0;
  }
}
