﻿body{background:var(--color-bg)}.search-page{padding-bottom:var(--space-20)}.search-hero{padding-block:var(--space-6) var(--space-3)}.search-hero-heading{display:block;margin:0;font-size:clamp(1.35rem,1rem + 1.5vw,2rem);letter-spacing:-0.03em;line-height:1.3;font-weight:800}.search-hero-heading span{display:inline}.heading-prefix{color:var(--color-text)}.heading-offer{color:var(--color-primary);font-weight:900}.heading-in{color:var(--color-text-muted);font-weight:600;font-size:0.95em}.heading-location{display:inline-block;white-space:nowrap;color:var(--color-primary);background:color-mix(in oklch,var(--color-primary) 8%,var(--color-bg));padding:0.2em 0.5em;border-radius:var(--radius-md);font-weight:800}.search-hero-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap}.search-hero-inner>div:first-child{flex:1;min-width:0}.search-hero-left{display:flex;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;min-width:0}.search-page-title{margin:0;font-size:var(--text-xl);letter-spacing:-0.03em;line-height:1.25;font-weight:800}.search-location-highlight{color:var(--color-primary)}.search-reset-link{font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;flex-shrink:0}.search-reset-link:hover{color:var(--color-text)}.search-hero-stats{display:flex;gap:var(--space-2);flex-shrink:0}.stat-chip{min-width:90px;padding:var(--space-3) var(--space-4);border:1px solid oklch(from var(--color-text) l c h / 0.09);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);text-align:center}.stat-chip strong{display:block;font-size:var(--text-lg);line-height:1;letter-spacing:-0.03em}.stat-chip span{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.filter-bar-wrap{padding-bottom:var(--space-6)}.filter-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2);align-items:center;padding:var(--space-4);border:1px solid oklch(from var(--color-text) l c h / 0.09);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm)}.filter-bar input,.filter-bar select{width:100%;min-height:40px;padding-inline:var(--space-3);border:1px solid oklch(from var(--color-text) l c h / 0.12);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);font-size:var(--text-sm)}.filter-bar input::placeholder{color:var(--color-text-faint)}.filter-bar button,.filter-bar .btn{min-height:40px;white-space:nowrap}.results-section{padding-top:0}.results-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,0.85fr);gap:var(--space-8);align-items:start}.results-column{min-width:0}.results-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.results-head h2{margin:0;font-size:var(--text-base);font-weight:700;letter-spacing:-0.02em}.results-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.4em;margin:0 !important;font-size:var(--text-base);font-weight:700;letter-spacing:-0.02em}.results-heading .heading-offer{color:var(--color-primary);font-weight:800}.results-heading .heading-in{color:var(--color-text-muted);font-weight:600;font-size:0.95em}.results-heading .heading-location{color:var(--color-primary);background:color-mix(in oklch,var(--color-primary) 8%,var(--color-bg));padding:0.15em 0.4em;border-radius:var(--radius-md);font-weight:800}.results-range{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs)}.sort-control{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.sort-label{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.sort-control select{min-height:36px;padding-inline:var(--space-3);border:1px solid oklch(from var(--color-text) l c h / 0.12);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);cursor:pointer}.empty-results{padding:var(--space-10);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid oklch(from var(--color-text) l c h / 0.10);box-shadow:var(--shadow-sm)}.empty-results p{margin-top:var(--space-3);color:var(--color-text-muted)}.listing-stack{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.listing-card{display:grid;grid-template-columns:200px minmax(0,1fr);overflow:hidden;border-radius:var(--radius-xl);border:1px solid oklch(from var(--color-text) l c h / 0.08);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition)}.listing-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.listing-image-wrap{position:relative;overflow:hidden;min-height:100%}.listing-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 280ms ease}.listing-card:hover .listing-image-wrap img{transform:scale(1.04)}.listing-badge{position:absolute;top:var(--space-3);left:var(--space-3);display:inline-flex;align-items:center;gap:var(--space-1);padding:0.4rem 0.75rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;line-height:1;background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.badge-featured{top:calc(var(--space-3) + 34px);background:var(--color-surface);color:var(--color-text)}.listing-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.listing-price-row{display:flex;align-items:start;justify-content:space-between;gap:var(--space-3)}.listing-price{display:inline-block;font-size:var(--text-lg);font-weight:700;letter-spacing:-0.03em;color:var(--color-primary);line-height:1}.listing-period{margin-left:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.save-btn{width:36px;height:36px;border-radius:var(--radius-full);border:1px solid oklch(from var(--color-text) l c h / 0.10);background:var(--color-surface-2);color:var(--color-text-muted);display:grid;place-items:center;flex-shrink:0}.save-btn:hover{background:color-mix(in oklch,var(--color-primary) 8%,var(--color-surface));color:var(--color-primary)}.listing-title-link h3{font-size:var(--text-base);line-height:1.35;letter-spacing:-0.02em}.listing-location{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}.listing-meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.listing-meta span{padding:0.35rem 0.7rem;background:var(--color-surface-offset);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted)}.listing-footer{margin-top:auto;padding-top:var(--space-3);border-top:1px solid oklch(from var(--color-text) l c h / 0.06);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.agent-inline{display:flex;align-items:center;gap:var(--space-2)}.agent-avatar-small{width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-primary-highlight);color:var(--color-primary);display:grid;place-items:center;font-size:var(--text-xs);font-weight:800;flex-shrink:0}.agent-inline strong{display:block;font-size:var(--text-sm)}.agent-inline p{font-size:var(--text-xs);color:var(--color-text-muted)}.listing-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-8);flex-wrap:wrap}.page-link{min-width:42px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0.65rem 0.9rem;border:1px solid oklch(from var(--color-text) l c h / 0.12);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:700;box-shadow:var(--shadow-sm)}.page-link:hover,.page-link.active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.map-column{position:relative}.sticky-map{position:sticky;top:calc(76px + var(--space-6))}.map-card{border-radius:var(--radius-xl);overflow:hidden;border:1px solid oklch(from var(--color-text) l c h / 0.08);box-shadow:var(--shadow-md);background:var(--color-surface)}.map-top{padding:var(--space-4) var(--space-5);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid oklch(from var(--color-text) l c h / 0.06);background:color-mix(in oklch,var(--color-surface) 90%,white)}.map-top strong{font-size:var(--text-sm)}.map-top span{font-size:var(--text-xs);color:var(--color-text-muted)}.map-visual{display:none;position:relative;min-height:560px;background:radial-gradient(ellipse at 25% 25%,color-mix(in oklch,var(--color-primary) 14%,transparent) 0%,transparent 40%),radial-gradient(ellipse at 75% 60%,color-mix(in oklch,var(--color-primary) 10%,transparent) 0%,transparent 35%),linear-gradient(160deg,#f0ede8 0%,#e9e5df 100%)}.map-grid-line{position:absolute;background:rgba(40,37,29,0.06)}.map-grid-line.vertical{top:0;bottom:0;width:1px}.map-grid-line.horizontal{left:0;right:0;height:1px}.v1{left:28%}.v2{left:62%}.h1{top:38%}.h2{top:68%}.map-pin{position:absolute;padding:0.45rem 0.75rem;background:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-md);font-size:var(--text-xs);font-weight:800;color:var(--color-primary);border:1px solid oklch(from var(--color-text) l c h / 0.08);white-space:nowrap}.pin-1{top:18%;left:14%}.pin-2{top:28%;left:35%}.pin-3{top:22%;left:62%}.pin-4{top:50%;left:18%}.pin-5{top:58%;left:58%}.pin-6{top:72%;left:34%}.map-note{display:none;padding:var(--space-4) var(--space-5);font-size:var(--text-xs);color:var(--color-text-muted);border-top:1px solid oklch(from var(--color-text) l c h / 0.06)}.leaflet-map{min-height:560px;width:100%;background:var(--color-surface-offset)}.search-leaflet-map{border-bottom:1px solid oklch(from var(--color-text) l c h / 0.06)}.leaflet-map-note{padding:var(--space-4) var(--space-5);font-size:var(--text-xs);color:var(--color-text-muted)}.price-marker{background:transparent;border:0}.price-marker span{display:inline-flex;align-items:center;justify-content:center;min-width:74px;min-height:30px;padding:0.4rem 0.65rem;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-md);font-size:var(--text-xs);font-weight:800;white-space:nowrap}.listing-agency-link{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--color-text-muted);text-decoration:none;margin-top:1px;transition:color .12s}.listing-agency-link:hover{color:var(--color-primary)}.listing-agency-logo{width:14px;height:14px;object-fit:contain;border-radius:2px;border:1px solid oklch(from var(--color-text) l c h / 0.1);flex-shrink:0}.listing-agency-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-primary);opacity:.5;flex-shrink:0}.price-marker-approx span{background:#94a3b8;opacity:.85;font-size:11px;min-width:60px;min-height:24px;padding:.3rem .5rem}.leaflet-popup-content{display:grid;gap:0.35rem;min-width:180px;font-family:var(--font-body)}.leaflet-popup-content strong{color:var(--color-text);line-height:1.2}.leaflet-popup-content span{color:var(--color-text-muted);font-size:var(--text-xs)}.leaflet-popup-content a{color:var(--color-primary);font-weight:800}.filter-bar .btn,.listing-actions .btn{min-height:40px}@media (max-width:1100px){.results-layout{grid-template-columns:1fr}.map-column{display:block;order:-1}.sticky-map{position:static}.leaflet-map{min-height:300px}.listing-card{grid-template-columns:180px minmax(0,1fr)}.filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-bar .btn{width:100%}}@media (max-width:720px){.search-hero-inner{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.search-hero-left{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.search-page-title{font-size:var(--text-lg)}.search-hero-heading{font-size:var(--text-lg);gap:0.4em}.heading-location{padding:0.15em 0.35em}.search-hero-stats{width:100%}.stat-chip{flex:1;min-width:0}.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.listing-card{grid-template-columns:1fr}.listing-image-wrap{height:200px}.results-head{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.sort-control{width:100%}.sort-control select{flex:1}.listing-footer{align-items:start}.listing-actions{width:100%}.listing-actions .btn{flex:1 1 0;justify-content:center}}@media (max-width:480px){.filter-bar{grid-template-columns:1fr}}