:root{--ink:#0d2a36;--muted:#69808a;--teal:#13a39a;--teal2:#18c3b4;--mint:#eaf9f5;--line:#dcebea;--dark:#082633;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f7fbfa}.topbar{height:108px;padding:18px 5vw;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brandmark{width:58px;height:58px;color:#20c6b5;flex:0 0 auto}.brand strong{font-size:32px;letter-spacing:-1.5px}.brand strong span{color:var(--teal)}.brand small{font-size:.65em}.brand em{display:block;font-style:normal;text-transform:uppercase;letter-spacing:3px;font-size:10px;color:#7a929c;margin-top:4px}.top-actions{display:flex;gap:10px;align-items:center}.ghost,.primary,.white-btn,.outline-btn{border-radius:16px;padding:14px 18px;text-decoration:none;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.ghost{color:var(--ink);background:#f3f8f7;border:1px solid var(--line)}.primary{background:linear-gradient(135deg,var(--teal),var(--teal2));color:white;border:0}.small{padding:14px 16px}.hero{background:radial-gradient(circle at 75% 10%,#c9f5ed 0,transparent 35%),linear-gradient(135deg,#f8fffd,#e9f8f5);padding:72px 5vw 52px}.hero-inner{max-width:1120px;margin:auto}.eyebrow,.kicker{display:inline-block;font-weight:900;letter-spacing:1.6px;color:#0c8b82}.eyebrow{background:#dff6f0;border-radius:999px;padding:12px 18px}.hero h1{font-size:clamp(48px,7vw,88px);line-height:.96;letter-spacing:-4px;margin:34px 0 24px}.hero h1 span{color:var(--teal)}.lead{font-size:clamp(20px,3vw,30px);line-height:1.45;color:var(--muted);max-width:900px}.search-card{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 60px rgba(10,64,72,.08);padding:18px;border-radius:28px;margin-top:34px}.field-wrap{background:#f9fcfb;border:1px solid var(--line);padding:12px 16px;border-radius:18px;position:relative}.field-wrap label{display:block;font-size:13px;font-weight:900;color:#6e858e;margin-bottom:6px}.field-wrap input{width:100%;border:0;outline:none;background:transparent;font-size:18px;color:var(--ink)}.search-btn{min-width:240px;border-radius:18px;font-size:18px}.quick-stats{display:flex;gap:30px;flex-wrap:wrap;margin-top:26px;font-size:18px;color:#4f6e78;font-weight:800}.quick-stats b{color:var(--teal)}.suggestions{position:absolute;left:0;right:0;top:100%;margin-top:7px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(15,64,70,.12);overflow:hidden;z-index:50}.suggestions button{width:100%;text-align:left;border:0;background:#fff;padding:13px 16px;font-size:16px;color:var(--ink)}.suggestions button:hover,.suggestions button[aria-selected="true"]{background:#eaf9f5;color:#087d75}.map-section{padding:78px 5vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;max-width:1240px;margin:auto;align-items:center}.section-copy h2,.portal-cta h2{font-size:clamp(34px,5vw,54px);line-height:1.05;letter-spacing:-2px;margin:14px 0}.section-copy p,.portal-cta p{font-size:20px;line-height:1.6;color:var(--muted)}.map-card{background:#fff;border:1px solid var(--line);border-radius:32px;padding:24px;box-shadow:0 24px 80px rgba(12,69,76,.08)}.cz-map{width:100%;height:auto}.cz-map g{cursor:pointer}.cz-map path,.cz-map circle{fill:#dff3f1;stroke:#fff;stroke-width:6;transition:.18s ease}.cz-map g:hover path,.cz-map g:hover circle,.cz-map g.active path,.cz-map g.active circle{fill:#1bb5a8;filter:drop-shadow(0 8px 12px rgba(19,163,154,.25))}.map-legend{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:12px;color:var(--muted);font-size:14px}.map-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--teal);margin-right:7px}.map-legend strong{color:var(--teal)}.portal-cta{background:linear-gradient(135deg,#0f9c93,#0a817b);color:#fff;padding:70px 5vw;display:grid;grid-template-columns:1fr 1fr;gap:34px}.portal-cta>div{max-width:650px}.portal-cta .light{color:#c8fff7}.portal-cta p{color:#dff8f5}.cta-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.white-btn{background:#fff;color:#0b7f78}.outline-btn{border:1.5px solid rgba(255,255,255,.8);color:#fff}.footer{background:#07232f;color:#fff;padding:48px 5vw 30px;display:grid;grid-template-columns:1.4fr 1fr;gap:30px}.footer .brand{color:#fff}.footer-logo em{color:#b6c8cf}.footer-brand p{color:#b6c8cf;max-width:620px;font-size:16px;line-height:1.6}.footer-links{display:grid;gap:12px;align-content:start}.footer-links a{color:#fff;text-decoration:none;font-weight:750}.copy{grid-column:1/-1;color:#8fa8b1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px}.footer-logo .brandmark{width:64px;height:64px}
@media(max-width:900px){.topbar{height:auto;align-items:flex-start;gap:14px;position:relative;padding:18px 20px}.brand strong{font-size:24px}.brandmark{width:48px;height:48px}.top-actions{display:none}.hero{padding:44px 20px}.hero h1{font-size:56px;letter-spacing:-3px}.lead{font-size:22px}.search-card{grid-template-columns:1fr;padding:14px;border-radius:24px}.search-btn{min-width:0;width:100%;padding:18px}.quick-stats{font-size:16px;gap:18px}.map-section{grid-template-columns:1fr;padding:54px 20px;gap:26px}.portal-cta{grid-template-columns:1fr;padding:54px 20px}.footer{grid-template-columns:1fr;padding:40px 20px 28px}.map-legend{align-items:flex-start;flex-direction:column}.brand em{letter-spacing:2px}.footer-logo strong{font-size:26px}}
@media(max-width:520px){.hero h1{font-size:48px}.eyebrow{font-size:14px}.section-copy h2,.portal-cta h2{font-size:38px}.cta-buttons a{width:100%}.map-card{padding:14px;border-radius:24px}.footer-logo .brandmark{width:54px;height:54px}}
/* V14: clearer map + smart comboboxes */
.combo-row{display:flex;align-items:center;gap:8px}.combo-row input{min-width:0;flex:1}.combo-toggle{width:42px;height:42px;border:0;border-radius:12px;background:#eaf8f5;color:#087f77;font-size:24px;line-height:1;cursor:pointer;font-weight:900}.smart-suggestions{max-height:360px;overflow:auto;padding:7px}.suggestion-item{display:flex!important;align-items:center;justify-content:space-between;gap:12px;border-radius:12px!important;margin:2px 0}.suggestion-item .s-main{font-weight:800}.suggestion-item .s-type{font-size:12px;color:#81959d;background:#f0f6f5;padding:5px 8px;border-radius:999px;white-space:nowrap}.map-card{background:linear-gradient(180deg,#ffffff,#f5fbfa);border:1px solid #d4e8e6;box-shadow:0 28px 90px rgba(8,71,76,.12);position:relative;overflow:hidden}.map-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 5%,rgba(28,194,179,.12),transparent 34%);pointer-events:none}.cz-map{position:relative;z-index:1;filter:drop-shadow(0 16px 18px rgba(8,73,78,.08))}.cz-map .region path,.cz-map .region circle{fill:#d6efec;stroke:#fff;stroke-width:5;transition:.2s ease;filter:url(#softShadow)}.cz-map .region:hover path,.cz-map .region:hover circle{fill:#8edbd3}.cz-map .region.active path,.cz-map .region.active circle{fill:#18aa9f}.cz-map .praha circle{fill:#bce7e2}.city-layer{pointer-events:auto}.city{cursor:pointer}.city circle{fill:#087f77;stroke:white;stroke-width:3;filter:drop-shadow(0 4px 6px rgba(7,87,82,.25));transition:.18s}.city text{font-size:14px;font-weight:900;fill:#153640;paint-order:stroke;stroke:white;stroke-width:4px;stroke-linejoin:round}.city:hover circle,.city.active circle{fill:#12c1b0;r:10}.city:hover text,.city.active text{fill:#04756f}.map-legend{background:#f2faf8;border:1px solid #dcecea;padding:12px 14px;border-radius:14px}.map-section .section-copy p{max-width:480px}
@media(max-width:900px){.map-card{padding:12px}.cz-map{min-width:690px}.map-card{overflow-x:auto;-webkit-overflow-scrolling:touch}.map-card::-webkit-scrollbar{height:7px}.map-card::-webkit-scrollbar-thumb{background:#b8d8d5;border-radius:999px}.map-legend{position:sticky;left:0;min-width:min(100%,690px)}.smart-suggestions{max-height:280px}.suggestion-item .s-main{font-size:15px}}
@media(max-width:520px){.map-section{padding-top:42px}.map-card{margin-left:-6px;margin-right:-6px}.city text{font-size:13px}.combo-toggle{width:40px;height:40px}.field-wrap{padding:13px 14px}}
/* V15 — compact map integrated directly into search */
.compact-map-wrap{grid-column:1/-1;margin-top:2px;padding-top:14px;border-top:1px solid var(--line)}
.compact-map-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 4px 10px}
.compact-map-head .kicker{font-size:10px;letter-spacing:1.3px}
.compact-map-head h2{font-size:17px;line-height:1.2;letter-spacing:-.25px;margin:4px 0 0;color:var(--ink)}
.map-toggle{border:1px solid var(--line);background:#f4faf8;color:#087f77;border-radius:12px;padding:9px 12px;font-weight:850;white-space:nowrap;cursor:pointer}
.compact-map-wrap .map-card{max-width:680px;margin:0 auto;padding:8px 12px 10px;border-radius:20px;box-shadow:none;background:linear-gradient(180deg,#fbfefd,#f3faf8);overflow:visible}
.compact-map-wrap .cz-map{display:block;width:100%;max-height:245px;min-width:0!important;filter:drop-shadow(0 8px 10px rgba(8,73,78,.06))}
.compact-map-wrap .city text{font-size:12px;stroke-width:3px}.compact-map-wrap .city circle{stroke-width:2.5}
.compact-map-wrap .map-legend{margin-top:4px;padding:8px 10px;font-size:12px;position:static;min-width:0;background:#eef8f6}
.compact-map-wrap.map-collapsed .map-card{display:none}
@media(max-width:900px){.compact-map-wrap{margin-top:4px}.compact-map-head{align-items:center}.compact-map-head h2{font-size:15px}.compact-map-wrap .map-card{width:100%;max-width:520px;overflow:hidden;margin:0 auto;padding:5px 6px 7px}.compact-map-wrap .cz-map{width:100%;min-width:0!important;max-height:none}.compact-map-wrap .city text{font-size:12px}.compact-map-wrap .map-legend{position:static;min-width:0;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}}
@media(max-width:520px){.compact-map-head{margin:0 0 8px}.compact-map-head h2{font-size:14px}.compact-map-head .kicker{font-size:9px}.map-toggle{font-size:12px;padding:8px 9px}.compact-map-wrap .map-card{margin:0;padding:3px 4px 6px;border-radius:16px}.compact-map-wrap .city text{font-size:11px;stroke-width:3px}.compact-map-wrap .map-legend{font-size:10px;padding:7px 8px}.compact-map-wrap .map-legend span{display:none}}
/* V16 — touch-first Czech map: larger map, larger hit targets, clearer labels */
.compact-map-wrap .map-card{max-width:760px;padding:12px 14px 12px;border-radius:22px}
.compact-map-wrap .cz-map{width:100%;max-height:none;aspect-ratio:820/500;touch-action:manipulation}
.cz-map .region{outline:none;touch-action:manipulation}
.cz-map .region:focus-visible path,.cz-map .region:focus-visible circle{fill:#8edbd3;stroke:#087f77;stroke-width:7}
.cz-map .city{outline:none;touch-action:manipulation}
.cz-map .city .city-hit{fill:transparent!important;stroke:transparent!important;stroke-width:0!important;pointer-events:all}
.cz-map .city .city-dot{fill:#087f77;stroke:#fff;stroke-width:3;pointer-events:none}
.cz-map .city text{pointer-events:none;font-size:14px;stroke-width:4px}
.cz-map .city:focus-visible .city-dot,.cz-map .city.active .city-dot,.cz-map .city:hover .city-dot{fill:#12c1b0;stroke:#045f5a;stroke-width:4}
.cz-map .region path,.cz-map .region circle{vector-effect:non-scaling-stroke;pointer-events:all}
@media(max-width:900px){
  .compact-map-wrap .map-card{max-width:620px;padding:10px 10px 12px}
  .compact-map-wrap .cz-map{min-height:300px;aspect-ratio:auto}
  .compact-map-wrap .city text{font-size:14px}
  .compact-map-wrap .city .city-hit{r:26}
  .compact-map-wrap .map-legend{font-size:12px}
}
@media(max-width:520px){
  .compact-map-wrap{margin-top:8px}
  .compact-map-wrap .map-card{padding:8px 6px 10px;border-radius:18px}
  .compact-map-wrap .cz-map{height:292px;min-height:292px;width:100%;overflow:visible}
  .compact-map-wrap .city text{font-size:13px;stroke-width:4px}
  .compact-map-wrap .city .city-hit{r:28}
  .compact-map-wrap .city .city-dot{r:8}
  .compact-map-wrap .map-legend{font-size:11px;padding:8px 10px}
}
@media(max-width:390px){
  .compact-map-wrap .cz-map{height:280px;min-height:280px}
  .compact-map-wrap .city text{font-size:12px}
}

/* V17 — larger readable map + premium search experience */
.search-card{
  position:relative;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(220px,.64fr);
  gap:16px;
  padding:24px;
  border-radius:30px;
  border:1px solid #d5e9e6;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,253,251,.98));
  box-shadow:0 28px 80px rgba(7,66,72,.12),0 2px 8px rgba(7,66,72,.04);
  overflow:visible;
}
.search-card:before{
  content:"";
  position:absolute;
  left:28px;right:28px;top:0;height:4px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,#0f9f96,#28cab9,#75dfd2);
}
.field-wrap{
  padding:14px 16px 13px;
  border-radius:19px;
  border:1px solid #d9ebe8;
  background:#fff;
  box-shadow:0 7px 20px rgba(10,75,78,.05);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.field-wrap:hover{border-color:#b9ddd8}
.field-wrap:focus-within{
  border-color:#1ba99f;
  box-shadow:0 0 0 4px rgba(27,169,159,.11),0 10px 24px rgba(10,75,78,.08);
  transform:translateY(-1px);
}
.field-wrap label{
  margin-bottom:8px;
  color:#3f6871;
  font-size:12px;
  letter-spacing:.55px;
  text-transform:uppercase;
}
.field-wrap input{font-size:18px;font-weight:720;letter-spacing:-.15px}
.field-wrap input::placeholder{color:#9aadb4;font-weight:580}
.combo-toggle{
  width:44px;height:44px;border-radius:14px;
  background:linear-gradient(145deg,#ecfaf7,#dff4f0);
  border:1px solid #d2ebe7;
  color:#087d75;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.search-btn{
  min-height:74px;
  padding:18px 24px;
  border-radius:19px;
  font-size:18px;
  letter-spacing:-.15px;
  box-shadow:0 14px 26px rgba(13,153,143,.22);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.search-btn:hover{transform:translateY(-2px);box-shadow:0 18px 32px rgba(13,153,143,.27);filter:saturate(1.06)}
.smart-suggestions{
  margin-top:10px;
  border-radius:18px;
  border-color:#cfe5e2;
  box-shadow:0 22px 55px rgba(8,61,67,.16);
}
.suggestion-item{min-height:50px;padding:12px 14px!important}
.compact-map-wrap{
  margin-top:4px;
  padding-top:19px;
  border-top:1px solid #dbece9;
}
.compact-map-head{margin:0 2px 13px;align-items:center}
.compact-map-head h2{font-size:18px;letter-spacing:-.35px}
.map-toggle{background:#fff;border-color:#d4e7e4;box-shadow:0 4px 12px rgba(8,73,78,.05)}
.compact-map-wrap .map-card{
  width:100%;
  max-width:920px;
  padding:16px 18px 14px;
  border-radius:24px;
  border:1px solid #cfe5e2;
  box-shadow:0 16px 38px rgba(7,65,70,.08);
  background:linear-gradient(180deg,#ffffff 0%,#f1faf8 100%);
}
.compact-map-wrap .cz-map{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:750/410;
  min-height:0;
  overflow:visible;
}
.cz-map .region path,.cz-map .region circle{stroke-width:4.5}
.cz-map .city .city-hit{r:34}
.cz-map .city .city-dot{r:9;stroke-width:3.5}
.cz-map .city text{
  font-size:19px;
  font-weight:950;
  letter-spacing:-.2px;
  fill:#103741;
  stroke:#fff;
  stroke-width:6px;
  paint-order:stroke fill;
}
.compact-map-wrap .map-legend{
  margin-top:9px;
  padding:10px 12px;
  border-radius:13px;
  font-size:12px;
  background:rgba(239,249,247,.9);
}
@media(max-width:900px){
  .search-card{grid-template-columns:1fr;padding:18px;gap:13px;border-radius:26px}
  .search-card:before{left:22px;right:22px}
  .search-btn{min-height:58px;width:100%}
  .compact-map-wrap{padding-top:16px}
  .compact-map-wrap .map-card{max-width:none;padding:12px 10px 12px}
  .compact-map-wrap .cz-map{aspect-ratio:750/410;min-height:0;height:auto}
  .cz-map .city text{font-size:21px;stroke-width:6.5px}
  .cz-map .city .city-hit{r:36}
  .cz-map .city .city-dot{r:9.5}
}
@media(max-width:520px){
  .search-card{padding:15px 12px 14px;gap:11px;border-radius:24px;margin-top:26px}
  .search-card:before{left:18px;right:18px;height:3px}
  .field-wrap{padding:13px 13px 12px;border-radius:17px}
  .field-wrap label{font-size:11px;margin-bottom:6px}
  .field-wrap input{font-size:17px}
  .combo-toggle{width:42px;height:42px;border-radius:13px}
  .search-btn{min-height:56px;font-size:17px;border-radius:17px}
  .compact-map-head{align-items:flex-start;gap:10px;margin-bottom:10px}
  .compact-map-head h2{font-size:15px;line-height:1.25}
  .compact-map-head .kicker{font-size:9px}
  .map-toggle{padding:8px 9px;font-size:11px;border-radius:10px}
  .compact-map-wrap .map-card{
    width:calc(100% + 8px);
    margin-left:-4px;
    padding:8px 3px 10px;
    border-radius:18px;
  }
  .compact-map-wrap .cz-map{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:750/410;
  }
  .cz-map .city text{font-size:24px;stroke-width:7px}
  .cz-map .city .city-hit{r:40}
  .cz-map .city .city-dot{r:10}
  .compact-map-wrap .map-legend{font-size:11px;padding:9px 10px;gap:6px}
  .compact-map-wrap .map-legend span{display:inline}
}
@media(max-width:390px){
  .cz-map .city text{font-size:23px}
  .compact-map-wrap .map-legend{font-size:10px}
}

/* V18 — Luxury Search + all regional-capital labels visible */
.luxury-search{padding-top:22px;background:radial-gradient(circle at 88% 0,rgba(72,219,200,.12),transparent 28%),linear-gradient(180deg,#fff,#f7fcfb)}
.search-intro{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 3px 4px}
.search-intro>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-kicker{font-size:10px;font-weight:950;letter-spacing:1.5px;color:#087e76;background:#e5f8f4;padding:7px 10px;border-radius:999px}.search-intro strong{font-size:17px;letter-spacing:-.25px;color:#123742}.search-trust{font-size:12px;font-weight:850;color:#168d84;background:#f1faf8;border:1px solid #d9ebe8;padding:8px 11px;border-radius:999px}
.luxury-search .field-wrap{display:flex;align-items:center;gap:12px;min-height:78px;padding:11px 13px}.field-icon{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;border-radius:15px;background:linear-gradient(145deg,#e4f8f4,#d7f1ed);color:#07857c;font-size:22px;font-weight:900;box-shadow:inset 0 1px 0 #fff}.field-body{position:relative;min-width:0;flex:1}.luxury-search .field-wrap label{margin:0 0 5px}.luxury-search .combo-row{gap:5px}.luxury-search .combo-toggle{width:38px;height:38px;flex:0 0 38px;background:transparent;border:0;box-shadow:none}.luxury-search .search-btn{display:flex;gap:12px;align-items:center;justify-content:center}.luxury-search .search-btn b{font-size:24px;line-height:1;transition:transform .18s}.luxury-search .search-btn:hover b{transform:translateX(3px)}
.compact-map-wrap .map-card{max-width:980px;padding:12px 12px 10px;background:radial-gradient(circle at 50% 50%,#fff 0,#f4fbf9 72%)}.compact-map-wrap .cz-map{aspect-ratio:750/410}.cz-map .city-label{font-size:20px!important;font-weight:950;fill:#103640;stroke:#fff;stroke-width:6px!important;paint-order:stroke fill;letter-spacing:-.35px}.cz-map .city-hit{r:34}.cz-map .city-primary .city-dot{fill:#075f5a}.cz-map .city:hover .city-label,.cz-map .city.active .city-label{fill:#04766f}.compact-map-head h2{font-size:19px}.map-legend strong{font-weight:900}
@media(max-width:900px){.search-intro{align-items:flex-start}.search-intro>div{gap:8px}.search-trust{display:none}.luxury-search .field-wrap{min-height:74px}.compact-map-wrap .map-card{padding:8px 2px 8px}.cz-map .city-label{font-size:22px!important;stroke-width:7px!important}.cz-map .city-hit{r:38}}
@media(max-width:520px){.luxury-search{padding:16px 12px 14px}.search-intro{padding:0 2px 2px}.search-intro>div{display:block}.search-kicker{display:inline-block;margin-bottom:7px}.search-intro strong{display:block;font-size:16px}.luxury-search .field-wrap{min-height:72px;gap:9px}.field-icon{width:40px;height:40px;flex-basis:40px;border-radius:13px;font-size:19px}.luxury-search .field-wrap input{font-size:16px}.luxury-search .search-btn{font-size:16px;min-height:58px}.compact-map-wrap .map-card{width:calc(100% + 16px);margin-left:-8px;padding:7px 0 8px;border-radius:18px}.compact-map-wrap .cz-map{width:100%;aspect-ratio:750/410;overflow:visible}.cz-map .city-label{font-size:27px!important;stroke-width:8px!important;letter-spacing:-.5px}.cz-map .city-hit{r:42}.cz-map .city-dot{r:10}.compact-map-head h2{font-size:16px}.compact-map-wrap .map-legend{margin:7px 6px 0}}
@media(max-width:390px){.cz-map .city-label{font-size:26px!important}.luxury-search .field-wrap{padding-left:10px;padding-right:10px}.field-icon{width:38px;height:38px;flex-basis:38px}}

/* V19 – collision-free city labels */
.cz-map .city-leader{fill:none!important;stroke:#5f8f8b!important;stroke-width:2.2!important;stroke-linecap:round;opacity:.8;pointer-events:none;filter:none!important}
.cz-map .city-label{font-size:16px!important;font-weight:950;fill:#0b3941;stroke:#fff;stroke-width:5px!important;paint-order:stroke fill;letter-spacing:-.15px;pointer-events:none}
.cz-map .city-primary .city-label{font-size:18px!important;fill:#075f5a}
.cz-map .city-hit{r:38}
@media(max-width:900px){.cz-map .city-label{font-size:17px!important;stroke-width:5.5px!important}.cz-map .city-primary .city-label{font-size:19px!important}.cz-map .city-hit{r:40}}
@media(max-width:520px){.compact-map-wrap .map-card{width:calc(100% + 12px);margin-left:-6px;padding:8px 0 9px}.cz-map .city-label{font-size:18px!important;stroke-width:6px!important;letter-spacing:-.2px}.cz-map .city-primary .city-label{font-size:20px!important}.cz-map .city-hit{r:43}.cz-map .city-leader{stroke-width:2.5!important}}
@media(max-width:390px){.cz-map .city-label{font-size:17px!important}.cz-map .city-primary .city-label{font-size:19px!important}}

/* V20 – clean map + large city buttons: no city labels inside SVG */
.cz-map .city-label,.cz-map .city-leader{display:none!important}
.city-picker{position:relative;z-index:2;margin:10px 8px 4px;padding:14px;border:1px solid #d7ebe8;border-radius:18px;background:linear-gradient(180deg,#fff,#f6fbfa);box-shadow:0 10px 30px rgba(8,71,76,.06)}
.city-picker-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:11px}.city-picker-title span{font-weight:950;color:#0b3941;font-size:15px}.city-picker-title small{color:#789096;font-size:11px;text-align:right}
.city-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.city-chip{appearance:none;border:1px solid #cfe5e2;background:#fff;color:#17434b;border-radius:13px;min-height:43px;padding:8px 7px;font:inherit;font-size:12px;font-weight:850;cursor:pointer;touch-action:manipulation;box-shadow:0 3px 10px rgba(8,71,76,.04);transition:.16s}.city-chip:hover,.city-chip:focus-visible,.city-chip.active{border-color:#0aa296;background:#e7f8f5;color:#06766f;transform:translateY(-1px);outline:none}.city-chip-primary{background:#0b8f86;color:#fff;border-color:#0b8f86}.city-chip-primary:hover,.city-chip-primary:focus-visible,.city-chip-primary.active{background:#08776f;color:#fff}
.cz-map .city-dot{filter:drop-shadow(0 3px 5px rgba(7,87,82,.25))}.cz-map .city.active .city-dot{fill:#10c4b3!important;stroke:#064f4b!important;stroke-width:4!important}
@media(max-width:520px){.city-picker{margin:8px 6px 3px;padding:11px 10px;border-radius:15px}.city-picker-title{align-items:flex-start;flex-direction:column;gap:2px}.city-picker-title small{text-align:left}.city-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.city-chip{min-height:44px;font-size:11.5px;padding:7px 5px}.compact-map-wrap .cz-map{aspect-ratio:750/390}.compact-map-wrap .map-card{padding-bottom:7px}}
@media(max-width:370px){.city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-chip{font-size:12px}}

/* V21 – premium city selector */
.city-picker{margin:16px 8px 6px;padding:18px;border:1px solid #cfe4e2;border-radius:22px;background:linear-gradient(145deg,#ffffff 0%,#f4fbf9 100%);box-shadow:0 16px 40px rgba(8,71,76,.08)}
.city-picker-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #e2efed}
.city-picker-title>div{display:flex;flex-direction:column;gap:3px}.city-picker-title span{font-size:17px;font-weight:950;color:#0b3540;letter-spacing:-.2px}.city-picker-title small{font-size:12px;color:#718990}.city-picker-title b{font-size:11px;color:#0b8f86;background:#e5f7f3;border:1px solid #c9eae5;padding:7px 10px;border-radius:999px;white-space:nowrap}
.city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.city-chip{position:relative;appearance:none;border:1px solid #d3e6e3;background:#fff;color:#163f48;border-radius:16px;min-height:54px;padding:10px 12px 10px 36px;font:inherit;font-size:13px;font-weight:900;line-height:1.15;text-align:left;cursor:pointer;touch-action:manipulation;box-shadow:0 5px 16px rgba(10,68,74,.055);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease}
.city-chip:before{content:"";position:absolute;left:14px;top:50%;width:10px;height:10px;border-radius:50%;transform:translateY(-50%);background:#12a79d;box-shadow:0 0 0 5px #e5f7f3}
.city-chip:hover,.city-chip:focus-visible{border-color:#54c8be;box-shadow:0 8px 20px rgba(8,120,111,.12);transform:translateY(-1px);outline:none}
.city-chip.active{border-color:#0b9389;background:linear-gradient(135deg,#0b948a,#13b5a8);color:#fff;box-shadow:0 10px 24px rgba(9,139,130,.2)}
.city-chip.active:before{background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.2)}
.city-chip-primary{background:linear-gradient(135deg,#f0fbf9,#ffffff);color:#0a514d;border-color:#a9ddd7}.city-chip-primary:hover,.city-chip-primary:focus-visible{color:#0a514d}.city-chip-primary.active{color:#fff}
.map-legend{border-radius:16px!important;padding:11px 14px!important;background:#f2faf8!important;border:1px solid #d8ebe8!important}.map-legend span{font-weight:700}.map-legend strong{font-size:13px}
@media(max-width:520px){.city-picker{margin:12px 6px 4px;padding:14px 12px;border-radius:18px}.city-picker-title{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:12px;padding-bottom:10px}.city-picker-title span{font-size:18px}.city-picker-title small{font-size:12px}.city-picker-title b{font-size:10.5px;padding:6px 9px}.city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.city-chip{min-height:56px;padding:11px 9px 11px 34px;font-size:13px;border-radius:15px}.city-chip:before{left:13px;width:9px;height:9px;box-shadow:0 0 0 4px #e5f7f3}.map-legend{margin:8px 6px 0!important;display:grid!important;grid-template-columns:1fr;gap:5px!important}.map-legend strong{font-size:12.5px}}
@media(max-width:360px){.city-grid{grid-template-columns:1fr}.city-chip{min-height:52px}}

/* V22 – stable independent autocomplete dropdowns for iPhone/Safari */
.smart-wrap{position:relative;z-index:1}
.smart-wrap.is-open{z-index:120}
.smart-suggestions{
  z-index:140!important;
  max-height:280px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  background:#fff!important;
}
.specialty-field .smart-suggestions,.location-field .smart-suggestions{left:0;right:0}
.smart-suggestions[hidden]{display:none!important}
.suggestion-item{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(max-width:520px){
  .smart-suggestions{max-height:245px!important;border-radius:16px!important;margin-top:7px!important}
  .suggestion-item{min-height:54px;padding:13px 14px!important}
  .suggestion-item .s-main{font-size:15px!important;line-height:1.25}
  .suggestion-item .s-type{font-size:11px!important}
}
