.ycps{--yc:#0c2f63;--accent:#0879df;--line:#e3e9ef;--muted:#6a7684;font-family:inherit;color:#122033;width:100%;max-width:none}.ycps *{box-sizing:border-box}.ycps input,.ycps select,.ycps button{font:inherit}.ycps-map-shell{position:relative;width:100%;overflow:hidden;background:#e9eef2}.ycps-map{width:100%;min-height:420px;z-index:1;background:#e8edf1}.ycps-map img,.ycps-map .leaflet-tile{max-width:none!important;max-height:none!important;padding:0!important}.ycps-map .leaflet-control-container{position:relative;z-index:800}.ycps-map-move{position:absolute;right:14px;bottom:14px;z-index:850;width:auto!important;max-width:max-content!important;min-width:0!important;height:32px!important;background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 10px!important;display:inline-flex!important;gap:6px;align-items:center;font-size:11px!important;line-height:1!important;font-weight:700;white-space:nowrap;box-shadow:0 4px 14px rgba(12,47,99,.13)}.ycps-map-move input{appearance:auto!important;width:13px!important;height:13px!important;min-width:13px!important;max-width:13px!important;margin:0!important;padding:0!important;flex:0 0 13px!important}.ycps-map-move span{display:inline!important;width:auto!important;line-height:1!important}.ycps-filter{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 28px;margin:-1px auto 0;position:relative;z-index:500;box-shadow:0 8px 30px rgba(12,47,99,.08)}.ycps-filter-top{display:flex;justify-content:flex-start;margin:0 0 10px}.ycps-filter-main{display:grid;grid-template-columns:1.45fr .8fr .85fr .75fr;gap:14px;align-items:end}.ycps-filter-secondary{display:grid;grid-template-columns:.8fr .8fr .65fr .65fr auto 1.05fr;gap:14px;align-items:end;margin-top:14px}.ycps-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ycps-field>span,.ycps-sort-label>span{font-size:12px;font-weight:700;color:var(--muted)}.ycps input,.ycps select{width:100%;height:48px;border:1px solid #d4dde5;border-radius:8px;padding:0 13px;background:#fff;color:#152334;outline:none}.ycps input:focus,.ycps select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(8,121,223,.1)}.ycps button{height:48px;border:0;border-radius:8px;padding:0 20px;font-weight:750;cursor:pointer;white-space:nowrap}.ycps-submit{background:var(--yc);color:#fff}.ycps-submit:hover{background:#08264f}.ycps-more{background:#fff;color:var(--yc);border:1px solid #d4dde5!important}.ycps-filter-more{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr)) auto;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);align-items:end}.ycps-check{height:48px;border:1px solid #d4dde5;border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 12px;font-size:13px}.ycps-check input{width:auto;height:auto}.ycps-reset{width:auto!important;height:auto!important;min-height:0!important;background:transparent!important;color:#b42c36!important;text-decoration:underline;padding:0!important;font-size:12px!important;line-height:1.2!important;border:0!important;border-radius:0!important}.ycps-filter-footer{display:flex;align-items:center;gap:28px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.ycps-sort-label{display:flex;align-items:center;gap:10px}.ycps-sort{width:170px!important}.ycps-count{font-size:15px}.ycps-results-wrap{padding:28px 22px 10px;border:1px solid var(--line);border-top:0;background:#fff}.ycps-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.ycps-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 3px 14px rgba(12,47,99,.07);transition:.2s}.ycps-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(12,47,99,.13)}.ycps-card-image{display:block;height:225px;position:relative;background:#eef2f5}.ycps-card-image img{width:100%;height:100%;object-fit:cover}.ycps-price{position:absolute;left:12px;bottom:12px;background:#fff;color:#10243c;font-weight:800;padding:7px 10px;border-radius:7px;box-shadow:0 3px 10px rgba(0,0,0,.15)}.ycps-label{position:absolute;left:12px;top:12px;background:var(--yc);color:#fff;font-size:11px;font-weight:800;padding:6px 9px;border-radius:6px}.ycps-card-body{padding:15px}.ycps-place{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ycps-card h3{font-size:16px;line-height:1.35;margin:6px 0 12px}.ycps-card h3 a{color:#14243a;text-decoration:none}.ycps-meta{display:flex;gap:13px;font-size:12px;color:#52606d;flex-wrap:wrap}.ycps-ref{font-size:11px;color:#8b96a1;margin-top:10px}.ycps-status{padding:14px;text-align:center}.ycps-load-more{display:block;margin:26px auto;background:var(--yc);color:#fff}.ycps-marker-wrap{background:transparent!important;border:0!important}.ycps-marker{display:inline-flex;align-items:center;justify-content:center;min-width:60px;height:30px;padding:0 9px;border-radius:16px;background:var(--accent);color:#fff;font-size:12px;font-weight:800;border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.25)}.ycps-popup-shell .leaflet-popup-content-wrapper{padding:0;border-radius:12px;overflow:hidden;box-shadow:0 16px 45px rgba(7,35,72,.24)}.ycps-popup-shell .leaflet-popup-content{margin:0;width:290px!important}.ycps-popup-shell .leaflet-popup-tip{box-shadow:3px 3px 8px rgba(7,35,72,.12)}.ycps-popup-shell .leaflet-popup-close-button{z-index:5;top:7px!important;right:7px!important;width:26px!important;height:26px!important;line-height:24px!important;border-radius:50%;background:#fff!important;color:#17324f!important;box-shadow:0 2px 8px rgba(0,0,0,.18)}.ycps-popup{display:block;color:#14243a;text-decoration:none;background:#fff}.ycps-popup-image{position:relative;display:block;height:165px;background:#edf2f6;overflow:hidden}.ycps-popup-image img{width:100%;height:100%;object-fit:cover}.ycps-popup-image em{position:absolute;left:11px;top:11px;background:var(--yc);color:#fff;font-style:normal;font-size:10px;font-weight:800;padding:6px 8px;border-radius:5px}.ycps-popup-image b{position:absolute;left:11px;bottom:11px;background:#fff;color:#10243c;font-size:15px;padding:7px 9px;border-radius:6px;box-shadow:0 3px 10px rgba(0,0,0,.16)}.ycps-popup-body{display:block;padding:13px 14px 15px}.ycps-popup-body small{display:block;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ycps-popup-body strong{display:block;margin:5px 0 9px;font-size:15px;line-height:1.3;color:#14243a}.ycps-popup-meta{display:block;font-size:11px;color:#536273}.ycps-popup-ref{display:block;margin-top:8px;font-size:10px;color:#8b96a1}.ycps.is-loading .ycps-results{opacity:.5;pointer-events:none}.leaflet-container{font-family:inherit}
@media(max-width:1200px){.ycps-filter-main{grid-template-columns:1.3fr 1fr 1fr}.ycps-filter-main>.ycps-field:last-child{grid-column:auto}.ycps-filter-secondary{grid-template-columns:repeat(3,1fr)}.ycps-filter-more{grid-template-columns:repeat(4,1fr)}.ycps-results{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.ycps-map{height:390px!important;min-height:390px}.ycps-filter{padding:16px}.ycps-filter-main,.ycps-filter-secondary{grid-template-columns:1fr 1fr}.ycps-keyword{grid-column:1/-1}.ycps-filter-more{grid-template-columns:1fr 1fr}.ycps-results{grid-template-columns:1fr 1fr}.ycps-map-move{right:10px;bottom:10px;height:30px!important;padding:0 9px!important}.ycps-results-wrap{padding:18px 12px}.ycps-filter-footer{justify-content:space-between}}
@media(max-width:520px){.ycps-filter-main,.ycps-filter-secondary,.ycps-filter-more{grid-template-columns:1fr}.ycps-results{grid-template-columns:1fr}.ycps-filter-footer{align-items:flex-start;flex-direction:column;gap:12px}.ycps-sort-label,.ycps-sort{width:100%!important}.ycps-card-image{height:230px}.ycps-map-move{font-size:10px!important;height:29px!important;padding:0 8px!important}.ycps-submit,.ycps-more{width:100%}}

.ycps-tile-error .ycps-map:after{content:"Map tiles could not load. Check firewall or map settings.";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:500;background:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 4px 18px rgba(0,0,0,.15);font-size:13px;font-weight:700}

/* Homepage redirect search widget */
.ycps-home-widget{
  --yc:#0c2f63;--accent:#0879df;--line:rgba(255,255,255,.38);--muted:#5f6f82;
  display:grid;grid-template-columns:minmax(240px,1.45fr) minmax(180px,.9fr) minmax(180px,.9fr) auto;
  gap:10px;align-items:end;width:min(1120px,calc(100% - 28px));margin:0 auto;padding:14px;
  background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.65);border-radius:16px;
  box-shadow:0 16px 45px rgba(8,38,79,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  font-family:inherit;color:#122033
}
.ycps-home-widget *{box-sizing:border-box}
.ycps-home-widget input,.ycps-home-widget select,.ycps-home-widget button{font:inherit}
.ycps-home-widget .ycps-field{display:flex;flex-direction:column;gap:5px;min-width:0;margin:0}
.ycps-home-widget .ycps-field>span{font-size:11px;line-height:1.2;font-weight:700;color:var(--muted);letter-spacing:.01em}
.ycps-home-widget input,.ycps-home-widget select{
  display:block;width:100%;height:50px;margin:0;border:1px solid #d7e0e8;border-radius:10px;padding:0 14px;
  background:#fff;color:#152334;outline:none;box-shadow:none
}
.ycps-home-widget input:focus,.ycps-home-widget select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(8,121,223,.10)}
.ycps-home-submit{
  display:inline-flex;align-items:center;justify-content:center;height:50px;min-width:168px;margin:0;border:0;border-radius:10px;
  padding:0 22px;background:var(--yc);color:#fff;font-weight:750;cursor:pointer;white-space:nowrap;box-shadow:none
}
.ycps-home-submit:hover{background:#08264f}
@media(max-width:900px){
  .ycps-home-widget{grid-template-columns:1fr 1fr;width:calc(100% - 24px);padding:13px}
  .ycps-home-keyword{grid-column:1/-1}
  .ycps-home-submit{width:100%;min-width:0}
}
@media(max-width:520px){
  .ycps-home-widget{grid-template-columns:1fr;width:calc(100% - 20px);padding:12px;border-radius:13px;gap:10px}
  .ycps-home-keyword{grid-column:auto}
  .ycps-home-widget input,.ycps-home-widget select,.ycps-home-submit{height:48px}
  .ycps-home-submit{width:100%;min-width:0}
  .ycps-map-move span{display:none!important}
  .ycps-map-move{width:36px!important;height:36px!important;padding:0!important;justify-content:center!important;border-radius:50%!important;overflow:hidden!important}
  .ycps-map-move input{width:15px!important;height:15px!important;min-width:15px!important;max-width:15px!important;flex-basis:15px!important}
}

/* v0.4.2: responsive corrections and expanded homepage filters */
.ycps-home-widget{
  grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(145px,.8fr));
}
.ycps-home-submit{width:100%;min-width:0}
@media(min-width:901px){
  .ycps-home-widget .ycps-home-keyword{grid-column:span 2}
}
@media(max-width:900px){
  .ycps-home-widget{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
  .ycps-home-widget .ycps-field,.ycps-home-widget input,.ycps-home-widget select,.ycps-home-widget button{min-width:0;max-width:100%}
}
@media(max-width:520px){
  .ycps,.ycps-home-widget{max-width:100%;overflow-x:hidden}
  .ycps-home-widget{grid-template-columns:minmax(0,1fr);width:calc(100% - 16px);padding:10px}
  .ycps-home-widget .ycps-field,.ycps-home-keyword,.ycps-home-submit{grid-column:1!important;width:100%}
  .ycps-filter{width:100%;max-width:100%;padding:12px;border-radius:10px}
  .ycps-filter-main,.ycps-filter-secondary,.ycps-filter-more{gap:10px}
  .ycps input,.ycps select,.ycps button{max-width:100%;min-width:0}
  .ycps-filter-more[hidden]{display:none!important}
  .ycps-map-shell,.ycps-map{max-width:100%;overflow:hidden}
  .ycps-map{height:330px!important;min-height:330px}
  .ycps-results-wrap{padding:14px 8px 8px}
  .ycps-card-image{height:215px}
  .ycps-popup-shell .leaflet-popup-content{width:min(270px,calc(100vw - 60px))!important}
}

/* v0.4.4: dedicated full-width Map page */
.ycps-map-page{
  width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  position:relative;background:#f5f7fa
}
.ycps-map-page .ycps-map-shell{position:relative;z-index:1}
.ycps-map-page .ycps-map{height:72vh!important;min-height:620px}
.ycps-map-page .ycps-filter{
  position:absolute;z-index:700;top:18px;left:50%;transform:translateX(-50%);
  width:min(1180px,calc(100% - 36px));margin:0;border-radius:14px;
  box-shadow:0 14px 40px rgba(6,34,69,.2);background:rgba(255,255,255,.97);
  backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)
}
.ycps-map-page .ycps-filter-more{max-height:210px;overflow:auto}
.ycps-map-page .ycps-results-wrap{border-top:1px solid var(--line)}
@media(max-width:900px){
  .ycps-map-page{width:100%;margin-left:0;margin-right:0}
  .ycps-map-page .ycps-filter{position:relative;top:auto;left:auto;transform:none;width:100%;border-radius:0;box-shadow:none}
  .ycps-map-page .ycps-map{height:58vh!important;min-height:440px}
  .ycps-map-page .ycps-map-shell{order:2}
}
@media(max-width:520px){
  .ycps-map-page .ycps-map{height:52vh!important;min-height:370px}
  .ycps-map-page .ycps-filter{padding:12px}
}

/* Property match lead form */
.ycps-lead-match{--yc:#0c2f63;--accent:#0879df;--line:#e3e9ef;--muted:#6a7684;width:min(1180px,calc(100% - 30px));margin:40px auto;font-family:inherit;color:#122033}.ycps-lead-match *{box-sizing:border-box}.ycps-lead-intro{text-align:center;max-width:720px;margin:0 auto 28px}.ycps-lead-kicker,.ycps-lead-results-head>span{display:inline-block;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ycps-lead-intro h1,.ycps-lead-results-head h2{margin:8px 0 10px;color:var(--yc);font-size:clamp(30px,4vw,48px);line-height:1.08}.ycps-lead-intro p,.ycps-lead-results-head p{margin:0;color:var(--muted);font-size:16px}.ycps-lead-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 14px 45px rgba(12,47,99,.09)}.ycps-lead-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ycps-lead-match .ycps-field{display:flex;flex-direction:column;gap:7px}.ycps-lead-match .ycps-field>span,.ycps-lead-features legend{font-size:12px;font-weight:800;color:var(--muted)}.ycps-lead-match input,.ycps-lead-match select{width:100%;height:50px;border:1px solid #d4dde5;border-radius:9px;padding:0 14px;background:#fff;color:#152334;font:inherit}.ycps-lead-match input:focus,.ycps-lead-match select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(8,121,223,.1)}.ycps-lead-features{border:0;margin:22px 0 0;padding:0}.ycps-lead-features legend{margin-bottom:10px}.ycps-lead-features label{display:inline-flex;align-items:center;gap:8px;margin:0 18px 8px 0;font-size:14px}.ycps-lead-features input{width:17px;height:17px}.ycps-lead-contact{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;padding-top:20px;border-top:1px solid var(--line)}.ycps-lead-note{font-size:12px;color:var(--muted);margin:14px 0}.ycps-lead-submit{min-height:52px;border:0;border-radius:9px;padding:0 24px;background:var(--yc);color:#fff;font:inherit;font-weight:800;cursor:pointer}.ycps-lead-submit:disabled{opacity:.6;cursor:wait}.ycps-lead-status{min-height:22px;margin-top:12px;font-size:13px;font-weight:700;color:var(--yc)}.ycps-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.ycps-lead-results{margin-top:52px}.ycps-lead-results-head{text-align:center;margin:0 auto 28px;max-width:700px}.ycps-lead-results-head h2{font-size:clamp(28px,3.5vw,42px)}.ycps-lead-match .ycps-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:900px){.ycps-lead-grid{grid-template-columns:1fr 1fr}.ycps-lead-match .ycps-results{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ycps-lead-match{width:min(100% - 20px,1180px);margin:24px auto}.ycps-lead-form{padding:17px;border-radius:14px}.ycps-lead-grid,.ycps-lead-contact,.ycps-lead-match .ycps-results{grid-template-columns:1fr}.ycps-lead-features label{width:calc(50% - 12px);margin-right:8px}.ycps-lead-submit{width:100%}.ycps-lead-intro h1{font-size:32px}}

/* ===================================================================== */
/* v0.6.0                                                                */
/* ===================================================================== */

/* Loading spinner */
.ycps-spinner{display:flex;justify-content:center;padding:10px 0 4px}
.ycps-spinner[hidden]{display:none}
.ycps-spinner span{width:34px;height:34px;border-radius:50%;border:3px solid #dbe4ec;border-top-color:var(--accent,#0879df);animation:ycps-spin .8s linear infinite}
@keyframes ycps-spin{to{transform:rotate(360deg)}}
.ycps.is-loading .ycps-results{opacity:.45;pointer-events:none;transition:opacity .15s}

/* Dedicated New Build / Resale pages: 3-column filter row (no Listing selector) */
.ycps-filter-main--locked{grid-template-columns:1.6fr 1fr 1fr}
@media(max-width:1200px){.ycps-filter-main--locked{grid-template-columns:1.3fr 1fr 1fr}}
@media(max-width:800px){.ycps-filter-main--locked{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ycps-filter-main--locked{grid-template-columns:1fr}}

/* Marker clusters match plugin styling */
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(8,121,223,.28)}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:var(--accent,#0879df);color:#fff;font-weight:800;font-family:inherit}

/* Mobile improvements: spacing, full-width inputs, aligned filters, cards */
@media(max-width:800px){
  .ycps-filter{border-radius:10px}
  .ycps-filter-main,.ycps-filter-secondary,.ycps-filter-more{gap:11px}
  .ycps input,.ycps select,.ycps-submit,.ycps-more{width:100%}
  .ycps-check{height:44px}
  .ycps-card-body{padding:13px}
  .ycps-results{gap:14px}
  .ycps-filter-footer{gap:14px}
}
@media(max-width:520px){
  .ycps-filter{padding:14px 12px}
  .ycps-filter-top{margin-bottom:8px}
  .ycps input,.ycps select{height:46px}
  .ycps button{height:46px}
  .ycps-results{gap:12px}
  .ycps-card h3{font-size:15px}
  .ycps-load-more{width:100%}
}

/* Optional sticky filters on mobile: add "sticky" to the shortcode wrapper
   via extra_class="ycps-sticky-filters" or a page builder class. */
@media(max-width:800px){
  .ycps-sticky-filters .ycps-filter{position:sticky;top:0;z-index:900;box-shadow:0 10px 26px rgba(12,47,99,.14)}
}

/* Big map page refinements: true full-screen map with filters above */
.ycps-map-page .ycps-filter{top:14px}
.ycps-map-page .ycps-map{height:calc(100vh - 120px)!important;min-height:560px}
@media(max-width:900px){
  .ycps-map-page .ycps-map{height:56vh!important;min-height:420px}
}
@media(max-width:520px){
  .ycps-map-page .ycps-map{height:50vh!important;min-height:350px}
}

/* ===================================================================== */
/* v0.7.0 — numbered pagination + conversational property match wizard   */
/* ===================================================================== */

/* Pagination */
.ycps-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:22px 0 6px}
.ycps-pagination:empty{margin:0}
.ycps-page{min-width:42px;height:42px;padding:0 12px;border:1px solid #d6dee6;border-radius:8px;background:#fff;font-weight:700;font-size:14px;color:#22303c;cursor:pointer;transition:all .15s}
.ycps-page:hover:not(:disabled):not(.is-current){border-color:var(--accent,#0879df);color:var(--accent,#0879df)}
.ycps-page.is-current{background:var(--accent,#0879df);border-color:var(--accent,#0879df);color:#fff;cursor:default}
.ycps-page:disabled{opacity:.4;cursor:default}
.ycps-page-prev,.ycps-page-next{padding:0 16px}
.ycps-page-dots{padding:0 4px;color:#8a97a5;font-weight:700}
@media(max-width:520px){
  .ycps-page{min-width:38px;height:40px;padding:0 9px;font-size:13px}
  .ycps-page-prev,.ycps-page-next{padding:0 11px}
}

/* Wizard shell */
.ycps-wizard{max-width:760px;margin:0 auto;padding:10px 0 40px}
.ycps-wizard-head{text-align:center;margin-bottom:26px}
.ycps-wizard-head h1{font-size:clamp(22px,4vw,32px);margin:10px 0 18px;min-height:1.3em}
.ycps-wizard-progress{height:8px;background:#e8eef4;border-radius:99px;overflow:hidden;max-width:420px;margin:0 auto}
.ycps-wizard-bar{height:8px;background:var(--accent,#0879df);border-radius:99px;transition:width .35s ease}
.ycps-wizard-stepcount{margin-top:8px;font-size:13px;color:#64748b;font-weight:600;min-height:1.2em}

/* Choice cards */
.ycps-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.ycps-choices-compact{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.ycps-choice{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;text-align:center;padding:20px 14px;border:2px solid #dbe4ec;border-radius:12px;background:#fff;cursor:pointer;transition:all .15s;font-family:inherit}
.ycps-choices-compact .ycps-choice{padding:15px 10px}
.ycps-choice strong{font-size:16px;color:#16222e}
.ycps-choice span{font-size:13px;color:#64748b;line-height:1.35}
.ycps-choice:hover{border-color:var(--accent,#0879df);transform:translateY(-1px)}
.ycps-choice.is-selected{border-color:var(--accent,#0879df);background:#eaf4fd;box-shadow:0 0 0 1px var(--accent,#0879df) inset}

/* Fields inside steps */
.ycps-wizard-field select{width:100%;height:52px;font-size:16px}
.ycps-wizard-budget{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ycps-wizard-budget input{height:52px;font-size:16px;width:100%}
.ycps-wizard-next,.ycps-wizard-view,.ycps-wizard-submit{margin-top:16px;width:100%;height:52px;border:0;border-radius:10px;background:var(--accent,#0879df);color:#fff;font-size:16px;font-weight:800;cursor:pointer;transition:filter .15s}
.ycps-wizard-next:hover,.ycps-wizard-view:hover,.ycps-wizard-submit:hover{filter:brightness(1.08)}
.ycps-wizard-submit:disabled{opacity:.6;cursor:wait}

/* Found step */
.ycps-step-found{text-align:center;padding:24px 0}
.ycps-found-icon{font-size:52px;line-height:1;margin-bottom:12px}
.ycps-found-title{font-size:clamp(20px,3.4vw,27px);margin:0 0 8px}
.ycps-found-sub{color:#64748b;margin:0 0 22px}
.ycps-wizard-view{max-width:340px;margin-left:auto;margin-right:auto;display:block}

/* Contact + footer */
.ycps-wizard-contact{display:flex;flex-direction:column;gap:12px;max-width:440px;margin:0 auto}
.ycps-wizard-contact input{height:50px;font-size:16px;width:100%}
.ycps-wizard-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;min-height:34px}
.ycps-wizard-back{border:0;background:none;color:#64748b;font-weight:700;cursor:pointer;padding:6px 8px}
.ycps-wizard-back:hover{color:var(--accent,#0879df)}
.ycps-wizard-status{font-weight:600;color:#0f5132}
.ycps-noresults{text-align:center;color:#64748b;padding:26px 0}

@media(max-width:520px){
  .ycps-wizard-budget{grid-template-columns:1fr}
  .ycps-choices{grid-template-columns:1fr 1fr}
  .ycps-choices-compact{grid-template-columns:repeat(3,1fr)}
  .ycps-choice strong{font-size:14px}
  .ycps-choice span{display:none}
}

/* ============================================================
   v0.8.0 — multi-select dropdowns (city / area / type / listing)
   ============================================================ */
.ycps-ms{position:relative}
.ycps-ms-wrap{position:relative;width:100%}
.ycps-ms-toggle{display:flex;align-items:center;gap:8px;width:100%;height:48px;padding:0 12px;background:#fff;border:1px solid #d4dde5!important;border-radius:8px;color:#152334;font-weight:500;text-align:left;cursor:pointer}
.ycps-ms.has-value .ycps-ms-toggle{border-color:var(--accent)!important;box-shadow:0 0 0 2px rgba(8,121,223,.08)}
.ycps-ms-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ycps-ms-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:#fff;font-size:11px;font-weight:800}
.ycps-ms-arrow{width:16px;height:16px;flex:0 0 16px;color:#7d8a97;transition:transform .18s}
.ycps-ms.is-open .ycps-ms-arrow{transform:rotate(180deg)}
.ycps-ms-panel{position:absolute;z-index:1200;top:calc(100% + 6px);left:0;width:100%;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 38px rgba(12,47,99,.18);overflow:hidden}
.ycps-ms-list{max-height:270px;overflow-y:auto;padding:6px}
.ycps-ms-opt{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:6px;font-size:13.5px;line-height:1.25;cursor:pointer}
.ycps-ms-opt:hover{background:#f2f6fa}
.ycps-ms-opt input{width:16px!important;height:16px!important;min-width:16px;flex:0 0 16px;margin:0;padding:0;accent-color:var(--accent)}
.ycps-ms-opt span{flex:1;min-width:0}
.ycps-ms-group{padding:9px 9px 4px;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.ycps-ms-empty{margin:0;padding:14px 10px;text-align:center;font-size:12.5px;color:var(--muted)}
.ycps-ms-actions{display:flex;justify-content:space-between;gap:8px;padding:8px;border-top:1px solid var(--line);background:#fafcfe}
.ycps-ms-actions button{height:34px!important;padding:0 14px!important;font-size:12.5px;border-radius:6px}
.ycps-ms-clear{background:transparent;color:#b42c36}
.ycps-ms-done{background:var(--yc);color:#fff}
.ycps-home-widget .ycps-ms-toggle{height:50px;border-radius:10px;border:1px solid #d7e0e8!important}

/* ============================================================
   v0.8.0 — quick-view popup
   ============================================================ */
.ycps-card{position:relative}
.ycps-qv-hint{position:absolute;z-index:3;right:10px;top:10px;display:inline-flex;align-items:center;gap:6px;height:auto!important;padding:7px 11px!important;background:rgba(255,255,255,.95);color:#0c2f63;font-size:11.5px;font-weight:800;border:0;border-radius:7px;cursor:pointer;box-shadow:0 3px 10px rgba(7,29,60,.22);opacity:.92;transition:opacity .16s,background .16s}
.ycps-qv-hint svg{width:15px;height:15px;flex:0 0 15px}
.ycps-qv-hint:hover{opacity:1;background:#fff}
.ycps-card:hover .ycps-qv-hint{opacity:1}
html.ycps-qv-open,html.ycps-qv-open body{overflow:hidden}
.ycps-qv-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:26px;font-family:inherit;color:#122033}
.ycps-qv-modal[hidden]{display:none}
.ycps-qv-modal *{box-sizing:border-box}
.ycps-qv-backdrop{position:absolute;inset:0;background:rgba(7,22,44,.72);backdrop-filter:blur(2px)}
.ycps-qv-dialog{position:relative;display:flex;flex-direction:column;width:min(1080px,100%);max-width:100%;max-height:92vh;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(5,20,45,.45)}
.ycps-qv-close{position:absolute;top:12px;right:12px;z-index:6;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#fff;color:#17324f;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.22)}
.ycps-qv-content{flex:1;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden}
/* min-width:0 everywhere: without it a long thumbnail strip sets the grid
   column's min-content width and pushes the info column off screen. */
.ycps-qv-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);width:100%;max-width:100%}
.ycps-qv-gallery{position:relative;min-width:0;max-width:100%;overflow:hidden;background:#0e1c2d;min-height:340px}
.ycps-qv-stage{width:100%;max-width:100%;height:min(58vh,470px);overflow:hidden;background:#0e1c2d}
.ycps-qv-stage img{width:100%;max-width:100%!important;height:100%;object-fit:cover;display:block}
.ycps-qv-gallery.is-loading .ycps-qv-stage{animation:ycps-pulse 1.1s ease-in-out infinite}
@keyframes ycps-pulse{0%,100%{opacity:1}50%{opacity:.65}}
.ycps-qv-photo-prev,.ycps-qv-photo-next{position:absolute;top:calc(min(58vh,470px)/2 - 22px);width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#12263c;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.25)}
.ycps-qv-photo-prev{left:12px}
.ycps-qv-photo-next{right:12px}
.ycps-qv-counter{position:absolute;right:14px;top:14px;background:rgba(10,26,46,.78);color:#fff;font-size:12px;font-weight:700;padding:5px 10px;border-radius:14px}
.ycps-qv-thumbs{display:flex;gap:7px;padding:9px;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;background:#0b1725}
.ycps-qv-thumbs button{flex:0 0 74px;width:74px;height:54px;padding:0;border:2px solid transparent!important;border-radius:6px;overflow:hidden;background:#122336;cursor:pointer;opacity:.65}
.ycps-qv-thumbs button.is-current{border-color:#fff!important;opacity:1}
.ycps-qv-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.ycps-qv-info{min-width:0;max-width:100%;padding:26px 26px 22px;overflow-y:auto;overflow-wrap:break-word}
.ycps-qv-tag{display:inline-block;background:var(--yc,#0c2f63);color:#fff;font-size:11px;font-weight:800;padding:5px 9px;border-radius:5px;margin-bottom:9px}
.ycps-qv-place{font-size:12.5px;color:#6a7684}
.ycps-qv-info h3{margin:6px 0 10px;font-size:21px;line-height:1.3;color:#14243a}
.ycps-qv-price{font-size:25px;font-weight:800;color:#0c2f63;margin-bottom:14px}
.ycps-qv-facts{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 14px;padding:0}
.ycps-qv-facts li{background:#f1f5f9;border-radius:6px;padding:6px 11px;font-size:12.5px;color:#3c4c5e}
.ycps-qv-address{font-size:12.5px;color:#5d6b7b;margin-bottom:12px}
.ycps-qv-desc{font-size:13.5px;line-height:1.62;color:#41505f;margin:0 0 16px}
.ycps-qv-skeleton{height:76px;border-radius:8px;background:linear-gradient(90deg,#eef2f6 25%,#e2e9f0 50%,#eef2f6 75%);background-size:200% 100%;animation:ycps-shine 1.3s linear infinite}
@keyframes ycps-shine{to{background-position:-200% 0}}
.ycps-qv-features strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#6a7684;margin-bottom:8px}
.ycps-qv-features ul{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 18px;padding:0}
.ycps-qv-features li{font-size:12px;color:#41505f;border:1px solid var(--line,#e3e9ef);border-radius:14px;padding:4px 10px}
.ycps-qv-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ycps-qv-view{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 26px;border-radius:8px;background:var(--yc,#0c2f63);color:#fff!important;font-weight:750;text-decoration:none!important}
.ycps-qv-view:hover{background:#08264f}
.ycps-qv-ref{font-size:11.5px;color:#8b96a1}
.ycps-qv-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-top:1px solid var(--line,#e3e9ef);background:#fafcfe}
.ycps-qv-footer button{height:40px;padding:0 18px;border:1px solid #d4dde5;border-radius:8px;background:#fff;color:#0c2f63;font-weight:700;cursor:pointer}
.ycps-qv-footer button:hover:not(:disabled){background:#eef4fb}
.ycps-qv-footer button:disabled{opacity:.4;cursor:default}
.ycps-qv-position{font-size:12.5px;color:#6a7684;font-weight:700}
@media(max-width:900px){
  .ycps-qv-modal{padding:0}
  .ycps-qv-dialog{width:100%;max-height:100vh;height:100%;border-radius:0}
  .ycps-qv-grid{grid-template-columns:1fr}
  .ycps-qv-stage{height:44vh}
  .ycps-qv-photo-prev,.ycps-qv-photo-next{top:calc(44vh/2 - 22px)}
  .ycps-qv-info{padding:18px 16px 20px}
  .ycps-qv-info h3{font-size:18px}
  .ycps-qv-price{font-size:22px}
  .ycps-qv-view{width:100%}
  .ycps-ms-panel{min-width:0}
}

/* ---- Panels that live at the end of <body> carry their own tokens ----
   The map card and the quick view are moved out of the shortcode wrapper,
   so the palette has to travel with them. */
.ycps-sheet,.ycps-qv-modal,.ycps-ms-backdrop{--yc:#0c2f63;--accent:#0879df;--line:#e3e9ef;--muted:#6a7684}

/* An empty count badge was drawing a blue dot on every closed dropdown. */
.ycps-ms-count[hidden]{display:none!important}

/* Listings with no photo: the price sits in the flow instead of floating
   over a grey rectangle. */
.ycps-popup-image.is-noimage{height:auto;min-height:0;background:#fff;padding:16px 14px 0;text-align:left}
.ycps-popup-image.is-noimage b{position:static;display:inline-block;box-shadow:none;padding:0;font-size:20px}
.ycps-popup-image.is-noimage em{position:static;display:inline-block;margin-bottom:8px}
.ycps-sheet-body .ycps-popup-image.is-noimage{border-radius:18px 18px 0 0;padding-top:22px}

/* =====================================================================
   v0.9.0 — every listing on the map, hand-drawn areas, mobile sheets
   ===================================================================== */

/* ---- Price pins -----------------------------------------------------
   One shape for every language. The label itself carries translate="no",
   so GTranslate leaves the figure alone; the fixed height and radius keep
   the badge identical whatever the currency wording around it. */
.ycps-marker-wrap{background:transparent!important;border:0!important}
.ycps-marker{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  min-width:64px;max-width:96px;height:30px;padding:0 10px;border-radius:16px;
  background:var(--accent,#0879df);color:#fff;font-size:12.5px;font-weight:800;line-height:1;
  letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.25);transition:transform .12s,background .12s}
.ycps-marker.is-approx{background:#3f7fbe}
.ycps-marker-wrap:hover .ycps-marker,.ycps-marker-wrap.is-hot .ycps-marker{transform:scale(1.08);background:#0c2f63;z-index:900}
.ycps-marker-wrap.is-active .ycps-marker{background:#0c2f63;box-shadow:0 0 0 3px rgba(8,121,223,.35),0 5px 14px rgba(0,0,0,.3)}

/* Clusters carry the same visual family as the pins. */
.ycps-cluster-wrap{background:transparent!important;border:0!important}
.ycps-cluster{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  background:rgba(12,47,99,.92);color:#fff;font-size:13px;font-weight:800;border:3px solid #fff;
  box-shadow:0 4px 14px rgba(7,35,72,.35)}
.marker-cluster,.marker-cluster div{background:transparent!important;border:0!important}

/* ---- Map tools ------------------------------------------------------ */
/* Top right: the Leaflet zoom control owns the top left corner. */
.ycps-map-tools{position:absolute;right:14px;top:14px;z-index:860;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 90px)}
.ycps-map-tools button{height:38px!important;padding:0 14px!important;border-radius:19px!important;
  background:#fff;color:var(--yc,#0c2f63);font-size:13px;font-weight:750;
  border:1px solid var(--line,#e3e9ef)!important;box-shadow:0 4px 14px rgba(12,47,99,.16);
  display:inline-flex;align-items:center;gap:7px}
.ycps-map-tools button:hover{background:#f2f7fd}
/* display:grid and display:inline-flex both beat the browser's [hidden] rule,
   so every panel that toggles through the attribute states it explicitly. */
.ycps-map-tools button[hidden],.ycps-search-here[hidden],.ycps-draw-hint[hidden],
.ycps-pin-note[hidden],.ycps-filter-more[hidden],.ycps-ms-panel[hidden]{display:none!important}
.ycps-draw svg{width:16px;height:16px;flex:0 0 16px}
.ycps-draw[aria-pressed="true"]{background:var(--yc,#0c2f63);color:#fff;border-color:var(--yc,#0c2f63)!important}
.ycps-draw-clear{color:#b42c36!important}
.ycps-draw-hint{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:860;margin:0;
  background:rgba(12,47,99,.94);color:#fff;font-size:12.5px;font-weight:600;padding:9px 14px;border-radius:18px;
  box-shadow:0 6px 18px rgba(7,35,72,.28);max-width:min(420px,calc(100% - 40px));text-align:center}
.ycps-search-here{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:860;
  height:40px!important;padding:0 20px!important;border-radius:20px!important;
  background:var(--yc,#0c2f63);color:#fff;font-size:13.5px;box-shadow:0 6px 20px rgba(7,35,72,.3)}
.ycps-pin-note{position:absolute;left:14px;bottom:14px;z-index:850;background:rgba(255,255,255,.94);
  color:#31414f;font-size:11.5px;font-weight:650;padding:6px 11px;border-radius:14px;
  border:1px solid var(--line,#e3e9ef);box-shadow:0 3px 12px rgba(12,47,99,.12);max-width:calc(100% - 180px)}

/* Drawing mode: the map stops panning and the cursor says so. */
.ycps-drawing .ycps-map,.ycps-drawing .leaflet-grab{cursor:crosshair!important}
.ycps-drawing .leaflet-marker-icon{pointer-events:none}
.ycps-pins-loading .ycps-map{opacity:.85}

/* ---- Map card for phones -------------------------------------------
   A Leaflet popup lives inside the map pane, so the pan that follows a tap
   can pull it off screen. This card is a child of <body> and stays put. */
.ycps-sheet{position:fixed;inset:0;z-index:100000;display:block}
.ycps-sheet[hidden]{display:none}
.ycps-sheet-backdrop{position:absolute;inset:0;background:rgba(9,24,45,.5);opacity:0;transition:opacity .18s}
.ycps-sheet.is-open .ycps-sheet-backdrop{opacity:1}
.ycps-sheet-card{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:18px 18px 0 0;
  padding:10px 0 max(14px,env(safe-area-inset-bottom));max-height:86vh;overflow:auto;
  box-shadow:0 -10px 40px rgba(7,35,72,.3);transform:translateY(100%);transition:transform .2s ease-out}
.ycps-sheet.is-open .ycps-sheet-card{transform:translateY(0)}
.ycps-sheet-grip{display:block;width:44px;height:4px;margin:0 auto 8px;border-radius:2px;background:#d3dbe4}
.ycps-sheet-close{position:absolute;top:10px;right:10px;z-index:3;width:34px;height:34px!important;
  padding:0!important;border-radius:50%!important;background:rgba(255,255,255,.94);color:#17324f;
  font-size:22px;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.ycps-sheet-body .ycps-popup{border-radius:0}
.ycps-sheet-body .ycps-popup-image{height:200px;border-radius:12px;margin:0 12px;width:calc(100% - 24px)}
.ycps-sheet-body .ycps-popup-image.is-noimage{height:auto;min-height:0;padding:4px 4px 0;margin:0 12px}
.ycps-sheet-body .ycps-popup-body{padding:14px 16px 4px}
.ycps-sheet-body .ycps-popup-body strong{font-size:17px}
.ycps-sheet-cta{padding:8px 16px 4px}
.ycps-sheet-cta .ycps-qv-view{width:100%}
.ycps-popup-skeleton .ycps-popup-image{height:150px;background:linear-gradient(90deg,#eef2f6,#e3eaf1,#eef2f6);
  background-size:200% 100%;animation:ycps-shimmer 1.1s linear infinite}
.ycps-popup-error{padding:22px 16px;text-align:center;color:#6a7684;font-size:13.5px}
@keyframes ycps-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ---- Multi-select on phones ----------------------------------------
   The anchored panel becomes a bottom sheet: full width rows, a sticky
   Done bar, and a backdrop that catches the tap outside. */
.ycps-ms-backdrop{position:fixed;inset:0;z-index:99990;background:rgba(9,24,45,.45)}
.ycps-ms-backdrop[hidden]{display:none}
html.ycps-ms-locked,html.ycps-ms-locked body{overflow:hidden}
/* The filter card carries z-index:500, which caps everything inside it. An
   open sheet has to clear the map overlays and the backdrop, so the card
   itself is lifted for as long as one is open. */
html.ycps-ms-locked .ycps-filter{z-index:99995}
html.ycps-ms-locked .ycps-pin-note,html.ycps-ms-locked .ycps-search-here{opacity:0;pointer-events:none}
.ycps-ms-search{padding:8px 8px 0}
.ycps-ms-search input{height:40px!important;font-size:14px}

@media(max-width:720px){
  .ycps-ms.is-sheet .ycps-ms-panel{position:fixed;z-index:99991;left:0;right:0;bottom:0;top:auto;width:100%;
    border-radius:18px 18px 0 0;border:0;max-height:76vh;display:flex;flex-direction:column;
    box-shadow:0 -10px 40px rgba(7,35,72,.3)}
  .ycps-ms.is-sheet .ycps-ms-panel::before{content:"";display:block;width:44px;height:4px;margin:10px auto 4px;
    border-radius:2px;background:#d3dbe4;flex:0 0 auto}
  .ycps-ms.is-sheet .ycps-ms-list{flex:1 1 auto;max-height:none;overflow-y:auto;padding:6px 10px 10px;
    -webkit-overflow-scrolling:touch}
  .ycps-ms.is-sheet .ycps-ms-opt{padding:13px 10px;font-size:15px;border-radius:9px}
  .ycps-ms.is-sheet .ycps-ms-opt input{width:20px!important;height:20px!important;flex:0 0 20px}
  .ycps-ms.is-sheet .ycps-ms-opt:active{background:#eef4fb}
  .ycps-ms.is-sheet .ycps-ms-actions{position:sticky;bottom:0;padding:10px 12px max(12px,env(safe-area-inset-bottom));
    gap:12px;border-top:1px solid var(--line,#e3e9ef);background:#fff}
  .ycps-ms.is-sheet .ycps-ms-actions button{flex:1;height:48px!important}
  .ycps-ms.is-sheet .ycps-ms-search{padding:6px 12px 2px}

  /* Filter fields and buttons all reach 48px, the comfortable thumb size. */
  .ycps-ms-toggle{height:50px!important;font-size:15px}
  .ycps input,.ycps select{height:50px;font-size:15px}
  .ycps-check{height:50px;font-size:14.5px}
  .ycps-check input{width:20px!important;height:20px!important}

  /* Map tools stack away from the zoom control. */
  .ycps-map-tools{right:10px;top:10px;flex-direction:column;align-items:flex-end}
  .ycps-map-tools button{height:36px!important;font-size:12.5px;padding:0 12px!important}
  .ycps-draw-hint{top:auto;bottom:58px;font-size:12px;padding:8px 12px}
  .ycps-search-here{top:auto;bottom:12px;height:38px!important;font-size:13px}

  /* On a phone the pin count and the move toggle move out of the map and
     into a strip beneath it, so neither covers a listing. */
  .ycps-map-shell{display:flex;flex-wrap:wrap;align-items:center;background:#fff}
  .ycps-map{flex:0 0 100%}
  .ycps-pin-note{position:static!important;order:2;flex:1 1 auto;min-width:0;margin:9px 0 9px 12px;
    max-width:none;padding:0;border:0;background:none;box-shadow:none;font-size:11.5px;color:#52606d}
  .ycps-map-move{position:static!important;order:3;flex:0 0 auto;margin:9px 12px 9px auto;
    height:30px!important;padding:0 11px!important;white-space:nowrap}
  /* v0.4.2 shrank this to a bare circle because it floated over the map.
     In the strip it has room for its wording again. */
  .ycps-map-move{width:auto!important;border-radius:16px!important;overflow:visible!important;
    justify-content:flex-start!important;gap:7px}
  .ycps-map-move span{display:inline!important;font-size:11px!important}
  .ycps-map-move input{width:15px!important;height:15px!important;min-width:15px!important;
    max-width:15px!important;flex-basis:15px!important}
  .ycps-marker{min-width:58px;height:28px;font-size:12px;padding:0 9px}
  .ycps-cluster{width:40px;height:40px;font-size:12.5px}
}

/* The popup never opens on a phone now, though a tablet in portrait still
   sees one; keep it inside the viewport. */
@media(max-width:520px){
  .ycps-popup-shell .leaflet-popup-content{width:min(260px,calc(100vw - 70px))!important}
  .ycps-sheet-body .ycps-popup-image{height:180px}
}


/* =====================================================================
   v1.0.0 — professional search surface, split map, mobile-first UX
   ===================================================================== */

/* --- Homepage search: opaque, deliberate, no watery/glass background --- */
.ycps-home-widget{
  --yc:#0b376f;--accent:#146fc1;--line:#dfe7ef;--muted:#687789;
  display:block!important;position:relative;z-index:30;isolation:isolate;
  width:min(1180px,calc(100% - 28px))!important;margin:0 auto!important;padding:12px!important;
  background:#fff!important;border:1px solid #e0e6ed!important;border-radius:18px!important;
  box-shadow:0 18px 50px rgba(15,45,82,.16)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible!important
}
.ycps-home-primary{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(180px,.9fr) minmax(180px,.9fr) minmax(165px,.65fr);gap:10px;align-items:end}
.ycps-home-widget .ycps-field{margin:0!important}
.ycps-home-widget .ycps-field>span{font-size:11px!important;color:#66788b!important;margin-bottom:1px}
.ycps-home-widget input,.ycps-home-widget select,.ycps-home-widget .ycps-ms-toggle{height:52px!important;border-radius:11px!important;border:1px solid #d5dfe8!important;background:#fff!important}
.ycps-home-widget .ycps-ms-panel{z-index:6000!important}
.ycps-home-submit{height:52px!important;border-radius:11px!important;background:#0b376f!important;font-weight:800!important}
.ycps-home-submit:hover{background:#082b58!important}
.ycps-home-more{display:inline-flex!important;align-items:center!important;gap:6px!important;width:auto!important;height:32px!important;margin:9px 0 -2px!important;padding:0 7px!important;border:0!important;background:transparent!important;color:#0b376f!important;font-size:12px!important;font-weight:800!important}
.ycps-home-more svg{width:15px;height:15px;transition:transform .18s}
.ycps-home-more[aria-expanded="true"] svg{transform:rotate(180deg)}
.ycps-home-advanced{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px;padding-top:11px;border-top:1px solid #edf1f5}
.ycps-home-advanced[hidden]{display:none!important}
@media(max-width:900px){
  .ycps-home-primary{grid-template-columns:1fr 1fr}
  .ycps-home-keyword{grid-column:1/-1!important}
  .ycps-home-submit{grid-column:1/-1}
  .ycps-home-advanced{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .ycps-home-widget{width:calc(100% - 18px)!important;padding:10px!important;border-radius:15px!important;box-shadow:0 12px 34px rgba(15,45,82,.14)!important}
  .ycps-home-primary,.ycps-home-advanced{grid-template-columns:1fr}
  .ycps-home-primary .ycps-field,.ycps-home-submit,.ycps-home-advanced .ycps-field{grid-column:1!important;width:100%!important}
  .ycps-home-widget input,.ycps-home-widget select,.ycps-home-widget .ycps-ms-toggle,.ycps-home-submit{height:50px!important}
  .ycps-home-more{margin-top:7px!important}
}

/* --- General filter polish --- */
.ycps-filter{border-color:#dfe7ef;box-shadow:0 12px 34px rgba(15,45,82,.08)}
.ycps-filter-top{align-items:center;justify-content:space-between;min-height:28px}
.ycps-filter-title{display:none;color:#0b376f;font-size:18px;line-height:1.2}
.ycps-filter-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.ycps-filter-close{display:none!important;width:38px!important;height:38px!important;padding:0!important;border-radius:50%!important;background:#eff4f8!important;color:#163b63!important;font-size:24px!important;line-height:1!important}
.ycps-submit{background:#0b376f}
.ycps-submit:hover{background:#082b58}
.ycps-mobile-shellbar,.ycps-filter-backdrop{display:none}

/* --- Desktop map: professional real-estate split view --- */
@media(min-width:901px){
  .ycps-map-page{
    display:grid!important;grid-template-columns:minmax(390px,455px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);
    width:100vw!important;max-width:none!important;height:max(700px,calc(100vh - 105px));min-height:700px;
    margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
    background:#f7f9fb!important;overflow:hidden;border-top:1px solid #e5ebf1;border-bottom:1px solid #e5ebf1
  }
  .ycps-map-page .ycps-map-shell{grid-column:2;grid-row:1/3;height:100%;min-height:0;z-index:1;background:#e8edf2}
  .ycps-map-page .ycps-map{height:100%!important;min-height:100%!important}
  .ycps-map-page .ycps-filter{
    grid-column:1;grid-row:1;position:relative!important;top:auto!important;left:auto!important;transform:none!important;
    width:100%!important;margin:0!important;padding:18px!important;border:0!important;border-right:1px solid #e2e8ef!important;border-radius:0!important;
    box-shadow:none!important;background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    max-height:48vh;overflow:auto;z-index:20
  }
  .ycps-map-page .ycps-filter-title{display:block}
  .ycps-map-page .ycps-filter-main,.ycps-map-page .ycps-filter-main--locked,.ycps-map-page .ycps-filter-secondary,.ycps-map-page .ycps-filter-more{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .ycps-map-page .ycps-keyword{grid-column:1/-1}
  .ycps-map-page .ycps-submit{grid-column:1/-1;width:100%}
  .ycps-map-page .ycps-more{width:100%}
  .ycps-map-page .ycps-filter-more{max-height:none!important;overflow:visible!important}
  .ycps-map-page .ycps-filter-footer{margin-top:14px;padding-top:13px;justify-content:space-between;gap:10px;flex-wrap:wrap}
  .ycps-map-page .ycps-sort-label{width:100%;justify-content:space-between}
  .ycps-map-page .ycps-sort{width:210px!important}
  .ycps-map-page .ycps-results-wrap{
    grid-column:1;grid-row:2;min-height:0;overflow:auto;padding:14px!important;border:0!important;border-right:1px solid #e2e8ef!important;border-top:1px solid #edf1f5!important;background:#f7f9fb!important
  }
  .ycps-map-page .ycps-results{grid-template-columns:1fr!important;gap:12px!important}
  .ycps-map-page .ycps-card{display:grid;grid-template-columns:145px minmax(0,1fr);min-height:120px;border-radius:12px;box-shadow:0 2px 10px rgba(15,45,82,.06)}
  .ycps-map-page .ycps-card-image{height:100%;min-height:120px}
  .ycps-map-page .ycps-card-body{padding:12px}
  .ycps-map-page .ycps-card h3{font-size:14px;margin:4px 0 8px}
  .ycps-map-page .ycps-price{font-size:12px;left:8px;bottom:8px;padding:5px 7px}
  .ycps-map-page .ycps-label{left:8px;top:8px;font-size:9px;padding:4px 6px}
  .ycps-map-page .ycps-qv-hint{display:none}
}

/* --- Mobile map: full viewport, map/list switch, bottom-sheet filters --- */
@media(max-width:900px){
  html.ycps-filter-locked,html.ycps-filter-locked body{overflow:hidden!important}
  .ycps-map-page{
    position:relative!important;display:block!important;width:100vw!important;max-width:none!important;
    height:calc(100dvh - 58px);min-height:610px;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
    background:#fff!important;overflow:hidden!important
  }
  .ycps-map-page .ycps-mobile-shellbar{
    display:flex;position:absolute;z-index:920;top:10px;left:10px;right:10px;height:48px;align-items:center;gap:8px;pointer-events:none
  }
  .ycps-map-page .ycps-mobile-shellbar>*{pointer-events:auto}
  .ycps-mobile-search-open{
    flex:1;min-width:0;height:48px!important;display:flex;align-items:center;gap:9px!important;padding:0 14px!important;
    border:1px solid #dce4ec!important;border-radius:13px!important;background:#fff!important;color:#24415f!important;
    box-shadow:0 6px 20px rgba(10,35,68,.16)!important;text-align:left;font-size:14px!important;font-weight:750!important
  }
  .ycps-mobile-search-open svg{width:19px;height:19px;flex:0 0 19px;color:#0b376f}
  .ycps-mobile-search-open span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ycps-mobile-view-switch{display:flex;height:48px;padding:4px;background:#fff;border:1px solid #dce4ec;border-radius:13px;box-shadow:0 6px 20px rgba(10,35,68,.16)}
  .ycps-mobile-view-switch button{height:38px!important;padding:0 12px!important;border-radius:9px!important;background:transparent!important;color:#5e7082!important;font-size:12px!important;font-weight:800!important}
  .ycps-mobile-view-switch button.is-active{background:#0b376f!important;color:#fff!important}
  .ycps-map-page .ycps-map-shell{display:block!important;position:absolute!important;inset:0!important;height:100%!important;min-height:0!important;background:#e8edf2!important}
  .ycps-map-page .ycps-map{height:100%!important;min-height:100%!important;max-height:none!important}
  .ycps-map-page .ycps-map-tools{top:70px!important;right:10px!important}
  .ycps-map-page .ycps-map-tools button{height:38px!important;background:#fff!important;box-shadow:0 5px 16px rgba(10,35,68,.16)!important}
  .ycps-map-page .ycps-pin-note{position:absolute!important;left:12px!important;bottom:68px!important;margin:0!important;max-width:calc(100% - 24px)!important;padding:7px 10px!important;background:rgba(255,255,255,.96)!important;border:1px solid #dfe7ef!important;border-radius:15px!important;box-shadow:0 4px 14px rgba(10,35,68,.12)!important}
  .ycps-map-page .ycps-map-move{position:absolute!important;right:12px!important;bottom:16px!important;margin:0!important;height:38px!important;padding:0 12px!important;background:#fff!important;box-shadow:0 5px 16px rgba(10,35,68,.16)!important}
  .ycps-map-page .ycps-search-here{bottom:16px!important}

  .ycps-map-page .ycps-filter-backdrop{position:fixed;display:block;z-index:100010;inset:0;background:rgba(6,20,38,.5)}
  .ycps-map-page .ycps-filter-backdrop[hidden]{display:none!important}
  .ycps-map-page .ycps-filter{
    position:fixed!important;z-index:100020!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;
    transform:translateY(105%)!important;width:100%!important;max-width:none!important;max-height:88dvh;overflow:auto;
    margin:0!important;padding:14px 14px max(18px,env(safe-area-inset-bottom))!important;border:0!important;border-radius:20px 20px 0 0!important;
    background:#fff!important;box-shadow:0 -18px 55px rgba(5,22,46,.28)!important;transition:transform .22s ease-out!important
  }
  .ycps-map-page.ycps-filters-open .ycps-filter{transform:translateY(0)!important}
  .ycps-map-page .ycps-filter-top{position:sticky;top:-14px;z-index:4;margin:-14px -14px 12px;padding:14px;background:#fff;border-bottom:1px solid #edf1f5}
  .ycps-map-page .ycps-filter-title{display:block;font-size:19px}
  .ycps-map-page .ycps-filter-close{display:inline-flex!important;align-items:center;justify-content:center}
  .ycps-map-page .ycps-filter-main,.ycps-map-page .ycps-filter-main--locked,.ycps-map-page .ycps-filter-secondary,.ycps-map-page .ycps-filter-more{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .ycps-map-page .ycps-keyword{grid-column:1/-1!important}
  .ycps-map-page .ycps-submit,.ycps-map-page .ycps-more{width:100%!important}
  .ycps-map-page .ycps-filter-footer{flex-direction:column;align-items:stretch!important;gap:10px!important}
  .ycps-map-page .ycps-sort-label{width:100%!important;justify-content:space-between}
  .ycps-map-page .ycps-sort{width:58%!important}

  .ycps-map-page .ycps-results-wrap{
    display:none;position:absolute!important;z-index:40;inset:66px 0 0!important;overflow:auto!important;
    padding:12px!important;border:0!important;background:#f6f8fb!important;-webkit-overflow-scrolling:touch
  }
  .ycps-map-page.ycps-mobile-list .ycps-map-shell{display:none!important}
  .ycps-map-page.ycps-mobile-list .ycps-results-wrap{display:block!important}
  .ycps-map-page .ycps-results{grid-template-columns:1fr!important;gap:12px!important}
  .ycps-map-page .ycps-card{border-radius:13px!important;box-shadow:0 3px 14px rgba(14,43,78,.08)!important}
  .ycps-map-page .ycps-card-image{height:220px!important}
  .ycps-map-page .ycps-status{padding:8px 6px 12px}
}
@media(max-width:520px){
  .ycps-map-page{height:calc(100dvh - 52px);min-height:560px}
  .ycps-mobile-view-switch button{padding:0 10px!important}
  .ycps-map-page .ycps-filter-main,.ycps-map-page .ycps-filter-main--locked,.ycps-map-page .ycps-filter-secondary,.ycps-map-page .ycps-filter-more{grid-template-columns:1fr!important}
  .ycps-map-page .ycps-sort{width:100%!important}
  .ycps-map-page .ycps-sort-label{display:block}
  .ycps-map-page .ycps-sort-label>span{display:block;margin-bottom:6px}
}

/* --- Category / browse page --- */
.ycps-categories{--yc:#0b376f;--accent:#146fc1;--line:#dfe7ef;--muted:#687789;width:min(1220px,calc(100% - 30px));margin:42px auto 70px;color:#14243a;font-family:inherit}
.ycps-categories *{box-sizing:border-box}
.ycps-categories-head{max-width:760px;margin-bottom:34px}
.ycps-categories-head>span{display:inline-block;margin-bottom:8px;color:#146fc1;font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.ycps-categories-head h2{margin:0 0 10px;color:#0b376f;font-size:clamp(30px,4vw,48px);line-height:1.08}
.ycps-categories-head p{margin:0;color:#687789;font-size:16px;line-height:1.6}
.ycps-category-section{margin-top:38px}
.ycps-category-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.ycps-category-section-head h3{margin:0;color:#0b376f;font-size:22px}
.ycps-category-section-head a{color:#0b376f;font-size:13px;font-weight:800;text-decoration:none}
.ycps-price-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ycps-price-category{position:relative;min-height:132px;padding:18px 42px 18px 18px;border:1px solid #dfe7ef;border-radius:15px;background:#fff;color:#14243a;text-decoration:none!important;box-shadow:0 4px 16px rgba(15,45,82,.05);transition:transform .16s,box-shadow .16s,border-color .16s}
.ycps-price-category:hover{transform:translateY(-2px);border-color:#b9cce0;box-shadow:0 12px 28px rgba(15,45,82,.1)}
.ycps-price-category-index{display:block;margin-bottom:14px;color:#91a0af;font-size:11px;font-weight:850;letter-spacing:.1em}
.ycps-price-category strong{display:block;color:#0b376f;font-size:17px;line-height:1.3}
.ycps-price-category small{display:block;margin-top:6px;color:#758496;font-size:12px}
.ycps-category-arrow{position:absolute;right:16px;bottom:16px;color:#146fc1;font-size:20px}
.ycps-type-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ycps-type-categories a{display:flex;flex-direction:column;gap:8px;min-height:96px;padding:17px;border:1px solid #dfe7ef;border-radius:14px;background:#fff;text-decoration:none!important;transition:border-color .16s,box-shadow .16s}
.ycps-type-categories a:hover{border-color:#b9cce0;box-shadow:0 8px 22px rgba(15,45,82,.08)}
.ycps-type-categories strong{color:#0b376f;font-size:15px}
.ycps-type-categories span{color:#758496;font-size:12px;font-weight:700}
.ycps-location-categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.ycps-location-categories a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border:1px solid #e2e8ef;border-radius:10px;background:#fff;color:#25415e;text-decoration:none!important;font-size:13px;font-weight:700}
.ycps-location-categories a:hover{border-color:#b9cce0;background:#f8fbfe}
.ycps-location-categories small{color:#8a99a8;font-size:11px}
@media(max-width:980px){.ycps-price-categories,.ycps-type-categories{grid-template-columns:repeat(2,1fr)}.ycps-location-categories{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){
  .ycps-categories{width:calc(100% - 20px);margin:26px auto 45px}
  .ycps-categories-head{margin-bottom:24px}.ycps-categories-head h2{font-size:31px}.ycps-categories-head p{font-size:14px}
  .ycps-category-section{margin-top:30px}.ycps-category-section-head{align-items:flex-end}.ycps-category-section-head h3{font-size:19px}
  .ycps-price-categories,.ycps-type-categories{grid-template-columns:1fr}.ycps-location-categories{grid-template-columns:1fr 1fr}
  .ycps-price-category{min-height:112px}.ycps-type-categories a{min-height:82px}
}


/* =====================================================================
   v1.0.1 — restore familiar homepage bar + reliable phone selectors
   ===================================================================== */

/* Homepage search: same all-visible layout as the original search bar. */
.ycps-home-widget{
  display:grid!important;
  grid-template-columns:minmax(260px,1.55fr) minmax(155px,.8fr) minmax(155px,.8fr) minmax(155px,.8fr)!important;
  gap:10px!important;align-items:end!important;
  width:min(920px,calc(100% - 24px))!important;
  padding:12px!important;background:#fff!important;border:1px solid #e0e6ed!important;
  border-radius:14px!important;box-shadow:0 12px 36px rgba(15,45,82,.13)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible!important
}
.ycps-home-widget .ycps-home-keyword{grid-column:span 2!important}
.ycps-home-widget .ycps-ms[data-name="label"]{grid-column:span 2!important}
.ycps-home-widget .ycps-home-submit{grid-column:span 2!important;width:100%!important;min-width:0!important}
.ycps-home-widget .ycps-field,.ycps-home-widget .ycps-ms{min-width:0!important}
.ycps-home-widget input,.ycps-home-widget select,.ycps-home-widget .ycps-ms-toggle,.ycps-home-widget .ycps-home-submit{height:50px!important;border-radius:9px!important}
.ycps-home-more,.ycps-home-advanced,.ycps-home-primary{display:contents!important}

/* Keep the checkbox itself under plugin control; some themes hide/replace it. */
.ycps-ms-opt{position:relative!important;pointer-events:auto!important;touch-action:manipulation}
.ycps-ms-opt input[type="checkbox"]{
  -webkit-appearance:checkbox!important;appearance:auto!important;
  position:static!important;display:block!important;visibility:visible!important;opacity:1!important;
  width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;
  margin:0!important;padding:0!important;pointer-events:auto!important;accent-color:#0b376f!important
}
.ycps-ms-panel{z-index:100200!important}
.ycps-ms-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

/* No nested full-screen selector on phones. The dropdown stays attached to
   the field, so Location / Property type / Listing remain easy to tap. */
@media(max-width:720px){
  html.ycps-ms-locked,html.ycps-ms-locked body{overflow:auto!important}
  .ycps-ms-backdrop{display:none!important;pointer-events:none!important}
  .ycps-ms.is-sheet .ycps-ms-panel,.ycps-ms-panel{
    position:absolute!important;left:0!important;right:auto!important;top:calc(100% + 6px)!important;bottom:auto!important;
    width:100%!important;min-width:0!important;max-height:none!important;border-radius:10px!important;
    box-shadow:0 12px 30px rgba(12,47,99,.18)!important;overflow:hidden!important
  }
  .ycps-ms.is-sheet .ycps-ms-panel::before{display:none!important}
  .ycps-ms.is-sheet .ycps-ms-list,.ycps-ms-list{max-height:300px!important;overflow-y:auto!important;padding:6px!important}
  .ycps-ms.is-sheet .ycps-ms-opt,.ycps-ms-opt{padding:11px 9px!important;font-size:14px!important}
  .ycps-ms.is-sheet .ycps-ms-actions,.ycps-ms-actions{position:static!important;padding:8px!important}
  .ycps-ms.is-sheet .ycps-ms-actions button,.ycps-ms-actions button{height:40px!important}
  .ycps-ms.is-sheet .ycps-ms-search,.ycps-ms-search{padding:8px 8px 0!important}

  /* Inside the mobile map filter, expand a selector in the normal document
     flow so the parent filter can scroll instead of clipping it. */
  .ycps-map-page .ycps-filter .ycps-ms.is-open .ycps-ms-panel{
    position:relative!important;top:auto!important;left:auto!important;right:auto!important;
    margin-top:6px!important;width:100%!important
  }

  .ycps-home-widget{
    grid-template-columns:1fr!important;width:calc(100% - 16px)!important;padding:10px!important;
    gap:9px!important;border-radius:12px!important;box-shadow:0 8px 24px rgba(15,45,82,.12)!important
  }
  .ycps-home-widget .ycps-home-keyword,.ycps-home-widget .ycps-ms[data-name="label"],.ycps-home-widget .ycps-home-submit{
    grid-column:1!important;width:100%!important
  }
  .ycps-home-widget .ycps-field,.ycps-home-widget .ycps-ms{grid-column:1!important;width:100%!important}
}

/* Search-as-you-move is always on in JavaScript, so no map switch/manual
   "search this area" control is displayed. */
.ycps-map-move,.ycps-search-here{display:none!important}
@media(max-width:900px){
  .ycps-map-page .ycps-pin-note{bottom:16px!important}
}
