.kse{--ink:#233642;--navy:#18384d;--accent:#007d8a;--line:#dbe3e8;--wash:#edf2f5;color:var(--ink);background:white;font:16px/1.45 Arial,sans-serif;position:relative;isolation:isolate}.kse *{box-sizing:border-box}.kse [hidden]{display:none!important}.kse button,.kse input,.kse select{font:inherit;color:inherit}.kse button,.kse select,.kse input{min-height:44px;border:1px solid var(--line);border-radius:7px;background:white;padding:10px 12px}.kse button{cursor:pointer}.kse button:disabled{cursor:default;opacity:.45}.kse :focus-visible{outline:3px solid var(--accent);outline-offset:3px}.kse button:hover:not(:disabled){border-color:var(--accent)}.kse-toolbar{display:flex;gap:8px;align-items:center;padding:16px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;background:white;flex-wrap:wrap}.kse-toolbar label{margin:0}.kse-toolbar .kse-basic>span{display:none}.kse-keyword{display:flex;flex:1 1 300px;min-width:220px}.kse-keyword input{min-width:0;width:100%;border-radius:7px 0 0 7px}.kse-keyword button{background:var(--navy);color:white;border-radius:0 7px 7px 0}.kse-views{display:flex;background:var(--wash);padding:3px;border-radius:9px}.kse-views button{border:0;min-height:38px;background:transparent}.kse-views button[aria-pressed=true]{background:var(--navy);color:white}.kse-summary:empty{display:none}.kse-summary{display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line)}.kse-summary button{min-height:32px;padding:4px 10px;font-size:13px;background:var(--wash)}.kse-layout{display:grid;grid-template-columns:minmax(0,40%) minmax(0,60%);height:calc(100dvh - 170px);min-height:570px}.kse-results{overflow:auto;padding:20px 18px}.kse-results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.kse h1{font:600 24px/1.2 Georgia,serif;color:var(--navy);margin:0 0 7px}.kse-results-heading p{margin:0;color:#59717e;font-size:14px}.kse-results-heading select{font-size:13px;max-width:160px}.kse-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.kse-card{min-width:0}.kse-card a{color:inherit;text-decoration:none}.kse-card-media{display:block;position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1.65;background:var(--wash)}.kse-card-media img{width:100%;height:100%;object-fit:cover}.kse-card-media .kse-photo-missing{display:flex;height:100%;align-items:center;justify-content:center;color:#59717e;font-size:13px}.kse-card-status{position:absolute;top:12px;left:12px;background:var(--navy);color:white;padding:5px 9px;border-radius:5px;font-size:12px}.kse-card h2{font:700 20px/1.25 Arial,sans-serif;margin:13px 0 7px}.kse-card p{font-size:14px;margin:3px 0}.kse-card .kse-mls{font-size:12px;color:#607681}.kse-card.is-selected .kse-card-media{outline:3px solid var(--accent);outline-offset:2px}.kse-pages{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:30px 0 18px}.kse-pages span{font-size:13px}.kse-disclaimer{font-size:11px;color:#607681}.kse-map-pane{position:relative;background:var(--wash);border-left:1px solid var(--line);overflow:hidden}.kse-map{height:100%;min-height:400px}.kse-map-actions{position:absolute;top:15px;left:15px;right:15px;display:flex;gap:8px;flex-wrap:wrap;z-index:2}.kse-map-actions button{box-shadow:0 2px 7px #18384d17;font-size:13px}.kse-map-status{position:absolute;top:68px;left:15px;right:15px;z-index:2;background:#ffffffeb;border-radius:6px;padding:7px 10px;font-size:12px;margin:0;pointer-events:none}.kse-map-preview{position:absolute;bottom:18px;left:18px;right:18px;padding:16px;background:white;border-radius:10px;box-shadow:0 4px 20px #18384d20;z-index:2}.kse-map-preview a{color:var(--accent)}.kse-map-preview button{float:right;min-height:30px;padding:2px 8px}.kse-map-illustration{height:100%;position:relative;background:linear-gradient(105deg,#bcdce5 0 29%,#e1e9df 29% 100%);overflow:hidden}.kse-map-illustration:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 80px,#ffffff66 80px 82px),repeating-linear-gradient(0deg,transparent 0 65px,#ffffff66 65px 67px);transform:rotate(-8deg) scale(1.2)}.kse-preview-label{position:absolute;bottom:12px;right:12px;max-width:260px;background:#ffffffed;padding:8px;font-size:12px;z-index:1}.kse-preview-point{position:absolute;background:white;border:1px solid var(--navy)!important;border-radius:20px!important;min-height:32px!important;font-size:12px!important;padding:4px 9px!important;box-shadow:0 2px 7px #18384d22;transform:translate(-50%,-50%)}.kse-preview-point.is-selected{background:var(--accent);color:white}.kse-dialog{width:min(650px,calc(100% - 32px));max-height:calc(100dvh - 40px);border:0;border-radius:14px;padding:0;color:var(--ink);box-shadow:0 18px 70px #18384d44}.kse-dialog::backdrop{background:#18384d66}.kse-dialog form{display:flex;flex-direction:column;max-height:calc(100dvh - 40px)}.kse-dialog header,.kse-dialog footer{padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.kse-dialog h2{font-size:21px;margin:0;color:var(--navy)}.kse-dialog header button{font-size:25px;padding:0 10px}.kse-dialog-body{overflow:auto;padding:22px;display:grid;gap:22px}.kse-dialog fieldset{border:0;padding:0;margin:0}.kse-dialog legend,.kse-dialog summary{font-weight:700;padding:0;margin-bottom:12px}.kse-dialog fieldset>label{display:inline-flex;align-items:center;margin-right:20px}.kse-dialog input[type=radio]{min-height:20px;width:20px}.kse-dialog label{display:grid;gap:6px;font-size:14px}.kse-dialog input,.kse-dialog select{width:100%}.kse-range{display:grid;grid-template-columns:1fr 1fr;gap:16px}.kse-dialog details>label{margin-top:16px}.kse-dialog summary{cursor:pointer}.kse-dialog footer{border-top:1px solid var(--line);border-bottom:0;background:white}.kse-primary{background:var(--accent)!important;color:white!important}.kse-error{color:#983b31;font-size:14px;background:#fff3ef;padding:12px;border-radius:6px}.kse-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kse[data-loading=true] .kse-cards{opacity:.55}.kse[data-view=list] .kse-layout{grid-template-columns:1fr}.kse[data-view=list] .kse-map-pane{display:none}.kse[data-view=list] .kse-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.kse[data-view=split] .kse-views button[data-view=map]{background:var(--navy);color:white}
/* Theme adaptation exists only on a page containing this private preview root. */
body:has(#kovi-search-experience) .rh_banner,body:has(#kovi-search-experience) .rh_sidebar,body:has(#kovi-search-experience) .rh_page__sidebar,body:has(#kovi-search-experience) .rh_blog__post>.entry-header{display:none!important}
body:has(#kovi-search-experience) .rh_header{position:relative!important;background:#18384d}
body:has(#kovi-search-experience) .rh_section:has(#kovi-search-experience){width:100%;max-width:none;padding:0!important;margin:0!important}
body:has(#kovi-search-experience) .rh_page:has(#kovi-search-experience),body:has(#kovi-search-experience) .rh_blog:has(#kovi-search-experience),body:has(#kovi-search-experience) .rh_blog__post:has(#kovi-search-experience){width:100%!important;max-width:none!important;flex:1!important;margin:0!important;padding:0!important}
body:has(#kovi-search-experience) .rh_content:has(#kovi-search-experience){padding:0!important;margin:0!important}
.kse-results{container-type:inline-size}@container(max-width:400px){.kse-cards{grid-template-columns:1fr!important}}
@media(max-width:1200px){.kse-toolbar .kse-basic{display:none}.kse-cards{grid-template-columns:1fr}.kse[data-view=list] .kse-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.kse-toolbar{padding:12px;gap:10px}.kse-keyword{flex-basis:100%}.kse-toolbar>[data-open-filters]{flex:1}.kse-layout,.kse[data-view=list] .kse-layout{display:block;height:auto;min-height:0}.kse-results{overflow:visible;padding:18px 12px}.kse h1{font-size:23px}.kse-cards,.kse[data-view=list] .kse-cards{grid-template-columns:1fr;gap:25px}.kse[data-view=map] .kse-results{display:none}.kse[data-view=list] .kse-map-pane{display:none}.kse[data-view=map] .kse-map-pane{display:block;height:calc(100dvh - 180px);min-height:460px;border:0}.kse-summary{padding:8px 12px}.kse-dialog{width:100%;max-width:none;max-height:100dvh;height:100dvh;margin:0;border-radius:0}.kse-dialog form{max-height:100dvh;height:100%}.kse-dialog-body{flex:1;padding:20px 16px}.kse-dialog header,.kse-dialog footer{padding:16px}.kse-range{gap:12px}.kse-dialog footer .kse-primary{flex:1}.kse-results-heading select{max-width:132px}.kse-card-media{aspect-ratio:1.7}}
@media(prefers-reduced-motion:reduce){.kse *{scroll-behavior:auto!important}}
@media(max-width:767px){body:has(#kovi-search-experience) .rh_header .rh_menu__user{display:none!important}}

/* Visual QA: keep native controls consistent across the host theme. */
.kse-dialog{margin:auto;inset:0;font:16px/1.45 Arial,sans-serif}
.kse-dialog input,.kse-dialog select{min-width:0;font-size:16px;line-height:1.4}
.kse-dialog fieldset>label{gap:6px;white-space:nowrap;margin:0 16px 8px 0}
.kse-dialog input[type=radio]{padding:0;margin:0;flex:none;accent-color:var(--accent)}
.kse-dialog-body{overscroll-behavior:contain}
html:has(.kse-dialog[open]),body:has(.kse-dialog[open]){overflow:hidden}
.kse-summary button{max-width:100%;overflow-wrap:anywhere;text-align:left}
.kse-results-heading>div{min-width:0}.kse-results-heading>label{flex:none}
@container(min-width:401px){.kse[data-view=split] .kse-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.kse-dialog{margin:0}.kse-dialog fieldset>label{font-size:14px;margin-right:12px}.kse-dialog footer button{min-height:44px}.kse-summary button{min-height:40px}}
.kse-toolbar button,.kse-toolbar input,.kse-toolbar select{min-height:46px;line-height:1.25}
.kse-keyword [data-clear-search]{min-width:44px;flex:none;border-radius:0}
.kse-keyword button[type=submit]{flex:none}
.kse-views button{min-width:44px;min-height:44px}
.kse-dialog summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;list-style:none}
.kse-dialog summary::after{content:'⌄';font-size:20px;line-height:1;color:var(--accent)}
.kse-dialog details[open]>summary::after{content:'⌃'}
.kse-dialog summary::-webkit-details-marker{display:none}
body:has(#kovi-search-experience) #scroll-top{display:none!important}
.kse .kse-dialog input[type=number],.kse .kse-dialog input[type=text],.kse .kse-dialog select,#kovi-ai-search .kse-dialog input[type=number],#kovi-ai-search .kse-dialog input[type=text],#kovi-ai-search .kse-dialog select{font-family:Arial,sans-serif;font-size:16px;line-height:1.4}
/* Consistent native dropdown affordance; preserve platform keyboard/touch selection. */
.kse .kse-toolbar .kse-basic select,.kse .kse-toolbar .kse-price{cursor:pointer;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23233642' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}
.kse .kse-toolbar .kse-basic select{appearance:none;-webkit-appearance:none}
.kse .kse-toolbar .kse-basic select:hover{border-color:var(--accent)}
.kse .kse-toolbar .kse-price{text-align:left}
/* Match the site's existing Rubik typography rather than a separate serif heading. */
.kse{font-family:Rubik,sans-serif}
.kse h1,.kse-card h2{font-family:Rubik,sans-serif}
.kse h1{font-weight:500}
.kse .kse-dialog input[type=number],.kse .kse-dialog input[type=text],.kse .kse-dialog select,#kovi-ai-search .kse-dialog input[type=number],#kovi-ai-search .kse-dialog input[type=text],#kovi-ai-search .kse-dialog select{font-family:Rubik,sans-serif}
.kse .kse-results-heading select{cursor:pointer;appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23233642' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;border-color:var(--line);box-shadow:none}
.kse select:focus:not(:focus-visible){outline:none;box-shadow:none;border-color:var(--line)}
.kse .kse-results-heading select{width:180px;max-width:180px;flex-shrink:0}
#kovi-ai-search .kse-toolbar .kse-basic select,#kovi-ai-search .kse-toolbar .kse-price{height:46px;min-height:46px;line-height:1.25}

/* Map controls and feedback flow together so translated/wrapped notices never overlap. */
.kse .kse-map-feedback{position:absolute;top:15px;left:15px;right:15px;z-index:2;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.kse .kse-map-feedback .kse-map-actions{position:static;pointer-events:auto}
.kse .kse-map-feedback .kse-map-status,.kse .kse-map-feedback .kse-location-status{position:static;margin:0;background:#fffffff2;border-radius:7px;padding:8px 10px;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.kse .kse-location-status:empty{display:none}

.kse .kse-map-status:empty{display:none}

/* Controls and location notices sit above the map canvas. */
.kse:not([data-view=list]) .kse-map-pane,#kovi-ai-search[data-mode=ai] .kse .kse-map-pane{display:flex!important;flex-direction:column}
.kse .kse-map-feedback{position:relative;top:auto;left:auto;right:auto;flex:none;padding:12px 14px;background:#fff;border-bottom:1px solid var(--line)}
.kse .kse-map{flex:1 1 auto;height:auto;min-height:400px}

/* Price is a compact modal; keep height independent of the full filter sheet. */
.kse-dialog[data-scope=price]{width:min(480px,calc(100vw - 24px));max-width:480px;height:fit-content;min-height:0;max-height:calc(100dvh - 24px);inset:0;margin:auto;transform:none}
.kse-dialog[data-scope=price] form{height:auto;min-height:0;max-height:calc(100dvh - 24px)}
.kse-dialog[data-scope=price] .kse-dialog-body{display:block;flex:none;min-height:0;padding:20px}
.kse-dialog[data-scope=price] .kse-dialog-body>:not(#kse-price):not([data-filter-error]){display:none}
.kse-dialog[data-scope=price] #kse-price{margin:0}
.kse-city-shortcut{position:relative;flex:none}
.kse-city-trigger{min-width:134px;text-align:left;padding-right:31px!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23233642' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center!important}
.kse-city-menu{position:absolute;top:calc(100% + 5px);left:0;width:300px;max-width:calc(100vw - 32px);padding:12px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 32px #173e522b;z-index:20}
.kse-city-menu>label{display:grid;gap:5px;font-size:13px;font-weight:600}
.kse-city-menu input{width:100%}
.kse-city-menu-options{max-height:230px;overflow-y:auto;margin:8px 0;display:grid;gap:2px}
.kse-city-menu-options label{display:flex;align-items:center;gap:8px;padding:6px 5px;font-size:14px;cursor:pointer}
.kse-city-menu-options input{width:18px;height:18px;min-height:18px;margin:0;flex:none}
.kse-city-menu-actions{display:flex;justify-content:space-between;gap:8px}
.kse-city-menu-actions button{min-height:38px;padding:6px 12px}
.kse-city-menu-actions [data-top-city-apply]{background:var(--navy);border-color:var(--navy);color:#fff}
.kse-dialog[data-scope=price] header,.kse-dialog[data-scope=price] footer{flex:none;padding:16px 20px}

#kovi-search-experience .kse-dialog [data-close-filters]{display:grid!important;place-items:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;max-height:44px!important;padding:0!important;line-height:1!important;box-sizing:border-box!important;border-radius:50%!important}
.kse-type-picker{position:relative;min-width:180px;max-width:100%}.kse-type-trigger{width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kse-type-menu{position:absolute;z-index:40;top:calc(100% + 4px);left:0;min-width:max(220px,100%);max-width:min(320px,90vw);max-height:min(380px,60dvh);overflow:auto;padding:6px;background:white;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 28px #102d3d30}.kse-type-menu[hidden]{display:none!important}.kse-type-menu label{display:flex!important;align-items:center!important;gap:9px!important;padding:7px 9px!important;margin:0!important;white-space:normal!important;cursor:pointer}.kse-type-menu .kse-type-group{font-weight:700;background:var(--wash)}.kse-type-menu .kse-type-option{padding-left:24px!important}.kse-type-menu input[type=checkbox]{width:18px!important;height:18px!important;min-height:18px!important;flex:none;margin:0;accent-color:var(--accent)}.kse-type-clear{width:100%;text-align:left;border:0!important;min-height:36px!important;padding:7px 9px!important}.kse-dialog .kse-type-picker{width:100%}.kse-dialog .kse-type-menu{position:relative;top:auto;left:auto;max-width:none;max-height:280px;box-shadow:none}
.kse-property-groups{display:flex;gap:7px;overflow-x:auto;white-space:nowrap;padding:9px 16px;border-bottom:1px solid var(--line);background:#fff;scrollbar-width:thin}.kse-property-groups button{flex:none;min-height:38px;padding:7px 13px;border-radius:20px;font-size:13px;font-weight:600}.kse-property-groups button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}@media(max-width:767px){.kse-property-groups{padding:7px 12px}.kse-property-groups button{min-height:36px;padding:6px 11px;font-size:12px}}
.kse-filter-strip{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--line);background:#fff;overflow-x:auto;scrollbar-width:thin}
.kse-filter-strip .kse-property-groups,.kse-filter-strip .kse-summary{display:flex;align-items:center;flex:0 0 auto;gap:7px;padding:0;border:0;background:transparent;overflow:visible;white-space:nowrap}
.kse-filter-strip .kse-summary:empty{display:none}
#kovi-ai-search .kse-filter-strip .kse-property-groups button[aria-pressed="true"]{background:#0d506d!important;border-color:#0d506d!important;color:#fff!important}
@media(max-width:767px){.kse-filter-strip{padding:7px 12px;gap:8px}.kse-filter-strip .kse-summary button{min-height:36px;white-space:nowrap}}
.kse-location-picker{display:grid;gap:10px}.kse-location-picker>p{margin:0;color:#36556a;font-size:13px}.kse-location-picker label{display:grid;gap:6px}.kse-location-picker input[type=search],.kse-location-picker input[name=zip_codes]{width:100%;min-width:0;font-size:16px}.kse-selected-cities{display:flex;flex-wrap:wrap;gap:6px}.kse-selected-cities:empty{display:none}.kse-selected-cities button{min-height:32px;padding:4px 8px;background:#eaf1f4;color:#173e52}.kse-city-options{display:grid;gap:2px;max-height:185px;overflow-y:auto;border:1px solid #c9d9e1;border-radius:7px;padding:5px}.kse-city-options label{display:flex;align-items:center;gap:8px;padding:7px 8px;cursor:pointer}.kse-city-options label:hover{background:#eaf1f4}.kse-city-options input{width:18px;height:18px;margin:0;flex:none}
