.nreg-search-page{background:var(--cream,#faf8f5);min-height:100vh}.nreg-search-page .container{max-width:1280px;margin:0 auto;padding:0 24px}.search-page-hero{background:linear-gradient(135deg, var(--navy,#1b2a4a) 0%, #243454 100%);color:var(--white,#fff);padding:56px 0 32px}.search-page-hero h1{font-family:var(--font-serif,"Instrument Serif", serif);color:var(--white);margin:0 0 12px;font-size:clamp(28px,4vw,44px);font-weight:400}.search-page-hero p{color:#ffffffd9;max-width:720px;margin:0;font-size:15px;line-height:1.6}.search-filters{background:var(--white,#fff);z-index:30;border-bottom:1px solid #00000014;padding:16px 0;transition:opacity .2s;position:sticky;top:0}.search-filters[data-pending=true]{opacity:.6;pointer-events:none}.search-filters .filter-row{flex-direction:column;gap:12px;display:flex}.search-filters .filter-cities{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search-filters .filter-label{text-transform:uppercase;letter-spacing:.06em;color:var(--navy,#1b2a4a);margin-right:6px;font-size:11px;font-weight:600}.search-filters .city-chip{background:var(--white);color:var(--navy);cursor:pointer;border:1px solid #00000026;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.search-filters .city-chip:hover{background:#c9a96e1a}.search-filters .city-chip[data-active=true]{background:var(--navy);color:var(--white);border-color:var(--navy)}.search-filters .filter-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.search-filters .filter-control{flex-direction:column;gap:4px;min-width:110px;display:flex}.search-filters .filter-control select{background:var(--white);color:var(--navy);cursor:pointer;border:1px solid #00000026;border-radius:6px;padding:8px 10px;font-size:13px}.search-filters .filter-toggle{background:var(--white);color:var(--navy);cursor:pointer;border:1px solid #00000026;border-radius:6px;align-self:flex-end;padding:8px 14px;font-size:13px;transition:all .15s}.search-filters .filter-toggle:hover{background:#c9a96e14}.search-filters .filter-toggle[data-active=true]{background:var(--gold,#c9a96e);color:var(--white);border-color:var(--gold)}.search-filters .filter-clear{color:var(--navy);cursor:pointer;background:0 0;border:0;align-self:flex-end;padding:8px 4px;font-size:13px;text-decoration:underline}.results-header{background:var(--cream,#faf8f5);border-bottom:1px solid #0000000d;padding:18px 0;transition:opacity .2s}.results-header[data-pending=true]{opacity:.6}.results-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.results-count{color:var(--navy,#1b2a4a);font-size:14px}.results-actions{align-items:center;gap:12px;display:flex}.results-sort select{background:var(--white);cursor:pointer;color:var(--navy);border:1px solid #00000026;border-radius:6px;padding:7px 10px;font-size:13px}.save-search-btn{background:var(--gold,#c9a96e);color:var(--white);cursor:pointer;border:0;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:filter .15s}.save-search-btn:hover{filter:brightness(1.08)}.search-results-section{padding:32px 0 56px}.listing-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.search-listing-card{background:var(--white);color:inherit;border:1px solid #0000000f;border-radius:10px;flex-direction:column;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.search-listing-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #00000014}.search-card-image{aspect-ratio:4/3;background:#0000000a;width:100%;position:relative}.search-card-badge{letter-spacing:.08em;color:var(--white);border-radius:4px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:12px;left:12px}.badge-new{background:#16a34a}.badge-pending{background:#b45309}.badge-active{background:var(--navy,#1b2a4a)}.search-card-photocount{color:var(--white);background:#0000008c;border-radius:4px;padding:3px 8px;font-size:11px;position:absolute;bottom:12px;right:12px}.search-card-body{padding:14px 16px 6px}.search-card-price-row{justify-content:space-between;align-items:baseline;display:flex}.search-card-price{font-family:var(--font-serif,"Instrument Serif", serif);color:var(--navy);font-size:22px;font-weight:500}.search-card-stats{color:var(--text-secondary,#555);margin-top:6px;font-size:13px}.search-card-address{color:var(--navy);white-space:nowrap;text-overflow:ellipsis;margin-top:10px;font-size:14px;font-weight:500;overflow:hidden}.search-card-city{color:var(--text-faint,#888);margin-top:2px;font-size:12px}.search-card-footer{color:var(--text-faint,#777);border-top:1px solid #0000000f;flex-direction:column;gap:2px;margin-top:auto;padding:10px 16px 14px;font-size:11px;display:flex}.search-card-brokerage{font-style:italic}.search-pagination{flex-wrap:wrap;justify-content:center;gap:6px;padding:32px 0 8px;transition:opacity .2s;display:flex}.search-pagination[data-pending=true]{opacity:.6}.page-btn{background:var(--white);color:var(--navy);cursor:pointer;border:1px solid #0000001f;border-radius:6px;min-width:40px;padding:8px 12px;font-size:13px;transition:all .15s}.page-btn:hover:not(:disabled){background:#c9a96e1a}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-btn[data-current=true]{background:var(--navy);color:var(--white);border-color:var(--navy)}.page-ellipsis{color:var(--text-faint);padding:8px 4px}.search-empty{text-align:center;max-width:540px;margin:0 auto;padding:60px 20px}.search-empty h2{font-family:var(--font-serif);color:var(--navy);margin:0 0 12px;font-size:26px;font-weight:400}.search-empty p{color:var(--text-secondary);margin:0 0 24px}.search-empty-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.search-error{text-align:center;background:#b453090f;border:1px solid #b4530933;border-radius:10px;padding:24px}.search-mls-attribution{background:var(--white);color:var(--text-faint,#6b7280);border-top:1px solid #0000000f;padding:28px 0 36px;font-size:12px;line-height:1.65}.search-mls-attribution p{max-width:920px;margin:0}.save-search-modal{z-index:200;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.save-search-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;position:absolute;inset:0}.save-search-card{background:var(--white);border-radius:12px;width:100%;max-width:440px;padding:28px;position:relative;box-shadow:0 30px 80px #0000004d}.save-search-card h2{font-family:var(--font-serif);color:var(--navy);margin:0 0 8px;font-size:24px;font-weight:400}.save-search-card p{color:var(--text-secondary);margin:0 0 18px;font-size:14px}.save-search-card form label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);flex-direction:column;gap:4px;margin-bottom:14px;font-size:12px;font-weight:600;display:flex}.save-search-card form label input{text-transform:none;letter-spacing:normal;color:var(--navy);border:1px solid #00000026;border-radius:6px;padding:10px 12px;font-size:14px;font-weight:400}.save-search-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.save-search-cancel{color:var(--navy);cursor:pointer;background:0 0;border:1px solid #00000026;border-radius:6px;padding:10px 18px;font-size:14px}.save-search-submit{background:var(--gold);color:var(--white);cursor:pointer;border:0;border-radius:6px;padding:10px 22px;font-size:14px;font-weight:600}.save-search-submit:disabled{opacity:.6;cursor:wait}.save-search-close{background:var(--navy);color:var(--white);cursor:pointer;border:0;border-radius:6px;margin-top:14px;padding:10px 22px}.save-search-error{color:#b45309;margin:0 0 8px;font-size:13px}.save-search-fineprint{color:var(--text-faint);margin-top:14px;font-size:11px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.view-toggle{background:var(--white);border:1px solid #0000001f;border-radius:6px;transition:opacity .2s;display:inline-flex;overflow:hidden}.view-toggle[data-pending=true]{opacity:.6;pointer-events:none}.view-toggle-btn{color:var(--navy,#1b2a4a);cursor:pointer;background:0 0;border:0;border-right:1px solid #00000014;padding:7px 14px;font-size:13px;transition:background .15s}.view-toggle-btn:last-child{border-right:0}.view-toggle-btn:hover{background:#c9a96e14}.view-toggle-btn[data-active=true]{background:var(--navy,#1b2a4a);color:var(--white)}.search-map-section{padding:0 0 56px}.search-split{grid-template-columns:1fr;gap:0;display:grid}@media (min-width:1024px){.search-split{grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr);align-items:stretch}}.search-split-map{position:relative}.search-split-list{display:none}@media (min-width:1024px){.search-split-list{background:var(--cream,#faf8f5);border-left:1px solid #1b2a4a14;min-height:480px;max-height:calc(100vh - 220px);padding:20px 24px 32px;display:block;overflow-y:auto}.search-split-list .listing-grid{grid-template-columns:1fr;gap:16px}.search-split-list .pagination{margin-top:24px}}.search-map-wrap{width:100%;height:calc(100vh - 220px);min-height:480px;max-height:820px;position:relative}.search-map-redo{z-index:4;background:var(--navy,#1b2a4a);color:var(--white,#fff);border:1px solid var(--gold,#c9a96e);font-size:13px;font-weight:600;font-family:var(--font-sans,"DM Sans", sans-serif);letter-spacing:.01em;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 18px;transition:background .15s,transform .15s;display:inline-flex;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000038}.search-map-redo:hover{background:var(--gold,#c9a96e);transform:translate(-50%)translateY(-1px)}.search-map-redo:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.search-map-scope{z-index:3;color:var(--navy,#1b2a4a);font-size:12.5px;font-weight:500;font-family:var(--font-sans,"DM Sans", sans-serif);letter-spacing:.01em;background:#fffffff5;border:1px solid #1b2a4a2e;border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 14px;display:inline-flex;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000024}.search-map-clear{background:var(--navy,#1b2a4a);color:var(--white);cursor:pointer;border:0;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;transition:background .15s}.search-map-clear:hover{background:var(--gold,#c9a96e)}.search-map-container{width:100%;height:100%}.search-map-fallback{text-align:center;color:var(--text-faint,#888);padding:60px 20px}.search-map-pin{background:var(--navy,#1b2a4a);color:var(--white);border:2px solid var(--white);font-size:13px;font-weight:600;font-family:var(--font-sans,"DM Sans", sans-serif);cursor:pointer;white-space:nowrap;border-radius:20px;padding:4px 10px;transition:transform .15s,background .15s;box-shadow:0 2px 8px #0000002e}.search-map-pin:hover{background:var(--gold,#c9a96e);z-index:5;transform:scale(1.06)}.mapboxgl-popup-content{overflow:hidden;border-radius:8px!important;padding:0!important;box-shadow:0 10px 30px #0003!important}.search-map-popup .popup-link{color:inherit;text-decoration:none;display:block}.search-map-popup .popup-image{background-color:#0000000d;background-position:50%;background-size:cover;width:100%;height:140px}.search-map-popup .popup-body{padding:12px 14px}.search-map-popup .popup-price{font-family:var(--font-serif,"Instrument Serif", serif);color:var(--navy,#1b2a4a);font-size:20px;font-weight:500}.search-map-popup .popup-stats{color:var(--text-secondary,#555);margin-top:4px;font-size:12px}.search-map-popup .popup-address{color:var(--navy);white-space:nowrap;text-overflow:ellipsis;margin-top:8px;font-size:13px;font-weight:500;overflow:hidden}.search-map-popup .popup-city{color:var(--text-faint,#888);margin-top:2px;font-size:11px}@media (max-width:640px){.search-page-hero{padding:36px 0 24px}.search-filters .filter-controls{gap:8px}.search-filters .filter-control{flex:calc(50% - 4px);min-width:90px}.listing-grid{grid-template-columns:1fr;gap:16px}.save-search-btn{width:100%}.results-actions{flex-direction:column;align-items:stretch;width:100%}.view-toggle{align-self:flex-start}.search-map-wrap{height:calc(100vh - 280px);min-height:380px}}
