/* Shared public search and profile rhythm. Keep the established imagery and palette. */
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--control-height:48px}
.container{max-width:1280px}
.search-container{position:relative}
.search-bar{display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(160px,1.1fr) minmax(232px,1.5fr) minmax(132px,.85fr) minmax(150px,.95fr);align-items:center;gap:16px;padding:24px}
.search-bar .search-field{display:flex;align-items:center;gap:12px;padding:0;border:0;min-width:0;width:auto;margin:0;grid-column:auto}
.search-bar .search-field>span:last-child{display:block;flex:1;min-width:0}
.search-field>[data-icon]{display:none}
.search-bar .field-label,.budget-control>.field-label{display:block;font-size:12px;line-height:18px;letter-spacing:.7px;padding:0;margin:0 0 8px;font-weight:700}
.search-bar input[type=search],.search-bar select{display:block;width:100%;height:48px;min-height:48px;padding:10px 12px;border:1px solid #9cae97;border-radius:6px;background:#fffef9;font-size:16px;line-height:24px;color:#173f30}
.search-bar .search-button{grid-column:auto;min-width:0;width:100%;height:48px;min-height:48px;justify-self:stretch;margin:26px 0 0;padding:12px;white-space:nowrap;font-size:15px}
.search-bar .budget-field{display:block;min-width:0;padding:0}
.budget-control{display:block;position:relative;width:100%}
.budget-control>.budget-value,.budget-control>.budget-bound-label,.budget-control>input[type=range],.budget-control>.budget-scale{display:none}
.budget-numbers{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.budget-numbers label{position:relative;display:block;min-width:0;padding:5px 10px 0;border:1px solid #9cae97;border-radius:6px;background:#fffef9;font-size:11px;line-height:14px;font-weight:600;color:#52664c}
.budget-numbers input[type=number]{display:block;min-width:0;width:100%;height:27px;min-height:27px;padding:0 0 4px;border:0;border-radius:0;background:transparent;color:#173f30;font-size:16px;font-weight:600;line-height:23px;box-shadow:none}
.budget-numbers label:focus-within{outline:2px solid #a36628;outline-offset:3px}
.budget-numbers input:focus-visible{outline:0}
.budget-numbers input::placeholder{font-weight:400;color:#67725e}
.search-context{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;padding:16px 20px;border:1px solid #bdcbb2;border-radius:8px;background:#fffef9}
.search-context p{margin:0;font-size:14px;line-height:22px;color:#40583e;overflow-wrap:anywhere}
.search-context .button{flex:none;min-height:44px}
.results-section{padding-top:48px;padding-bottom:64px}
.results-section>.section-heading{margin-bottom:24px;gap:16px}
.results-section .section-heading h2{margin-bottom:12px}
.results-section .section-heading p{max-width:65ch;font-size:16px;line-height:25px}
.discovery-layout{gap:24px;grid-template-columns:260px minmax(0,1fr);align-items:start}
.filters{padding:0;border-radius:8px;overflow:hidden}
.filters .filter-heading{margin:0;padding:20px 16px}
.filters .filter-heading h3{font-size:18px;line-height:25px;margin:0}
.filter-details-body{padding:16px;display:block}
.filters fieldset{margin:0 0 24px;padding:0 0 16px;border-bottom:1px solid #d0d9c7}
.filters legend{font-size:13px;line-height:20px;margin-bottom:8px}
.filters select{display:block;width:100%;min-height:48px;padding:10px 12px;font-size:14px;line-height:22px;border-radius:6px}
.filters .check{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;padding:8px 0;font-size:14px;line-height:21px;cursor:pointer}
.filters .check input,.compare-check input{flex:none;width:18px;height:18px}
.filters .check .icon{flex:none}
.filter-actions{display:flex;flex-direction:column;gap:8px}
.filter-actions .button{width:100%;min-height:48px;padding:12px;font-size:14px}
.filter-actions .reset{min-height:44px;justify-content:center}
.filter-tip{margin-top:16px;font-size:13px;line-height:20px}
.results-main{display:flex;flex-direction:column;min-width:0}
.results-toolbar{order:0;min-height:48px;align-items:center;gap:16px;margin:0 0 8px}
.results-toolbar #results-count{font-size:16px;line-height:24px;font-weight:700;scroll-margin-top:120px}
.sort-label{font-size:13px}
.sort-label select{min-height:44px;font-size:14px;padding:8px 12px}
.explore-toolbar{order:1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.explore-toolbar>.view-switch{order:0}
.explore-toolbar>[data-action=save-search]{order:1;min-height:44px;padding:8px;font-size:13px}
.view-switch button{min-height:44px}
.listing-information{order:2;margin:0 0 12px}
.listing-information>summary{min-height:44px;font-size:13px}
.listing-information .refresh-status{min-height:44px;display:flex;margin-top:8px}
.radius-help{order:3;margin:0 0 12px;font-size:13px;line-height:20px}
.radius-help[hidden]{display:none}
.map-pane{order:5}
.active-filters{order:4;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.active-filters:empty{display:none}
.filter-chip{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:9px 12px;border:1px solid #a3b590;border-radius:6px;background:#e0ebd3;color:#27482e;font-size:13px;line-height:20px;text-align:left}
.filter-chip:hover{background:#ccdcbc;border-color:#42683a}
.filter-chip .icon{width:15px;height:15px;flex:none}
.clear-filters{min-height:44px;font-size:13px}
.stable-grid{order:6;gap:24px}
#result-pagination{order:7}
.stable-card{--card-inset:24px}
.stable-card .card-body{padding:var(--card-inset) var(--card-inset) 0}
.stable-card .card-location{font-size:13px;line-height:20px}
.stable-card .card-title{font-size:24px;line-height:29px;margin-top:12px;overflow-wrap:break-word}
.stable-card .card-holding{margin-top:16px;gap:8px}
.stable-card .card-features{gap:8px;margin:12px 0 16px}
.stable-card .card-holding>span,.stable-card .card-features>span{font-size:12px;line-height:18px}
.stable-card .card-footer{padding:16px 0;gap:12px;flex-wrap:wrap;align-items:center}
.stable-card .card-open,.stable-card .card-open:visited{display:flex;align-items:center;width:calc(100% + 2 * var(--card-inset));margin-inline:calc(-1 * var(--card-inset));min-height:48px;padding:12px var(--card-inset);color:#fffef9;background:#214c2a;font-size:14px;line-height:24px}
.stable-card .card-open:hover,.stable-card .card-open:focus-visible{background:#173f30;color:#fff}
.stable-card .favorite-button{width:44px;height:44px;min-width:44px;min-height:44px;top:12px;right:12px}
.stable-card .compare-check{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;line-height:20px;cursor:pointer}
.stable-card .illustration-caption{max-width:calc(100% - 80px)}
.site-header .mobile-menu,.site-header #account-button{min-width:44px;min-height:44px}
.compare-scroll-hint{display:none;align-items:center;gap:8px;margin:16px 0 8px;color:#4c6243;font-size:13px;line-height:20px}
.compare-scroll-hint .icon{width:18px;height:18px;flex:none}
.compare-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:auto;border:1px solid #c9d5bf;border-radius:6px}
.compare-table{width:100%;min-width:620px;table-layout:fixed}
.compare-table th,.compare-table td{padding:14px 16px;font-size:14px;line-height:22px;vertical-align:top;overflow-wrap:break-word;text-align:left}
.compare-table th:first-child{position:sticky;left:0;z-index:1;width:150px;background:#eef3e6}
.compare-table thead th{font-family:inherit;font-size:16px;line-height:23px;font-weight:700;background:#d7e5c8}
.compare-table thead th:first-child{z-index:2;background:#d7e5c8}
.compare-table tbody th{font-weight:600}
.profile-page>.detail-cover{border:1px solid #8da577;border-bottom:0;border-radius:10px 10px 0 0;overflow:hidden;background:#fffef9}
.profile-page>.detail-cover figcaption{padding:12px 24px;font-size:13px;line-height:20px;color:#42583e}
.profile-page>.detail-cover+.detail-banner{border-radius:0}
.profile-page .detail-banner{min-height:56px;padding:12px 24px;gap:12px}
.profile-page .detail-banner>.icon{width:28px;height:28px}
.profile-page .stable-detail{padding:24px}
.stable-detail>h1{margin:12px 0 16px;line-height:1.15}
.stable-detail .profile-price-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:20px 0;font-size:14px;line-height:24px}
.profile-price-summary>.price{font-size:16px}
.profile-price-summary .price strong{font-size:24px}
.stable-detail .profile-status{padding:16px 20px;margin:16px 0}
.stable-detail .profile-status h2{font-family:inherit;font-size:18px;line-height:26px;margin:0}
.stable-detail .detail-heading{font-family:inherit;font-size:20px;line-height:28px;margin:0 0 16px}
.stable-detail .detail-description{font-size:16px;line-height:26px;max-width:70ch}
.stable-detail .detail-features{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.stable-detail .feature-tile{min-height:88px;padding:16px;gap:12px;flex-direction:row;align-items:center;text-align:left}
.stable-detail .feature-copy{min-width:0}
.stable-detail .feature-label{font-size:14px;line-height:21px}
.stable-detail .feature-tile small{font-size:12px;line-height:18px;margin-top:8px}
.stable-detail .feature-symbol{flex:none}
.unknown-features ul{list-style:none;margin:0;padding:0 16px 12px}
.unknown-features li{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 0;border-top:1px solid #d7dfd0;font-size:14px;line-height:22px}
.unknown-features li>span:last-child{color:#65725d}
.stable-detail .care-fact h3,.stable-detail .offer-title h3{font-family:inherit;font-size:17px;line-height:25px;margin:0}
.profile-back{min-height:44px;display:inline-flex;align-items:center}
.search-editor .search-bar{margin:0;box-shadow:none;border:0;background:transparent;padding:0;grid-template-columns:repeat(2,minmax(0,1fr))}
.search-editor .search-bar .search-button{grid-column:1/-1;margin:0}
.search-editor h2{margin-bottom:12px}
.search-editor p{margin-bottom:24px}
.search-editor #search-editor{margin-top:24px}
@media(max-width:1199px){
 .search-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .search-bar .search-button{grid-column:1/-1;margin:0}
 .search-bar .budget-field{display:block!important}
 .search-context{padding:16px}
 .stable-detail .detail-features{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:950px){
 .discovery-layout{grid-template-columns:minmax(0,1fr);gap:16px}
 .filters .filter-heading{display:none}
 .filters{overflow:visible;padding:0}
 .mobile-filter-details>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px 16px;list-style:none;font-size:14px;font-weight:700;cursor:pointer}
 .mobile-filter-details[open]>summary{margin:0;border-bottom:1px solid #c9d4be}
 .mobile-filter-details>summary::-webkit-details-marker{display:none}
 .filter-details-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px}
 .filter-details-body>fieldset{margin:0}
 .filter-details-body>fieldset:first-child,.filter-actions,.filter-tip{grid-column:1/-1}
 .filter-actions{flex-direction:row;align-items:center;gap:16px}
 .filter-actions .button{flex:1;width:auto}
 .filter-tip{margin:0}
 .stable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .results-section>.section-heading{margin-bottom:16px}
 .results-section .section-heading h2{font-size:34px;line-height:41px}
 .results-section .section-heading p{font-size:14px;line-height:22px}
 .search-context{margin-bottom:16px}
 .results-toolbar #results-count{scroll-margin-top:120px}
}
@media(max-width:680px){
 .search-bar,.search-editor .search-bar{grid-template-columns:minmax(0,1fr);padding:20px;gap:20px}
 .search-editor .search-bar{padding:0}
 .search-bar .search-field,.search-bar .search-button{grid-column:1/-1}
 .search-bar .search-button{margin:0}
 .search-bar .field-label{font-size:12px;line-height:18px}
 .search-bar input[type=search],.search-bar select{font-size:16px}
 .results-section{padding-top:32px;padding-bottom:48px}
 .results-section .section-heading .eyebrow{display:none}
 .results-section .section-heading h2{font-size:30px;line-height:36px;margin:0}
 .results-section .section-heading p{display:none}
 .search-context{gap:12px;padding:12px;align-items:center}
 .search-context p{font-size:13px;line-height:20px}
 .search-context .button{padding:8px 10px;font-size:13px;gap:6px;white-space:normal;max-width:116px}
 .search-context .button .icon{width:17px;height:17px;flex:none}
 .results-toolbar{gap:8px;margin:0 0 8px;flex-wrap:wrap}
 .results-toolbar #results-count{font-size:14px;line-height:22px;scroll-margin-top:104px}
 .sort-label{font-size:0}
 .sort-label select{max-width:170px;font-size:13px}
 .explore-toolbar{gap:8px;margin-bottom:8px}
 .explore-toolbar>[data-action=save-search]{font-size:12px;padding:8px 0}
 .view-switch button{padding:9px 12px;font-size:13px}
 .listing-information{margin-bottom:8px}
 .listing-information>summary{font-size:12px}
 .filter-details-body{grid-template-columns:minmax(0,1fr);gap:16px}
 .filter-actions{flex-direction:column;gap:4px}
 .filter-actions .button{width:100%;flex:auto}
 .filters .check{font-size:14px}
 .active-filters{gap:8px;margin-bottom:16px}
 .filter-chip{font-size:12px;padding:8px 10px}
 .stable-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .stable-card{--card-inset:20px}
 .stable-card .card-title{font-size:22px;line-height:27px}
 .compare-scroll-hint{display:flex}
 .compare-table{min-width:560px}
 .compare-table th,.compare-table td{padding:12px;font-size:14px;line-height:21px}
 .compare-table th:first-child{width:116px}
 .compare-table thead th{font-size:14px;line-height:21px}
 .compare-row-label{gap:6px}
 .compare-row-label .icon{display:none}
 .profile-page .detail-cover .stable-visual{height:185px}
 .profile-page>.detail-cover figcaption{padding:12px 20px}
 .profile-page .detail-banner{min-height:48px;padding:10px 20px;font-size:14px}
 .profile-page .stable-detail{padding:20px}
 .profile-page .stable-detail>h1{font-size:30px;line-height:35px}
 .stable-detail .detail-heading{font-size:19px;line-height:27px}
 .stable-detail .feature-tile{padding:12px;gap:8px;min-height:88px}
 .stable-detail .feature-symbol{width:28px;height:28px}
 .stable-detail .feature-symbol .icon{width:20px;height:20px}
 .stable-detail .feature-label{font-size:13px}
 .stable-detail .detail-features{gap:8px}
}
