@font-face{font-family:Inter;src:url(/assets/inter.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(/assets/jakarta.woff2) format("woff2");font-weight:700 800;font-display:swap}
:root{--bg:#F7F8F5;--panel:#fff;--panel2:#F1F4EF;--line:#DCE1DB;--line2:#C9D0C6;--fg:#101418;--fg2:#4A5560;--fg3:#7A8590;--green:#0B7A55;--green2:#0E9F6E;--mint:#DDF3E8;--mint2:#EEF8F2;--star:#E8A317;--ad:#FBEFD9;--adtxt:#7a4f06;--ff:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--fd:"Plus Jakarta Sans",Inter,system-ui,sans-serif;--r:16px;--rb:12px;--sh:0 1px 2px rgba(16,20,24,.04),0 8px 24px -16px rgba(16,20,24,.25)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15.5px/1.6 var(--ff);color:var(--fg);background:var(--bg)}
a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{font-family:var(--fd);letter-spacing:-.02em;line-height:1.15;margin:0 0 .4em}
h1{font-size:clamp(30px,4.6vw,52px);font-weight:800}h2{font-size:clamp(22px,2.6vw,30px);font-weight:800}h3{font-size:18px;font-weight:700}
.in{max-width:1240px;margin:0 auto;padding:0 24px}
.accent{color:var(--green);background:linear-gradient(180deg,transparent 80%,rgba(14,159,110,.2) 0,rgba(14,159,110,.2) 94%,transparent 0)}
/* header */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hd .in{display:flex;align-items:center;gap:20px;height:64px}
.logo{display:flex;align-items:center;gap:10px;color:var(--fg);font:800 17px var(--fd);letter-spacing:-.02em}.logo:hover{text-decoration:none}
.mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--green),var(--green2));display:grid;place-items:center;color:#fff;box-shadow:0 8px 24px -10px rgba(11,122,85,.6)}
.nav{display:flex;gap:4px;margin-left:auto}.nav a{color:var(--fg2);font-weight:500;font-size:14.5px;padding:8px 12px;border-radius:10px}.nav a:hover{background:var(--panel2);color:var(--fg);text-decoration:none}
.navfav{display:inline-flex;align-items:center;gap:6px}.cnt{background:var(--green);color:#fff;border-radius:99px;font-size:11px;font-weight:700;padding:1px 7px;min-width:20px;text-align:center}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--rb);padding:11px 18px;font:700 15px/1.2 var(--ff);border:1px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none!important;transition:background .15s,transform .15s,box-shadow .15s}
.btn-p{background:var(--green);color:#fff;box-shadow:0 10px 24px -12px rgba(11,122,85,.55)}.btn-p:hover{background:#09694a;transform:translateY(-1px)}
.btn-g{background:#fff;border-color:var(--line2);color:var(--fg)}.btn-g:hover{border-color:var(--fg3)}
.btn-s{padding:8px 12px;font-size:13.5px;border-radius:10px}.btn-lg{padding:15px 24px;font-size:16px}
.pill{display:inline-flex;gap:8px;align-items:center;padding:6px 12px 6px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--fg2);box-shadow:0 4px 14px -10px rgba(16,20,24,.25)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green2);box-shadow:0 0 0 4px rgba(14,159,110,.18)}
/* hero */
.hero{position:relative;isolation:isolate;padding:64px 0 56px;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(620px 360px at 82% 30%,rgba(14,159,110,.16),transparent 70%),radial-gradient(480px 300px at 6% 8%,rgba(221,243,232,.95),transparent 70%)}
.hero h1{max-width:820px;margin-top:18px}.lead{font-size:18px;color:var(--fg2);max-width:640px;margin:0 0 28px}
.sbox{background:#fff;border:1px solid var(--line);border-radius:20px;padding:10px;display:grid;grid-template-columns:1.6fr 1fr auto;gap:8px;max-width:860px;box-shadow:0 24px 60px -30px rgba(16,20,24,.35)}
.fld{position:relative;display:flex;flex-direction:column;padding:8px 14px;border-radius:12px;background:var(--panel2)}
.fld label{font-size:11.5px;font-weight:700;color:var(--fg3);text-transform:uppercase;letter-spacing:.06em}
.fld input,.fld select{border:0;background:transparent;font:600 16px var(--ff);color:var(--fg);padding:4px 0;outline:0;width:100%;appearance:none;-webkit-appearance:none}
.fld:focus-within{box-shadow:inset 0 0 0 2px var(--green2);background:#fff}
.sbox .btn{height:100%;min-height:56px;padding:0 28px;font-size:16px}
.ac{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 50px -20px rgba(16,20,24,.35);z-index:60;max-height:320px;overflow:auto;display:none;padding:6px}
.ac.on{display:block}.ac div{padding:9px 12px;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;gap:12px;font-size:14.5px}.ac div small{color:var(--fg3)}
.ac div.sel,.ac div:hover{background:var(--mint2)}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;color:var(--fg2);font-size:14px}.trust span{display:inline-flex;gap:7px;align-items:center}
.trust svg{color:var(--green2)}
.quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13.5px;font-weight:600;color:var(--fg2)}.chip:hover{border-color:var(--green2);color:var(--green);text-decoration:none}
/* sections */
.sec{padding:56px 0}.sec-h{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px}.sec-h p{margin:0;color:var(--fg2)}
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.city{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--fg);font-weight:600;transition:border-color .15s,transform .15s}
.city:hover{border-color:var(--green2);transform:translateY(-1px);text-decoration:none}.city small{color:var(--fg3);font-weight:500}
.step b{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--mint);color:var(--green);font:800 16px var(--fd);margin-bottom:12px}
.step p{margin:0;color:var(--fg2)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px;max-width:860px}.stat{background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:14px;padding:12px 16px}.stat b{display:block;font:800 22px var(--fd)}.stat span{font-size:13px;color:var(--fg2)}
.dark{background:#101418;color:#e8ecea;border-radius:24px;padding:40px;position:relative;overflow:hidden}.dark h2{color:#fff}.dark p{color:#A9B4AE}
.dark:before{content:"";position:absolute;inset:auto -10% -60% 40%;height:120%;background:radial-gradient(closest-side,rgba(63,211,154,.35),transparent);pointer-events:none}
/* ad */
.ad{border:1.5px dashed #E6C88F;background:var(--ad);border-radius:var(--r);padding:16px 18px;color:var(--adtxt);font-size:14px;display:flex;gap:12px;align-items:center}
.adl{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#fff;border:1px solid #E6C88F;border-radius:6px;padding:2px 7px;color:var(--adtxt);flex:none}
/* results */
.rs{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;padding:24px 0 60px}
.side{position:sticky;top:84px;align-self:start;max-height:calc(100vh - 100px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:6px 18px 18px}
.fg{border-bottom:1px solid var(--line);padding:14px 0}.fg:last-of-type{border-bottom:0}.fg h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg3)}
.ck{display:flex;align-items:center;gap:10px;padding:5px 0;cursor:pointer;font-size:14.5px}.ck input{width:18px;height:18px;accent-color:var(--green)}.ck small{margin-left:auto;color:var(--fg3)}
.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button{border:1px solid var(--line2);background:#fff;border-radius:10px;padding:7px 11px;font:600 13.5px var(--ff);cursor:pointer;color:var(--fg2)}.seg button.on{background:var(--green);border-color:var(--green);color:#fff}
.sel{width:100%;padding:10px 12px;border:1px solid var(--line2);border-radius:10px;font:500 14.5px var(--ff);background:#fff}
.bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.bar h1{font-size:24px;margin:0}.bar .sp{flex:1}
.sbar{background:#fff;border-bottom:1px solid var(--line)}.sbar .sbox{box-shadow:none;max-width:none;border-radius:16px;margin:14px 0;grid-template-columns:1.8fr 1fr auto}
.tog{display:inline-flex;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:3px}.tog button{border:0;background:transparent;border-radius:9px;padding:7px 12px;font:600 13.5px var(--ff);cursor:pointer;color:var(--fg2);display:inline-flex;gap:6px;align-items:center}.tog button.on{background:#fff;color:var(--fg);box-shadow:0 1px 3px rgba(16,20,24,.12)}
.res{display:flex;flex-direction:column;gap:12px}
.rc{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;transition:box-shadow .15s,border-color .15s;position:relative}
.rc:hover{border-color:var(--line2);box-shadow:var(--sh)}
.av{width:96px;height:96px;border-radius:14px;display:grid;place-items:center;font:800 30px var(--fd);color:var(--green);background:linear-gradient(135deg,var(--mint),var(--mint2))}
.rc h3{margin:0 0 2px;font-size:18px}.rc h3 a{color:var(--fg)}.loc{color:var(--fg2);font-size:14px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.dist{font-weight:700;color:var(--fg)}
.rt{display:flex;align-items:center;gap:6px;margin:8px 0 6px;font-size:14px}.rt b{font-size:15px}.stars{color:var(--star);letter-spacing:1px;font-size:15px}.stars i{color:#DCE1DB;font-style:normal}.src{color:var(--fg3);font-size:12.5px}
.na{color:var(--fg3);font-size:13.5px;font-style:italic}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tag{font-size:12.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--panel2);color:var(--fg2);border:1px solid var(--line)}.tag.g{background:var(--mint2);color:var(--green);border-color:#cdebdb}
.acts{display:flex;flex-direction:column;gap:8px;align-items:stretch;justify-content:space-between;min-width:170px}.acts .row{display:flex;gap:6px}.acts .row .btn{flex:1}
.fav{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--fg3)}.fav.on{color:#E0435A;border-color:#F2C4BE;background:#FBE3E0}
.rc .acts{padding-top:44px}
.empty{background:#fff;border:1px dashed var(--line2);border-radius:var(--r);padding:40px;text-align:center;color:var(--fg2)}
.more{display:flex;justify-content:center;margin-top:18px}
.mob-bar,.sheet,.shade,.mob-only{display:none}
/* profile */
.crumbs{font-size:13.5px;color:var(--fg3);padding:18px 0 0}.crumbs a{color:var(--fg2)}
.pf{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;padding:20px 0 60px}
.pf-h{display:flex;gap:20px;align-items:center}.pf-h .av{width:88px;height:88px}
.kv{display:grid;grid-template-columns:170px 1fr;gap:10px 16px;margin:0}.kv dt{color:var(--fg3);font-size:14px}.kv dd{margin:0;font-weight:500}

.consent{border:1px dashed var(--line2);border-radius:14px;padding:22px;text-align:center;background:var(--panel2);color:var(--fg2);font-size:14px}
.consent iframe{width:100%;min-height:560px;border:0;border-radius:12px;background:#fff}
.stack{display:flex;flex-direction:column;gap:16px}
.prose{max-width:780px}.prose p,.prose li{color:#2b333a}.prose h2{margin-top:1.6em}
table.t{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:14.5px}table.t th,table.t td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}table.t th{background:var(--panel2);font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--fg3)}
/* footer */
.ft{background:#101418;color:#A9B4AE;padding:48px 0 28px;margin-top:40px;font-size:14px}.ft a{color:#e8ecea}.ft .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}.ft h4{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}.ft ul{list-style:none;margin:0;padding:0;line-height:2}.ft .lg{color:#fff}.ft .fine{border-top:1px solid rgba(255,255,255,.08);margin-top:32px;padding-top:18px;font-size:12.5px}
/* ===== mobile layout ===== */
@media (max-width:860px){
 body{font-size:15px}.in{padding:0 16px}
 .nav{display:none}.mob-only{display:inline-flex}.hd .in{height:56px}.hd .navfav{margin-left:auto;color:var(--fg);font-weight:600;font-size:14px}
 .hero{padding:28px 0 32px}.lead{font-size:16px;margin-bottom:20px}
 .sbox{grid-template-columns:1fr;padding:8px;border-radius:18px}.sbox .btn{min-height:52px;width:100%}
 .stats{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr}.grid4{grid-template-columns:1fr 1fr}
 .sec{padding:36px 0}.sec-h{flex-direction:column;align-items:start}.dark{padding:26px;border-radius:20px}
 .sbar .sbox{grid-template-columns:1fr 110px;margin:10px 0}.sbar .sbox .btn{display:none}.sbar .fld{padding:6px 12px}
 .rs{grid-template-columns:1fr;padding:12px 0 90px;gap:0}.side{display:none}
 .bar{margin-bottom:10px}.bar h1{font-size:19px;width:100%}.bar .desk{display:none}
 .rc{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:14px;border-radius:14px}.av{width:56px;height:56px;font-size:20px;border-radius:12px}
 .rc h3{font-size:16px;padding-right:40px}.rc .acts{grid-column:1/-1;padding-top:0;min-width:0;flex-direction:row}.rc .acts .row{flex:1}.rc .acts>.btn{flex:1.2}
 .rt{flex-wrap:wrap;gap:4px 6px}.rt .src{display:none}
 .fav{top:10px;right:10px;width:34px;height:34px}
 .mob-bar{display:flex;position:fixed;left:12px;right:12px;bottom:14px;z-index:70;background:#101418;border-radius:16px;padding:6px;gap:4px;box-shadow:0 18px 40px -12px rgba(0,0,0,.5)}
 .mob-bar button{flex:1;border:0;background:transparent;color:#fff;font:600 14px var(--ff);padding:11px 6px;border-radius:12px;display:inline-flex;gap:7px;justify-content:center;align-items:center}.mob-bar button.on{background:rgba(255,255,255,.12)}
 .shade{position:fixed;inset:0;background:rgba(16,20,24,.45);z-index:80}.shade.on{display:block}
 .sheet{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-radius:22px 22px 0 0;max-height:88vh;transform:translateY(105%);transition:transform .25s ease;box-shadow:0 -20px 50px -20px rgba(0,0,0,.4)}
 .sheet.on{transform:none}.sheet .grab{width:42px;height:5px;border-radius:9px;background:var(--line2);margin:10px auto 4px}
 .sheet .sh-h{display:flex;justify-content:space-between;align-items:center;padding:6px 18px 10px;border-bottom:1px solid var(--line)}.sheet .sh-h b{font:800 18px var(--fd)}
 .sheet .sh-b{overflow:auto;padding:0 18px}.sheet .sh-f{display:flex;gap:10px;padding:12px 18px 18px;border-top:1px solid var(--line)}.sheet .sh-f .btn{flex:1}
 .sheet .ck{padding:8px 0}
 .pf{grid-template-columns:1fr;gap:16px}.kv{grid-template-columns:1fr;gap:2px}.kv dd{margin-bottom:10px}.pf-h .av{width:64px;height:64px}
 .ft .cols{grid-template-columns:1fr 1fr}.ft .cols>div:first-child{grid-column:1/-1}
}

/* v4: logo + photos */
.logo .lm{width:38px;height:38px;flex:none;filter:drop-shadow(0 6px 14px rgba(11,122,85,.35))}
.logo .wm{display:flex;flex-direction:column;line-height:1.05;font:800 18px var(--fd);letter-spacing:-.02em;color:var(--fg)}
.logo .wm small{font:700 10.5px var(--fd);letter-spacing:.22em;text-transform:uppercase;color:var(--green)}
.av{position:relative;overflow:hidden;background:radial-gradient(circle at 30% 25%,#fff 0,transparent 45%),linear-gradient(135deg,var(--mint),#c9ebd9);box-shadow:inset 0 0 0 1px rgba(11,122,85,.12);letter-spacing:.02em}
.av.has{background:var(--panel2)}.av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pfig{padding:0;overflow:hidden;margin:0}.pimg{aspect-ratio:16/9;background:var(--panel2)}.pimg img{width:100%;height:100%;object-fit:cover;display:block}
.pfig figcaption{padding:10px 16px;font-size:13px;color:var(--fg2);border-top:1px solid var(--line)}
.GMP-attribution{font-family:Roboto,Inter,sans-serif;font-weight:400;white-space:nowrap;color:#5e5e5e}

/* ===== v5: MapLibre map (Google-Maps-like) ===== */
.views{position:relative}
#mapwrap{position:relative}
#map{height:calc(100vh - 232px);min-height:520px;border-radius:var(--r);border:1px solid var(--line);overflow:hidden;background:#eef0ec}
body.mapv .views{display:grid;grid-template-columns:minmax(330px,420px) minmax(0,1fr);gap:16px;align-items:start}
body.mapv #listwrap{max-height:calc(100vh - 232px);min-height:520px;overflow:auto;padding-right:4px;scrollbar-width:thin}
body.mapv #mapwrap{position:sticky;top:12px}
body.mapv .rc{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px 14px;cursor:pointer}
body.mapv .rc .av{width:64px;height:64px;font-size:22px;border-radius:50%}body.mapv .rc .acts,body.mapv .rc .tags,body.mapv .rc .src{display:none}
body.mapv .rc h3{font-size:15.5px;padding-right:38px}body.mapv .rc .fav{width:32px;height:32px;top:10px;right:10px}
body.mapv .ad{display:none}
body.mapv .rc:hover{border-color:var(--green2);box-shadow:0 0 0 2px rgba(14,159,110,.18)}
.hzm-pin{width:44px;height:44px;border-radius:50%;border:3px solid var(--green);background:linear-gradient(135deg,var(--mint),var(--mint2));color:var(--green);font:800 14px var(--fd);display:grid;place-items:center;padding:0;overflow:hidden;cursor:pointer;box-shadow:0 2px 6px rgba(16,20,24,.25),0 0 0 2px #fff;transition:transform .18s cubic-bezier(.3,1.4,.6,1),box-shadow .18s}
.hzm-pin img{width:100%;height:100%;object-fit:cover;display:block}
.hzm-pin:hover,.hzm-pin.hl{transform:scale(1.28);z-index:5;box-shadow:0 6px 16px rgba(11,122,85,.45),0 0 0 3px #fff}
.hzm-pin.sel{transform:scale(1.35);z-index:6;border-color:#E0435A}
.hzm-pin.ghost{animation:hzp 1s ease-in-out infinite alternate}@keyframes hzp{to{box-shadow:0 0 0 10px rgba(14,159,110,.25),0 0 0 3px #fff}}
.hzm-pin.big{width:58px;height:58px;font-size:18px}
.maplibregl-marker:has(.hl),.maplibregl-marker:has(.sel){z-index:5}
.hzm-cl{min-width:40px;height:40px;padding:0 10px;border-radius:999px;border:3px solid #fff;background:var(--green);color:#fff;font:800 14px var(--ff);cursor:pointer;box-shadow:0 0 0 6px rgba(11,122,85,.22),0 3px 10px rgba(16,20,24,.25);transition:transform .15s}
.hzm-cl.l{height:48px;min-width:48px;font-size:15px;box-shadow:0 0 0 9px rgba(11,122,85,.2),0 3px 10px rgba(16,20,24,.25)}
.hzm-cl.xl{height:58px;min-width:58px;font-size:16px;box-shadow:0 0 0 12px rgba(11,122,85,.18),0 3px 12px rgba(16,20,24,.3)}
.hzm-cl:hover{transform:scale(1.08)}
.here{position:absolute;top:14px;left:50%;transform:translate(-50%,-8px);opacity:0;pointer-events:none;transition:.2s;border:0;background:#fff;color:var(--fg);font:700 14px var(--ff);padding:10px 16px;border-radius:999px;box-shadow:0 4px 16px rgba(16,20,24,.22);display:inline-flex;gap:8px;align-items:center;cursor:pointer;z-index:3}
.here.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}.here svg{color:var(--green)}
.pv{position:absolute;left:14px;bottom:14px;width:360px;max-width:calc(100% - 28px);background:#fff;border-radius:18px;box-shadow:0 12px 40px -8px rgba(16,20,24,.35);z-index:4;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .2s,transform .25s cubic-bezier(.2,.9,.3,1)}
.pv.on{opacity:1;transform:none;pointer-events:auto}
.pv .grab{display:none}.pv-x{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font:600 20px/1 var(--ff);cursor:pointer;z-index:2;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.pv-n{font-size:12.5px;font-weight:700;color:var(--fg2);padding:12px 16px 0}
.pv-s{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.pv-s::-webkit-scrollbar{display:none}
.pv-c{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px;padding:14px;box-sizing:border-box;position:relative}
.pv-img{width:104px;height:104px;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,var(--mint),var(--mint2));color:var(--green);font:800 30px var(--fd);text-decoration:none!important}
.pv-img img{width:100%;height:100%;object-fit:cover}
.pv-t h3{font-size:16px;margin:0 30px 2px 0;line-height:1.25}.pv-t h3 a{color:var(--fg)}.pv-t .rt{margin:4px 0}.pv-t .loc{font-size:13px}.pv-t .btn{margin-top:8px}
.pv-a{grid-column:1/-1;font-size:11px;color:var(--fg3);margin-top:-6px}
.pmap,.cmap{height:280px;border-radius:14px;border:1px solid var(--line);overflow:hidden;background:var(--panel2)}.cmap{height:380px;margin:0 0 16px}
.pmap.on,.cmap.on{background:#eef0ec}
.hzm-consent{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;text-align:center;font-size:13.5px;color:var(--fg2);box-sizing:border-box;background:repeating-linear-gradient(45deg,#f1f4ef 0 14px,#edf1ea 14px 28px)}
.hzm-consent svg{color:var(--green)}.hzm-consent p{margin:0;max-width:440px}
.hzm-pop{display:flex;flex-direction:column;color:var(--fg)!important;font-size:13px}.hzm-pop b{font-size:14px}
.maplibregl-popup-content{border-radius:12px;padding:10px 14px;box-shadow:0 6px 20px rgba(16,20,24,.2)}
.maplibregl-ctrl-group{border-radius:12px!important;box-shadow:0 2px 10px rgba(16,20,24,.18)!important}
@media (max-width:860px){
 body.mapv .views{display:block}body.mapv #listwrap{display:none}
 body.mapv #mapwrap{position:fixed;inset:56px 0 0 0;z-index:60}
 body.mapv #map{height:100%;min-height:0;border-radius:0;border:0}
 body.mapv .ft{display:none}
 .here{top:12px}
 .pv{left:0;right:0;top:auto;bottom:0;width:auto;max-width:none;border-radius:22px 22px 0 0;padding-bottom:84px;transform:translateY(105%);opacity:1;transition:transform .3s cubic-bezier(.2,.9,.3,1)}
 .pv.on{transform:none}
 .pv .grab{display:block;width:42px;height:5px;border-radius:9px;background:var(--line2);margin:10px auto 0}
 .pv-c{grid-template-columns:96px minmax(0,1fr);flex-basis:calc(100% - 28px);margin-left:0}
 .pv-img{width:96px;height:96px}
}

/* iPhone und iPad: Safari zoomt in jedes Feld mit weniger als 16 px Schrift hinein und bleibt danach hineingezoomt (die ganze Seite
   rutscht zur Seite). Dort sind Eingabefelder deshalb überall mindestens 16 px groß – Desktop und Android bleiben, wie sie sind.
   Ausnahme: das große Betragsfeld im Angebots-Baukasten (22 px). */
@supports (-webkit-touch-callout:none){
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=submit]):not([type=button]):not([type=image]),textarea,select{font-size:16px!important}
  .ae-z.gross .inp{font-size:22px!important}
}
