/* Search and decision experience: keep the existing brand tokens. */
.discovery-hero { background: var(--color-surface); padding: 42px 0 32px; }
.discovery-hero h1 { font-size: clamp(34px, 4vw, 52px); max-width: 820px; }
.discovery-intro { max-width: 690px; font-size: 17px; color: var(--color-muted); }
.home-search.discovery-search { position: static; grid-template-columns: 2fr repeat(4,minmax(0,1fr)) auto; padding: 22px; margin-top: 25px; gap: 14px; }
.discovery-search .home-location { border: 0; }
.discovery-search label, .filter-panel label { font-size: 13px; }
.discovery-search input, .discovery-search select { font-size: 14px; }
.discovery-search .home-search-bottom { margin: 0; padding-top: 12px; gap: 22px; }
.discovery-hero + .reassurance-row { padding: 26px 0; }
.discovery-hero ~ .section-space { padding-top: 36px; }
.street-search-help, .location-status { font-size: 13px; }
.results-list .property-content { padding: 18px 16px 0; }
.results-list .property-price, .property-price { font-size: 25px; }
.property-card h3 { font-size: 17px; line-height: 1.4; }
.property-address, .results-list .property-facts, .property-source, .property-type, .listing-checked, .listing-change, .card-tools .text-link { font-size: 13px; }
.results-list .property-facts { gap: 12px; }
.property-price-row { flex-wrap: wrap; }
.badge-light { font-size: 10px; }
.card-tools { flex-wrap: wrap; }
.card-tools button { min-height: 42px; }
.map-topline, .map-topline .text-link, .map-footnote, .map-pin-status, .map-pin-controls label, .map-pin-controls .text-link { font-size: 13px; }
.map-topline .button { padding: 8px 10px; min-height: 40px; font-size: 13px; }
.map-pin-controls { gap: 12px; }
.map-pin-controls details .text-link { display: block; min-height: 42px; padding: 8px 0; }
.map-pin-controls .button { font-size: 14px; }
.map-card-options { min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; }
@media (min-width:601px) {
  /* Homes size the row. Map tools scroll inside that height instead of enlarging it. */
  .results-layout .property-card { align-self: stretch; display: flex; flex-direction: column; }
  .results-layout .property-image { flex-shrink: 0; }
  .results-layout .property-content { flex: 1; display: flex; flex-direction: column; }
  .results-layout .property-source { margin-top: auto; }
  .results-layout:has(.property-card:not([hidden])) > .map-panel { contain: size; min-height: 0; }
  .results-layout > .map-panel > .property-map { height: 195px; min-height: 0; flex: 0 0 195px; }
  .results-layout > .map-panel > .map-topline { flex-shrink: 0; }
  .results-layout > .map-panel > .map-card-options { flex: 1 1 auto; }
}
.search-map-entry { display: flex; gap: 15px; flex-wrap: wrap; align-items: center; }
.search-draft { background: var(--color-warning-bg); color: var(--color-warning); border-radius: 5px; padding: 9px 12px; font-size: 13px; grid-column: 1/-1; margin: 0; }
[hidden] { display: none !important; }
.expanded-map-dialog { width: min(1440px,96vw); max-width: none; max-height: 94dvh; padding: 20px; border: 1px solid var(--color-border); border-radius: 12px; color: var(--color-text); }
.expanded-map-dialog::backdrop { background: #152b27b8; }
.expanded-map-heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 16px; }
.expanded-map-heading h2 { font-size: 28px; margin: 0; }
.expanded-map-content { display: grid; grid-template-columns: minmax(0,2.5fr) minmax(240px,1fr); gap: 20px; }
.expanded-map-content .map-panel { display: grid; grid-template-columns: minmax(0,1fr) 250px; }
.expanded-map-content .map-topline, .expanded-map-content .map-footnote { grid-column: 1/-1; }
.expanded-map-content .property-map { height: 56dvh; min-height: 330px; }
.expanded-map-content .map-pin-controls { align-content: start; border: 0; }
.expanded-map-content .map-card-options { max-height: 56dvh; min-height: 330px; }
.expanded-map-content > aside { max-height: 72dvh; overflow: auto; }
[data-map-home-list] { display: grid; gap: 12px; }
[data-map-home-list] a { display: block; padding: 14px; border: 1px solid var(--color-border); border-radius: 7px; font-size: 14px; }
[data-map-result] { border: 2px solid transparent; border-radius: 7px; }
[data-map-result].map-selected { border-color: var(--color-accent); background: var(--color-surface-green); }
[data-map-result] button { padding: 6px 14px; min-height: 44px; }
.fact-evidence { display: grid; gap: 8px; margin: 12px 0; }
.fact-evidence > div { display: grid; grid-template-columns: 1fr 1.2fr; gap: 12px; border-bottom: 1px solid var(--color-border); padding: 8px 0; }
.fact-evidence dt, .fact-evidence dd { margin: 0; font-size: 14px; }
.fact-evidence small { display: block; color: var(--color-muted); }
.shortlist-toolbar, .shortlist-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin: 18px 0; }
.shortlist-workspace { display: grid; gap: 25px; }
.shortlist-home { border: 1px solid var(--color-border); border-radius: 10px; padding: 20px; }
.shortlist-home .property-grid { grid-template-columns: minmax(0,340px) minmax(0,1fr); }
.shortlist-home textarea { min-height: 100px; }
.shortlist-home label { margin-top: 12px; }
.shortlist-reaction { padding: 15px; background: var(--color-surface); border-radius: 6px; margin-top: 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.guest-saved[aria-pressed=true] { background: var(--color-accent-soft); }
.guest-saved[aria-pressed=true] .icon { fill: var(--color-accent); }
.hidden-home-summary { grid-column: 1/-1; padding: 15px; background: var(--color-surface); border-radius: 8px; }
.shortlist-change { color: var(--color-primary); font-weight: 600; padding: 8px 0; }
@media (max-width:1100px) {
  .home-search.discovery-search { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .discovery-search .home-location { grid-column: span 2; }
  .expanded-map-content { grid-template-columns: 1fr; }
  .expanded-map-content > aside { max-height: 170px; }
}
@media (max-width:600px) {
  .discovery-hero { padding-top: 26px; }
  .home-search.discovery-search { grid-template-columns: 1fr 1fr; padding: 16px; }
  .discovery-search .home-location, .discovery-search .button { grid-column: 1/-1; }
  .discovery-search .home-search-bottom { gap: 12px; }
  .expanded-map-dialog { padding: 12px; width: 100vw; max-height: 100dvh; border-radius: 0; }
  .expanded-map-content .map-panel { display: flex; }
  .expanded-map-content .property-map { height: 48dvh; flex: none; min-height: 280px; }
  .expanded-map-content .map-card-options { max-height: none; min-height: 0; overflow: visible; }
  .expanded-map-content > aside { max-height: none; }
  .map-toggle { position: fixed; bottom: 22px; right: 16px; z-index: 900; background: var(--color-primary); color: white; box-shadow: 0 4px 18px #0003; min-height: 48px !important; }
  .shortlist-home .property-grid { grid-template-columns: 1fr; }
  .results-list .property-facts, .property-facts span { font-size: 14px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
