/* FILE 7 — https://sesy.host/realestate/sesy-ux.css   (load AFTER styles.css) */
:root{--sesy-scale:1;--sesy-base:17px;--sesy-red:#C0392B;--sesy-red-d:#8E2B20;--sesy-green:#2E8B57;--sesy-green-d:#20613C;}
html{font-size:calc(var(--sesy-base) * var(--sesy-scale));-webkit-text-size-adjust:100%;}
@media(min-width:1400px){:root{--sesy-base:18px;}}
@media(max-width:600px){:root{--sesy-base:16.5px;}}

body,p,li,td,th,select,input,button,summary,a{font-size:1rem;line-height:1.65;}
.strap h1{font-size:clamp(1.75rem,4.2vw,3rem);line-height:1.12;}
.strap p,.a-lede{font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.7;}
h2{font-size:clamp(1.45rem,2.6vw,2.1rem);line-height:1.2;}
h3{font-size:clamp(1.15rem,2vw,1.5rem);}
.seo-copy p,.faq-item p,.modal .desc{font-size:1.02rem;line-height:1.8;}
.zonetable,.zonetable td,.zonetable th{font-size:.98rem;line-height:1.6;}
.count,.toolbar select,.filters select,.price-vals,.fxnote,.credit-line,.copyright{font-size:.95rem;}
.fxnote,.credit-line,.copyright{line-height:1.7;}
.listing-title{font-size:clamp(1.2rem,2.2vw,1.6rem);}
.modal .desc,.modal td,.modal th,.modal li{font-size:1rem;line-height:1.75;}
.es-item{font-size:.95rem;}
.mg-item b{font-size:1rem;}.mg-item .d{font-size:.88rem;line-height:1.5;}

/* landing lede */
.landing-lede{max-width:78ch;margin:14px 0 0;font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.75;opacity:.92;}

/* ---------- wider menu + bigger tap targets ---------- */
header .wrap.nav{max-width:1600px;gap:18px;}
header .links{gap:6px;flex-wrap:wrap;}
header .links a{font-size:1rem;padding:12px 16px;border-radius:10px;font-weight:600;letter-spacing:.01em;}
header .links a:hover{background:rgba(95,166,154,.14);}
header .btn.wa{font-size:1rem;padding:13px 22px;}
.filters .wrap.filters-row{max-width:1600px;gap:12px;flex-wrap:wrap;}
.filters select{min-height:50px;padding:12px 14px;font-size:1rem;}
.findbtn,.clearbtn{min-height:50px;padding:12px 26px;font-size:1rem;font-weight:700;}
.mobile-toggle{font-size:1.5rem;min-width:52px;min-height:52px;}
@media(max-width:934px){
 header .links{width:100%;}
 header .links a{flex:1 1 44%;text-align:center;}
 .filters .fgroup{flex:1 1 46%;}
 .filters .fgroup.price-slider{flex:1 1 100%;}
 .findbtn,.clearbtn{flex:1 1 46%;}
}

/* ---------- lightbox controls: full width, colored ---------- */
.lb-bar,.lb-foot{padding:10px 12px;}
.lb-foot{display:flex;flex-direction:column;gap:10px;align-items:stretch;}
#lbCounter{font-size:1.05rem;font-weight:700;letter-spacing:.04em;}
.lb-arrow{display:none!important;}
.lb-nav{display:flex;gap:10px;width:100%;max-width:1100px;margin:0 auto;}
.lb-nav button{flex:1 1 33%;min-height:60px;border:none;border-radius:12px;cursor:pointer;
 font-size:1.05rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#fff;
 display:flex;align-items:center;justify-content:center;gap:8px;transition:filter .15s,transform .05s;}
.lb-nav button:active{transform:translateY(1px);}
.lb-nav button:hover{filter:brightness(1.12);}
.lb-nav .nav-prev,.lb-nav .nav-next{background:linear-gradient(180deg,var(--sesy-green),var(--sesy-green-d));}
.lb-nav .nav-close{background:linear-gradient(180deg,var(--sesy-red),var(--sesy-red-d));}
.lb-close-center,.lb-close-bottom{background:linear-gradient(180deg,var(--sesy-red),var(--sesy-red-d))!important;
 color:#fff!important;border:none!important;min-height:52px;padding:0 26px;border-radius:12px;
 font-size:1.02rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;width:100%;max-width:1100px;}
@media(max-width:600px){.lb-nav button{font-size:.95rem;min-height:56px;}}

/* ---------- infinite scroll ---------- */
.sesy-hidden{display:none!important;}
#sesySentinel{display:flex;align-items:center;justify-content:center;gap:12px;
 padding:34px 0 44px;font-size:.98rem;font-weight:600;opacity:.75;}
.sesy-spin{width:20px;height:20px;border:3px solid rgba(95,166,154,.25);border-top-color:#5FA69A;
 border-radius:50%;animation:sesyspin .8s linear infinite;}
@keyframes sesyspin{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){.sesy-spin{animation:none;}}

/* ---------- text size toggle ---------- */
#sesyTextBtn{position:fixed;left:14px;bottom:14px;z-index:900;width:52px;height:52px;border-radius:50%;
 border:1px solid rgba(34,57,47,.18);background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
 box-shadow:0 4px 18px rgba(0,0,0,.16);cursor:pointer;color:#22392F;font-weight:800;
 display:flex;align-items:center;justify-content:center;opacity:.72;transition:opacity .15s,transform .15s;}
#sesyTextBtn:hover{opacity:1;transform:scale(1.06);}
#sesyTextBtn span{font-size:15px;line-height:1;}
@media(max-width:934px){#sesyTextBtn{left:10px;bottom:76px;width:46px;height:46px;}}

/* ---------- mobile tap fix ---------- */
#listingsGrid>*{touch-action:manipulation;cursor:pointer;}
#stickyMobileMapWrapper[data-sesy-suppress]{pointer-events:none!important;}

/* ---------- survey ---------- */
#sesySurvey{position:fixed;inset:0;z-index:4000;background:rgba(16,22,19,.62);backdrop-filter:blur(4px);
 display:none;align-items:flex-end;justify-content:center;}
#sesySurvey.on{display:flex;}
@media(min-width:700px){#sesySurvey{align-items:center;}}
.sv-card{width:100%;max-width:560px;background:#fff;border-radius:20px 20px 0 0;padding:22px 20px 26px;
 box-shadow:0 -10px 40px rgba(0,0,0,.28);max-height:92vh;overflow:auto;}
@media(min-width:700px){.sv-card{border-radius:20px;}}
.sv-head{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;letter-spacing:.06em;
 text-transform:uppercase;color:#5FA69A;font-weight:800;}
.sv-x{background:linear-gradient(180deg,var(--sesy-red),var(--sesy-red-d));color:#fff;border:none;
 width:40px;height:40px;border-radius:50%;font-size:1.05rem;cursor:pointer;}
.sv-bar{height:5px;border-radius:4px;background:rgba(34,57,47,.1);margin:12px 0 18px;overflow:hidden;}
.sv-bar i{display:block;height:100%;background:#5FA69A;transition:width .25s;}
.sv-q{margin:0 0 16px;font-size:clamp(1.25rem,2.4vw,1.6rem);line-height:1.25;color:#22392F;}
.sv-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:420px){.sv-opts{grid-template-columns:1fr;}}
.sv-o{min-height:56px;border:2px solid rgba(34,57,47,.14);background:#F7FAF8;border-radius:12px;
 font-size:1rem;font-weight:600;color:#22392F;cursor:pointer;padding:10px 12px;transition:.12s;}
.sv-o:hover{border-color:#5FA69A;background:#EAF4F1;}
.sv-in{width:100%;min-height:56px;border:2px solid rgba(34,57,47,.16);border-radius:12px;padding:12px 14px;
 font-size:1.05rem;margin-bottom:12px;}
.sv-in.sv-err{border-color: