/* Search-specific presentation; shared styles remain independent. */
.search-page { --text:#202124; --muted:#5d646e; --border:#dce0e5; --brand:#bf4022; color:var(--text); background:#fff; line-height:1.5; }
.search-page header, .search-page main { max-width:1320px; padding-inline:2rem; }
.search-page header { padding-block:1.15rem; border-color:var(--border); }
.search-page header nav a { color:var(--text); }
.search-page .brand { color:var(--text); font-size:1.5rem; font-weight:800; letter-spacing:-.07em; }
.search-page .brand span { color:var(--brand); }
.search-page .tag { color:var(--text); font-weight:650; }
.search-page main { padding-top:2.25rem; }
.search-page .eyebrow { color:var(--muted); font-size:.72rem; letter-spacing:.1em; margin:0 0 .5rem; }
.search-page h1 { font:750 clamp(1.85rem,3.2vw,2.7rem)/1.12 system-ui,sans-serif; letter-spacing:-.035em; max-width:none; margin:0 0 .6rem; }
.search-page .intro { color:var(--muted); font-size:1rem; margin:0; max-width:none; }
.search-page button { background:var(--brand); font-weight:700; }
.search-page button:hover { background:#9f331a; }
.search-page button:focus-visible, .search-page a:focus-visible, .search-page summary:focus-visible, .search-page input:focus-visible, .search-page select:focus-visible { outline:3px solid #94361d; outline-offset:3px; }
.search-page .search-form { max-width:none; margin-top:1.75rem; padding:.75rem; border:1px solid var(--border); border-radius:.5rem; box-shadow:0 4px 18px #2021240b; }
.search-primary { display:grid; grid-template-columns:1.3fr 1fr 1fr auto; align-items:end; gap:.5rem; }
.search-primary > .filter-field { min-width:0; padding:0 .75rem; border-right:1px solid var(--border); }
.search-primary .filter-field label { color:var(--muted); font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; margin:0; }
.search-primary .filter-field input, .search-primary .filter-field select { border:0; border-radius:0; padding:.5rem 0; min-height:2.5rem; }
.search-page .district-help { color:var(--muted); font-size:.8rem; margin:.5rem .75rem 0; }
.search-primary .search-submit { padding:.85rem 1.75rem; align-self:center; }
.search-page .more-filters { border-color:var(--border); margin:.75rem 0 0; border-bottom:0; }
.search-page .more-filters summary { color:var(--text); padding:.75rem 0; }
.search-page .filter-grid { padding:.5rem .5rem 0; }
.search-page .filter-field input, .search-page .filter-field select { border-color:#abb2bb; }
.search-page .search-primary .filter-field input, .search-page .search-primary .filter-field select { border:0; }
.search-page .filter-field small, .search-page .form-help, .search-page .optional, .search-page .more-filters summary span, .search-page .note, .search-page .filter-preview { color:var(--muted); }
.search-page .verified-field .verified-district { display:flex; gap:.5rem; align-items:flex-start; }
.search-page .verified-field input { width:auto; margin-top:.35rem; }
.search-page .form-actions { padding:.65rem 0 0; font-size:.875rem; }
.search-page .form-actions a, .search-page .pagination a, .district-page main > a { color:#8c321d; }
.search-page .results { margin-top:2.5rem; }
.search-page .results h2 { font-size:1.4rem; margin-bottom:.3rem; }
.search-page .results > .note, .search-page .applied-filters p { margin:.3rem 0; }
.search-page .applied-filters li { background:#f0f2f5; }
.search-page .listing-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.search-page .listing { position:relative; display:flex; flex-direction:column; padding:0 1rem 1rem; overflow:hidden; border:1px solid var(--border); border-radius:.5rem; }
.search-page .listing-image-link { position:relative; z-index:1; order:-5; margin:0 -1rem .7rem; border-radius:0; }
.search-page .listing-image, .search-page .image-placeholder { aspect-ratio:1.9/1; border-radius:0; }
.search-page .image-placeholder { background:#f1f3f5; color:#5d646e; }
.search-page .listing-type { order:-4; color:var(--muted); font-size:.8rem; margin:0 0 .3rem; }
.search-page .listing .price { order:-3; font-size:1.3rem; font-weight:750; margin:0 0 .15rem; }
.search-page .listing h3, .search-page .listing h2 { order:-2; font:700 1rem/1.35 system-ui,sans-serif; margin:.2rem 0; }
.search-page .listing h3 a, .search-page .listing h2 a { color:var(--text); text-decoration:none; }
.search-page .listing h3 a::after, .search-page .listing h2 a::after { content:""; position:absolute; inset:0; }
.search-page .listing p a { position:relative; z-index:1; }
.search-page .listing:hover { border-color:#aaafaf; }
.search-page .listing h3 a:hover, .search-page .listing h2 a:hover { text-decoration:underline; }
.search-page .listing p { margin:.25rem 0; font-size:.875rem; }
.search-page .listing p.price { font-size:1.3rem; }
.search-page .listing .note { margin-top:.6rem; font-size:.8rem; }
.search-page .location-suggestions { border-color:var(--border); box-shadow:0 .3rem .8rem #20212422; }
.search-page .location-suggestions li:hover, .search-page .location-suggestions li[aria-selected="true"] { background:#f0f2f5; color:var(--text); }
@media (max-width:800px) {
  .search-page header, .search-page main { padding-inline:1.25rem; }
  .search-page .listing-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .search-primary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .search-primary > .filter-field { border-right:0; border-bottom:1px solid var(--border); padding-inline:.4rem; }
  .search-primary .filter-field select { font-size:.875rem; }
  .search-primary .district-field, .search-primary .search-submit { grid-column:1/-1; }
}
@media (max-width:520px) {
  .search-page header { flex-direction:row; align-items:center; }
  .search-page main { padding-top:1.75rem; }
  .search-page .listing-list, .search-page .filter-grid { grid-template-columns:1fr; }
}
