/* Villare Search 0.2 — scoped to module only */
.vs-sr{position:absolute!important;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.vs-home,.vs-filters{font-family:inherit;box-sizing:border-box}.vs-home *,.vs-filters *, .vs-results *{box-sizing:border-box}
.vs-home{display:flex;align-items:center;gap:8px;width:100%;min-height:56px;padding:6px;background:#fff;border:1px solid #d9e2ed;border-radius:14px;box-shadow:0 7px 25px rgba(23,55,84,.07)}.vs-home-input{flex:1;display:flex;align-items:center;gap:8px;padding:0 16px;min-width:100px}.vs-home-input svg{width:19px;height:19px;fill:none;stroke:#8192a6;stroke-width:1.7}.vs-home input,.vs-home select{height:42px!important;padding:8px!important;background:#fff!important;border:0!important;box-shadow:none!important;font-size:14px!important;outline:none!important}.vs-home input{width:100%;min-width:0}.vs-home select{border-left:1px solid #e5eaf0!important;width:210px}.vs-home button{flex:none;min-width:128px;height:44px;border:0;border-radius:9px;background:#1f5b9d;color:#fff!important;font-size:14px;font-weight:700;cursor:pointer}.vs-home button span{margin-left:12px}

.vs-results{width:100%;max-width:1290px;margin:0 auto;padding:0 2px;font-family:inherit}
.vs-filters{border:1px solid #e3e9f1;background:linear-gradient(180deg,#fff 0%,#f9fbfe 100%);border-radius:18px;padding:20px 24px 23px;box-shadow:0 12px 38px rgba(25,59,94,.07)}
.vs-filter-top{margin-bottom:18px}.vs-tabs{display:flex;gap:5px;flex-wrap:wrap;border-radius:12px;padding:4px;background:#edf3f9;width:fit-content}
.vs-tabs label{position:relative;cursor:pointer}.vs-tabs input{position:absolute;opacity:0}.vs-tabs span{display:block;padding:10px 19px;border-radius:9px;font-weight:700;color:#536c85;font-size:14px;transition:.15s}.vs-tabs input:checked+span{color:#103c68;background:white;box-shadow:0 2px 11px #153a641b}.vs-tabs input:focus-visible+span{outline:2px solid #337fcb;outline-offset:2px}
.vs-filter-fields{display:grid;grid-template-columns:minmax(180px,2fr) repeat(4,minmax(90px,1fr)) 143px;gap:12px;align-items:end}.vs-filter-fields label{display:grid;gap:8px;font-size:12px;font-weight:750;color:#536981;letter-spacing:.01em}.vs-filter-fields input{width:100%;min-width:0;height:46px!important;background:white!important;border:1px solid #dbe4ee!important;border-radius:10px!important;padding:10px 12px!important;box-shadow:0 1px 2px #19345109!important;font-size:13px!important;color:#163955!important}.vs-filter-fields input:focus{border-color:#337ec4!important;outline:2px solid #e2f1ff!important}.vs-submit{height:46px;border:0;border-radius:10px;background:#174d86;color:white!important;font-weight:800;font-size:13px;cursor:pointer;transition:.2s}.vs-submit:hover{background:#0c3866;transform:translateY(-1px)}.vs-developers-mode .vs-money,.vs-developers-mode .vs-area{display:none}.vs-developers-mode .vs-filter-fields{grid-template-columns:1fr 170px}
.vs-results-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:30px 0 16px}.vs-results-heading p{margin:0;color:#16344f;font-size:17px;font-weight:800}.vs-sort-wrap{display:flex;align-items:center;gap:10px;color:#708197;font-size:12px;font-weight:650}.vs-sort-wrap select{height:39px;min-width:176px;border:1px solid #dbe4ed;background:#fff;border-radius:10px;padding:7px 12px;color:#2b465d}
.vs-list{display:flex;flex-direction:column;gap:18px}.vs-offer{display:grid;grid-template-columns:minmax(245px,34%) minmax(0,1fr) minmax(190px,215px);min-height:235px;background:#fff;border:1px solid #e0e7f0;border-radius:18px;box-shadow:0 5px 18px #1a4b790e;overflow:hidden;transition:box-shadow .18s,transform .18s}.vs-offer:hover{transform:translateY(-2px);box-shadow:0 16px 42px #163d641b;border-color:#c9daea}
.vs-offer-media{display:flex;align-items:center;justify-content:center;background:#e5eef7;color:#24598c!important;font-weight:800;text-decoration:none!important;overflow:hidden;min-height:235px}.vs-offer-media img{display:block!important;width:100%!important;height:100%!important;min-height:235px;object-fit:cover!important;transition:transform .4s}.vs-offer:hover .vs-offer-media img{transform:scale(1.035)}
.vs-offer-body{padding:28px 27px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.vs-offer h3{margin:0 0 11px!important;font-size:clamp(21px,2vw,25px)!important;line-height:1.15!important;letter-spacing:-.045em!important;font-weight:850!important;color:#112e4b!important;overflow-wrap:anywhere}.vs-offer h3 a{color:inherit!important;text-decoration:none!important}.vs-offer h3 a:hover{color:#1b68ab!important}.vs-location{font-size:14px;color:#647b92;margin:0 0 17px!important;display:flex;align-items:center;gap:7px}.vs-location:before{content:'⌖';font-size:21px;line-height:1;color:#3576b2}.vs-specs{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto}.vs-spec{display:flex;gap:5px;flex-direction:column;min-width:110px;background:#f3f7fb;border:1px solid #e5edf4;border-radius:10px;padding:9px 14px}.vs-spec small{font-size:10px;color:#75879a;font-weight:700;letter-spacing:.025em}.vs-spec strong{font-size:15px;font-weight:800;color:#193b5a}
.vs-offer-side{background:linear-gradient(175deg,#f7faff,#f0f6fc);border-left:1px solid #e8eef5;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:13px;padding:24px 19px}.vs-price-label{font-size:10px;font-weight:800;letter-spacing:.075em;color:#71879d;text-transform:uppercase}.vs-offer-side>strong{font-size:clamp(18px,1.6vw,22px);letter-spacing:-.035em;font-weight:850;color:#113f6b;line-height:1.2;overflow-wrap:anywhere}.vs-offer-side>a{display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none!important;padding:14px 15px;border-radius:10px;background:#17518f;color:white!important;font-size:13px;font-weight:800;transition:.2s}.vs-offer-side>a:hover{background:#0f3a6b;color:white!important}.vs-offer-side>a span{font-size:19px;line-height:1}
.vs-pages{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:25px 0}.vs-pages button{padding:9px 14px;border-radius:9px;background:white;border:1px solid #dbe4ed;color:#244762;cursor:pointer}.vs-pages button:disabled{background:#174d86;border-color:#174d86;color:#fff}
@media(max-width:1080px){.vs-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.vs-city-label{grid-column:span 2}.vs-offer{grid-template-columns:220px minmax(0,1fr) 190px}.vs-offer-body{padding:22px 18px}}
@media(max-width:800px){.vs-offer{grid-template-columns:33% minmax(0,1fr)}.vs-offer-side{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;border-left:0;border-top:1px solid #e8eef5;padding:15px 20px}.vs-price-label{display:none}.vs-offer-side a{min-width:150px}.vs-offer-body{padding:22px}.vs-offer-media img{min-height:210px}}
@media(max-width:650px){.vs-filters{padding:16px}.vs-tabs{width:100%}.vs-tabs span{padding:10px 11px;font-size:12px}.vs-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.vs-city-label{grid-column:span 2}.vs-submit{grid-column:span 2}.vs-offer{grid-template-columns:38% minmax(0,1fr);min-height:170px}.vs-offer-media{min-height:170px}.vs-offer-media img{min-height:170px}.vs-offer-body{padding:16px 13px}.vs-offer h3{font-size:18px!important}.vs-location{font-size:12px;margin-bottom:9px!important}.vs-spec{min-width:0;padding:8px 10px}.vs-spec strong{font-size:13px}.vs-offer-side{padding:12px}.vs-offer-side>strong{font-size:16px}.vs-offer-side>a{min-width:0;padding:12px;font-size:12px}.vs-results-heading{align-items:flex-start;flex-direction:column}}

/* 0.4.0: presentation aligned with actual indexed data */
.vs-offer{grid-template-columns:minmax(220px,34%) minmax(0,1fr) 200px;min-height:218px;border-radius:18px;box-shadow:0 8px 24px rgba(18,46,78,.08)}
.vs-offer-body{padding:24px 25px 20px;justify-content:flex-start}
.vs-offer h3{font-size:clamp(22px,2vw,27px)!important;margin-bottom:12px!important;letter-spacing:-.03em!important}
.vs-location{font-size:13.5px!important;color:#54657a!important;display:block;line-height:1.55;margin:0 0 24px!important}
.vs-location:before{content:none!important}
.vs-details{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;align-items:center}
.vs-details>span{font-size:12.5px;font-weight:700;color:#294a67;padding:7px 11px;background:#f5f8fc;border:1px solid #e5edf5;border-radius:999px;white-space:nowrap}
.vs-offer-side{position:relative;padding:22px 19px 16px;background:#f8fbff;border-left:1px solid #e6edf4;justify-content:flex-start;align-items:stretch;gap:7px}
.vs-developer-logo{width:auto!important;max-width:140px!important;height:44px!important;max-height:44px!important;object-fit:contain!important;align-self:flex-start;background:#fff;border-radius:7px;padding:4px}
.vs-developer-name{font-size:12px;font-weight:750;color:#344f69;line-height:1.35;overflow-wrap:anywhere}
.vs-price-teaser{color:#1c5d98!important;text-decoration:none!important;font-weight:750;font-size:12.5px;margin-top:12px;line-height:1.5}
.vs-price-teaser:hover{text-decoration:underline!important}
.vs-side-note{font-size:13px;color:#526b85;font-weight:650}
.vs-offer-side>a.vs-offer-cta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#0e3557;color:white!important;padding:13px 15px;font-weight:750;font-size:12.5px;border-radius:14px 4px 14px 4px!important;letter-spacing:.01em}
.vs-offer-side>a.vs-offer-cta:hover{background:#1b5a91}
.vs-offer-side>a.vs-offer-cta span{font-size:19px}
@media(max-width:1050px){.vs-offer{grid-template-columns:220px minmax(0,1fr) 180px}.vs-offer-body{padding:19px}.vs-offer-side{padding:17px 14px}}
@media(max-width:800px){.vs-offer{grid-template-columns:35% 65%}.vs-offer-side{grid-column:1/-1;min-height:88px;flex-direction:row;align-items:center;gap:12px}.vs-offer-side>a.vs-offer-cta{margin:0 0 0 auto;min-width:160px}.vs-price-teaser{margin:0}}
@media(max-width:650px){.vs-offer{grid-template-columns:37% 63%}.vs-offer-body{padding:15px 12px}.vs-location{font-size:12px!important;margin-bottom:12px!important}.vs-details>span{font-size:11px;padding:5px 8px}.vs-offer-side{flex-wrap:wrap}.vs-offer-side>a.vs-offer-cta{width:auto;min-width:150px}}

/* Villare Search 0.5 — premium card, isolated to our result component */
.vs-results .vs-list{gap:16px}
.vs-results .vs-offer{display:grid;grid-template-columns:minmax(240px,32%) minmax(0,1fr) minmax(205px,225px);min-height:240px;border:1px solid #e2e8ee!important;border-radius:17px!important;overflow:hidden;box-shadow:0 8px 30px rgba(20,40,63,.065)!important;background:white!important;transition:transform .22s ease,box-shadow .22s ease}
.vs-results .vs-offer:hover{transform:translateY(-3px);box-shadow:0 16px 45px rgba(20,40,63,.12)!important}
.vs-results .vs-offer-media{min-height:240px}.vs-results .vs-offer-media img{min-height:240px}
.vs-results .vs-offer-body{padding:24px 25px 20px;display:flex;flex-direction:column;align-items:stretch;min-width:0;justify-content:initial;background:#fff}
.vs-results .vs-title{font-family:inherit!important;font-size:clamp(23px,2.1vw,29px)!important;letter-spacing:-.042em!important;line-height:1.14!important;font-weight:800!important;color:#112b44!important;margin:0 0 14px!important;padding:0 0 12px!important;position:relative}
.vs-results .vs-title:after{content:'';position:absolute;bottom:0;left:0;width:40px;height:3px;border-radius:4px;background:#d0a35a}
.vs-results .vs-location-line{display:flex;align-items:flex-start;gap:8px;margin:0 0 17px;color:#53657a;font-size:13px;line-height:1.55;font-weight:500}
.vs-results .vs-location-text{overflow-wrap:anywhere}.vs-results .vs-icon{display:inline-flex;flex:0 0 17px;height:17px;vertical-align:middle;align-items:center;justify-content:center;color:#39718f}
.vs-results .vs-icon svg{width:17px;height:17px;display:block}
.vs-results .vs-details{display:flex;flex-wrap:wrap;gap:8px 13px;margin:0;align-items:center}
.vs-results .vs-details .vs-fact{padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;color:#2f4358;font-size:12.5px;font-weight:650;display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
.vs-results .vs-details .vs-fact+.vs-fact{border-left:1px solid #dce4ec!important;padding-left:13px!important}
.vs-results .vs-fact-key{color:#142f48!important;font-weight:800!important}
.vs-results .vs-offer-foot{margin-top:auto;padding-top:16px;display:flex;align-items:center;gap:7px;color:#8292a1;font-size:11.5px;line-height:1.4;letter-spacing:.003em}
.vs-results .vs-offer-foot .vs-icon{color:#b68c53}
.vs-results .vs-offer-side{padding:20px 17px 17px;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;border-left:1px solid #e4eaf0;background:linear-gradient(155deg,#fafdff 0%,#f1f6fb 100%)}
.vs-results .vs-developer-mini{border:1px solid #e2e9f1;background:#fff;border-radius:12px;padding:9px;display:flex;gap:9px;align-items:center;min-height:61px;box-shadow:0 2px 9px rgba(15,38,63,.035)}
.vs-results .vs-developer-logo{display:block!important;flex:0 0 43px;width:43px!important;height:36px!important;max-width:43px!important;max-height:36px!important;object-fit:contain!important;border:0!important;padding:2px!important;background:#fff;border-radius:6px}
.vs-results .vs-developer-copy{min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden}
.vs-results .vs-dev-caption{font-size:9px;color:#8793a1;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.vs-results .vs-dev-name{color:#213c53;font-size:11px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}
.vs-results .vs-offer-side a.vs-teaser{font-size:11.5px;font-weight:650;line-height:1.45;display:flex;gap:7px;align-items:center;justify-content:flex-start;margin:14px 0 0;padding:0!important;color:#43667e!important;background:transparent!important;border:0!important;border-radius:0!important;text-decoration:none!important}
.vs-results .vs-offer-side a.vs-teaser:hover{color:#0c4972!important;text-decoration:underline!important}
.vs-results .vs-teaser .vs-icon{color:#4e9d8a;flex-basis:16px}.vs-results .vs-teaser .vs-icon svg{width:16px;height:16px}
.vs-results .vs-offer-side a.vs-offer-cta{margin-top:auto!important;min-height:46px;display:flex;gap:12px;align-items:center;justify-content:space-between;color:#fff!important;background:#0b2f4d!important;border:1px solid #0b2f4d!important;box-shadow:0 5px 13px rgba(9,47,79,.13);padding:12px 15px!important;border-radius:11px 11px 11px 3px!important;font-size:12px;font-weight:800;letter-spacing:.01em;text-decoration:none!important;transition:background .2s,transform .2s}
.vs-results .vs-offer-side a.vs-offer-cta:hover{background:#155b83!important;transform:translateY(-1px)}
.vs-results .vs-offer-cta .vs-icon{color:#fff;flex-basis:19px}.vs-results .vs-offer-cta .vs-icon svg{height:19px;width:19px}
@media(max-width:1100px){.vs-results .vs-offer{grid-template-columns:210px minmax(0,1fr) 198px}.vs-results .vs-offer-body{padding:21px 17px}.vs-results .vs-offer-side{padding:17px 13px}}
@media(max-width:800px){.vs-results .vs-offer{grid-template-columns:37% 63%}.vs-results .vs-offer-side{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-left:0;border-top:1px solid #e4eaf0;min-height:0}.vs-results .vs-developer-mini{max-width:230px}.vs-results .vs-offer-side a.vs-teaser{grid-column:1;margin:0}.vs-results .vs-offer-side a.vs-offer-cta{grid-column:2;grid-row:1/3;min-width:170px;align-self:center;margin:0!important}.vs-results .vs-offer-body{padding:18px 15px}}
@media(max-width:520px){.vs-results .vs-offer{grid-template-columns:1fr}.vs-results .vs-offer-media,.vs-results .vs-offer-media img{min-height:0;height:205px}.vs-results .vs-offer-body{padding:17px}.vs-results .vs-title{font-size:22px!important}.vs-results .vs-details .vs-fact+.vs-fact{border-left:0!important;padding-left:0!important}.vs-results .vs-offer-foot{padding-top:12px}.vs-results .vs-offer-side{grid-template-columns:1fr;gap:11px}.vs-results .vs-offer-side a.vs-offer-cta{grid-column:1;grid-row:auto;width:100%;margin:0!important}.vs-results .vs-offer-side a.vs-teaser{grid-column:1}.vs-results .vs-developer-mini{max-width:none}}


/* 0.6 — premium finishing pass. Does not alter photo or title layouts. */
.vs-search-page .breadcrumb-wrap,.vs-search-page .breadcrumb,.vs-search-page .page-breadcrumb,.vs-search-page .breadcrumbs,.vs-search-page .houzez-breadcrumbs{display:none!important}
.vs-search-page .page-title-wrap,.vs-search-page .page-title-section,.vs-search-page .page-title{display:none!important}
.vs-results .vs-page-intro{margin:0 0 23px;padding:0 3px 8px;border-bottom:1px solid #e9edf2}
.vs-results .vs-page-intro .vs-eyebrow{display:block;font-size:10px;font-weight:850;letter-spacing:.18em;color:#447496;margin-bottom:8px}
.vs-results .vs-page-intro h1{font-family:inherit!important;font-size:clamp(27px,3vw,39px)!important;font-weight:820!important;letter-spacing:-.045em!important;color:#102a43!important;line-height:1.16!important;margin:0 0 8px!important}
.vs-results .vs-page-intro p{font-size:13px;line-height:1.5;color:#687b90;margin:0 0 13px!important}
.vs-results .vs-filters{border:1px solid #e0e8ef!important;border-radius:19px!important;padding:18px 22px 20px!important;background:linear-gradient(125deg,#fff 0%,#fcfdff 75%,#f2f8fb 100%)!important;box-shadow:0 12px 32px rgba(15,41,66,.065)!important;position:relative;overflow:hidden}
.vs-results .vs-filters:before{content:'';position:absolute;top:0;left:22px;right:22px;height:2px;background:linear-gradient(90deg,#c8a66f,#326c99 48%,transparent);opacity:.75}
.vs-results .vs-tabs{background:#f2f5f8!important;border-radius:11px!important;gap:4px!important;padding:4px!important}
.vs-results .vs-tabs span{font-weight:770!important;letter-spacing:-.01em!important;border-radius:8px!important}
.vs-results .vs-tabs input:checked+span{background:#123d5b!important;color:white!important;box-shadow:0 4px 12px rgba(16,56,86,.14)!important}
.vs-results .vs-filter-fields input{border:1px solid #dfe7ef!important;border-radius:11px!important;background:white!important;box-shadow:none!important;transition:border-color .18s,box-shadow .18s}
.vs-results .vs-filter-fields input:focus{border-color:#37769b!important;box-shadow:0 0 0 3px rgba(55,118,155,.10)!important}
.vs-results .vs-submit{background:#123d5b!important;border-radius:11px 11px 11px 3px!important;font-weight:790!important;letter-spacing:-.005em;box-shadow:0 5px 15px rgba(15,50,75,.13)}
.vs-results .vs-submit:hover{background:#1e5d7d!important}
.vs-results .vs-offer-foot{margin-top:auto;padding-top:14px;color:#687b8f;font-size:12px;font-weight:650}
.vs-results .vs-offer-side{background:linear-gradient(156deg,#f8fafb 0%,#ecf3f8 100%)!important;padding:19px 18px 17px!important;border-left:1px solid #e4eaf1!important;position:relative}
.vs-results .vs-offer-side:after{content:'';position:absolute;right:0;top:0;width:52px;height:52px;background:linear-gradient(225deg,rgba(193,161,110,.22),transparent 75%);pointer-events:none}
.vs-results .vs-developer-mini{padding:12px!important;border:1px solid #e4e9ed!important;border-radius:13px!important;min-height:70px!important;background:#fff!important;box-shadow:0 6px 18px rgba(20,52,75,.045)!important;gap:10px!important;position:relative;z-index:1}
.vs-results .vs-developer-logo{width:46px!important;height:41px!important;max-width:46px!important;max-height:41px!important;flex-basis:46px!important;object-fit:contain!important}
.vs-results .vs-dev-caption{color:#8999a6!important;font-size:9px!important;letter-spacing:.13em!important}
.vs-results .vs-dev-name{color:#173750!important;font-size:11.5px!important;line-height:1.36!important;font-weight:800!important}
.vs-results .vs-developer-unknown{color:#536e83;font-size:11px;font-weight:740;gap:8px!important;min-height:54px!important}
.vs-results .vs-developer-unknown .vs-icon{color:#7b9cae}
.vs-results .vs-side-footer{margin-top:auto;display:flex;flex-direction:column;gap:9px;padding-top:17px;position:relative;z-index:1}
.vs-results .vs-cta-kicker{font-size:9px;font-weight:850;letter-spacing:.15em;color:#7b8e9f;text-align:left}
.vs-results .vs-offer-side a.vs-offer-cta{margin:0!important;min-height:49px!important;padding:12px 13px 12px 16px!important;border-radius:14px 14px 14px 3px!important;background:linear-gradient(135deg,#113c59,#092c46)!important;border:1px solid #123c57!important;box-shadow:0 7px 16px rgba(12,52,76,.14)!important;font-size:12px!important;letter-spacing:0!important}
.vs-results .vs-offer-side a.vs-offer-cta:hover{background:linear-gradient(135deg,#1c597c,#0d3b5d)!important;box-shadow:0 9px 19px rgba(12,52,76,.19)!important}
.vs-results .vs-offer-side .vs-offer-cta .vs-icon{background:rgba(255,255,255,.12);border-radius:8px;width:27px;height:27px;flex:0 0 27px;display:inline-flex;justify-content:center;align-items:center}
.vs-results .vs-offer-cta .vs-icon svg{width:16px;height:16px}
@media(max-width:800px){.vs-results .vs-offer-side{border-left:0!important;border-top:1px solid #e4eaf1!important;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.vs-results .vs-side-footer{padding-top:0;min-width:176px;margin-left:auto}}
@media(max-width:520px){.vs-results .vs-filters{padding:16px!important}.vs-results .vs-offer-side{display:flex;flex-direction:column;align-items:stretch}.vs-results .vs-side-footer{margin:0;min-width:0;width:100%}}


/* Villare Search 0.7 — unified premium layout; scoped to the results page */
.vs-search-page .search-wrap,.vs-search-page .advanced-search-nav,.vs-search-page .search-banner-wrap,.vs-search-page .houzez-search-form-wrap{display:none!important}
.vs-results{--vs-navy:#102f47;--vs-gold:#c5a16d;color:var(--vs-navy)}
.vs-results .vs-page-intro{margin:0 0 15px!important;padding:3px 0 12px!important;border-bottom:0!important}
.vs-results .vs-page-intro h1{font-size:clamp(25px,2.65vw,34px)!important;letter-spacing:-.035em!important;font-weight:760!important;line-height:1.18!important;margin:0 0 6px!important}
.vs-results .vs-page-intro p{font-size:13px!important;color:#718399!important;margin:0!important;line-height:1.55!important}
.vs-results .vs-filters{padding:15px 18px 17px!important;border-radius:14px!important;border:1px solid #e3e9ed!important;background:#fff!important;box-shadow:0 12px 34px rgba(24,51,70,.055)!important;overflow:visible!important}
.vs-results .vs-filters:before{display:none!important}
.vs-results .vs-filter-top{margin-bottom:12px!important}
.vs-results .vs-tabs{background:#f4f7f9!important;border-radius:9px!important;display:inline-flex!important;padding:3px!important}
.vs-results .vs-tabs span{border-radius:7px!important;padding:9px 17px!important;font-size:12px!important}
.vs-results .vs-filter-fields{gap:10px!important}
.vs-results .vs-filter-fields label{font-size:11px!important;color:#5d7083!important;gap:5px!important}
.vs-results .vs-filter-fields input{height:42px!important;border-radius:8px!important;font-size:13px!important}
.vs-results .vs-submit{height:42px!important;border-radius:9px!important;font-weight:760!important}
.vs-results .vs-offer{border:1px solid #e0e8ef!important;border-radius:18px!important;box-shadow:0 9px 28px rgba(18,44,68,.065)!important;overflow:hidden!important}
.vs-results .vs-offer-side{padding:0!important;background:linear-gradient(148deg,#f5f9fc 0%,#eaf3f9 100%)!important;box-shadow:inset 14px 0 30px -28px #0c3656!important;border-left:1px solid #e3eaf0!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:15px!important}
.vs-results .vs-offer-side:after{height:90px!important;width:100%!important;top:0!important;right:0!important;background:radial-gradient(circle at 100% 0%,rgba(255,255,255,.98),transparent 70%)!important}
.vs-results .vs-developer-mini{margin:0!important;border:0!important;border-bottom:1px solid rgba(191,209,219,.72)!important;border-radius:0 0 0 18px!important;box-shadow:0 9px 24px rgba(26,70,99,.08)!important;background:linear-gradient(120deg,#fff 0%,#f8fbfd 100%)!important;min-height:86px!important;padding:14px 12px!important;align-items:center!important;gap:9px!important;z-index:1!important}
.vs-results .vs-developer-logo{width:48px!important;max-width:48px!important;min-width:48px!important;height:48px!important;max-height:48px!important;padding:5px!important;border-radius:11px!important;border:1px solid #e6edf3!important;background:#fff!important;object-fit:contain!important;box-shadow:0 3px 11px rgba(16,47,75,.09)!important}
.vs-results .vs-dev-caption{font-size:8px!important;letter-spacing:.11em!important;color:#8498a9!important}
.vs-results .vs-dev-name{font-size:12px!important;color:#133b56!important;line-height:1.36!important}
.vs-results .vs-side-footer{padding:0 14px 15px!important;margin-top:auto!important;width:100%!important;min-width:0!important;z-index:2!important}
.vs-results .vs-offer-side a.vs-offer-cta{width:100%!important;min-height:47px!important;border-radius:13px 13px 13px 4px!important;padding:10px 12px 10px 14px!important;font-size:12px!important;box-shadow:0 6px 15px rgba(8,43,70,.15)!important}
.vs-results .vs-offer-body{justify-content:center!important}
.vs-results .vs-details{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:9px 13px!important;margin-top:18px!important}
.vs-results .vs-details .vs-fact{font-size:12px!important;display:inline-flex!important;align-items:center!important;gap:7px!important}
.vs-results .vs-details .vs-icon{color:#3a7795!important}
.vs-results .vs-location-line{margin-top:10px!important;color:#637b8c!important;font-size:12.5px!important}
@media(max-width:800px){.vs-results .vs-offer-side{border-left:0!important;border-top:1px solid #e0e8ef!important;display:flex!important;flex-direction:row!important;align-items:center!important;padding:0!important}.vs-results .vs-developer-mini{border-bottom:0!important;border-right:1px solid #e2eaf1!important;border-radius:0 14px 0 0!important;min-height:75px!important;max-width:55%!important}.vs-results .vs-side-footer{width:auto!important;min-width:185px!important;margin:0!important;padding:12px!important}}
@media(max-width:520px){.vs-results .vs-offer-side{flex-direction:column!important;align-items:stretch!important}.vs-results .vs-developer-mini{max-width:none!important;border-right:0!important;border-bottom:1px solid #e2eaf1!important;border-radius:0 0 12px 12px!important}.vs-results .vs-side-footer{width:100%!important;padding:12px 14px 14px!important}}

/* 0.7.1 — restore Houzez layout, compact cards and seamless developer logo */
/* Do not override theme columns or its sidebar. */
.vs-results{max-width:100%!important;width:100%!important}
.vs-results .vs-offer{
 grid-template-columns:minmax(175px,32%) minmax(0,1fr) minmax(174px,205px)!important;
 min-height:218px!important;
 border:1px solid #d5e2ec!important;
 border-radius:18px!important;
 background:linear-gradient(118deg,#ffffff 0%,#fff 67%,#f9fcff 100%)!important;
 box-shadow:0 10px 27px rgba(20,51,77,.11),0 2px 5px rgba(15,45,75,.035),inset 0 1px 0 rgba(255,255,255,.96)!important;
}
.vs-results .vs-offer:hover{box-shadow:0 17px 40px rgba(20,51,77,.17),0 0 0 1px rgba(168,199,220,.4)!important}
.vs-results .vs-offer-media,.vs-results .vs-offer-media img{min-height:218px!important}
.vs-results .vs-offer-body{padding:22px 18px 18px!important;justify-content:center!important;min-width:0!important;background:linear-gradient(155deg,#fff 78%,#f9fbfd 100%)!important}
.vs-results .vs-title{font-size:clamp(21px,1.8vw,27px)!important}
.vs-results .vs-details{gap:8px 10px!important}
.vs-results .vs-offer-side{
 padding:0!important;gap:0!important;
 border-left:1px solid #dce8f0!important;
 background:linear-gradient(142deg,#f9fcff 0%,#eaf3f9 100%)!important;
 box-shadow:inset 10px 0 28px -24px rgba(17,73,112,.35)!important;
}
.vs-results .vs-offer-side:after{background:radial-gradient(circle at 100% 0%,rgba(255,255,255,.85),transparent 78%)!important}
.vs-results .vs-developer-mini{
 margin:0!important;padding:10px!important;gap:9px!important;min-height:70px!important;
 border:0!important;border-bottom:1px solid #dce7ee!important;
 border-radius:0 17px 0 15px!important;
 background:linear-gradient(135deg,#fff,#f6fbff)!important;
 box-shadow:0 6px 16px rgba(27,73,101,.075)!important;
}
.vs-results .vs-developer-logo{
 width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;max-height:48px!important;
 flex:0 0 48px!important;display:block!important;
 padding:0!important;margin:0!important;border:0!important;
 border-radius:11px!important;object-fit:cover!important;object-position:center!important;
 background:transparent!important;box-shadow:0 2px 9px rgba(12,43,75,.13)!important;
 overflow:hidden!important;
}
.vs-results .vs-dev-caption{font-size:8px!important}
.vs-results .vs-dev-name{font-size:11px!important}
.vs-results .vs-side-footer{padding:11px!important;width:100%!important;min-width:0!important}
.vs-results .vs-offer-side a.vs-offer-cta{font-size:11px!important;min-height:44px!important;padding:9px 10px!important;gap:5px!important}
@media(max-width:1180px){.vs-results .vs-offer{grid-template-columns:minmax(160px,31%) minmax(0,1fr) minmax(158px,183px)!important}.vs-results .vs-offer-body{padding:19px 14px!important}.vs-results .vs-title{font-size:23px!important}}
@media(max-width:800px){.vs-results .vs-offer{grid-template-columns:36% minmax(0,1fr)!important}.vs-results .vs-offer-side{grid-column:1/-1!important;display:flex!important;flex-direction:row!important;align-items:stretch!important;min-height:0!important;border-left:0!important;border-top:1px solid #dce8f0!important}.vs-results .vs-developer-mini{max-width:50%!important;border-bottom:0!important;border-right:1px solid #dce7ee!important;min-height:66px!important}.vs-results .vs-side-footer{width:auto!important;flex:1!important;margin:0!important;min-width:0!important}.vs-results .vs-offer-media,.vs-results .vs-offer-media img{min-height:190px!important}}
@media(max-width:520px){.vs-results .vs-offer{grid-template-columns:1fr!important}.vs-results .vs-offer-side{flex-direction:column!important}.vs-results .vs-developer-mini{max-width:100%!important;border-right:0!important;border-bottom:1px solid #dce7ee!important}.vs-results .vs-offer-media,.vs-results .vs-offer-media img{height:205px!important;min-height:205px!important}}


/* 0.7.2 — location module + premium filters; preserve Houzez sidebar widths */
.vs-results .vs-offer-side{gap:0!important;overflow:hidden!important}
.vs-results .vs-developer-mini{min-height:63px!important;padding:9px 10px!important}
.vs-results .vs-location-mini{display:flex;flex-direction:column;justify-content:center;gap:4px;margin:0!important;padding:12px 12px 10px!important;flex:1 1 auto!important;min-height:65px!important;position:relative;z-index:2;overflow:hidden;background:radial-gradient(circle at 95% 10%,rgba(255,255,255,.9),transparent 55%),linear-gradient(155deg,#eaf3fa 0%,#f3f8fc 100%);border-bottom:1px solid #dae8f1}
.vs-results .vs-location-mini:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.20;background-image:linear-gradient(110deg,transparent 47%,#b9d5e5 48%,#b9d5e5 50%,transparent 51%),linear-gradient(30deg,transparent 47%,#c2d9e7 48%,#c2d9e7 50%,transparent 51%);background-size:56px 48px;mask-image:linear-gradient(to right,transparent 12%,black 100%)}
.vs-results .vs-location-mini>*{position:relative;z-index:1}
.vs-results .vs-location-mini-head{display:flex;align-items:center;gap:5px;font-weight:800;color:#50708a;font-size:9px;letter-spacing:.07em;text-transform:uppercase}
.vs-results .vs-location-mini-head .vs-icon{width:13px!important;height:13px!important}
.vs-results .vs-location-mini-head svg{width:13px!important;height:13px!important}
.vs-results .vs-location-mini-city{font-size:12px;line-height:1.3;color:#123c5c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vs-results .vs-location-mini-hint{font-size:10px;line-height:1.35;color:#68849a}
.vs-results .vs-map-toggle{appearance:none;border:0;padding:0;margin:3px 0 0;width:fit-content;background:none!important;color:#155b89!important;font-size:10px;font-weight:800;cursor:pointer;text-align:left;box-shadow:none!important}
.vs-results .vs-map-toggle:hover{text-decoration:underline}
.vs-results .vs-mini-map-frame{display:block;border:1px solid #c5d8e8;border-radius:10px;width:100%;height:136px;margin-top:6px;background:#eaf1f7}
.vs-results .vs-side-footer{padding:9px 11px 11px!important;background:linear-gradient(180deg,#edf6fb,#e5f0f8)!important}
.vs-results .vs-filters{border:1px solid #ccdde9!important;border-radius:17px!important;padding:17px 18px 18px!important;background:linear-gradient(155deg,#fff 0%,#f7fbff 100%)!important;box-shadow:0 14px 38px rgba(17,57,91,.09),inset 0 1px 0 #fff!important;position:relative}
.vs-results .vs-filters:before{content:'';position:absolute;left:18px;right:18px;top:0;height:2px;background:linear-gradient(90deg,#1a669a,#d4a356 54%,transparent 92%);border-radius:10px}
.vs-results .vs-filter-top{margin-bottom:12px!important}
.vs-results .vs-tabs{background:#f0f5f9!important;border:1px solid #e2ebf3!important;padding:3px!important;gap:3px!important}
.vs-results .vs-tabs span{padding:10px 15px!important;letter-spacing:0!important}
.vs-results .vs-tabs input:checked+span{color:#fff!important;background:linear-gradient(145deg,#185478,#0c344f)!important;box-shadow:0 4px 12px rgba(14,53,82,.18)!important}
.vs-results .vs-filter-fields{gap:8px!important;grid-template-columns:minmax(158px,2fr) repeat(4,minmax(72px,1fr)) 135px!important}
.vs-results .vs-filter-fields input{height:43px!important;border-color:#d4e2ed!important;border-radius:9px!important;box-shadow:inset 0 1px 2px rgba(19,49,74,.025)!important}
.vs-results .vs-submit{height:43px!important;border-radius:10px 10px 10px 3px!important;background:linear-gradient(135deg,#1b628b,#103b5b)!important;box-shadow:0 6px 14px rgba(15,60,91,.16)!important}
@media(max-width:1150px){.vs-results .vs-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))!important}.vs-results .vs-city-label{grid-column:span 2}}
@media(max-width:800px){.vs-results .vs-location-mini{min-width:0;flex:1 1 28%!important}.vs-results .vs-developer-mini{flex:1 1 40%!important}.vs-results .vs-side-footer{flex:1 1 33%!important;align-self:stretch}.vs-results .vs-offer-side{flex-wrap:wrap!important}.vs-results .vs-mini-map-frame{height:110px}}
@media(max-width:520px){.vs-results .vs-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vs-results .vs-city-label{grid-column:span 2}.vs-results .vs-submit{grid-column:span 2}.vs-results .vs-offer-side{flex-direction:column!important}.vs-results .vs-location-mini{min-height:70px!important}.vs-results .vs-side-footer{width:100%!important}}

/* 0.7.3 — richer, data-grounded cards and refined compact pagination. */
.vs-results .vs-page-intro{max-width:780px!important;margin-bottom:22px!important;padding-bottom:0!important}
.vs-results .vs-page-intro h1{letter-spacing:-.045em!important;font-weight:820!important}
.vs-results .vs-page-intro p{max-width:710px!important;font-size:13.5px!important;line-height:1.75!important;color:#64788e!important}
.vs-results .vs-offer-body{justify-content:center!important}
.vs-results .vs-offer-summary{font-size:12px!important;line-height:1.55!important;color:#627589!important;margin:13px 0 0!important;max-width:100%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.vs-results .vs-details{margin-top:14px!important}
.vs-results .vs-pages{display:flex!important;justify-content:center!important;align-items:center!important;gap:6px!important;margin:27px 0 16px!important}
.vs-results .vs-pages .vs-page-button{display:inline-flex!important;justify-content:center!important;align-items:center!important;min-width:38px!important;height:38px!important;padding:0 10px!important;color:#274963!important;background:#fff!important;border:1px solid #dbe6ef!important;border-radius:11px!important;box-shadow:0 2px 6px rgba(19,53,77,.035)!important;font-weight:750!important;font-size:12px!important;cursor:pointer!important;transition:background .18s,border-color .18s,box-shadow .18s!important}
.vs-results .vs-pages .vs-page-button:not(:disabled):hover{color:#0d3a57!important;background:#edf5fa!important;border-color:#a9c8db!important;box-shadow:0 4px 12px rgba(18,60,87,.1)!important}
.vs-results .vs-pages .vs-page-button.is-active{background:#103c58!important;border-color:#103c58!important;color:#fff!important;box-shadow:0 5px 12px rgba(15,60,88,.2)!important;cursor:default!important;opacity:1!important}
.vs-results .vs-pages .vs-page-button.is-control{font-size:18px!important}
.vs-results .vs-pages .vs-page-gap{padding:0 5px!important;color:#8b9aaa!important;font-size:14px!important}
@media(max-width:520px){.vs-results .vs-offer-summary{-webkit-line-clamp:2!important}.vs-results .vs-pages{gap:3px!important}.vs-results .vs-pages .vs-page-button{min-width:33px!important;height:34px!important;padding:0 7px!important}}

/* Villare Search 0.7.4: one compact homepage search bar. */
.vs-home-host{width:100%;max-width:1240px;margin:0 auto;position:relative;z-index:1}
.vs-home-host .vs-home{min-height:54px!important;padding:5px 6px 5px 9px!important;border-radius:13px!important;border:1px solid #dce6ef!important;box-shadow:0 9px 28px rgba(15,44,71,.08)!important;background:#fff!important;flex-wrap:nowrap!important}
.vs-home-host .vs-home-input{flex:1 1 auto!important;min-width:0!important}
.vs-home-host .vs-home input{min-width:0!important}
.vs-home-host .vs-home select{width:190px!important;max-width:32%;font-size:13px!important}
.vs-home-host .vs-home button{min-width:124px!important;height:42px!important;border-radius:9px!important;background:#123d5a!important;white-space:nowrap}
.vs-home-host .vs-home button:hover{background:#24648d!important}
@media(max-width:700px){.vs-home-host .vs-home{flex-wrap:wrap!important;gap:5px!important}.vs-home-host .vs-home-input{flex-basis:100%!important}.vs-home-host .vs-home select{max-width:none;width:calc(48% - 5px)!important;flex:1!important}.vs-home-host .vs-home button{min-width:0!important;flex:1!important}}

/* 0.7.5: premium, unified compact search and persistent navigation while scrolling. */
.vs-home-host{max-width:1240px!important;isolation:isolate;}
.vs-home-host .vs-home,.vs-sticky-dock .vs-home{display:flex!important;align-items:center!important;gap:5px!important;padding:5px!important;border:1px solid rgba(215,228,237,.98)!important;border-radius:17px!important;background:#fff!important;box-shadow:0 18px 48px rgba(13,45,71,.16),0 2px 8px rgba(13,45,71,.07)!important;min-height:60px!important;width:100%!important;}
.vs-home-host .vs-home-input,.vs-sticky-dock .vs-home-input{min-width:0!important;flex:1 1 auto!important;min-height:46px!important;padding:0 16px!important;gap:12px!important;}
.vs-home-host .vs-home-input svg,.vs-sticky-dock .vs-home-input svg{width:21px!important;height:21px!important;stroke:#537f9f!important;flex-shrink:0;}
.vs-home-host .vs-home input,.vs-sticky-dock .vs-home input{font-family:inherit!important;min-width:0!important;width:100%!important;height:45px!important;font-size:14px!important;letter-spacing:.005em!important;color:#102e46!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;}
.vs-home-host .vs-home-input:focus-within,.vs-sticky-dock .vs-home-input:focus-within{border-radius:11px!important;background:#f4f9fc!important;}
.vs-home-select-wrap{position:relative;display:flex;flex:0 0 196px;align-items:center;height:46px;min-width:0;border-left:1px solid #e5edf3;background:linear-gradient(180deg,#fff,#f8fbfe);border-radius:11px;}
.vs-home-select-wrap:after{content:'';position:absolute;right:16px;top:50%;width:8px;height:8px;border:solid #234d6a;border-width:0 2px 2px 0;transform:translateY(-70%) rotate(45deg);pointer-events:none;}
.vs-home-host .vs-home select,.vs-sticky-dock .vs-home select{appearance:none!important;-webkit-appearance:none!important;display:block!important;cursor:pointer!important;width:100%!important;max-width:none!important;height:46px!important;padding:0 36px 0 16px!important;border:0!important;background:transparent!important;color:#153b57!important;font-size:13px!important;line-height:1.2!important;font-weight:750!important;box-shadow:none!important;outline:0!important;}
.vs-home-select-wrap:focus-within{outline:2px solid #96c4e4;outline-offset:1px;}
.vs-home-host .vs-home button,.vs-sticky-dock .vs-home button{flex:0 0 auto!important;min-width:120px!important;height:48px!important;border-radius:12px!important;background:linear-gradient(135deg,#1a5377,#0c3451)!important;color:#fff!important;font-weight:800!important;letter-spacing:.015em!important;box-shadow:0 5px 16px rgba(15,56,86,.20)!important;}
.vs-home-host .vs-home button:hover,.vs-sticky-dock .vs-home button:hover{background:linear-gradient(135deg,#266d99,#174c70)!important;transform:translateY(-1px);}
.vs-sticky-dock{position:fixed;left:0;right:0;top:0;z-index:9996;box-sizing:border-box;padding:10px max(16px,calc((100vw - 1210px)/2));background:rgba(246,250,252,.96);box-shadow:0 6px 30px rgba(8,32,54,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transform:translateY(-125%);opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease;}
body.admin-bar .vs-sticky-dock{top:32px;}
.vs-sticky-dock.is-visible{opacity:1;pointer-events:auto;transform:translateY(0);}
.vs-sticky-dock .vs-home{max-width:1200px;margin:0 auto!important;min-height:52px!important;border-color:#dce6ed!important;box-shadow:0 7px 22px rgba(12,42,68,.08)!important;}
.vs-sticky-dock .vs-home button{height:44px!important;}
.vs-sticky-dock .vs-home-input,.vs-sticky-dock .vs-home-select-wrap{min-height:42px;height:42px;}
.vs-home-host input:focus-visible,.vs-sticky-dock input:focus-visible{outline:2px solid #82b8dd!important;outline-offset:2px!important;}
@media(max-width:780px){.vs-home-host .vs-home,.vs-sticky-dock .vs-home{flex-wrap:nowrap!important;min-height:51px!important;gap:2px!important;padding:4px!important}.vs-home-host .vs-home-input,.vs-sticky-dock .vs-home-input{flex:1 1 120px!important;padding:0 8px!important;min-height:40px!important}.vs-home-host .vs-home input,.vs-sticky-dock .vs-home input{font-size:12px!important}.vs-home-select-wrap{flex:0 0 125px;height:40px}.vs-home-host .vs-home select,.vs-sticky-dock .vs-home select{font-size:11px!important;padding:0 24px 0 8px!important;height:40px!important}.vs-home-select-wrap:after{right:10px;width:6px;height:6px}.vs-home-host .vs-home button,.vs-sticky-dock .vs-home button{min-width:64px!important;padding:0 8px!important;height:41px!important;font-size:12px!important}.vs-home button span{display:none}.vs-sticky-dock{padding:7px 8px}}
@media(max-width:480px){.vs-home-input svg{display:none}.vs-home-host .vs-home-input,.vs-sticky-dock .vs-home-input{padding:0 5px!important}.vs-home-select-wrap{flex-basis:103px}.vs-home-host .vs-home button,.vs-sticky-dock .vs-home button{min-width:59px!important}}
@media(max-width:782px){body.admin-bar .vs-sticky-dock{top:46px;}}
@media(prefers-reduced-motion:reduce){.vs-sticky-dock{transition:none!important}}

/* Villare Search 0.7.6 — dropdown, home hero, archive search */
.vs-home-select-wrap.vs-select-enhanced{overflow:visible!important;isolation:isolate;z-index:30;min-width:0}
.vs-home-select-wrap.vs-select-enhanced::after{display:none!important}
.vs-select-enhanced>select{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%);padding:0!important}
.vs-home .vs-mode-trigger{appearance:none!important;background:transparent!important;box-shadow:none!important;border:0!important;color:#143d59!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;min-width:0!important;height:45px!important;min-height:0!important;padding:0 15px!important;margin:0!important;text-align:left!important;border-radius:11px!important;font-size:13px!important;font-weight:750!important;letter-spacing:0!important;transform:none!important;cursor:pointer!important}
.vs-mode-trigger:hover{background:#eff6fb!important}
.vs-mode-chevron{width:8px;height:8px;border-right:2px solid #275574;border-bottom:2px solid #275574;transform:rotate(45deg) translateY(-2px);flex:0 0 auto}
.vs-select-enhanced.is-open .vs-mode-chevron{transform:rotate(225deg) translateY(-1px)}
.vs-mode-menu{display:none;position:absolute;top:calc(100% + 12px);left:0;width:max(210px,100%);max-width:min(320px,90vw);padding:7px!important;background:#fff!important;border:1px solid #dce7ef!important;box-shadow:0 18px 44px rgba(9,40,65,.2),0 2px 8px rgba(9,40,65,.07)!important;border-radius:15px!important;z-index:99999!important}
.vs-select-enhanced.is-open>.vs-mode-menu{display:block}
.vs-home .vs-mode-choice{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;height:42px!important;min-width:0!important;border:0!important;border-radius:9px!important;padding:0 13px!important;color:#21445d!important;background:#fff!important;box-shadow:none!important;font-size:13px!important;font-weight:650!important;text-align:left!important;transform:none!important}
.vs-home .vs-mode-choice:hover,.vs-home .vs-mode-choice:focus-visible{background:#edf6fc!important;outline:none!important;color:#123d5a!important}
.vs-home .vs-mode-choice[aria-selected=true]{background:#eef6fa!important;color:#0e466a!important;font-weight:800!important}
.vs-choice-check{color:#1972aa;opacity:0}.vs-mode-choice[aria-selected=true] .vs-choice-check{opacity:1}
.vs-home-host .vs-home,.vs-sticky-dock .vs-home{overflow:visible!important;position:relative;z-index:4}
/* Avoid overriding SEO text: visuals only for the site's main hero heading. */
body.home .banner-search-main h1,body.home .banner-search-main .banner-title,body.home .hero-section h1,body.home .banner-slider h1,body.home .banner-inner h1{font-size:clamp(30px,3.25vw,49px)!important;line-height:1.15!important;letter-spacing:-.035em!important;font-weight:800!important;text-wrap:balance;max-width:1100px;margin-left:auto!important;margin-right:auto!important;text-shadow:0 3px 18px rgba(4,28,46,.28)!important}
body.home .banner-search-main,body.home .hero-section,body.home .banner-slider{isolation:isolate}
body.home .banner-search-main::before,body.home .hero-section::before{pointer-events:none}
/* no extra script/image requests; keep other catalog content and listing markup untouched */
@media(max-width:780px){.vs-mode-menu{left:auto;right:0;max-width:88vw}.vs-home .vs-mode-trigger{padding:0 8px!important;font-size:11px!important}}

/* Villare Search 0.7.7: restrained, premium navigation search */
.vs-home-host .vs-home,.vs-sticky-dock .vs-home{min-height:49px!important;padding:3px 4px!important;gap:4px!important;border-radius:13px!important;border:1px solid rgba(211,225,234,.92)!important;box-shadow:0 6px 20px rgba(17,45,64,.10)!important;background:#fff!important}
.vs-home-host .vs-home-input,.vs-sticky-dock .vs-home-input{min-height:41px!important;padding:0 12px!important;gap:9px!important}
.vs-home-host .vs-home input,.vs-sticky-dock .vs-home input{height:40px!important;font-weight:450!important;font-size:13px!important}
.vs-home-host .vs-home-input svg,.vs-sticky-dock .vs-home-input svg{width:17px!important;height:17px!important}
.vs-home-select-wrap{flex-basis:164px!important;height:39px!important;border:1px solid #e4edf4!important;background:#f9fbfd!important;border-radius:9px!important}
.vs-home .vs-mode-trigger{min-height:0!important;height:39px!important;border-radius:9px!important;padding:0 11px!important;font-size:12px!important;font-weight:600!important;color:#24475f!important}
.vs-home .vs-mode-trigger:hover{background:#f0f6f9!important;box-shadow:none!important}
.vs-mode-chevron{width:7px!important;height:7px!important;border-color:#5c7890!important;border-width:0 1.5px 1.5px 0!important}
.vs-mode-menu{top:calc(100% + 6px)!important;min-width:174px!important;width:100%!important;padding:5px!important;border-radius:11px!important;border:1px solid #e0eaf0!important;box-shadow:0 12px 28px rgba(19,45,67,.14),0 1px 4px rgba(19,45,67,.04)!important}
.vs-home .vs-mode-choice{height:36px!important;min-height:0!important;padding:0 10px!important;border-radius:7px!important;font-size:12px!important;font-weight:550!important;color:#214760!important;background:transparent!important;text-align:left!important}
.vs-home .vs-mode-choice:hover,.vs-home .vs-mode-choice:focus-visible{background:#edf4f8!important;color:#123c59!important}
.vs-home .vs-mode-choice[aria-selected=true]{background:#eef6fa!important;color:#125276!important;font-weight:700!important}
.vs-choice-check{font-size:12px!important}
.vs-home-host .vs-home button[type=submit],.vs-sticky-dock .vs-home button[type=submit]{min-width:105px!important;height:40px!important;border-radius:9px!important;font-size:12px!important;font-weight:700!important;box-shadow:none!important;background:#143e5b!important;letter-spacing:0!important}
.vs-home-host .vs-home button[type=submit]:hover,.vs-sticky-dock .vs-home button[type=submit]:hover{background:#225e83!important;box-shadow:0 5px 12px rgba(18,62,92,.16)!important}
.vs-sticky-dock{padding-top:6px!important;padding-bottom:6px!important;background:rgba(250,252,253,.97)!important;box-shadow:0 3px 14px rgba(17,45,64,.075)!important}
.vs-sticky-dock .vs-home{max-width:1180px!important;min-height:48px!important}
@media(max-width:780px){.vs-home-select-wrap{flex-basis:120px!important}.vs-home .vs-mode-trigger{font-size:11px!important;padding:0 8px!important}.vs-home-host .vs-home button[type=submit],.vs-sticky-dock .vs-home button[type=submit]{min-width:61px!important;height:38px!important}.vs-mode-menu{min-width:155px!important}}
@media(max-width:480px){.vs-home-select-wrap{flex-basis:106px!important}.vs-home-host .vs-home-input,.vs-sticky-dock .vs-home-input{padding:0 7px!important}}

/* 0.7.8 — consistent compact search on catalog landing pages */
.vs-top-search-host{width:100%!important;max-width:1200px!important;margin:0 auto!important;padding:0!important;position:relative!important;z-index:20!important}
.vs-top-search-host .vs-home{width:100%!important;border-radius:11px!important;min-height:48px!important;box-shadow:0 3px 14px rgba(17,45,64,.075)!important}
.vs-top-search-host .vs-home-input{min-width:0!important}
.vs-top-search-host .vs-home-select-wrap{flex:0 0 164px!important;height:39px!important;min-width:0!important}
.vs-top-search-host .vs-home button[type=submit]{height:40px!important;min-width:105px!important}
@media(max-width:780px){.vs-top-search-host .vs-home-select-wrap{flex-basis:120px!important}.vs-top-search-host .vs-home button[type=submit]{min-width:61px!important;height:38px!important}}
/* Custom mode picker: visual weight of a menu, not a second set of CTA buttons */
.vs-home-host .vs-home .vs-mode-trigger,.vs-sticky-dock .vs-home .vs-mode-trigger{background:#f8fafc!important;color:#254761!important;font-weight:600!important;border-radius:8px!important;box-shadow:none!important}
.vs-home-host .vs-home .vs-mode-trigger:hover,.vs-sticky-dock .vs-home .vs-mode-trigger:hover{background:#f0f6fa!important}
.vs-home .vs-mode-menu{background:#fff!important;border:1px solid #dfebf2!important;border-radius:11px!important;box-shadow:0 12px 28px rgba(19,45,67,.12)!important;padding:5px!important}
.vs-home .vs-mode-choice,.vs-sticky-dock .vs-mode-choice{color:#244862!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:7px!important;font-weight:500!important}
.vs-home .vs-mode-choice[aria-selected=true]{color:#14577e!important;background:#eff6fa!important;font-weight:700!important}
.vs-sticky-dock .vs-home{width:100%!important}


/* 0.7.9 — isolated, lightweight dropdown; prevents global .vs-home button styles
   from overlapping menu choices. Identical on home, catalog and sticky search. */
.vs-home-host .vs-home-select-wrap,
.vs-top-search-host .vs-home-select-wrap,
.vs-sticky-dock .vs-home-select-wrap {
  flex:0 0 186px!important; width:186px!important; min-width:186px!important;
  max-width:186px!important; border-radius:9px!important; background:#fff!important;
  border:1px solid #dce7f0!important; box-shadow:none!important;
  position:relative!important; overflow:visible!important;
}
.vs-home-host .vs-home .vs-mode-trigger,
.vs-top-search-host .vs-home .vs-mode-trigger,
.vs-sticky-dock .vs-home .vs-mode-trigger {
  display:flex!important; align-items:center!important; justify-content:space-between!important;
  flex:unset!important; width:100%!important; min-width:0!important; max-width:100%!important;
  height:39px!important; min-height:39px!important; padding:0 12px!important;
  margin:0!important; white-space:nowrap!important; overflow:hidden!important;
  font-size:12px!important; font-weight:650!important; line-height:1!important;
  color:#163a55!important; background:#fff!important; border:0!important; border-radius:8px!important;
  box-shadow:none!important; text-align:left!important; transform:none!important;
}
.vs-mode-trigger>span:first-child {overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important}
.vs-home-select-wrap.is-open .vs-mode-trigger{background:#f1f7fb!important;color:#0d496e!important;}
.vs-home-host .vs-home .vs-mode-menu,
.vs-top-search-host .vs-home .vs-mode-menu,
.vs-sticky-dock .vs-home .vs-mode-menu {
  display:none; position:absolute!important; left:0!important; right:auto!important;
  top:calc(100% + 7px)!important; width:100%!important; min-width:186px!important;
  max-width:250px!important; padding:5px!important; margin:0!important;
  background:#fff!important; border:1px solid #d9e5ed!important;
  border-radius:11px!important; box-shadow:0 14px 32px rgba(16,49,74,.15)!important;
  overflow:visible!important; z-index:10010!important;
}
.vs-home-host .vs-home-select-wrap.is-open>.vs-mode-menu,
.vs-top-search-host .vs-home-select-wrap.is-open>.vs-mode-menu,
.vs-sticky-dock .vs-home-select-wrap.is-open>.vs-mode-menu{display:flex!important;flex-direction:column!important;gap:3px!important}
.vs-home-host .vs-home .vs-mode-menu .vs-mode-choice,
.vs-top-search-host .vs-home .vs-mode-menu .vs-mode-choice,
.vs-sticky-dock .vs-home .vs-mode-menu .vs-mode-choice {
  position:relative!important; display:flex!important; flex:none!important;
  align-items:center!important; justify-content:space-between!important;
  width:100%!important; min-width:0!important; max-width:100%!important;
  height:38px!important; min-height:38px!important; padding:0 11px!important;
  margin:0!important; box-sizing:border-box!important; white-space:nowrap!important;
  background:transparent!important; color:#284860!important; border:1px solid transparent!important;
  border-radius:7px!important; box-shadow:none!important;
  font-family:inherit!important;font-size:12px!important;font-weight:600!important;line-height:1.25!important; letter-spacing:0!important; text-align:left!important;
  transform:none!important; text-shadow:none!important; outline-offset:1px!important;
}
.vs-home-host .vs-home .vs-mode-menu .vs-mode-choice:hover,
.vs-top-search-host .vs-home .vs-mode-menu .vs-mode-choice:hover,
.vs-sticky-dock .vs-home .vs-mode-menu .vs-mode-choice:hover,
.vs-home .vs-mode-menu .vs-mode-choice:focus-visible {
  background:#f2f7fa!important;color:#153d59!important;border-color:#e1ebf1!important;
}
.vs-home-host .vs-home .vs-mode-menu .vs-mode-choice[aria-selected=true],
.vs-top-search-host .vs-home .vs-mode-menu .vs-mode-choice[aria-selected=true],
.vs-sticky-dock .vs-home .vs-mode-menu .vs-mode-choice[aria-selected=true] {
  background:#e6f2fa!important; color:#0b4a73!important;
  border-color:#b9d8eb!important; font-weight:800!important;
  box-shadow:inset 3px 0 0 #247bb0!important;
}
.vs-mode-menu .vs-choice-check {flex:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:15px!important;opacity:0!important;color:#1476aa!important;font-size:14px!important}
.vs-mode-menu .vs-mode-choice[aria-selected=true] .vs-choice-check{opacity:1!important}
@media(max-width:780px){
 .vs-home-host .vs-home-select-wrap,.vs-top-search-host .vs-home-select-wrap,.vs-sticky-dock .vs-home-select-wrap{flex-basis:133px!important;width:133px!important;min-width:133px!important;max-width:133px!important}
 .vs-home-host .vs-home .vs-mode-menu,.vs-top-search-host .vs-home .vs-mode-menu,.vs-sticky-dock .vs-home .vs-mode-menu{min-width:165px!important;left:auto!important;right:0!important}
 .vs-home-host .vs-home .vs-mode-trigger,.vs-top-search-host .vs-home .vs-mode-trigger,.vs-sticky-dock .vs-home .vs-mode-trigger{font-size:11px!important;padding:0 8px!important}
}
@media(max-width:480px){
 .vs-home-host .vs-home-select-wrap,.vs-top-search-host .vs-home-select-wrap,.vs-sticky-dock .vs-home-select-wrap{flex-basis:116px!important;width:116px!important;min-width:116px!important;max-width:116px!important}
}


/* Villare Search 0.8.0: focused premium results UI; no catalog styling changes */
.vs-results .vs-page-intro{padding:1px 0 16px!important;margin-bottom:18px!important;max-width:850px!important}
.vs-results .vs-page-intro h1{font-size:clamp(25px,2.8vw,35px)!important;letter-spacing:-.04em!important;line-height:1.15!important;color:#102d44!important;margin:0 0 8px!important}
.vs-results .vs-page-intro p{font-size:14px!important;color:#5d7589!important;line-height:1.68!important;max-width:710px!important}
.vs-results .vs-filters{background:#fff!important;border:1px solid #dce7ed!important;border-radius:17px!important;box-shadow:0 9px 26px rgba(21,59,81,.06)!important;padding:18px 20px 20px!important}
.vs-results .vs-filters:before{display:none!important}
.vs-results .vs-filter-top{margin-bottom:16px!important}
.vs-results .vs-tabs{display:inline-flex!important;gap:4px!important;padding:4px!important;background:#f3f6f8!important;border:1px solid #e7edf2!important;border-radius:12px!important}
.vs-results .vs-tabs label span{display:flex!important;align-items:center!important;justify-content:center!important;min-height:39px!important;padding:8px 16px!important;border-radius:9px!important;color:#466276!important;font-size:12px!important;font-weight:680!important;box-shadow:none!important;background:transparent!important}
.vs-results .vs-tabs input:checked+span{background:#fff!important;color:#133d57!important;box-shadow:0 2px 8px rgba(19,56,83,.13)!important;border:1px solid #dce8ee!important}
.vs-results .vs-tabs input:focus-visible+span{outline:2px solid #5c9abc!important;outline-offset:2px!important}
.vs-results .vs-filter-fields{grid-template-columns:minmax(205px,2.2fr) repeat(4,minmax(95px,1fr)) minmax(116px,auto)!important;gap:10px!important;align-items:end!important}
.vs-results .vs-filter-fields label{color:#355268!important;font-weight:670!important;font-size:11px!important;letter-spacing:0!important;gap:7px!important}
.vs-results .vs-filter-fields input{background:#fbfcfe!important;height:44px!important;border:1px solid #dce6ed!important;border-radius:10px!important;color:#193d55!important;font-size:13px!important;box-shadow:none!important}
.vs-results .vs-filter-fields input:focus{outline:0!important;border-color:#4d93b9!important;box-shadow:0 0 0 3px rgba(77,147,185,.13)!important;background:#fff!important}
.vs-results .vs-submit{height:44px!important;background:#123f5b!important;color:#fff!important;border-radius:10px!important;box-shadow:0 4px 12px rgba(18,63,91,.14)!important;font-size:12px!important;letter-spacing:0!important;transform:none!important}
.vs-results .vs-submit:hover{background:#215976!important;box-shadow:0 6px 18px rgba(18,63,91,.19)!important}
@media(max-width:1150px){.vs-results .vs-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))!important}.vs-results .vs-city-label{grid-column:span 2!important}}
@media(max-width:650px){.vs-results .vs-filters{padding:15px!important}.vs-results .vs-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}.vs-results .vs-tabs label span{font-size:12px!important;padding:7px 9px!important}.vs-results .vs-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}.vs-results .vs-city-label{grid-column:span 2!important}.vs-results .vs-submit{grid-column:span 2!important}}
/* Legacy developer finder is hidden only when a Villare replacement is present. */
.vs-legacy-search-hidden{display:none!important}
