/* Týpkove nehnuteľnosti – ponuky realitných kancelárií a maklérov (dizajn systém Realitný týpek) */
:root{
  --cream:#F7F2E8;--cream2:#EEE6D6;--paper:#FFFDF8;--goldsoft:#F2E4C6;
  --ink:#1E2A35;--inksoft:#3A4B5A;--slate:#4A6074;--slatedeep:#2F4152;
  --mist:#C9D4DD;--mistm:#8EA2B3;--gold:#DB9522;--brown:#8A5A2B;--wm:#15191C;
  --ok:#2E7D5B;--off:#CFC6B4;
  --tien:0 1px 0 rgba(30,42,53,.05),0 24px 44px -34px rgba(30,42,53,.45);
  --tien2:0 1px 0 rgba(30,42,53,.05),0 34px 60px -34px rgba(30,42,53,.6);
  --ease:cubic-bezier(.2,.7,.2,1);--pruzna:cubic-bezier(.3,1.5,.5,1);
  --hlava:72px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Instrument Sans',system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,.disp{font-family:'Bricolage Grotesque','Instrument Sans',sans-serif;letter-spacing:-.02em;margin:0}
img{max-width:100%}
a{color:var(--slate)}a:hover{color:var(--ink)}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tn-preskoc{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:999px;background:var(--ink);color:var(--cream);font-weight:700;text-decoration:none}
.tn-preskoc:focus{top:12px;color:var(--cream)}
.obal{max-width:1240px;margin:0 auto;padding:0 24px}

/* ---------------------------------------------------------------- hlavička */
.tn-hlava{position:sticky;top:0;z-index:40;background:rgba(247,242,232,.86);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);transition:box-shadow .3s}
.tn-hlava.tien{box-shadow:0 1px 0 rgba(30,42,53,.06),0 14px 30px -24px rgba(30,42,53,.5)}
.tn-hlava-in{max-width:1240px;margin:0 auto;padding:0 24px;height:var(--hlava);display:flex;align-items:center;justify-content:space-between;gap:16px}
.tn-logo{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);min-width:0}
.tn-logo img{flex:none;width:44px;height:44px;border-radius:12px;transition:transform .5s var(--pruzna)}
.tn-logo:hover img{transform:rotate(-12deg) scale(1.06)}
.tn-wm{font-family:'Montserrat','Instrument Sans',sans-serif;font-weight:900;font-size:21px;letter-spacing:-.035em;white-space:nowrap;line-height:1}
.tn-wm .a{color:var(--wm)}.tn-wm .b{color:var(--gold)}
.tn-nav{display:flex;align-items:center;gap:6px}
.tn-nav>a,.tn-nav>button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:0;background:transparent;color:var(--ink);font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.tn-nav>a:hover,.tn-nav>button:hover{background:var(--cream2);color:var(--ink)}
.tn-nav>a[aria-current="true"],.tn-nav>button[aria-pressed="true"]{background:var(--ink);color:var(--cream)}
.tn-nav .tn-pre{margin-left:6px;background:var(--ink);color:var(--cream)}
.tn-nav .tn-pre:hover{background:var(--slate);color:var(--cream)}
.tn-menu{display:none;position:relative}
.tn-menu summary{list-style:none;display:grid;place-items:center;width:46px;height:46px;border-radius:999px;background:var(--ink);cursor:pointer}
.tn-menu summary::-webkit-details-marker{display:none}
.burger{display:grid;gap:4px;width:18px}
.burger i{display:block;height:2px;border-radius:2px;background:var(--gold);transition:transform .25s,opacity .25s}
.tn-menu[open] .burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.tn-menu[open] .burger i:nth-child(2){opacity:0}
.tn-menu[open] .burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.tn-menu-p{position:absolute;right:0;top:calc(100% + 10px);z-index:50;width:min(320px,calc(100vw - 24px));display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:24px;background:var(--paper);box-shadow:var(--tien2);animation:vyskoc .3s var(--ease)}
.tn-menu-p a{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:0 14px;border-radius:14px;color:var(--ink);text-decoration:none;font-size:17px;font-weight:700}
.tn-menu-p a:not(.btn):hover{background:var(--cream)}
.tn-menu-p a:not(.btn)::after{content:'\2192';color:var(--brown);font-weight:800}
.tn-menu-p .btn{margin-top:6px;justify-content:center}
.tn-pocet{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--gold);color:var(--ink);font-size:12px;font-weight:800}
.tn-pocet.pop{animation:pocetPop .5s var(--pruzna)}
@keyframes pocetPop{0%{transform:scale(.4)}100%{transform:scale(1)}}
.srdce-ic{color:var(--brown)}
[aria-pressed="true"] .srdce-ic{color:var(--gold)}

/* ---------------------------------------------------------------- úvod */
.uvod{position:relative;padding:44px 0 26px;overflow-x:clip}
.uvod-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:32px;align-items:center}
.stitok{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:var(--paper);box-shadow:var(--tien);font-size:13px;font-weight:700;color:var(--slate)}
.stitok i{width:8px;height:8px;border-radius:9px;background:var(--ok);box-shadow:0 0 0 0 rgba(46,125,91,.5);animation:dych 2.4s infinite}
@keyframes dych{0%{box-shadow:0 0 0 0 rgba(46,125,91,.45)}70%{box-shadow:0 0 0 9px rgba(46,125,91,0)}100%{box-shadow:0 0 0 0 rgba(46,125,91,0)}}
.uvod h1{margin-top:18px;font-size:clamp(38px,5.4vw,68px);line-height:1.02;font-weight:800;letter-spacing:-.035em}
.uvod h1 .zv{position:relative;white-space:nowrap}
.uvod h1 .zv::after{content:'';position:absolute;left:-2%;right:-2%;bottom:.06em;height:.26em;border-radius:6px;background:var(--goldsoft);z-index:-1;transform-origin:0 50%;animation:podciarknutie 1.1s var(--ease) .5s both}
@keyframes podciarknutie{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.uvod-text{margin:16px 0 0;max-width:560px;font-size:18px;line-height:1.55;color:var(--inksoft)}
.uvod-text b{color:var(--ink)}
.uvod-postava{position:relative;justify-self:center;width:min(100%,330px);aspect-ratio:1/1.05}
.uvod-postava .slnko{position:absolute;inset:8% 4% 2%;border-radius:50%;background:var(--cream2)}
.uvod-postava .slnko2{position:absolute;inset:22% 18% 16%;border-radius:50%;background:var(--goldsoft);opacity:.7}
.uvod-postava img{position:absolute;left:8%;right:8%;bottom:0;width:84%;height:auto;animation:vznasaj 5.5s ease-in-out infinite;transform-origin:50% 100%;filter:drop-shadow(0 26px 22px rgba(30,42,53,.18))}
@keyframes vznasaj{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(-1.5deg)}}
.uvod-bublina{position:absolute;display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:16px;background:var(--paper);box-shadow:var(--tien2);font-size:13px;font-weight:700;white-space:nowrap;animation:vznasaj2 6s ease-in-out infinite}
.uvod-bublina b{font-family:'Bricolage Grotesque',sans-serif;font-size:15px}
.uvod-bublina .ic{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--ink);color:var(--gold)}
.ub1{left:-62%;top:14%}.ub2{left:-50%;bottom:16%;animation-delay:-3s}
@media (max-width:1180px){.uvod-bublina{display:none}}
@keyframes vznasaj2{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* hľadanie */
.hladanie{position:relative;z-index:3;margin-top:30px;padding:18px;border-radius:26px;background:var(--ink);color:var(--cream);box-shadow:0 40px 70px -40px rgba(30,42,53,.8)}
.hl-rad{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.hl-rad+.hl-rad{margin-top:14px}
.seg{position:relative;display:inline-flex;padding:4px;border-radius:999px;background:rgba(247,242,232,.09)}
.seg button{position:relative;z-index:1;min-height:40px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--mist);font-weight:700;font-size:14px;cursor:pointer;transition:color .25s}
.seg button:hover{color:var(--cream)}
.seg button[aria-pressed="true"]{color:var(--ink)}
.seg .jazdec{position:absolute;z-index:0;top:4px;bottom:4px;left:0;border-radius:999px;background:var(--gold);transition:transform .45s var(--pruzna),width .45s var(--pruzna)}
.seg.svetly{background:var(--cream2)}
.seg.svetly button{color:var(--slate)}
.seg.svetly button:hover{color:var(--ink)}
.seg.svetly button[aria-pressed="true"]{color:var(--cream)}
.seg.svetly .jazdec{background:var(--ink)}
.kat{display:flex;gap:8px;flex-wrap:wrap}
.kat button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 15px 0 12px;border-radius:999px;border:0;background:rgba(247,242,232,.09);color:var(--cream);font-weight:600;font-size:14px;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.kat button:hover{background:rgba(247,242,232,.18);transform:translateY(-1px)}
.kat button[aria-pressed="true"]{background:var(--cream);color:var(--ink)}
.kat button svg{color:var(--gold)}
.kat button small{font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px;background:rgba(219,149,34,.2);color:var(--gold)}
.kat button[aria-pressed="true"] small{background:var(--ink);color:var(--gold)}
.hl-pole{position:relative;flex:1 1 260px;min-width:0}
.hl-pole svg.lupa{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--mistm);pointer-events:none}
.hl-vstup{width:100%;min-height:54px;border-radius:999px;border:0;background:var(--paper);padding:0 20px 0 48px;font:inherit;font-size:16px;color:var(--ink)}
.hl-vstup::placeholder{color:var(--mistm)}
.hl-vstup:focus{outline:3px solid var(--gold);outline-offset:2px}
.hl-vyber{min-height:54px;border-radius:999px;border:0;background:var(--paper);padding:0 44px 0 20px;font:inherit;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%234A6074' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}
.hl-vyber:focus{outline:3px solid var(--gold);outline-offset:2px}
.navrhy{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:20;max-height:320px;overflow:auto;padding:8px;border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:var(--tien2);animation:vyskoc .25s var(--ease)}
.navrhy button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:0 12px;border:0;border-radius:12px;background:transparent;text-align:left;cursor:pointer}
.navrhy button:hover,.navrhy button.akt{background:var(--cream)}
.navrhy small{color:var(--slate);font-weight:700}
.navrhy mark{background:var(--goldsoft);color:inherit;border-radius:4px}
@keyframes vyskoc{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}

/* tlačidlá */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;border:0;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.btn-zlate{background:var(--gold);color:var(--ink)}
.btn-zlate:hover{transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(30,42,53,.6);color:var(--ink)}
.btn-ink{background:var(--ink);color:var(--cream)}
.btn-ink:hover{background:var(--slate);color:var(--cream)}
.btn-obrys{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-obrys:hover{background:var(--ink);color:var(--cream)}
.btn-jemne{background:var(--cream2);color:var(--ink)}
.btn-jemne:hover{background:var(--ink);color:var(--cream)}
.btn-male{min-height:42px;padding:0 16px;font-size:14px}
.btn:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}
.btn .cislo{font-variant-numeric:tabular-nums}

/* ---------------------------------------------------------------- lišta výsledkov */
.vysledky{padding:24px 0 80px}
.lista{position:sticky;top:var(--hlava);z-index:30;margin:0 -24px;padding:12px 24px;transition:box-shadow .3s,background .3s}
.lista.tien{background:rgba(247,242,232,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 14px 24px -24px rgba(30,42,53,.6)}
.lista-in{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.lista h2{font-size:26px;font-weight:800;margin-right:auto;display:flex;align-items:baseline;gap:10px}
.lista h2 small{font-family:'Instrument Sans',sans-serif;font-size:15px;font-weight:600;color:var(--slate);letter-spacing:0}
.cipy-filtrov{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cipy-filtrov:empty{display:none}
.cip-f{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 8px 0 14px;border-radius:999px;border:0;background:var(--paper);box-shadow:var(--tien);font-size:13.5px;font-weight:700;cursor:pointer;animation:vyskoc .3s var(--ease)}
.cip-f span{display:grid;place-items:center;width:22px;height:22px;border-radius:99px;background:var(--cream2);color:var(--slate);transition:background .2s,color .2s}
.cip-f:hover span{background:var(--ink);color:var(--cream)}
.cip-zrus{background:transparent;box-shadow:none;color:var(--slate);text-decoration:underline;padding:0 10px}
.zoradit{min-height:44px;border-radius:999px;border:0;background:var(--paper);box-shadow:var(--tien);padding:0 40px 0 16px;font:inherit;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%234A6074' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center}
.btn-filtre{position:relative;min-height:44px;padding:0 16px;font-size:14px;background:var(--paper);color:var(--ink);box-shadow:var(--tien)}
.btn-filtre:hover{background:var(--ink);color:var(--cream)}
.btn-filtre .tn-pocet{position:absolute;top:-6px;right:-6px}

/* mriežka kariet */
.mriezka{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:22px}
.split{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin-top:22px}
.split.s-mapou{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.split.s-mapou .mriezka{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;gap:18px;align-content:start}
.mapa-obal{position:sticky;top:calc(var(--hlava) + 80px);height:calc(100vh - var(--hlava) - 104px);min-height:420px;border-radius:26px;overflow:hidden;background:var(--cream2);box-shadow:var(--tien2)}
#mapa{position:absolute;inset:0}
.mapa-info{position:absolute;left:14px;bottom:14px;z-index:500;padding:8px 12px;border-radius:12px;background:rgba(255,253,248,.95);font-size:12.5px;font-weight:700;color:var(--slate);box-shadow:var(--tien)}

/* karta ponuky */
.karta{position:relative;display:flex;flex-direction:column;border-radius:26px;background:var(--paper);box-shadow:var(--tien);cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.karta:hover,.karta.akt{transform:translateY(-6px);box-shadow:var(--tien2)}
.karta-foto{position:relative;aspect-ratio:4/3;border-radius:26px 26px 18px 18px;overflow:hidden;background:var(--cream2);isolation:isolate}
.pas{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.pas::-webkit-scrollbar{display:none}
.pas img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;transition:transform .8s var(--ease)}
.karta:hover .pas img{transform:scale(1.04)}
.bez-foto{display:grid;place-items:center;height:100%;color:var(--mistm)}
.bez-foto img{width:38%;opacity:.55;filter:grayscale(.4)}
.sipka{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:38px;height:38px;margin-top:-19px;border-radius:999px;border:0;background:rgba(255,253,248,.94);color:var(--ink);cursor:pointer;opacity:0;transition:opacity .25s,transform .25s;box-shadow:0 8px 18px -10px rgba(30,42,53,.6)}
.sipka.l{left:10px;transform:translateX(-6px)}.sipka.p{right:10px;transform:translateX(6px)}
.karta-foto:hover .sipka,.sipka:focus-visible{opacity:1;transform:none}
.bodky{position:absolute;left:0;right:0;bottom:10px;z-index:2;display:flex;justify-content:center;gap:5px;pointer-events:none}
.bodky i{width:6px;height:6px;border-radius:9px;background:rgba(255,253,248,.6);transition:width .3s var(--ease),background .3s}
.bodky i.on{width:16px;background:var(--paper)}
.odznaky{position:absolute;left:12px;top:12px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 70px);pointer-events:none}
.odz{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.2}
.odz-nove{background:var(--gold);color:var(--ink)}
.odz-ink{background:var(--ink);color:var(--cream)}
.odz-svetle{background:rgba(255,253,248,.95);color:var(--ink)}
.odz-rez{background:var(--slate);color:var(--cream)}
.srdce{position:absolute;right:12px;top:12px;z-index:3;display:grid;place-items:center;width:42px;height:42px;border-radius:999px;border:0;background:rgba(255,253,248,.94);color:var(--ink);cursor:pointer;transition:transform .25s var(--pruzna),background .2s;box-shadow:0 8px 18px -10px rgba(30,42,53,.6)}
.srdce:hover{transform:scale(1.1)}
.srdce svg{transition:transform .4s var(--pruzna)}
.srdce[aria-pressed="true"]{background:var(--ink);color:var(--gold)}
.srdce[aria-pressed="true"] svg path{fill:currentColor}
.srdce.buch svg{animation:buch .55s var(--pruzna)}
@keyframes buch{0%{transform:scale(1)}30%{transform:scale(.6)}65%{transform:scale(1.35)}100%{transform:scale(1)}}
.pocet-fotiek{position:absolute;right:12px;bottom:10px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:rgba(30,42,53,.72);color:var(--cream);font-size:12px;font-weight:700;pointer-events:none}
.karta-telo{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1}
.karta-cena{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.karta-cena b{font-family:'Bricolage Grotesque',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.karta-cena small{font-size:13px;font-weight:600;color:var(--slate)}
.karta-cena s{font-size:13px;color:var(--mistm)}
.karta h3{font-family:'Instrument Sans',sans-serif;font-size:16px;font-weight:700;letter-spacing:0;line-height:1.35}
.karta h3 a{color:inherit;text-decoration:none}
.karta h3 a:focus-visible{outline:none}
.karta:has(h3 a:focus-visible){outline:3px solid var(--gold);outline-offset:3px}
.karta .srdce,.karta .sipka{z-index:4}
.karta-lok{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--slate)}
.karta-lok svg{flex:none;color:var(--brown)}
.parametre{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.parametre span{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border-radius:999px;background:var(--cream);font-size:13px;font-weight:700;color:var(--inksoft)}
.parametre svg{color:var(--slate)}
.karta-pata{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:1px dashed var(--cream2);font-size:13px;color:var(--slate)}
.karta-pata b{display:block;color:var(--ink);font-size:13.5px;line-height:1.2}
.avatar{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:var(--ink);color:var(--goldsoft);font-weight:800;font-size:13px;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar.v{width:64px;height:64px;font-size:22px}

/* skeleton a prázdny stav */
.kostra{border-radius:26px;background:var(--paper);box-shadow:var(--tien);overflow:hidden}
.kostra i{display:block;background:var(--cream2);border-radius:12px;animation:pulz 1.4s ease-in-out infinite}
.kostra .f{aspect-ratio:4/3;border-radius:0}
.kostra .r{height:14px;margin:14px 18px 0}
.kostra .r.c{height:24px;width:45%}
.kostra .r.k{width:70%;margin-bottom:20px}
@keyframes pulz{0%,100%{opacity:1}50%{opacity:.5}}
.prazdne{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:40px 20px 60px}
.prazdne img{width:150px;height:auto;animation:vznasaj 5s ease-in-out infinite}
.prazdne h3{font-size:26px;font-weight:800}
.prazdne p{margin:0;max-width:440px;color:var(--inksoft)}


/* pätička */
.tn-pata{border-top:1px solid var(--cream2);padding:30px 0 40px;font-size:14px;color:var(--slate)}
.tn-pata .obal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.tn-pata nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.tn-pata a{color:var(--slate);font-weight:600}

/* ---------------------------------------------------------------- sekcie: makléri, pre vás, články, inzerovať */
.sekcia{padding:90px 0 0}
.sek-hl{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 30px}
.sek-hl>div{max-width:640px}
.sek-stitok{display:inline-flex;padding:6px 12px;border-radius:999px;background:var(--cream2);color:var(--slate);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.sek-hl h2{margin-top:14px;font-size:clamp(30px,3.8vw,48px);font-weight:800;line-height:1.05;letter-spacing:-.03em}
.sek-hl p{margin:12px 0 0;font-size:17px;color:var(--inksoft)}
.mk-hladaj{position:relative;flex:0 1 380px;min-width:240px}
.mk-hladaj svg{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--mistm)}
.mk-hladaj input{width:100%;min-height:52px;border-radius:999px;border:0;background:var(--paper);box-shadow:var(--tien);padding:0 20px 0 48px;font:inherit;font-size:16px;color:var(--ink)}
.mk-hladaj input:focus{outline:3px solid var(--gold);outline-offset:2px}
.mk-mriezka{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}
.mk{display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:26px;background:var(--paper);box-shadow:var(--tien);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.mk:hover{transform:translateY(-5px);box-shadow:var(--tien2)}
.mk-hl{display:flex;align-items:center;gap:14px}
.mk-foto{flex:none;width:76px;height:76px;border-radius:24px;overflow:hidden;background:var(--ink);color:var(--goldsoft);display:grid;place-items:center;font-family:'Bricolage Grotesque',sans-serif;font-size:26px;font-weight:800}
.mk-foto img{width:100%;height:100%;object-fit:cover}
.mk-hl b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:21px;font-weight:800;line-height:1.15;letter-spacing:-.01em}
.mk-hl small{display:block;margin-top:3px;font-size:14px;color:var(--slate)}
.mk-cipy{display:flex;flex-wrap:wrap;gap:6px}
.mk-cipy span{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 11px;border-radius:999px;background:var(--cream);font-size:13px;font-weight:700;color:var(--inksoft)}
.mk-cipy svg{color:var(--brown)}
.mk-akcie{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.mk-akcie .btn{min-height:44px;padding:0 12px;font-size:14px}
.mk-akcie .btn:first-child:last-child,.mk-akcie .cela{grid-column:1/-1}
.mk-nic{grid-column:1/-1;padding:30px;border-radius:26px;background:var(--paper);text-align:center;color:var(--slate)}
.pv-mriezka{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}
.pv{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:clamp(24px,3.4vw,40px);border-radius:36px}
.pv h2{font-size:clamp(28px,3vw,38px);font-weight:800;line-height:1.05;letter-spacing:-.03em}
.pv p{margin:0;max-width:520px;font-size:16.5px;line-height:1.6}
.pv-ic{display:grid;place-items:center;width:62px;height:62px;border-radius:20px}
.pv-makler{background:var(--goldsoft);color:var(--ink)}
.pv-makler .pv-ic{background:var(--ink);color:var(--gold)}
.pv-makler p{color:var(--inksoft)}
.pv-body{margin:0 0 6px;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.pv-body li{display:flex;align-items:center;gap:10px;font-weight:600}
.pv-body li::before{content:'';flex:none;width:20px;height:20px;border-radius:99px;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23DB9522' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center no-repeat}
.pv-fin{background:var(--cream);border:2px dashed var(--mist);color:var(--slate)}
.pv-fin h2{color:var(--inksoft)}
.pv-fin .pv-ic{background:var(--cream2);color:var(--mistm)}
.pv-pripravujeme{position:absolute;right:24px;top:24px;padding:6px 12px;border-radius:999px;background:var(--gold);color:var(--ink);font-size:11.5px;font-weight:800;letter-spacing:.1em}
.pv-coskoro{margin-top:auto;display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border-radius:999px;background:var(--cream2);color:var(--slate);font-weight:700;font-size:14.5px}
.cl-mriezka{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.cl{display:flex;flex-direction:column;border-radius:26px;background:var(--paper);box-shadow:var(--tien);color:var(--ink);text-decoration:none;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.cl:hover{transform:translateY(-6px);box-shadow:var(--tien2);color:var(--ink)}
.cl-foto{display:block;aspect-ratio:16/10;background:var(--cream2);overflow:hidden}
.cl-viac{grid-column:1/-1;display:flex;justify-content:center}
.mk-akcie .btn:nth-child(3){grid-column:1/-1}
.fz-uvod{margin:0;font-size:15.5px;line-height:1.55;color:var(--inksoft)}
.fz fieldset{border:0;margin:0;padding:0}
.fz legend{padding:0;margin-bottom:8px;font-size:13px;font-weight:700;color:var(--slate)}
.cl-foto img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.cl:hover .cl-foto img{transform:scale(1.05)}
.cl-telo{display:flex;flex-direction:column;gap:8px;padding:18px 20px 22px;flex:1}
.cl-telo small{font-size:13px;font-weight:700;color:var(--slate)}
.cl-telo h3{font-size:21px;font-weight:800;line-height:1.2;letter-spacing:-.015em}
.cl-telo p{margin:0;font-size:15px;line-height:1.55;color:var(--inksoft)}
.cl-dalej{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14.5px;color:var(--ink)}
.cl-dalej svg{color:var(--brown);transition:transform .3s var(--pruzna)}
.cl:hover .cl-dalej svg{transform:translateX(4px)}
.inz{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:30px;align-items:center;padding:clamp(28px,5vw,64px);border-radius:36px;background:var(--ink);color:var(--cream);box-shadow:0 50px 90px -50px rgba(30,42,53,.9);overflow:hidden}
.inz-stitok{display:inline-flex;padding:7px 13px;border-radius:999px;background:rgba(247,242,232,.1);color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.inz h2{margin-top:18px;font-size:clamp(34px,4.6vw,60px);font-weight:800;line-height:1.02;letter-spacing:-.035em;color:var(--cream)}
.inz-tx>p{margin:16px 0 0;max-width:600px;font-size:18px;line-height:1.6;color:var(--mist)}
.inz-body{margin:26px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.inz-body li{display:flex;flex-direction:column;gap:3px;padding:16px 16px 16px 54px;border-radius:20px;background:rgba(247,242,232,.06);font-size:14px;line-height:1.45;color:var(--mist);position:relative}
.inz-body li::before{content:'';position:absolute;left:16px;top:16px;width:26px;height:26px;border-radius:9px;background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231E2A35' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center no-repeat}
.inz-body b{font-size:15.5px;color:var(--cream)}
.inz-tl{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn-svetly{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 1.5px rgba(247,242,232,.5)}
.btn-svetly:hover{background:var(--cream);color:var(--ink)}
.inz-postava{position:relative;align-self:end;justify-self:center;width:min(100%,340px);aspect-ratio:1/1.1}
.inz-kruh{position:absolute;inset:10% 0 0;border-radius:50%;background:var(--slatedeep)}
.inz-postava img{position:absolute;left:6%;right:6%;bottom:0;width:88%;height:auto;animation:vznasaj 5.5s ease-in-out infinite;transform-origin:50% 100%;filter:drop-shadow(0 30px 30px rgba(0,0,0,.35))}
/* formulár Chcem byť maklér */
.fz{display:flex;flex-direction:column;gap:14px}
.fz label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--slate)}
.fz textarea.vstup{min-height:96px;padding:12px 14px;resize:vertical}
.fz .chyba{background:rgba(219,149,34,.16);color:var(--brown)}
.fz-pozn{margin:0;font-size:12.5px;line-height:1.5;color:var(--slate)}
.panel .hotovo h3{color:var(--ink)}.panel .hotovo p{color:var(--slate)}
.panel .hotovo svg path{stroke:var(--ink)}
/* článok */
.clanok{max-width:820px;margin:0 auto}
.clanok-foto{margin-top:18px;aspect-ratio:16/8;border-radius:30px;overflow:hidden;background:var(--cream2)}
.clanok-foto img{width:100%;height:100%;object-fit:cover}
.clanok-meta{margin-top:26px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px;font-weight:700;color:var(--slate)}
.clanok h1{margin-top:10px;font-size:clamp(32px,4.4vw,54px);font-weight:800;line-height:1.05;letter-spacing:-.035em}
.clanok-perex{margin:18px 0 0;font-size:20px;line-height:1.55;font-weight:600;color:var(--ink)}
.clanok-text{margin-top:22px;font-size:17.5px;line-height:1.75;color:var(--inksoft)}
.clanok-text h2{margin:34px 0 10px;font-size:26px;font-weight:800;color:var(--ink)}
.clanok-text p{margin:0 0 16px}
.clanok-text ul{margin:0 0 18px;padding-left:22px}
.clanok-text li{margin:6px 0}
.clanok-pata{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;padding-top:24px;border-top:1px dashed var(--cream2)}
#inzerovat{padding-bottom:80px}
.ma-por .tn-pata{padding-bottom:96px}
.ma-por .tn-toast{bottom:96px}
@media (max-width:620px){.clanok-perex{font-size:18px}.clanok-text{font-size:16.5px}.clanok-text h2{font-size:22px}.clanok-foto{border-radius:22px;aspect-ratio:16/10}#inzerovat{padding-bottom:50px}}

/* ---------------------------------------------------------------- veľká realitná mapa */
.uvod-mapa{margin-top:24px}
.uvod-mapa svg{color:var(--brown)}
.uvod-mapa:hover svg{color:var(--gold)}
.vm-sekcia{padding:34px 0 0}
main section[id]{scroll-margin-top:calc(var(--hlava) + 8px)}
.vm-hl{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.vm-hl h2{margin-top:14px;font-size:clamp(30px,3.8vw,48px);font-weight:800;line-height:1.05;letter-spacing:-.03em}
.vm-hl p{margin:10px 0 0;max-width:620px;font-size:17px;color:var(--inksoft)}
.vm-druhy{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.vm-druhy button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 6px;border-radius:999px;border:0;background:var(--paper);box-shadow:var(--tien);color:var(--ink);font-weight:700;font-size:14px;cursor:pointer;transition:transform .25s var(--pruzna),background .2s,color .2s}
.vm-druhy button:hover{transform:translateY(-2px)}
.vm-druhy button i{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:var(--kc);color:#F2E4C6}
.vm-druhy button i svg{width:16px;height:16px}
.vm-druhy button small{font-size:12px;font-weight:800;color:var(--slate)}
.vm-druhy button[aria-pressed="true"]{background:var(--ink);color:var(--cream)}
.vm-druhy button[aria-pressed="true"] small{color:var(--gold)}
.vm-druhy button[aria-pressed="true"] i{background:var(--gold);color:var(--ink)}
.vm-obal{position:relative;margin-top:16px;height:min(68vh,620px);min-height:420px;border-radius:36px;overflow:hidden;background:var(--cream2);box-shadow:0 1px 0 rgba(30,42,53,.05),0 40px 70px -40px rgba(30,42,53,.6);isolation:isolate}
#velka-mapa{position:absolute;inset:0}
.vm-hore{position:absolute;left:62px;right:14px;top:14px;z-index:500;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;pointer-events:none}
.vm-pocet{padding:9px 14px;border-radius:999px;background:rgba(255,253,248,.95);box-shadow:var(--tien);font-size:14px;color:var(--slate)}
.vm-pocet b{color:var(--ink)}
.vm-tl{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:999px;border:0;background:var(--ink);color:var(--cream);font-weight:700;font-size:14px;cursor:pointer;box-shadow:var(--tien);transition:background .2s}
.vm-tl:hover{background:var(--slate)}
.vm-hint{position:absolute;left:50%;top:50%;z-index:600;transform:translate(-50%,-50%) scale(.96);padding:12px 18px;border-radius:999px;background:rgba(30,42,53,.88);color:var(--cream);font-weight:700;font-size:14px;pointer-events:none;opacity:0;transition:opacity .25s,transform .25s}
.vm-hint.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.vm-obal.vm-cela{position:fixed;inset:0;z-index:85;height:auto;min-height:0;margin:0;border-radius:0}
.vm-karta{right:auto;width:min(420px,calc(100% - 24px));left:14px;bottom:14px}
.pin-nastup{animation:pinIn .55s var(--pruzna) backwards;animation-delay:var(--rd,0ms)}
@keyframes pinIn{from{opacity:0;transform:translate(-50%,-130%) scale(.5)}to{opacity:1;transform:translate(-50%,-100%)}}

/* ---------------------------------------------------------------- mapa */
.leaflet-container{font-family:'Instrument Sans',system-ui,sans-serif;background:var(--cream2)}
.mapa-svetla .leaflet-tile-pane{filter:saturate(.55) sepia(.12) brightness(1.03)}
.pin-obal{background:none;border:0}
.pin{position:relative;display:inline-flex;align-items:center;gap:6px;transform:translate(-50%,-100%);padding:4px 11px 4px 4px;border-radius:999px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:800;white-space:nowrap;box-shadow:0 8px 18px -8px rgba(30,42,53,.55),0 0 0 1px rgba(30,42,53,.08);transition:transform .25s var(--pruzna),background .2s,color .2s;cursor:pointer}
.pin-ic{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--kc,#1E2A35);color:#F2E4C6;flex:none}
.pin-ic svg{width:15px;height:15px}
.pin.akt .pin-ic,.pin:hover .pin-ic{background:var(--gold);color:var(--ink)}
.pin-d{position:relative;width:46px;height:46px;transform:translate(-50%,-100%);border-radius:50% 50% 50% 4px;rotate:-45deg;background:var(--kc,#1E2A35);display:grid;place-items:center;box-shadow:0 10px 22px -8px rgba(30,42,53,.7),0 0 0 4px rgba(255,253,248,.95)}
.pin-d svg{rotate:45deg;width:22px;height:22px;color:#F2E4C6}
.mapa-legenda{position:absolute;right:12px;top:12px;z-index:500;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:calc(100% - 80px);pointer-events:none}
.mapa-legenda span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:rgba(255,253,248,.95);box-shadow:var(--tien);font-size:12px;font-weight:700;color:var(--inksoft)}
.mapa-legenda i{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--kc);color:#F2E4C6}
.mapa-legenda i svg{width:13px;height:13px}
.pin::after{content:'';position:absolute;left:50%;bottom:-5px;width:10px;height:10px;margin-left:-5px;background:inherit;transform:rotate(45deg);border-radius:2px}
.pin.akt,.pin:hover{background:var(--ink);color:var(--cream);transform:translate(-50%,-100%) scale(1.12);z-index:1000}
.pin.obl{background:var(--goldsoft)}
.leaflet-marker-icon.akt-z{z-index:10000!important}
.pin-bod{width:22px;height:22px;transform:translate(-50%,-50%);border-radius:999px;background:var(--gold);box-shadow:0 0 0 5px rgba(219,149,34,.3),0 8px 18px -6px rgba(30,42,53,.6)}
.leaflet-popup-content-wrapper{padding:0;border-radius:20px;overflow:hidden;box-shadow:var(--tien2)}
.leaflet-popup-content{margin:0;width:250px!important}
.leaflet-popup-tip{background:var(--paper)}
.mp{display:block;color:var(--ink);text-decoration:none}
.mp img,.mp .mp-bez{display:block;width:100%;height:140px;object-fit:cover;background:var(--cream2)}
.mp div{padding:10px 14px 12px}
.mp b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:19px}
.mp span{display:block;font-size:13px;color:var(--slate);line-height:1.35}
.mapa-karta{position:absolute;left:12px;right:12px;bottom:12px;z-index:600;animation:hore .35s var(--ease)}
@keyframes hore{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.mapa-karta .karta{flex-direction:row;border-radius:20px}
.mapa-karta .karta-foto{flex:0 0 38%;aspect-ratio:auto;border-radius:20px 0 0 20px;min-height:130px}
.mapa-karta .karta-telo{padding:12px 14px}
.mapa-karta .karta-pata,.mapa-karta .bodky,.mapa-karta .sipka{display:none}
.mapa-karta .karta-cena b{font-size:20px}
.mapa-karta .odz:nth-child(n+2){display:none}
.mapa-karta .zavriet{position:absolute;right:-6px;top:-10px;z-index:5;width:34px;height:34px;border-radius:99px;border:0;background:var(--ink);color:var(--cream);display:grid;place-items:center;cursor:pointer}

/* ---------------------------------------------------------------- panel filtrov */
.zaclona{position:fixed;inset:0;z-index:80;background:rgba(30,42,53,.42);animation:prelin .3s ease}
@keyframes prelin{from{opacity:0}to{opacity:1}}
.panel{position:fixed;z-index:81;top:12px;right:12px;bottom:12px;width:min(440px,calc(100% - 24px));display:flex;flex-direction:column;border-radius:30px;background:var(--paper);box-shadow:0 40px 80px -30px rgba(30,42,53,.7);animation:zprava .45s var(--ease)}
@keyframes zprava{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.panel-hlava{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 12px}
.panel-hlava h2{font-size:26px;font-weight:800}
.x{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;border:0;background:var(--cream);cursor:pointer;transition:background .2s,transform .3s var(--pruzna)}
.x:hover{background:var(--ink);color:var(--cream);transform:rotate(90deg)}
.panel-telo{flex:1;overflow:auto;padding:4px 22px 20px}
.panel-telo fieldset{border:0;margin:0 0 22px;padding:0}
.panel-telo legend{padding:0;margin-bottom:10px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.volby{display:flex;flex-wrap:wrap;gap:8px}
.volby button{min-height:42px;padding:0 15px;border-radius:999px;border:0;background:var(--cream);color:var(--ink);font-weight:600;font-size:14px;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.volby button:hover{background:var(--cream2)}
.volby button[aria-pressed="true"]{background:var(--ink);color:var(--cream)}
.od-do{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.od-do label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:var(--slate)}
.vstup{width:100%;min-height:48px;border-radius:14px;border:1.5px solid var(--cream2);background:var(--paper);padding:0 14px;font:inherit;font-size:16px;color:var(--ink);transition:border-color .2s}
.vstup:focus{outline:none;border-color:var(--ink)}
.prepinac-r{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;cursor:pointer;font-weight:600}
.prepinac{appearance:none;-webkit-appearance:none;flex:none;position:relative;margin:0;width:40px;height:23px;border-radius:999px;background:var(--off);cursor:pointer;transition:background .2s}
.prepinac::after{content:'';position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(30,42,53,.3);transition:transform .25s var(--pruzna)}
.prepinac:checked{background:var(--ok)}
.prepinac:checked::after{transform:translateX(17px)}
.panel-pata{display:flex;gap:10px;padding:14px 22px 20px;border-top:1px solid var(--cream2)}
.panel-pata .btn{flex:1}

/* ---------------------------------------------------------------- detail */
.detail{padding:18px 0 90px;animation:prelinHore .55s var(--ease)}
@keyframes prelinHore{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.omrvinky{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:14px;color:var(--slate)}
.spat{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px 0 12px;border-radius:999px;border:0;background:var(--paper);box-shadow:var(--tien);color:var(--ink);font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s,color .2s}
.spat:hover{background:var(--ink);color:var(--cream);transform:translateX(-3px)}
.galeria{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;height:min(62vh,540px);margin-top:16px;border-radius:30px;overflow:hidden}
.galeria button{position:relative;padding:0;border:0;background:var(--cream2);cursor:zoom-in;overflow:hidden}
.galeria button:first-child{grid-row:1/3}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .4s}
.galeria button:hover img{transform:scale(1.05)}
.galeria .viac{position:absolute;inset:0;display:grid;place-items:center;background:rgba(30,42,53,.55);color:var(--cream);font-weight:800;font-size:17px;transition:background .3s}
.galeria button:hover .viac{background:rgba(30,42,53,.7)}
.galeria.g1{grid-template-columns:1fr;grid-template-rows:1fr}
.galeria.g2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
.galeria.g2 button:first-child{grid-row:auto}
.galeria.g3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
.galeria.g4{grid-template-columns:2fr 1fr 1fr}
.galeria.g4 button:nth-child(4){grid-column:2/4}
.galeria.g0{display:grid;place-items:center;background:var(--cream2);height:280px}
.galeria.g0 img{width:150px;height:auto;object-fit:contain;opacity:.6}
.galeria-m{display:none}
.d-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;margin-top:30px;align-items:start}
.d-hlava .odznaky{position:static;max-width:none;margin-bottom:12px}
.d-hlava h1{font-size:clamp(30px,3.6vw,46px);font-weight:800;line-height:1.08;letter-spacing:-.03em}
.d-lok{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:16px;color:var(--slate)}
.d-lok svg{color:var(--brown)}
.d-cena{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:18px}
.d-cena b{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(32px,3.4vw,42px);font-weight:800;letter-spacing:-.03em;line-height:1}
.d-cena small{font-size:15px;font-weight:600;color:var(--slate)}
.d-cena .odz{align-self:center}
.d-text-cena{margin-top:6px;font-size:14px;color:var(--slate)}
.fakty{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:24px}
.fakt{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:var(--paper);box-shadow:var(--tien)}
.fakt .ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--cream);color:var(--slate)}
.fakt small{display:block;font-size:12px;font-weight:700;color:var(--slate);line-height:1.2}
.fakt b{display:block;font-size:16px;line-height:1.25}
.d-blok{margin-top:34px}
.d-blok h2{font-size:24px;font-weight:800;margin-bottom:14px}
.d-intro{font-size:18px;font-weight:600;line-height:1.55;color:var(--ink);margin:0 0 12px}
.d-popis{position:relative;white-space:pre-line;color:var(--inksoft);line-height:1.7}
.d-popis.zbal{max-height:260px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 62%,transparent);mask-image:linear-gradient(#000 62%,transparent)}
.citaj{margin-top:10px}
.tab-par{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0}
.tab-par div{display:flex;justify-content:space-between;gap:14px;padding:12px 2px;border-bottom:1px dashed var(--cream2)}
.tab-par dt{color:var(--slate)}
.tab-par dd{margin:0;font-weight:700;text-align:right}
.vybavenie{display:flex;flex-wrap:wrap;gap:8px}
.vybavenie span{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border-radius:999px;background:var(--paper);box-shadow:var(--tien);font-size:14px;font-weight:600}
.vybavenie svg{color:var(--ok)}
.media-tl{display:flex;flex-wrap:wrap;gap:10px}
.d-mapa{position:relative;height:340px;border-radius:26px;overflow:hidden;background:var(--cream2);box-shadow:var(--tien)}
.d-mapa>div{position:absolute;inset:0}
.pozn{margin-top:8px;font-size:13px;color:var(--slate)}

/* bočný panel: maklér a formulár */
.bok{position:sticky;top:calc(var(--hlava) + 18px);display:flex;flex-direction:column;gap:16px}
.makler{padding:22px;border-radius:26px;background:var(--paper);box-shadow:var(--tien2)}
.makler-hl{display:flex;align-items:center;gap:14px}
.makler-hl b{display:block;font-size:18px;line-height:1.25}
.makler-hl small{display:block;font-size:14px;color:var(--slate)}
.kanc-logo{display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;border-radius:14px;background:var(--cream);font-size:13.5px;color:var(--slate)}
.kanc-logo img{max-height:28px;max-width:110px;object-fit:contain}
.kanc-logo b{color:var(--ink)}
.makler-akcie{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.makler-akcie .btn{min-height:46px;font-size:14.5px;padding:0 12px}
.makler-akcie .btn:only-child{grid-column:1/-1}
.zaujem{padding:22px;border-radius:26px;background:var(--ink);color:var(--cream);box-shadow:0 40px 70px -40px rgba(30,42,53,.8)}
.zaujem h2{font-size:24px;font-weight:800;color:var(--cream)}
.zaujem .seg{margin-top:14px;display:flex}
.zaujem .seg button{flex:1;padding:0 8px;font-size:13.5px}
.form{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--mist)}
.form input,.form textarea{width:100%;min-height:50px;border-radius:14px;border:1.5px solid transparent;background:var(--paper);padding:12px 14px;font:inherit;font-size:16px;color:var(--ink);transition:border-color .2s}
.form textarea{min-height:96px;resize:vertical}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--gold)}
.med{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.form .btn{width:100%;margin-top:4px}
.form-pozn{margin:2px 0 0;font-size:12.5px;line-height:1.45;color:var(--mist)}
.chyba{margin:0;padding:10px 12px;border-radius:12px;background:rgba(219,149,34,.16);color:var(--goldsoft);font-size:14px;font-weight:600}
.toci{width:18px;height:18px;border-radius:99px;border:2.5px solid rgba(30,42,53,.25);border-top-color:var(--ink);animation:toc .8s linear infinite}
@keyframes toc{to{transform:rotate(360deg)}}
.hotovo{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:18px 6px 8px;animation:vyskoc .4s var(--ease)}
.hotovo svg circle{stroke-dasharray:160;stroke-dashoffset:160;animation:kresli .7s var(--ease) forwards}
.hotovo svg path{stroke-dasharray:40;stroke-dashoffset:40;animation:kresli .45s var(--ease) .55s forwards}
@keyframes kresli{to{stroke-dashoffset:0}}
.hotovo h3{font-size:22px;color:var(--cream)}
.hotovo p{margin:0;color:var(--mist)}
.zdielat-r{display:flex;gap:8px}
.zdielat-r .btn{flex:1}

/* podobné ponuky */
.podobne{margin-top:70px}
.podobne-hl{display:flex;align-items:center;justify-content:space-between;gap:12px}
.podobne-hl h2{font-size:30px;font-weight:800}
.karusel{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 52px)/3);gap:26px;margin-top:20px;padding:6px 4px 30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.karusel::-webkit-scrollbar{display:none}
.karusel>*{scroll-snap-align:start}
.kar-sipky{display:flex;gap:8px}
.kar-sipky button{display:grid;place-items:center;width:46px;height:46px;border-radius:999px;border:0;background:var(--paper);box-shadow:var(--tien);cursor:pointer;transition:background .2s,color .2s}
.kar-sipky button:hover{background:var(--ink);color:var(--cream)}

/* lišta na mobile v detaile */
.d-lista{display:none}

/* galéria na celú obrazovku */
.lightbox{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;background:rgba(21,25,28,.96);color:var(--cream);animation:prelin .25s ease}
.lb-hore{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}
.lb-hore .x{background:rgba(247,242,232,.12);color:var(--cream)}
.lb-hore .x:hover{background:var(--cream);color:var(--ink)}
.lb-scena{position:relative;flex:1;min-height:0;display:grid;place-items:center;padding:0 70px;touch-action:pan-y}
.lb-scena img{max-width:100%;max-height:100%;object-fit:contain;border-radius:14px;animation:lbIn .35s var(--ease)}
@keyframes lbIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.lb-sipka{position:absolute;top:50%;margin-top:-28px;display:grid;place-items:center;width:56px;height:56px;border-radius:999px;border:0;background:rgba(247,242,232,.12);color:var(--cream);cursor:pointer;transition:background .2s,color .2s}
.lb-sipka:hover{background:var(--gold);color:var(--ink)}
.lb-sipka.l{left:10px}.lb-sipka.p{right:10px}
.lb-nahlady{display:flex;gap:8px;padding:14px 18px 18px;overflow-x:auto;scrollbar-width:none}
.lb-nahlady::-webkit-scrollbar{display:none}
.lb-nahlady button{flex:none;width:76px;height:56px;padding:0;border:0;border-radius:10px;overflow:hidden;opacity:.45;cursor:pointer;transition:opacity .2s,outline-color .2s;outline:2px solid transparent;outline-offset:2px;background:var(--slatedeep)}
.lb-nahlady button[aria-current="true"]{opacity:1;outline-color:var(--gold)}
.lb-nahlady img{width:100%;height:100%;object-fit:cover}

/* toast */
.tn-toast{position:fixed;left:50%;bottom:22px;white-space:nowrap;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;z-index:95;transform:translate(-50%,30px);padding:12px 20px;border-radius:999px;background:var(--ink);color:var(--cream);font-weight:700;font-size:14.5px;box-shadow:0 20px 40px -16px rgba(30,42,53,.7);opacity:0;pointer-events:none;transition:opacity .3s,transform .4s var(--pruzna)}
.tn-toast.on{opacity:1;transform:translate(-50%,0)}

/* odkrývanie pri skrolovaní */
.js-pohyb [data-rv]{opacity:0;translate:0 30px;transition:opacity .8s var(--ease) var(--rd,0ms),translate .9s var(--ease) var(--rd,0ms)}
.js-pohyb [data-rv].rv-in{opacity:1;translate:none}
.karta.nastup{animation:kartaIn .6s var(--ease) both;animation-delay:var(--rd,0ms)}
@keyframes kartaIn{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}

/* ---------------------------------------------------------------- menšie obrazovky */
@media (max-width:1180px){
  .tn-nav .nd{display:none}
  .tn-menu{display:block}
}
@media (max-width:1100px){
  .mriezka{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mk-mriezka,.cl-mriezka{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inz-body{grid-template-columns:1fr}
  .split.s-mapou{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .split.s-mapou .mriezka{grid-template-columns:minmax(0,1fr)}
  .d-grid{grid-template-columns:minmax(0,1fr) 340px;gap:28px}
  .karusel{grid-auto-columns:calc((100% - 26px)/2)}
}
@media (max-width:860px){
  :root{--hlava:64px}
  .obal,.tn-hlava-in{padding-left:16px;padding-right:16px}
  .lista{margin:0 -16px;padding:10px 16px}
  .tn-nav .t-text{display:none}
  .tn-nav>a,.tn-nav>button{padding:0 12px}
  .tn-wm{font-size:18px}
  .tn-logo img{width:38px;height:38px}
  .uvod{padding-top:26px}
  .uvod-grid{grid-template-columns:minmax(0,1fr)}
  .uvod-postava{display:none}
  .uvod-text{font-size:16.5px}
  .hladanie{padding:14px;border-radius:24px;margin-top:22px}
  .kat{flex-wrap:nowrap;overflow-x:auto;margin:0 -14px;padding:0 14px;scrollbar-width:none}
  .kat::-webkit-scrollbar{display:none}
  .kat button{flex:none}
  .hl-rad .btn{flex:1 1 100%}
  .hl-vyber{flex:1 1 100%}
  .split.s-mapou{grid-template-columns:minmax(0,1fr)}
  .split.s-mapou .mriezka{display:none}
  .mapa-obal{position:relative;top:auto;height:calc(100dvh - var(--hlava) - 150px);min-height:380px;border-radius:22px}
  .lista h2{font-size:21px}
  .d-grid{grid-template-columns:minmax(0,1fr)}
  .bok{position:static}
  .galeria{display:none}
  .galeria-m{display:block;position:relative;margin:14px -16px 0}
  .galeria-m .pas{aspect-ratio:4/3;max-height:62vh}
  .galeria-m .pas img{cursor:zoom-in}
  .galeria-m .pocitadlo{position:absolute;right:14px;bottom:14px;padding:5px 11px;border-radius:999px;background:rgba(30,42,53,.75);color:var(--cream);font-size:13px;font-weight:700}
  .galeria-m .bez-foto{aspect-ratio:16/10}
  .tab-par{grid-template-columns:minmax(0,1fr)}
  .sekcia{padding-top:70px}
  .pv-mriezka{grid-template-columns:minmax(0,1fr)}
  .pv{border-radius:28px}
  .pv-pripravujeme{right:18px;top:18px}
  .inz{grid-template-columns:minmax(0,1fr);border-radius:28px}
  .inz-postava{order:-1;width:170px;justify-self:start;margin-bottom:-10px}
  .inz-tl .btn{flex:1 1 100%}
  .karusel{grid-auto-columns:82%;gap:16px;margin:16px -16px 0;padding:6px 16px 30px;scroll-padding:0 16px}
  .kar-sipky{display:none}
  .d-lista{position:fixed;left:10px;right:10px;bottom:10px;z-index:45;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 18px;border-radius:22px;background:var(--ink);color:var(--cream);box-shadow:0 20px 40px -16px rgba(30,42,53,.7);transform:translateY(130%);transition:transform .45s var(--ease)}
  .d-lista.on{transform:none}
  .d-lista div{flex:1;min-width:0}
  .d-lista small{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--mist);text-transform:uppercase}
  .d-lista b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .d-lista .btn{min-height:46px;padding:0 16px;font-size:15px}
  .d-lista .tel{display:grid;place-items:center;width:46px;height:46px;border-radius:999px;background:rgba(247,242,232,.12);color:var(--cream)}
  .detail{padding-bottom:110px}
  .lb-scena{padding:0 8px}
  .lb-sipka{display:none}
  .panel{top:auto;left:0;right:0;bottom:0;width:100%;max-height:88dvh;border-radius:28px 28px 0 0;animation:zdola .45s var(--ease)}
  @keyframes zdola{from{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}
}
@media (max-width:620px){
  .vm-obal{height:66vh;min-height:380px;border-radius:24px}
  .vm-hore{left:56px}
  .vm-tl{padding:0 12px}
  .vm-druhy{flex-wrap:nowrap;overflow-x:auto;margin:16px -16px 0;padding:4px 16px 10px;scrollbar-width:none}
  .vm-druhy::-webkit-scrollbar{display:none}
  .vm-druhy button{flex:none}
  .vm-karta{width:auto;right:12px;left:12px;bottom:12px}
  .mriezka{grid-template-columns:minmax(0,1fr);gap:20px}
  .mk-mriezka,.cl-mriezka{grid-template-columns:minmax(0,1fr)}
  .mk-hladaj{flex:1 1 100%}
  .mapa-legenda{display:none}
  .tn-nav{gap:2px}
  .tn-nav .tn-pre{display:none}
  .tn-nav>a,.tn-nav>button{padding:0 11px}
  .tn-logo{gap:8px}
  .tn-logo img{width:36px;height:36px}
  .tn-wm{font-size:16px}
  .lista-in{gap:8px}
  .lista h2{flex:1 1 100%}
  .lista .seg{flex:1}
  .lista .seg button{flex:1}
  .lista .zoradit{display:none}
  .karta-cena b{font-size:22px}
}
@media (max-width:370px){
  .tn-wm .a{display:none}
}

/* ================================================================ 087: predaj, strážca, porovnanie, kalkulačka, cenová mapa, kancelária */
.nep{font-weight:600;color:var(--mistm)}
.prazdne-tl{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}

/* strážca ponúk pod výsledkami */
.sz-pas{display:flex;align-items:center;gap:18px;margin-top:34px;padding:20px 22px;border-radius:26px;background:var(--ink);color:var(--cream);box-shadow:0 30px 60px -40px rgba(30,42,53,.9)}
.sz-ic{flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--gold);color:var(--ink);animation:zvon 4.5s ease-in-out infinite;transform-origin:50% 8%}
@keyframes zvon{0%,82%,100%{rotate:0deg}86%{rotate:12deg}90%{rotate:-10deg}94%{rotate:6deg}97%{rotate:-3deg}}
.sz-tx{flex:1;min-width:0}
.sz-tx b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:22px;font-weight:800;letter-spacing:-.01em}
.sz-tx>span{display:block;margin-top:2px;font-size:15px;color:var(--mist)}
.sz-popis{color:var(--goldsoft);font-weight:700}
.sz-co{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:14px 16px;border-radius:18px;background:var(--cream)}
.sz-co small{flex:1 1 100%;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}
.sz-co b{flex:1;min-width:0;font-size:16px;line-height:1.35}
.sz-co .btn{min-height:38px;padding:0 12px;font-size:13px}
.sz-nie{flex:1 1 100%;font-size:13px;line-height:1.45;color:var(--slate)}

/* naposledy prezerané */
.np-sekcia{padding:10px 0 0}
.np-hl{display:flex;align-items:center;justify-content:space-between;gap:12px}
.np-hl h2{font-size:24px;font-weight:800}
.np-pas{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,300px);gap:14px;margin:14px -24px 0;padding:6px 24px 18px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}
.np{display:flex;align-items:center;gap:12px;padding:10px;border-radius:20px;background:var(--paper);box-shadow:var(--tien);color:var(--ink);text-decoration:none;scroll-snap-align:start;transition:transform .3s var(--ease),box-shadow .3s;animation:vyskoc .45s var(--ease) backwards;animation-delay:var(--rd,0ms)}
.np:hover{transform:translateY(-3px);box-shadow:var(--tien2);color:var(--ink)}
.np-foto{flex:none;width:82px;height:66px;border-radius:14px;overflow:hidden;background:var(--cream2);display:grid;place-items:center}
.np-foto img{width:100%;height:100%;object-fit:cover}
.np-foto img.np-bez,.por-foto img.np-bez{width:60%;height:auto;object-fit:contain;opacity:.55}
.np-tx{min-width:0;display:flex;flex-direction:column;gap:1px}
.np-tx b{font-family:'Bricolage Grotesque',sans-serif;font-size:17px;font-weight:800}
.np-tx span,.np-tx small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.np-tx span{font-size:13.5px;font-weight:600}
.np-tx small{font-size:12.5px;color:var(--slate)}

/* pre predávajúcich */
.pr-mriezka{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:22px;margin-top:28px;align-items:start}
.odh{padding:clamp(22px,3vw,34px);border-radius:36px;background:var(--paper);box-shadow:var(--tien2)}
.odh-h{font-size:clamp(26px,2.8vw,34px);font-weight:800;line-height:1.08;letter-spacing:-.03em}
.odh-p{margin:10px 0 0;font-size:16px;line-height:1.55;color:var(--inksoft)}
.odh-form{margin-top:20px}
.odh-rad{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px}
.odh-form .btn-ink{align-self:flex-start}
.odh-form .btn-ink svg{transition:transform .3s var(--pruzna)}
.odh-form .btn-ink:hover svg{transform:translateX(4px)}
.odh-vysl{padding:20px 22px;border-radius:22px;background:var(--ink);color:var(--cream);animation:vyskoc .45s var(--ease)}
.odh-vysl small{display:block;font-size:14px;color:var(--mist)}
.odh-cislo{display:block;margin-top:4px;font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(30px,4vw,42px);font-weight:800;line-height:1.05;letter-spacing:-.03em;color:var(--cream);font-variant-numeric:tabular-nums}
.odh-skala{position:relative;height:10px;margin:16px 0 10px;border-radius:99px;background:rgba(247,242,232,.12)}
.odh-pas{position:absolute;top:0;bottom:0;border-radius:99px;background:var(--mistm);transform-origin:left;animation:roztiahni .7s var(--ease) .15s backwards}
@keyframes roztiahni{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.odh-bod{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:99px;background:var(--gold);box-shadow:0 0 0 3px var(--ink);animation:vyskoc .4s var(--pruzna) .6s backwards}
.odh-info{display:block;font-size:14px;font-weight:600;color:var(--mist)}
.odh-pozn{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--mistm)}
.odh-malo{margin:0;font-size:15px;line-height:1.55;color:var(--mist)}
.odh-malo b{color:var(--cream)}
.odh-kontakt{display:flex;flex-direction:column;gap:12px;padding-top:6px}
.odh-kontakt h4{margin:6px 0 0;font-family:'Bricolage Grotesque',sans-serif;font-size:20px;font-weight:800;letter-spacing:-.01em}
.odh .hotovo h3,.kn .hotovo h3{color:var(--ink)}.odh .hotovo p{color:var(--slate)}
.odh .hotovo svg path{stroke:var(--ink)}
.odh .hotovo{padding:26px 6px 10px}
.pd{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:clamp(22px,3vw,34px);border-radius:36px;background:var(--goldsoft)}
.pd .pv-ic{background:var(--ink);color:var(--gold)}
.pd h3{font-size:clamp(26px,2.8vw,34px);font-weight:800;line-height:1.05;letter-spacing:-.03em}
.pd p{margin:0;font-size:16px;line-height:1.6;color:var(--inksoft)}

/* cenová mapa */
.cn-typy{align-self:flex-end}
.cn-typy button:disabled{opacity:.4;cursor:default}
.cn-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;margin-top:24px}
.cn-mapa-obal{position:relative;min-height:520px;border-radius:36px;overflow:hidden;background:var(--cream2);box-shadow:0 1px 0 rgba(30,42,53,.05),0 40px 70px -40px rgba(30,42,53,.6);isolation:isolate}
#cn-mapa{position:absolute;inset:0}
.cn-legenda{position:absolute;left:14px;bottom:14px;z-index:500;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;max-width:calc(100% - 28px);padding:10px 14px;border-radius:16px;background:rgba(255,253,248,.95);box-shadow:var(--tien);font-size:12.5px;font-weight:700;color:var(--inksoft)}
.cn-leg-t{color:var(--ink);font-weight:800}
.cn-legenda span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.cn-legenda i{width:14px;height:14px;border-radius:4px;box-shadow:0 0 0 2px var(--paper)}
.cn-pin{display:inline-flex;align-items:center;transform:translate(-50%,-50%);padding:5px 10px;border-radius:999px;background:var(--cf,#4A6074);color:var(--paper);font-size:12.5px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--paper),0 8px 18px -8px rgba(30,42,53,.6);cursor:pointer;transition:transform .25s var(--pruzna),box-shadow .2s;animation:cnPinIn .55s var(--pruzna) backwards;animation-delay:var(--rd,0ms)}
@keyframes cnPinIn{from{opacity:0;transform:translate(-50%,-50%) scale(.4)}to{opacity:1;transform:translate(-50%,-50%)}}
.cn-pin.sv{color:var(--ink)}
.cn-pin:hover,.cn-pin.hl,.cn-pin.akt{transform:translate(-50%,-50%) scale(1.14);box-shadow:0 0 0 3px var(--gold),0 12px 24px -8px rgba(30,42,53,.7)}
.leaflet-marker-icon:has(.cn-pin.akt){z-index:1000!important}
.cn-tt{padding:8px 12px;border:0;border-radius:12px;background:var(--ink);color:var(--cream);font:600 13px/1.4 'Instrument Sans',sans-serif;box-shadow:0 12px 24px -10px rgba(30,42,53,.7)}
.cn-tt b{display:block;font-size:14px}
.cn-tt::before{border-top-color:var(--ink)!important}
.cn-bok{display:flex;flex-direction:column;gap:14px;min-width:0}
.cn-vyber{min-height:110px}
.cn-tip{display:flex;align-items:center;gap:10px;margin:0;padding:18px;border-radius:22px;background:var(--paper);color:var(--slate);font-size:14.5px;box-shadow:var(--tien)}
.cn-tip svg{flex:none;color:var(--brown)}
.cn-det{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px 20px;border-radius:22px;background:var(--ink);color:var(--cream);animation:vyskoc .35s var(--ease)}
.cn-det-tx{display:flex;flex-direction:column;gap:2px}
.cn-det small{font-size:13px;font-weight:700;color:var(--mist)}
.cn-det b{font-family:'Bricolage Grotesque',sans-serif;font-size:30px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cn-det span{font-size:14px;color:var(--mist)}
.cn-okr{color:var(--goldsoft)!important;font-weight:700}
.cn-zoznam-hl{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:0 4px}
.cn-zoznam-hl b{font-size:15px}
.cn-zoznam-hl small{font-size:13px;color:var(--slate)}
.cn-zoznam{max-height:430px;overflow:auto;border-radius:22px;background:var(--paper);box-shadow:var(--tien);scrollbar-width:thin}
.cn-zoznam .cn-tip{box-shadow:none}
.cn-chyba{flex-wrap:wrap;justify-content:space-between}
.cn-rad{margin:0;padding:6px;list-style:none}
.cn-rad li{animation:prelinHore .45s var(--ease) backwards;animation-delay:var(--rd,0ms)}
.cn-rad button{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:52px;padding:6px 12px;border:0;border-radius:14px;background:transparent;text-align:left;cursor:pointer;transition:background .2s}
.cn-rad button:hover{background:var(--cream)}
.cn-rad button[aria-pressed="true"]{background:var(--goldsoft)}
.cn-o{min-width:0;display:flex;flex-direction:column}
.cn-o b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cn-o small{font-size:12px;color:var(--slate)}
.cn-bar{display:block;height:8px;border-radius:0 4px 4px 0;background:transparent}
.cn-bar i{display:block;height:100%;border-radius:0 4px 4px 0;transform-origin:left;animation:roztiahni .7s var(--ease) backwards;animation-delay:inherit}
.cn-v{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.cn-pozn{margin:14px 4px 0;font-size:13px;line-height:1.55;color:var(--slate);max-width:900px}

/* porovnanie: tlačidlo, lišta dole a tabuľka */
.por-tl.male{flex:none;margin-left:auto;display:grid;place-items:center;width:36px;height:36px;border-radius:999px;border:0;background:var(--cream);color:var(--slate);cursor:pointer;transition:background .2s,color .2s,transform .25s var(--pruzna)}
.por-tl.male:hover{background:var(--cream2);color:var(--ink);transform:scale(1.08)}
.por-tl[aria-pressed="true"]{background:var(--ink);color:var(--gold)}
.por-tl.btn[aria-pressed="true"]{background:var(--ink);color:var(--cream)}
.por-lista{position:fixed;left:50%;bottom:16px;z-index:46;transform:translate(-50%,140%);transition:transform .45s var(--ease);pointer-events:none}
.por-lista.on{transform:translate(-50%,0);pointer-events:auto}
.pl-in{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 18px;border-radius:999px;background:var(--ink);color:var(--cream);box-shadow:0 24px 48px -18px rgba(30,42,53,.8)}
.pl-tx{display:flex;flex-direction:column;line-height:1.15}
.pl-tx b{font-size:15px}
.pl-tx small{font-size:12px;color:var(--mist)}
.pl-fotky{display:flex;gap:6px}
.pl-f{position:relative;width:46px;height:46px;border-radius:14px;background:var(--slatedeep);animation:vyskoc .35s var(--pruzna)}
.pl-f img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.pl-odober{position:absolute;right:-6px;top:-6px;display:grid;place-items:center;width:22px;height:22px;padding:0;border-radius:99px;border:0;background:var(--paper);color:var(--ink);cursor:pointer;box-shadow:0 4px 10px -4px rgba(0,0,0,.5)}
.pl-odober svg{width:11px;height:11px}
.pl-in .btn{min-height:46px}
.pl-x{display:grid;place-items:center;width:40px;height:40px;border-radius:99px;border:0;background:rgba(247,242,232,.1);color:var(--cream);cursor:pointer}
.pl-x:hover{background:rgba(247,242,232,.2)}
.porovnanie{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(30,42,53,.5);animation:prelin .3s ease}
.por-okno{display:flex;flex-direction:column;width:min(1100px,100%);max-height:calc(100dvh - 40px);border-radius:30px;background:var(--paper);box-shadow:0 40px 80px -30px rgba(30,42,53,.8);animation:vyskoc .4s var(--ease);overflow:hidden}
.por-hlava{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 10px}
.por-hlava h2{font-size:28px;font-weight:800}
.por-hlava .x,.por-p .x{display:grid;place-items:center;width:44px;height:44px;border-radius:99px;border:0;background:var(--cream);color:var(--ink);cursor:pointer}
.por-telo{overflow:auto;padding:0 12px 18px}
.por-tab{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:14.5px}
.por-tab thead td,.por-tab tbody th{width:170px}
.por-tab th,.por-tab td{padding:11px 12px;text-align:left;vertical-align:top;border-bottom:1px dashed var(--cream2)}
.por-tab tbody th{position:sticky;left:0;z-index:1;background:var(--paper);font-size:13px;font-weight:700;color:var(--slate)}
.por-tab thead th{border-bottom:0}
.por-tab td small{display:block;font-size:12.5px;color:var(--slate)}
.por-tab tbody tr:hover td,.por-tab tbody tr:hover th{background:var(--cream)}
.por-p{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.por-foto{display:grid;place-items:center;width:100%;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--cream2)}
.por-foto img{width:100%;height:100%;object-fit:cover}
.por-n{font-weight:800;color:var(--ink);text-decoration:none;line-height:1.3}
.por-n:hover{text-decoration:underline}
.por-p .btn{min-height:36px;padding:0 12px;font-size:13px;gap:6px}
.por-naj{display:inline-flex;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--goldsoft);color:var(--ink);font-size:11.5px;font-weight:800;vertical-align:1px}

/* hypotekárna kalkulačka */
.hk{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;padding:20px;border-radius:26px;background:var(--paper);box-shadow:var(--tien)}
.hk-vstupy{display:flex;flex-direction:column;gap:16px}
.hk-r{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:var(--slate)}
.hk-r>span{display:flex;justify-content:space-between;gap:10px}
.hk-r output{color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums}
.hk-cena{position:relative;display:block}
.hk-cena .vstup{padding-right:34px;font-weight:700;font-variant-numeric:tabular-nums}
.hk-cena i{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--slate)}
.hk input[type=range]{width:100%;height:28px;margin:0;accent-color:var(--ink);cursor:pointer}
.hk-vysl{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:20px;background:var(--ink);color:var(--cream)}
.hk-vysl small{font-size:13px;color:var(--mist);font-weight:700}
.hk-spl{font-family:'Bricolage Grotesque',sans-serif;font-size:40px;font-weight:800;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.hk-pruh{display:flex;gap:2px;height:10px;margin:12px 0 6px}
.hk-pruh i{flex:1 1 0;min-width:4px;border-radius:4px;transition:flex-grow .5s var(--ease)}
.hk-pruh .ist,.hk-b.ist{background:var(--mist)}
.hk-pruh .ur,.hk-b.ur{background:var(--gold)}
.hk-dl{margin:0;display:flex;flex-direction:column;gap:6px}
.hk-dl div{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.hk-dl dt{display:flex;align-items:center;gap:8px;color:var(--mist)}
.hk-dl dd{margin:0;font-weight:800;font-variant-numeric:tabular-nums}
.hk-b{display:inline-block;width:10px;height:10px;border-radius:3px}
.hk-fin{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding:10px 14px;border-radius:14px;background:rgba(247,242,232,.08);color:var(--cream);font-weight:700;font-size:14px;text-decoration:none}
.hk-fin span{padding:3px 8px;border-radius:999px;background:var(--gold);color:var(--ink);font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hk-fin:hover{background:rgba(247,242,232,.16);color:var(--cream)}

/* stránka kancelárie */
.kanc-odkaz{color:inherit;text-decoration:none}.kanc-odkaz:hover b{text-decoration:underline}
.mk-hl small a{color:inherit}
.kn-hlava{display:flex;align-items:center;gap:clamp(18px,3vw,34px);margin-top:18px;padding:clamp(22px,4vw,44px);border-radius:36px;background:var(--ink);color:var(--cream);box-shadow:0 50px 90px -50px rgba(30,42,53,.9)}
.kn-kostra{min-height:240px;background:var(--cream2);box-shadow:none;animation:pulz 1.4s ease-in-out infinite}
.kn-logo{flex:none;display:grid;place-items:center;width:clamp(96px,12vw,150px);aspect-ratio:1;border-radius:32px;background:var(--paper);color:var(--ink);font-family:'Bricolage Grotesque',sans-serif;font-size:44px;font-weight:800;overflow:hidden}
.kn-logo img{width:80%;height:80%;object-fit:contain}
.kn-tx{min-width:0}
.kn-tx .sek-stitok{background:rgba(247,242,232,.1);color:var(--gold)}
.kn-tx h1{margin-top:12px;font-size:clamp(32px,4.4vw,56px);font-weight:800;line-height:1.02;letter-spacing:-.035em;color:var(--cream)}
.kn-tx p{margin:8px 0 0;font-size:16px;color:var(--mist)}
.kn-cipy{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.kn-cipy span{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 13px;border-radius:999px;background:rgba(247,242,232,.08);font-size:14px;font-weight:700}
.kn-cipy svg{color:var(--gold)}
.kn-tl{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.kn-tl .btn-obrys{color:var(--cream);box-shadow:inset 0 0 0 1.5px rgba(247,242,232,.5)}
.kn-tl .btn-obrys:hover{background:var(--cream);color:var(--ink)}
.kn-sek{margin-top:56px}
.kn-sek .podobne-hl small{font-family:'Instrument Sans',sans-serif;font-size:15px;font-weight:600;color:var(--slate);letter-spacing:0}
.kn-mriezka{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:20px}
.kn-sek .mk-mriezka{margin-top:20px}
.hviezdy{display:inline-flex;gap:2px;color:var(--mist)}
.hviezdy .on{color:var(--gold)}
.kn-suhrn{display:flex;align-items:center;gap:10px;margin-top:14px}
.kn-suhrn b{font-family:'Bricolage Grotesque',sans-serif;font-size:28px;font-weight:800}
.kn-suhrn span{color:var(--slate);font-size:14px}
.kn-recenzie{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:16px}
.kn-rec{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:22px;background:var(--paper);box-shadow:var(--tien)}
.kn-rec p{margin:0;font-size:15.5px;line-height:1.6;color:var(--inksoft)}
.kn-rec footer{margin-top:auto;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;color:var(--slate)}
.kn-rec footer b{color:var(--ink)}

@media (max-width:1100px){
  .cn-grid{grid-template-columns:minmax(0,1fr)}
  .cn-mapa-obal{min-height:440px}
  .cn-zoznam{max-height:360px}
  .kn-mriezka,.kn-recenzie{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .pr-mriezka{grid-template-columns:minmax(0,1fr)}
  .hk{grid-template-columns:minmax(0,1fr)}
  .je-ponuka .por-lista{display:none}
  body:has(.mapa-karta) .por-lista{visibility:hidden}
  .np-pas{margin:14px -16px 0;padding:6px 16px 18px}
  .kn-hlava{flex-direction:column;align-items:flex-start}
  .por-tab thead td,.por-tab tbody th{width:118px}
  .por-tab{width:calc(118px + var(--n,2) * 200px)}
}
@media (max-width:620px){
  .sz-pas{flex-wrap:wrap;gap:14px;padding:18px}
  .sz-pas .btn{flex:1 1 100%}
  .sz-ic{width:48px;height:48px;border-radius:15px}
  .odh,.pd{border-radius:28px}
  .odh-rad{grid-template-columns:minmax(0,1fr)}
  .cn-mapa-obal{min-height:380px;border-radius:24px}
  .cn-legenda{left:8px;right:8px;bottom:8px;max-width:none;padding:8px 10px;gap:4px 10px;font-size:11.5px}
  .cn-typy{width:100%}.cn-typy button{flex:1}
  .cn-pin{padding:3px 8px;font-size:11.5px}
  .kn-mriezka,.kn-recenzie{grid-template-columns:minmax(0,1fr)}
  .por-lista{left:10px;right:10px;transform:translateY(140%)}
  .por-lista.on{transform:none}
  .pl-in{border-radius:22px;padding:8px 8px 8px 14px;gap:8px}
  .pl-tx small{display:none}
  .pl-in .btn{flex:1;padding:0 12px}
  .porovnanie{padding:0;place-items:end stretch}
  .por-okno{width:100%;max-height:92dvh;border-radius:28px 28px 0 0}
  .por-hlava h2{font-size:23px}
  .np-pas{grid-auto-columns:78%}
}


/* ================================================================ 089: stránka Predať, orientačné ceny, vývoj, termín, sledovanie ceny */
body:not(.v-predat) #predat,body:not(.v-predat) #ceny{display:none}
.v-predat #zoznam>section:not(#predat):not(#ceny){display:none}
.v-predat #predat{padding-top:22px}
.pr-spat{display:none}
.v-predat .pr-spat{display:flex;margin-bottom:22px}
.pp{display:flex;align-items:center;gap:22px;padding:clamp(22px,3vw,32px);border-radius:36px;background:var(--goldsoft)}
.pp-ic{flex:none;display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--ink);color:var(--gold)}
.pp-tx{flex:1;min-width:0}
.pp-tx h2{margin-top:10px;font-size:clamp(26px,2.8vw,34px);font-weight:800;line-height:1.05;letter-spacing:-.03em}
.pp-tx p{margin:8px 0 0;max-width:620px;font-size:16px;line-height:1.55;color:var(--inksoft)}
.pp-tl{display:flex;flex-direction:column;gap:10px}
.cn-malo{color:var(--goldsoft)!important;font-weight:700}
.cn-leg-malo{color:var(--slate);font-weight:700}
.odh-malo-inz{margin-top:4px;color:var(--goldsoft)}
.cn-vyvoj{margin-top:10px;padding-top:10px;border-top:1px solid rgba(247,242,232,.14);color:var(--goldsoft)}
.cn-vyvoj>span{display:block;font-size:13.5px;font-weight:700;color:var(--cream)}
.cn-vyvoj svg{display:block;margin-top:6px;overflow:visible}
.cn-vyvoj circle{fill:var(--ink);stroke:currentColor;stroke-width:2}
.cn-vyvoj small{display:block;margin-top:4px;font-size:12.5px;color:var(--mist)}
/* termín obhliadky v tmavom formulári */
.d-termin{display:flex;flex-direction:column;gap:8px}
.d-termin-h{font-size:13px;font-weight:700;color:var(--mist)}
.d-termin-h small{font-weight:600;color:var(--mistm)}
.d-dni{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
.d-dni button{flex:none;display:flex;flex-direction:column;align-items:center;min-width:54px;padding:7px 6px;border:0;border-radius:12px;background:rgba(247,242,232,.08);color:var(--cream);cursor:pointer;font-size:12px;line-height:1.2;transition:background .2s}
.d-dni button b{font-size:14px}
.d-dni button:hover{background:rgba(247,242,232,.16)}
.d-dni button[aria-pressed="true"],.d-casy button[aria-pressed="true"]{background:var(--gold);color:var(--ink)}
.d-dni button:disabled,.d-casy button:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.d-casy{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.d-casy button{min-height:40px;border:0;border-radius:10px;background:rgba(247,242,232,.08);color:var(--cream);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;cursor:pointer}
.d-casy button:hover{background:rgba(247,242,232,.16)}
.d-termin-vyb{margin:0;font-size:13.5px;color:var(--goldsoft)}
/* upozornenie na zníženie ceny */
.sc-tl{width:100%;margin-top:8px}
.fz-pozn a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.form-pozn a{color:var(--cream);text-decoration:underline;text-underline-offset:2px}
@media (max-width:860px){
  .pp{flex-direction:column;align-items:flex-start}
  .pp-tl{flex-direction:row;flex-wrap:wrap;width:100%}
  .pp-tl .btn{flex:1 1 220px}
}

/* obmedzený pohyb: nič sa neposúva, len jemne prelína (všetky animácie: ?pohyb=1) */
@media (prefers-reduced-motion:reduce){
  html:not(.pohyb-vzdy) *,html:not(.pohyb-vzdy) *::before,html:not(.pohyb-vzdy) *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  html:not(.pohyb-vzdy) .js-pohyb [data-rv]{translate:none;transition:opacity .6s ease!important}
  html:not(.pohyb-vzdy) .detail,html:not(.pohyb-vzdy) .karta.nastup{animation:prelin .5s ease both!important}
}
