:root{
  --ink:#152230; --ink-soft:#1C2E3E; --ink-soft2:#22374B;
  --parchment:#EAF1F6; --parchment-dim:#D6E1EA;
  --text-onlight:#20293A; --text-ondark:#E4ECF2; --text-ondark-mute:#8698A8;
  --copper:#2E90B4; --copper-bright:#5BB8D6;
  --c-sale:#3E9B63; --c-drazba:#D9A441; --c-exekuce:#C15B44; --c-obec:#5E86C4; --c-majitel:#8E6FB8;
  --line: rgba(224,236,244,0.13);
  --line-strong: rgba(224,236,244,0.24);
  --panel:#1a2a39;
  --radius:10px; --radius-lg:16px;
  --shadow:0 12px 34px -14px rgba(0,0,0,0.55);
  --shadow-lg:0 30px 70px -22px rgba(0,0,0,0.62);
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* Ikony */
.ic{width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:none;}
.icon-badge{width:44px; height:44px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; margin-bottom:20px; background:rgba(224,236,244,0.06); border:1px solid var(--line);}
.icon-badge .ic{width:22px; height:22px;}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; overflow-x:hidden;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} *{animation:none !important; transition:none !important;} }

html{overflow-x:clip;}
html, body{max-width:100%; width:100%;}
body{background:var(--ink); color:var(--text-ondark); font-family:'Inter',sans-serif; line-height:1.5; -webkit-font-smoothing:antialiased; overflow-x:clip; overscroll-behavior-x:none; position:relative;}
h1, h2, h3, h4{overflow-wrap:break-word; word-break:break-word;}
img, svg, table, pre{max-width:100%;}
/* Přístupnost: čistý focus rámeček při ovládání klávesnicí (nezobrazí se u myši/dotyku) */
a:focus-visible, button:focus-visible, select:focus-visible, [role="button"]:focus-visible, [tabindex]:focus-visible, summary:focus-visible{outline:2px solid var(--copper-bright); outline-offset:2px; border-radius:5px;}
/* Grid/flex sloupce se musí umět zmenšit — jinak vytlačí stránku do stran */
.hero-head > *, .map-app > *, .embed-demo > *, .alert-box > *, .beforeafter > *,
.counters-row > *, .foot-grid > *, .steps > *,
.status-grid > *, .glossary > *, .reviews > *, .pricing > *{min-width:0;}
.opp-list, .code-block, .compare{min-width:0; max-width:100%;}
.wrap{max-width:1200px; margin:0 auto; padding:0 32px;}
.mono{font-family:'IBM Plex Mono',monospace; letter-spacing:0.02em;}
.pt-0{padding-top:0;}
a{color:inherit;}
.visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
:focus-visible{outline:2px solid var(--copper-bright); outline-offset:3px; border-radius:2px;}
/* Mapa: SVG kraje i canvas mají od Leafletu tabindex, takže je prohlížeč po klepnutí
   zaostřil a globální :focus-visible kolem nich kreslil OBDÉLNÍK (rámeček kolem tvaru).
   Na mapových vrstvách proto žádný obdélníkový focus rámeček nechceme. */
.leaflet-container:focus, .leaflet-container:focus-visible,
.leaflet-container :focus, .leaflet-container :focus-visible,
.leaflet-interactive:focus, .leaflet-interactive:focus-visible,
path.leaflet-interactive:focus, path.leaflet-interactive:focus-visible{ outline:none !important; }
.leaflet-zoom-box{display:none !important;}

/* Scroll reveal */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .6s var(--ease), transform .6s var(--ease);}
.reveal.in{opacity:1; transform:none;}

/* Postupné nabíhání karet (stagger) */
.steps>.reveal:nth-child(2),.features>.reveal:nth-child(2),.status-grid>.reveal:nth-child(2),.reviews>.reveal:nth-child(2),.pricing>.reveal:nth-child(2){transition-delay:.09s;}
.steps>.reveal:nth-child(3),.features>.reveal:nth-child(3),.status-grid>.reveal:nth-child(3),.reviews>.reveal:nth-child(3),.pricing>.reveal:nth-child(3){transition-delay:.18s;}
.status-grid>.reveal:nth-child(4){transition-delay:.27s;}

/* ===== Jemné detaily (polish) ===== */
::selection{background:var(--copper); color:var(--ink);}
section[id]{scroll-margin-top:88px;}
h1,h2{text-wrap:balance;}
.c-num,.pc-price,.stat .num,.compare td{font-variant-numeric:tabular-nums;}
.btn-primary:hover{transform:translateY(-1px);}
.btn-outline:hover{transform:translateY(-1px);}
.link-ghost{transition:border-color .15s var(--ease), color .15s var(--ease);}
/* Vlastní scrollbar */
*{scrollbar-width:thin; scrollbar-color:var(--line-strong) transparent;}
::-webkit-scrollbar{width:10px; height:10px;}
::-webkit-scrollbar-thumb{background:var(--line-strong); border-radius:6px; border:2px solid var(--ink);}
::-webkit-scrollbar-thumb:hover{background:var(--text-ondark-mute);}
::-webkit-scrollbar-track{background:transparent;}

.skip-link{position:absolute; left:-9999px; top:0; z-index:100; background:var(--copper); color:var(--ink); padding:10px 16px; font-weight:600; border-radius:0 0 4px 0;}
.skip-link:focus{left:0;}

/* Beta oznámení — malá zavíratelná lišta nahoře */
.beta-bar{background:linear-gradient(180deg, var(--ink-soft2), var(--ink-soft)); border-bottom:1px solid var(--line-strong); position:relative; z-index:1200;}
.beta-wrap{display:flex; align-items:center; gap:12px; padding:9px 0;}
.beta-tag{flex:none; display:inline-flex; align-items:center; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink); background:linear-gradient(135deg, var(--copper), var(--copper-bright)); border-radius:6px; padding:3px 8px;}
.beta-text{flex:1 1 auto; line-height:1.4; font-size:13px; color:var(--text-ondark-mute);}
.beta-link{background:none; border:0; padding:0; font:inherit; color:var(--copper-bright); font-weight:600; text-decoration:underline; text-underline-offset:2px; cursor:pointer;}
.beta-link:hover{color:var(--parchment);}
.beta-close{flex:none; width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; background:transparent; border:1px solid var(--line); border-radius:8px; color:var(--text-ondark-mute); font-size:19px; line-height:1; cursor:pointer; transition:color .15s ease, border-color .15s ease;}
.beta-close:hover{color:var(--text-ondark); border-color:var(--line-strong);}
@media (max-width:560px){ .beta-text{font-size:12.5px;} .beta-wrap{gap:9px; padding:8px 0;} }

/* Lišta postupu scrollování */
.progress-bar{position:fixed; top:0; left:0; height:3px; width:0; background:linear-gradient(90deg, var(--copper), var(--copper-bright)); z-index:2000; transition:width .1s linear;}

/* Živá tečka (pulzující) */
.live-dot{display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--c-sale); margin-right:7px; position:relative; vertical-align:middle;}
.live-dot::after{content:""; position:absolute; inset:0; border-radius:50%; background:var(--c-sale); animation:livepulse 1.8s ease-out infinite;}
@keyframes livepulse{0%{transform:scale(1); opacity:0.7;} 100%{transform:scale(3); opacity:0;}}
.topbar .live-dot{background:var(--copper-bright);} .topbar .live-dot::after{background:var(--copper-bright);}

/* Jemná záře tlačítka (statická, ne blikající) */
.btn-glow{box-shadow:0 10px 28px -10px rgba(91,184,214,0.55);}

/* Aurora pozadí hero */
.aurora{position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0;}
.aurora span{position:absolute; border-radius:50%; filter:blur(80px); opacity:0.6;}
.aurora .a1{width:420px; height:420px; background:radial-gradient(circle, rgba(46,144,180,0.45), transparent 70%); top:-120px; right:-80px; animation:float1 14s ease-in-out infinite;}
.aurora .a2{width:360px; height:360px; background:radial-gradient(circle, rgba(76,122,158,0.4), transparent 70%); bottom:-140px; left:-100px; animation:float2 18s ease-in-out infinite;}
.aurora .a3{width:300px; height:300px; background:radial-gradient(circle, rgba(62,142,91,0.28), transparent 70%); top:40%; left:40%; animation:float1 16s ease-in-out infinite reverse;}
@keyframes float1{0%,100%{transform:translate(0,0);} 50%{transform:translate(-30px,40px);}}
@keyframes float2{0%,100%{transform:translate(0,0);} 50%{transform:translate(40px,-30px);}}
.hero{position:relative; overflow:hidden;}
.hero .hero-grid{position:relative; z-index:1;}
/* teplá záře shora — útulnost + šmrnc */
.hero::before{content:""; position:absolute; inset:0; background:radial-gradient(120% 80% at 50% -15%, rgba(46,144,180,0.09), transparent 58%); pointer-events:none; z-index:0;}
/* elegantní podtržení zvýrazněného slova */
h1 em{position:relative;}
h1 em::after{content:""; position:absolute; left:2px; right:2px; bottom:4px; height:3px; border-radius:3px; background:linear-gradient(90deg, var(--copper), var(--copper-bright)); transform:scaleX(0); transform-origin:left; opacity:0.55; animation:undersweep 0.9s var(--ease) 0.6s forwards;}
@keyframes undersweep{to{transform:scaleX(1);}}
/* Živý ticker */
.ticker{background:var(--ink-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; padding:12px 0;}
.ticker-track{display:flex; gap:36px; white-space:nowrap; width:max-content; animation:tick 60s linear infinite;}
.ticker:hover .ticker-track{animation-play-state:paused;}
.tick-item{display:inline-flex; align-items:center; gap:9px; font-size:13px; color:var(--text-ondark-mute); font-family:'IBM Plex Mono',monospace;}
.tick-item .td{width:8px; height:8px; border-radius:50%; flex:none;}
.tick-item b{color:var(--text-ondark); font-weight:600;}
@keyframes tick{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* Jednotlivý pozemek = čistá tečka v barvě kategorie (po přiblížení) */
.pk-dot{display:block; width:7px; height:7px; border-radius:50%; border:1.5px solid rgba(255,255,255,0.9);
  box-shadow:0 1px 4px rgba(0,0,0,0.45), 0 0 6px -1px currentColor; cursor:pointer;
  transition:transform .13s var(--ease), box-shadow .13s var(--ease);}
.pk-dot:hover{transform:scale(1.4); z-index:1000; box-shadow:0 4px 12px rgba(0,0,0,0.55), 0 0 12px currentColor;}
.pk-dot.sel{transform:scale(1.55); box-shadow:0 0 0 4px rgba(255,255,255,0.35), 0 4px 12px rgba(0,0,0,0.55);}
.pk-dot.urgent{animation:dotpulse 1.6s ease-out infinite;}
/* Značka „vaše poloha" (režim Nejblíž ke mně) — s jemným pulzem */
.pk-me{display:block; width:16px; height:16px; border-radius:50%; background:#3B82F6; border:3px solid #fff; box-shadow:0 2px 6px rgba(0,0,0,0.5); position:relative;}
.pk-me::after{content:""; position:absolute; inset:-3px; border-radius:50%; background:rgba(59,130,246,0.4); z-index:-1; animation:mePulse 2s ease-out infinite;}
@keyframes mePulse{0%{transform:scale(1); opacity:0.7;} 70%{transform:scale(3); opacity:0;} 100%{opacity:0;}}
@media (prefers-reduced-motion:reduce){ .pk-me::after{animation:none; box-shadow:0 0 0 4px rgba(59,130,246,0.3);} }
.opp-km{color:var(--copper-bright); font-weight:600;}
@keyframes dotpulse{0%{box-shadow:0 2px 6px rgba(0,0,0,0.45), 0 0 0 0 rgba(217,164,65,0.5);} 100%{box-shadow:0 2px 6px rgba(0,0,0,0.45), 0 0 0 10px rgba(217,164,65,0);}}
.data-updated{margin:-6px 0 14px; font-size:12px; color:var(--copper-bright); opacity:0.85;}
.data-updated:empty{display:none;}
.data-updated.is-stale{color:#E0A33A; opacity:1; font-weight:600;}
.leaflet-tooltip.kraj-tip{background:rgba(20,32,44,0.97); border:1px solid rgba(91,184,214,0.6); color:var(--parchment); font-family:'Inter',sans-serif; font-weight:500; font-size:12px; line-height:1.55; padding:8px 12px; border-radius:10px; box-shadow:0 10px 26px -6px rgba(0,0,0,0.65);}
.leaflet-tooltip.kraj-tip b{display:inline-block; font-family:'Fraunces',serif; color:var(--copper-bright); font-weight:600; font-size:14.5px; margin-bottom:1px;}
.leaflet-tooltip.kraj-tip::before{border-top-color:rgba(91,184,214,0.6);}
@keyframes mping{0%{transform:scale(0.75); opacity:0.7;} 100%{transform:scale(2.2); opacity:0;}}

/* Header */
header{border-bottom:1px solid var(--line); padding:20px 0; position:sticky; top:0; z-index:1000; background:rgba(22,35,47,0.85); backdrop-filter:blur(10px); transition:padding .2s ease;}
header.shrink{padding:12px 0;}
header .wrap{display:flex; align-items:center; justify-content:space-between;}
.logo{font-family:'Fraunces',serif; font-weight:600; font-size:22px; display:flex; align-items:center; gap:10px; text-decoration:none;}
.logo-mark{width:26px; height:26px; border-radius:50%; background:conic-gradient(var(--c-sale) 0 25%, var(--c-exekuce) 25% 50%, var(--c-obec) 50% 75%, var(--c-drazba) 75% 100%); box-shadow:inset 0 0 0 2px var(--ink), 0 0 0 1px var(--line);}
.logo-mark.small{width:18px; height:18px;}
#nav{display:flex; gap:26px; align-items:center;}
#nav a{color:var(--text-ondark-mute); text-decoration:none; font-size:14px; font-weight:500; transition:color .15s ease; position:relative;}
#nav a:hover{color:var(--text-ondark);}
/* CTA v hlavičce musí být tmavý text na teal HNED (ne až po najetí myší) —
   #nav a jinak přebíjelo barvu tlačítka a text byl šedý a špatně čitelný. */
#nav a.btn-primary{color:var(--ink);}
#nav a.btn-primary:hover{color:var(--ink);}
#nav a:not(.btn-primary).active{color:var(--text-ondark);}
#nav a:not(.btn-primary).active::after{content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--copper-bright); border-radius:2px;}
@media (max-width:880px){ #nav a:not(.btn-primary).active::after{content:"→"; position:static; display:inline; left:auto; right:auto; bottom:auto; width:auto; height:auto; background:none; border-radius:0; color:var(--copper-bright); opacity:0.55; font-family:'Inter',sans-serif; font-size:17px;} #nav a:not(.btn-primary).active{color:var(--copper-bright);} }
/* Přihlášení / profil v hlavičce */
.nav-cta-note{display:none;}
/* Toast */
.toast{position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(16px); z-index:4000; max-width:calc(100% - 32px); background:var(--ink-soft2); border:1px solid var(--copper); color:var(--text-ondark); font-size:13.5px; font-weight:500; padding:13px 20px; border-radius:10px; box-shadow:0 14px 36px -10px rgba(0,0,0,0.7); opacity:0; transition:opacity .3s var(--ease), transform .3s var(--ease); pointer-events:none;}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

.btn-primary{background:linear-gradient(135deg, var(--copper), var(--copper-bright)); color:var(--ink); font-weight:700; font-size:14px; padding:10px 20px; border-radius:10px; text-decoration:none; border:1px solid var(--copper); transition:filter .15s ease, transform .1s ease, box-shadow .15s ease; white-space:nowrap; cursor:pointer;}
.btn-primary:hover{filter:brightness(1.07);}
.btn-primary:active{transform:translateY(1px);}
/* Stálé CTA „Přidat pozemek" v liště. Na počítači je akce už v navigaci,
   tady se skryje; na mobilu se ukáže přímo v liště (aby bylo vidět hned,
   ne schované v menu). */
.header-cta{display:none;}

.nav-toggle{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px;}
.nav-toggle span{display:block; width:24px; height:2px; background:var(--text-ondark); border-radius:2px; transition:transform .2s ease, opacity .2s ease;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ===== Hero s mapou (raketový styl) ===== */
.hero-map{position:relative; overflow:hidden; padding:22px 0 52px;}
.hero-map::before{content:""; position:absolute; inset:0; background:radial-gradient(130% 90% at 50% -20%, rgba(46,144,180,0.12), transparent 55%); pointer-events:none; z-index:0;}
.hero-map .wrap{position:relative; z-index:1;}
.hero-head{text-align:center; max-width:860px; margin:0 auto 22px; display:flex; flex-direction:column; align-items:center;}
.hero-head .eyebrow{margin-bottom:18px;}
.hero-head h1{font-size:54px; font-weight:360; line-height:1.1; letter-spacing:-0.005em; margin-bottom:18px;}
.hero-head h1 em{font-weight:400;}
.hero-head .sub{font-size:17px; color:var(--text-ondark-mute); max-width:620px; margin-bottom:16px;}
.hero-head .hero-ctas{justify-content:center; margin-bottom:20px;}
.hero-head .trust-line{justify-content:center; margin:0;}
/* Mapa je hlavní produkt — dopřejeme jí víc šířky (jako velké realitní weby),
   nadpis nad ní zůstává vycentrovaný v užší míře. */
.hero-map .map-wide{position:relative; z-index:1; max-width:1200px; margin:0 auto; padding:0 32px;}
.hero-map .map-app{margin-top:6px;}
@media (max-width:1200px){ .hero-map .map-wide{max-width:100%;} }
@media (max-width:520px){ .hero-map .map-wide{padding:0 20px;} }
@media (max-width:880px){
  .hero-map{padding:16px 0 40px;}
  .hero-head{margin-bottom:18px;}
  .hero-head .eyebrow{margin-bottom:11px;}
  .hero-head h1{font-size:29px; margin-bottom:11px;}
  .hero-head .sub{font-size:15px; margin-bottom:16px;}
  .hero-head .hero-ctas{margin-bottom:12px;}
}
@media (max-width:560px){
  .hero-head h1{font-size:26px;}
  /* podnadpis necháme i na mobilu — vysvětluje smysl webu (na první dobrou) */
  .hero-head .sub{font-size:14.5px; margin-bottom:14px;}
  .hero-head .trust-line{display:none;}
}

/* Hero prvky (sdílené) */
.eyebrow{display:inline-flex; align-items:center; gap:8px; font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--copper-bright); margin-bottom:22px;}
.eyebrow::before{content:""; width:16px; height:1px; background:var(--copper-bright);}
h1{font-family:'Fraunces',serif; font-weight:500; font-size:52px; line-height:1.06; letter-spacing:-0.01em; margin-bottom:22px;}
h1 em{font-style:italic; font-weight:500; background:linear-gradient(92deg, var(--copper), var(--copper-bright) 55%, #8FD3E8); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.hero-ctas{display:flex; align-items:center; gap:22px; margin-bottom:48px; flex-wrap:wrap;}
/* Výrazné druhé tlačítko v heru — proklik na „Přidat pozemek" */
.btn-add{display:inline-flex; align-items:center; justify-content:center; gap:6px; width:auto;
  padding:15px 30px; font-size:15px; font-weight:600; text-decoration:none; border-radius:10px;
  background:rgba(46,144,180,0.10); color:var(--copper-bright); border:1.5px solid var(--copper);
  transition:background .15s ease, border-color .15s ease, transform .1s ease, box-shadow .15s ease;}
.btn-add:hover{background:rgba(46,144,180,0.18); border-color:var(--copper-bright); transform:translateY(-1px); box-shadow:0 8px 22px -10px rgba(46,144,180,0.5);}
.link-ghost{color:var(--text-ondark); font-size:14px; font-weight:600; text-decoration:none; border-bottom:1px solid var(--line); padding-bottom:2px; transition:border-color .15s ease;}
.link-ghost:hover{border-color:var(--copper-bright);}

/* Zdroje */
.sources{padding:40px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
/* Statistiky = důvěra + hodnota v číslech */
.src-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:26px;}
.src-stat{display:flex; flex-direction:column; gap:3px; padding:2px 0 2px 16px; border-left:2px solid var(--copper);}
.src-stat b{font-family:'Fraunces',serif; font-weight:600; font-size:clamp(26px,4vw,34px); color:var(--text-ondark); line-height:1; letter-spacing:-0.01em; font-variant-numeric:tabular-nums;}
.src-stat span{font-size:12.5px; color:var(--text-ondark-mute); line-height:1.35;}
@media (max-width:640px){ .src-stats{grid-template-columns:repeat(2,1fr); gap:18px 16px;} }
.sources .wrap{text-align:left;}
.sources-lead{font-size:12px; color:var(--text-ondark-mute); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:6px;}
.source-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:16px;}
.source-chip{display:inline-flex; align-items:center; gap:8px; background:var(--ink-soft); border:1px solid var(--line); border-radius:22px; padding:9px 16px; font-size:13.5px; font-weight:500; color:var(--text-ondark);}
.s-dot{width:8px; height:8px; border-radius:50%;}

/* Sections */
.section{padding:76px 0;}
/* Pruhy: střídavé jemně světlejší pozadí přes celou šířku dávají webu rytmus
   (jako u velkých webů) — sekce pak nejsou ostrůvky textu v prázdnu. */
.section.band{background:var(--ink-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-top:76px; padding-bottom:76px;}
/* Úvody sekcí zarovnané doleva na stejnou osu jako celý web — čitelné, urovnané. */
.section-head{max-width:720px; margin:0 0 40px; text-align:left;}
.section-head .eyebrow{margin-bottom:16px;}
.section-head h2{font-family:'Fraunces',serif; font-weight:500; font-size:34px; line-height:1.15;}
.section-sub{font-size:15px; color:var(--text-ondark-mute); margin-top:14px; max-width:640px;}

/* Srdce značky — proč to děláme */
.mission{padding:76px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(180deg, transparent, rgba(46,144,180,0.04));}
.mission-text{max-width:820px; margin:0 auto; text-align:center; font-family:'Fraunces',serif; font-weight:400; font-size:26px; line-height:1.4; color:var(--text-ondark);}
.mission-text em{font-style:italic; background:linear-gradient(92deg, var(--copper), var(--copper-bright)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.mission-sign{text-align:center; margin-top:22px; font-family:'Fraunces',serif; font-style:italic; font-size:16px; color:var(--copper-bright);}
@media (max-width:880px){ .mission{padding:56px 0;} .mission-text{font-size:21px;} }

/* Náš slib — čtyři lidské závazky, kompozice barev značky */
.promise-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
.promise{background:var(--ink-soft); border:1px solid var(--line); border-radius:12px; padding:26px 26px 26px 28px; position:relative; overflow:hidden; transition:border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);}
.promise::before{content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(180deg, var(--acc), transparent);}
.promise::after{content:""; position:absolute; right:-40px; top:-40px; width:120px; height:120px; border-radius:50%; background:radial-gradient(circle, var(--acc), transparent 70%); opacity:0.10; pointer-events:none;}
.promise:hover{border-color:var(--line-strong); transform:translateY(-3px); box-shadow:var(--shadow);}
.promise h4{font-family:'Fraunces',serif; font-size:19px; font-weight:500; margin-bottom:9px;}
.promise p{font-size:14px; color:var(--text-ondark-mute);}
@media (max-width:760px){ .promise-grid{grid-template-columns:1fr;} }
/* Druhy pozemků */
.druhy-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.druhy-grid > *{min-width:0;}
.druh-card{background:var(--ink-soft); border:1px solid var(--line); border-radius:12px; padding:22px 22px 22px 24px; position:relative; overflow:hidden; transition:border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);}
.druh-card::before{content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:linear-gradient(180deg, var(--acc), transparent);}
.druh-card:hover{border-color:var(--line-strong); transform:translateY(-3px); box-shadow:var(--shadow);}
.druh-top{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; flex-wrap:wrap;}
.druh-top h4{font-family:'Fraunces',serif; font-size:19px; font-weight:500;}
.druh-card p{font-size:14px; color:var(--text-ondark-mute);}
.druh-demand{font-size:10px; font-weight:700; letter-spacing:0.03em; text-transform:uppercase; padding:3px 9px; border-radius:11px; white-space:nowrap;}
.druh-demand.high{color:var(--c-sale); background:rgba(62,142,91,0.15); border:1px solid rgba(62,142,91,0.4);}
.druh-demand.mid{color:var(--copper-bright); background:rgba(46,144,180,0.15); border:1px solid rgba(46,144,180,0.4);}
.druh-demand.niche{color:var(--text-ondark-mute); background:rgba(224,236,244,0.08); border:1px solid var(--line);}
@media (max-width:900px){ .druhy-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .druhy-grid{grid-template-columns:1fr;} }

/* Vypilovaná mapa-hrdina */
.filter-chip:active, .btn-outline:active, .copy-btn:active{transform:translateY(1px);}
.opp-item:active{transform:translateX(2px) scale(0.995);}

/* Rotující tip u mapy */
.map-tip{display:inline-flex; align-items:center; gap:9px; margin-top:16px; background:var(--ink-soft); border:1px solid var(--line); border-radius:22px; padding:8px 15px; font-size:13px; color:var(--text-ondark-mute);}
.map-tip .tip-ico{font-size:14px;}
#map-tip-text{transition:opacity .3s var(--ease);}

/* ===== Interaktivní mapa ===== */
/* Layout: vlevo nahoře hledání a filtry, vlevo dole výsledky, vpravo mapa přes obě řady.
   Na mobilu se skládá: hledání → mapa → výsledky (ať je vyhledávání hned nahoře). */
/* Jeden ucelený panel „aplikace" (jako velké realitní weby) — místo roztroušených
   boxů má vše společný rám, stín a oblé rohy; uvnitř dělí sekce jemné linky. */
.map-app{display:grid; grid-template-columns:380px 1fr; grid-template-rows:auto 1fr; gap:0; height:min(76vh, 820px); height:min(76dvh, 820px); min-height:600px; background:var(--ink-soft); border:1px solid var(--line-strong); border-radius:18px; overflow:hidden; box-shadow:0 40px 90px -44px rgba(0,0,0,0.8);}
.map-controls-panel{grid-column:1; grid-row:1; background:transparent; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; padding:18px;}
.map-side{grid-column:1; grid-row:2; display:flex; flex-direction:column; background:transparent; border:0; border-right:1px solid var(--line); border-radius:0; padding:16px 18px; min-height:0;}
.map-holder{grid-column:2; grid-row:1 / span 2;}
.map-controls-panel .map-search{margin-top:0;}
.map-search input{width:100%; background:var(--ink); border:1px solid var(--line); border-radius:6px; padding:12px 14px; font-size:14px; color:var(--text-ondark); font-family:inherit;}
.map-search input::placeholder{color:#6f8090;}
.map-search input:focus-visible{border-color:var(--copper-bright); outline:none;}
/* Nápadné tlačítko „pozemky ve vašem okolí" (geolokace) */
.map-near-btn{display:flex; align-items:center; justify-content:center; gap:8px; width:100%; margin-top:9px; padding:12px 14px; border-radius:8px; font-family:inherit; font-size:14px; font-weight:700; cursor:pointer; color:var(--ink); background:linear-gradient(135deg, var(--copper), var(--copper-bright)); border:1px solid var(--copper); box-shadow:0 6px 18px -8px rgba(46,144,180,0.7); transition:transform .1s ease, box-shadow .15s ease, filter .15s ease;}
.map-near-btn:hover{filter:brightness(1.05); box-shadow:0 8px 22px -8px rgba(46,144,180,0.85);}
.map-near-btn:active{transform:translateY(1px);}
.map-near-btn .mnb-pin{width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex:none;}
.map-near-btn.on{background:var(--ink); color:var(--copper-bright); border-color:var(--copper-bright); box-shadow:none;}
/* Skupiny ovládání v postranním panelu — čitelná hierarchie místo hromady prvků */
.ms-group{margin-top:14px;}
.ms-label{display:block; font-size:11px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-ondark-mute); margin-bottom:8px;}
.map-filters{display:flex; flex-wrap:wrap; gap:7px;}
.filter-chip{display:inline-flex; align-items:center; gap:6px; background:var(--ink); border:1px solid var(--line); color:var(--text-ondark-mute); border-radius:18px; padding:7px 12px; font-size:12.5px; font-weight:600; font-family:inherit; cursor:pointer; transition:all .15s ease;}
.filter-chip .c{width:8px; height:8px; border-radius:50%;}
.filter-chip:hover{color:var(--text-ondark); border-color:rgba(224,236,244,0.3);}
/* Aktivní filtr „svítí" vlastní barvou kategorie — ať „Vše" a „Dražba" nesplývají */
.filter-chip.active{color:#fff; border-color:transparent; box-shadow:0 4px 14px -4px rgba(0,0,0,0.5);}
.filter-chip.active[data-type="all"]{background:linear-gradient(135deg, #EAF1F6, var(--parchment)); color:var(--ink); box-shadow:0 4px 14px -4px rgba(224,236,244,0.4);}
.filter-chip.active[data-type="sale"]{background:linear-gradient(135deg, #47A268, var(--c-sale));}
.filter-chip.active[data-type="drazba"]{background:linear-gradient(135deg, #E8B95A, var(--c-drazba)); color:#3a2c05;}
.filter-chip.active[data-type="exekuce"]{background:linear-gradient(135deg, #CE6A52, var(--c-exekuce));}
.filter-chip.active[data-type="obec"]{background:linear-gradient(135deg, #5A89AD, var(--c-obec));}
.filter-chip.active[data-type="majitel"]{background:linear-gradient(135deg, #9B7FC7, var(--c-majitel));}
.filter-chip.active .c{box-shadow:0 0 0 2px rgba(255,255,255,0.55);}
/* Rozbalovací panel „Cena, výměra a řazení" — výchozí stav je klidný, detaily na klepnutí */
.ms-filters{margin-top:12px; border:1px solid var(--line); border-radius:10px; background:var(--ink); overflow:hidden;}
.msf-summary{display:flex; align-items:center; gap:9px; padding:11px 13px; font-size:13px; font-weight:600; color:var(--text-ondark); cursor:pointer; list-style:none; -webkit-tap-highlight-color:transparent; user-select:none;}
.msf-summary::-webkit-details-marker{display:none;}
.msf-summary:hover{color:#fff;}
.msf-ic{width:16px; height:16px; flex:none; fill:none; stroke:var(--copper-bright); stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.msf-text{flex:1;}
.msf-badge{min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--copper); color:var(--ink); font-size:11px; font-weight:700; display:inline-flex; align-items:center; justify-content:center;}
.msf-chev{width:16px; height:16px; flex:none; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease;}
.ms-filters[open] .msf-chev{transform:rotate(180deg);}
.ms-filters[open] .msf-summary{border-bottom:1px solid var(--line);}
.map-controls{display:grid; grid-template-columns:1fr 1fr; gap:11px; padding:13px;}
.mc-field{display:flex; flex-direction:column; gap:5px; min-width:0;}
.mc-cap{font-size:11px; font-weight:600; color:var(--text-ondark-mute); letter-spacing:0.02em;}
.mc-toggles{grid-column:1 / -1; display:flex; gap:8px;}
.mc-toggles .map-select{flex:1 1 0; min-width:0;}
.map-select{width:100%; background:var(--ink-soft); border:1px solid var(--line); color:var(--text-ondark); border-radius:8px; padding:9px 30px 9px 11px; font-size:12.5px; font-weight:600; font-family:inherit; cursor:pointer; appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235BB8D6' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 11px center;}
.map-select:focus-visible{border-color:var(--copper-bright); outline:none;}
.map-select option{background:var(--ink); color:var(--text-ondark);}
.fav-toggle{background-image:none; padding:9px 12px; display:inline-flex; align-items:center; justify-content:center; gap:6px; transition:border-color .15s ease, background .15s ease, color .15s ease;}
.fav-toggle svg{width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2; stroke-linejoin:round;}
.fav-toggle:hover{border-color:var(--copper-bright);}
.fav-toggle.on{background:rgba(46,144,180,0.16); border-color:var(--copper-bright); color:var(--copper-bright);}
.fav-toggle.on svg{fill:currentColor;}
.urgent-toggle{background-image:none; padding:9px 12px; text-align:center; transition:border-color .15s ease, background .15s ease, color .15s ease;}
.urgent-toggle:hover{border-color:var(--copper-bright);}
.urgent-toggle.on{background:rgba(46,144,180,0.16); border-color:var(--copper-bright); color:var(--copper-bright);}
.opp-topr{display:inline-flex; align-items:center; gap:9px;}
.opp-fav{background:none; border:0; padding:2px; line-height:0; cursor:pointer; color:var(--text-ondark-mute); transition:color .15s ease, transform .1s ease;}
.opp-fav svg{display:block; width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linejoin:round;}
.opp-fav:hover{color:var(--copper-bright);}
.opp-fav.on{color:var(--copper-bright);}
.opp-fav.on svg{fill:currentColor;}
.opp-fav:active{transform:scale(1.2);}
.lp-fav{display:inline-flex; align-items:center; justify-content:center; gap:6px;}
.lp-fav svg{width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2; stroke-linejoin:round;}
.lp-fav.on{background:rgba(46,144,180,0.16); border-color:var(--copper-bright); color:var(--copper-bright);}
.lp-fav.on svg{fill:currentColor;}
.opp-deal{display:inline-block; font-size:10.5px; font-weight:700; color:var(--c-sale); background:rgba(62,142,91,0.14); border:1px solid rgba(62,142,91,0.4); border-radius:10px; padding:1px 8px; letter-spacing:0.02em; text-transform:uppercase;}
.map-count{font-size:13.5px; color:var(--text-ondark); font-weight:600; letter-spacing:0.01em; margin-bottom:12px;}
/* Nejvýhodnější — přidaná hodnota ukázaná čísly */
.deals-sec[hidden]{display:none;}
.deals-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:14px; margin-top:24px;}
.deal-card{text-align:left; font:inherit; cursor:pointer; background:var(--ink-soft); border:1px solid var(--line); border-radius:14px; padding:16px 17px; display:flex; flex-direction:column; gap:7px; transition:border-color .15s ease, transform .1s ease, box-shadow .15s ease;}
.deal-card:hover{border-color:var(--c-sale); transform:translateY(-2px); box-shadow:0 14px 30px -16px rgba(0,0,0,0.7);}
.deal-card:focus-visible{outline:2px solid var(--copper-bright); outline-offset:2px;}
.deal-badge{align-self:flex-start; font-size:12px; font-weight:700; color:#08240F; background:linear-gradient(135deg, #6FD79A, var(--c-sale)); border-radius:999px; padding:4px 11px; letter-spacing:0.01em; box-shadow:0 1px 6px rgba(62,155,99,0.35);}
.deal-place{display:flex; align-items:flex-start; gap:8px; font-family:'Fraunces',serif; font-size:19px; font-weight:600; line-height:1.25; color:var(--text-ondark); margin-top:2px;}
.deal-dot{width:9px; height:9px; border-radius:50%; flex:none; margin-top:7px;}
.deal-sub{font-size:12.5px; color:var(--text-ondark-mute); line-height:1.4;}
.deal-figs{display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-top:3px; font-variant-numeric:tabular-nums;}
.deal-figs b{font-size:17px; font-weight:700; color:var(--copper-bright);}
.deal-figs span{font-size:12.5px; color:var(--text-ondark-mute);}
/* Naposledy prohlédnuté — vodorovný pásek pro rychlý návrat k parcelám */
.recent-strip{margin:-2px 0 14px;}
.recent-strip[hidden]{display:none;}
.recent-strip .rs-head{font-size:11px; letter-spacing:0.09em; text-transform:uppercase; color:var(--text-ondark-mute); font-weight:700; margin-bottom:8px;}
.recent-strip .rs-row{display:flex; gap:8px; overflow-x:auto; padding-bottom:3px; -webkit-overflow-scrolling:touch; scrollbar-width:none;}
.recent-strip .rs-row::-webkit-scrollbar{display:none;}
.rs-chip{flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; background:var(--ink-soft); border:1px solid var(--line); border-radius:999px; padding:7px 13px; font:inherit; font-size:12.5px; color:var(--text-ondark); cursor:pointer; white-space:nowrap; transition:border-color .15s ease, background .15s ease;}
.rs-chip:hover{border-color:var(--copper); background:var(--ink-soft2);}
.rs-chip:focus-visible{outline:2px solid var(--copper-bright); outline-offset:2px;}
.rs-chip .rs-dot{width:8px; height:8px; border-radius:50%; flex:none;}
.rs-chip .rs-place{font-weight:600;}
.rs-chip .rs-price{color:var(--text-ondark-mute);}
.mc-sub{font-weight:400; color:var(--text-ondark-mute); font-size:12.5px;}
.opp-list{list-style:none; overflow-y:auto; flex:1; margin:0 -6px; padding:0 6px; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;}
/* Skeleton (načítání) — jako u Facebooku/YouTube: než dorazí data, svítí placeholder */
.opp-skel{display:flex; gap:12px; align-items:flex-start; border:1px solid var(--line); border-radius:8px; padding:13px 14px; margin-bottom:9px; background:var(--ink);}
.opp-skel .skel-thumb{flex:none; width:48px; height:48px; border-radius:8px;}
.opp-skel .skel-body{flex:1; display:flex; flex-direction:column; gap:9px; padding-top:4px;}
.sk{background:linear-gradient(90deg, var(--ink-soft2) 25%, rgba(224,236,244,0.10) 37%, var(--ink-soft2) 63%); background-size:400% 100%; border-radius:5px; animation:skShimmer 1.4s ease infinite;}
.sk-l1{height:12px; width:58%;} .sk-l2{height:10px; width:85%;} .sk-l3{height:10px; width:42%;}
@keyframes skShimmer{0%{background-position:100% 0;} 100%{background-position:0 0;}}
@media (prefers-reduced-motion:reduce){ .sk{animation:none;} }
.opp-item{display:flex; gap:12px; align-items:flex-start; border:1px solid var(--line); border-radius:8px; padding:13px 14px; margin-bottom:9px; cursor:pointer; transition:border-color .15s ease, background .15s ease, transform .1s ease; background:var(--ink);}
.opp-thumb{flex:none; width:48px; height:48px; border-radius:8px; background:var(--ink-soft2); border:1px solid var(--line); padding:5px; margin-top:2px;}
.opp-thumb svg{display:block; width:100%; height:100%;}
.opp-content{flex:1; min-width:0;}
.opp-item{border-left-width:5px; border-color:var(--line);}
.opp-item.sale{border-left-color:var(--c-sale); background:rgba(62,142,91,0.11);}
.opp-item.drazba{border-left-color:var(--c-drazba); background:rgba(217,164,65,0.11);}
.opp-item.exekuce{border-left-color:var(--c-exekuce); background:rgba(193,91,68,0.12);}
.opp-item.obec{border-left-color:var(--c-obec); background:rgba(76,122,158,0.12);}
.opp-item:hover, .opp-item.hl{border-top-color:rgba(224,236,244,0.30); border-right-color:rgba(224,236,244,0.30); border-bottom-color:rgba(224,236,244,0.30); transform:translateX(3px); filter:brightness(1.14);}
.opp-item.is-hot{box-shadow:0 0 0 1px rgba(217,164,65,0.3), 0 8px 20px -12px rgba(217,164,65,0.45);}
.opp-demand{margin-top:10px; display:flex; align-items:center; gap:8px; font-size:12px; flex-wrap:wrap;}
.opp-demand .hot{color:#E8863F; font-weight:700;}
.opp-demand .watch{color:var(--text-ondark-mute);}
.opp-demand .sep{color:var(--text-ondark-mute); opacity:0.55;}
.opp-more{list-style:none; text-align:center; padding:14px 6px 6px; font-size:13px; color:var(--copper-bright); font-weight:600;}
.reset-btn{display:inline-block; margin-top:12px; padding:8px 16px; font-size:13px; font-weight:600; color:var(--ink); background:var(--copper-bright); border:0; border-radius:8px; cursor:pointer;}
.reset-btn:hover{background:var(--copper);}
.opp-top{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:4px;}
.opp-place{font-family:'Fraunces',serif; font-size:16px; font-weight:500; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.opp-tag{flex:none; display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600; padding:3px 8px; border-radius:12px; color:#fff; white-space:nowrap;}
.opp-tag.sale{background:var(--c-sale);} .opp-tag.drazba{background:var(--c-drazba); color:#3a2c05;} .opp-tag.exekuce{background:var(--c-exekuce);} .opp-tag.obec{background:var(--c-obec);}
/* Podřádek „co to je" — jeden řádek, konzistentní, ořízne se tečkami */
.opp-sub{font-size:12.5px; color:var(--text-ondark-mute); margin-bottom:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
/* Hodnotový řádek — cena, výměra, Kč/m² zarovnané na účaří */
.opp-figures{display:flex; align-items:baseline; flex-wrap:wrap; gap:3px 12px; margin-bottom:9px;}
.opp-figures .price{color:var(--copper-bright); font-weight:700; font-size:15px; letter-spacing:0.01em;}
.opp-figures .m{font-size:12.5px; color:var(--text-ondark-mute);}
/* Řádek odznaků — všechny stavy pohromadě, stejný tvar */
.opp-chips{display:flex; flex-wrap:wrap; gap:6px;}
.opp-hot{display:inline-block; font-size:10.5px; font-weight:700; color:#E8863F; background:rgba(232,134,63,0.14); border:1px solid rgba(232,134,63,0.4); border-radius:10px; padding:1px 8px; letter-spacing:0.02em; text-transform:uppercase;}
/* Zvýrazněný (placený) inzerát — prémiový plný odznak + jemné orámování karty */
.opp-feat{display:inline-flex; align-items:center; gap:4px; font-size:10.5px; font-weight:700; color:#08222C; background:linear-gradient(135deg, var(--copper-bright), var(--copper)); border:0; border-radius:10px; padding:2px 9px; letter-spacing:0.03em; text-transform:uppercase; box-shadow:0 1px 5px rgba(46,144,180,0.35);}
.opp-item.is-featured{border-color:rgba(91,184,214,0.5); box-shadow:inset 0 0 0 1px rgba(91,184,214,0.3);}
.md-feat{display:inline-flex; align-items:center; margin-left:9px; font-size:11px; font-weight:700; padding:2px 10px; border-radius:11px; color:#08222C; background:linear-gradient(135deg, var(--copper-bright), var(--copper)); letter-spacing:0.03em; text-transform:uppercase; white-space:nowrap; box-shadow:0 1px 5px rgba(46,144,180,0.35);}
/* Odpočet do termínu dražby (reálné datum) */
.opp-cd{display:inline-block; font-size:10.5px; font-weight:700; padding:1px 8px; border-radius:10px; background:rgba(143,160,175,0.14); color:var(--text-ondark); letter-spacing:0.01em; white-space:nowrap;}
.opp-cd.soon{background:rgba(217,164,65,0.16); color:var(--copper-bright);}
.opp-cd.urg{background:rgba(193,91,68,0.22); color:#EDA08C;}
.md-cd{display:inline-flex; align-items:center; margin-left:9px; font-size:12px; font-weight:700; padding:2px 10px; border-radius:11px; background:rgba(143,160,175,0.16); color:var(--text-ondark); white-space:nowrap;}
.md-cd.soon{background:rgba(217,164,65,0.18); color:var(--copper-bright);}
.md-cd.urg{background:rgba(193,91,68,0.24); color:#EDA08C;}
/* Počet nabídek na filtračních tlačítkách */
.chip-n{display:inline-block; margin-left:6px; font-size:10.5px; font-weight:700; padding:0 6px; border-radius:9px; background:rgba(224,236,244,0.12); color:var(--text-ondark-mute); min-width:16px; line-height:16px; text-align:center; vertical-align:middle;}
.filter-chip.active .chip-n{background:rgba(22,35,47,0.28); color:inherit;}

/* Detail pozemku — vysouvací panel PŘES mapu (jako v mapových aplikacích),
   místo aby odsouval mapu dolů. Přijede zespodu, mapa se ztmaví za ním. */
.map-detail{position:absolute; left:0; right:0; bottom:0; top:auto; max-height:90%; background:linear-gradient(180deg, var(--ink-soft2), var(--ink-soft)); border:1px solid var(--line-strong); border-bottom:none; border-radius:18px 18px 0 0; box-shadow:0 -18px 44px -14px rgba(0,0,0,0.75); padding:22px 18px 20px; z-index:40; overflow-y:auto; touch-action:pan-y; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; transform:translateY(101%); transition:transform .3s var(--ease);}
.map-detail::before{content:""; position:absolute; top:9px; left:50%; transform:translateX(-50%); width:42px; height:4px; border-radius:3px; background:var(--line-strong);}
.map-detail.show{transform:translateY(0);}
.map-detail[hidden]{display:none;}
/* Ztmavení mapy pod panelem + zavření klepnutím vedle */
.map-holder.detail-open::after{content:""; position:absolute; inset:0; background:rgba(6,12,18,0.5); z-index:38; animation:mdfade .2s ease;}
@keyframes mdfade{from{opacity:0;} to{opacity:1;}}
/* Zavírací lišta přes celou šířku nahoře */
.md-topbar{display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin-bottom:14px; padding:12px 15px; background:var(--ink); border:1px solid var(--line-strong); border-radius:9px; color:var(--text-ondark); font-family:inherit; font-size:14px; font-weight:600; cursor:pointer; transition:border-color .15s ease, background .15s ease;}
.md-topbar:hover{border-color:var(--c-exekuce); background:var(--ink-soft2);}
.md-topbar .mx{font-size:18px; color:var(--text-ondark-mute); line-height:1;}
.md-topbar:hover .mx{color:var(--c-exekuce);}
.md-body{display:flex; flex-wrap:wrap; gap:16px; align-items:flex-start;}
.md-shape{flex:none; width:74px; height:74px; background:var(--ink); border:1px solid var(--line); border-radius:8px; padding:6px;}
.md-shape svg{display:block; width:100%; height:100%;}
.md-info{flex:1; min-width:0;}
.md-top{font-size:14px; margin-bottom:9px; display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.md-top .lp-dot{width:10px; height:10px; border-radius:50%; flex:none;}
.md-facts{display:grid; grid-template-columns:1fr 1fr; gap:8px 18px;}
.md-facts span{font-size:12.5px; color:var(--text-ondark-mute); display:flex; justify-content:space-between; gap:8px; padding-bottom:7px; border-bottom:1px solid rgba(224,236,244,0.07);}
.md-facts b{color:var(--text-ondark); font-weight:600; text-align:right;}
/* Mini graf: cena/m² vs. obvyklá cena u daného druhu */
.md-bar{margin-top:12px;}
.md-bar-head{display:flex; justify-content:space-between; align-items:baseline; gap:10px; font-size:11px; color:var(--text-ondark-mute); margin-bottom:6px;}
.md-bar-head b{font-weight:700; white-space:nowrap;}
.md-bar.good .md-bar-head b{color:var(--c-sale);}
.md-bar.bad .md-bar-head b{color:#EDA08C;}
.md-bar.mid .md-bar-head b{color:var(--copper-bright);}
.md-bar-track{position:relative; height:8px; border-radius:5px; background:linear-gradient(90deg, rgba(62,142,91,0.55), rgba(217,164,65,0.55) 50%, rgba(193,91,68,0.55));}
.md-bar-med{position:absolute; top:-3px; width:2px; height:14px; background:var(--text-ondark); opacity:0.5;}
.md-bar-dot{position:absolute; top:50%; width:12px; height:12px; border-radius:50%; background:#fff; border:2px solid var(--ink); transform:translate(-50%,-50%); box-shadow:0 1px 4px rgba(0,0,0,0.55);}
.md-note{margin-top:11px; font-size:11.5px; line-height:1.5; color:var(--text-ondark-mute); border-left:2px solid var(--c-sale); padding-left:9px;}
.md-note b{color:var(--text-ondark); font-weight:600;}
/* „Co byste měli vědět" — rozbalovací poradna v detailu (stavba + na co pozor) */
.md-gtk{margin-top:12px; border:1px solid var(--line); border-radius:11px; background:var(--ink-soft); overflow:hidden;}
.md-gtk summary{display:flex; align-items:center; gap:9px; padding:12px 14px; cursor:pointer; font-size:13.5px; font-weight:700; color:var(--text-ondark); list-style:none;}
.md-gtk summary::-webkit-details-marker{display:none;}
.md-gtk summary svg{width:17px; height:17px; color:var(--copper-bright); flex:none;}
.md-gtk .gtk-hint{margin-left:auto; font-size:11px; font-weight:600; color:var(--text-ondark-mute); text-transform:lowercase;}
.md-gtk[open] summary{border-bottom:1px solid var(--line);}
.gtk-body{padding:12px 14px; display:flex; flex-direction:column; gap:11px;}
.gtk-row{display:flex; flex-direction:column; gap:2px; padding-left:11px; border-left:2px solid var(--copper);}
.gtk-row.gtk-ok{border-left-color:var(--c-sale);}
.gtk-row.gtk-mid{border-left-color:var(--copper-bright);}
.gtk-row.gtk-warn{border-left-color:var(--c-drazba);}
.gtk-k{font-size:11px; font-weight:700; letter-spacing:0.02em; text-transform:uppercase; color:var(--text-ondark-mute);}
.gtk-v{font-size:12.5px; line-height:1.5; color:var(--text-ondark);}
.gtk-v b{font-weight:700;}
.gtk-foot{margin:2px 0 0; font-size:11px; line-height:1.45; color:var(--text-ondark-mute); font-style:italic;}
/* Podobné pozemky poblíž — v detailu, pro další objevování */
.md-near{flex-basis:100%; margin-top:14px; padding-top:14px; border-top:1px solid var(--line);}
.md-near-head{font-size:11px; letter-spacing:0.09em; text-transform:uppercase; color:var(--text-ondark-mute); font-weight:700; margin-bottom:9px;}
.md-near-item{display:flex; align-items:center; gap:10px; width:100%; text-align:left; font:inherit; cursor:pointer; background:var(--ink-soft); border:1px solid var(--line); border-radius:10px; padding:9px 12px; margin-bottom:7px; transition:border-color .15s ease, background .15s ease;}
.md-near-item:last-child{margin-bottom:0;}
.md-near-item:hover{border-color:var(--copper); background:var(--ink-soft2);}
.md-near-item:focus-visible{outline:2px solid var(--copper-bright); outline-offset:2px;}
.md-near-item .mn-dot{width:8px; height:8px; border-radius:50%; flex:none;}
.md-near-item .mn-txt{display:flex; flex-direction:column; gap:1px; min-width:0; flex:1;}
.md-near-item .mn-txt b{font-size:13.5px; color:var(--text-ondark); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.md-near-item .mn-txt span{font-size:11.5px; color:var(--text-ondark-mute);}
.md-near-item .mn-price{font-size:13px; font-weight:700; color:var(--copper-bright); white-space:nowrap; font-variant-numeric:tabular-nums;}
/* Sekce „Pozemky od lidí" (od majitelů) */
.odl-wrap{margin-top:24px;}
.odl-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:14px;}
.odl-card{text-align:left; font:inherit; cursor:pointer; background:var(--ink-soft); border:1px solid var(--line); border-radius:14px; padding:16px 17px; display:flex; flex-direction:column; gap:6px; transition:border-color .15s ease, transform .1s ease, box-shadow .15s ease;}
.odl-card:hover{border-color:var(--c-majitel); transform:translateY(-2px); box-shadow:0 14px 30px -16px rgba(0,0,0,0.7);}
.odl-card:focus-visible{outline:2px solid var(--copper-bright); outline-offset:2px;}
.odl-badge{align-self:flex-start; font-size:11px; font-weight:700; color:#fff; background:var(--c-majitel); border-radius:999px; padding:3px 10px; letter-spacing:0.02em; text-transform:uppercase;}
.odl-place{font-family:'Fraunces',serif; font-size:19px; font-weight:600; color:var(--text-ondark); margin-top:2px;}
.odl-sub{font-size:12.5px; color:var(--text-ondark-mute);}
.odl-figs{display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-top:3px; font-variant-numeric:tabular-nums;}
.odl-figs b{font-size:17px; font-weight:700; color:var(--copper-bright);}
.odl-figs span{font-size:12.5px; color:var(--text-ondark-mute);}
.odl-empty{text-align:center; padding:44px 24px; border:1px dashed var(--line-strong); border-radius:16px; background:var(--ink-soft);}
.odl-empty b{display:block; font-family:'Fraunces',serif; font-weight:600; font-size:19px; color:var(--text-ondark); margin-bottom:8px;}
.odl-empty span{color:var(--text-ondark-mute); font-size:14px; line-height:1.55; max-width:44ch; display:inline-block;}
.odl-empty-btn{display:inline-block; margin-top:18px;}
.odl-cta{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:20px; padding:20px 24px; background:linear-gradient(135deg, rgba(142,111,184,0.14), rgba(142,111,184,0.05)); border:1px solid rgba(142,111,184,0.35); border-radius:16px;}
.odl-cta-txt{display:flex; flex-direction:column; gap:3px;}
.odl-cta-txt b{font-size:16px; color:var(--text-ondark); font-weight:700;}
.odl-cta-txt span{font-size:13.5px; color:var(--text-ondark-mute);}
@media (max-width:560px){ .odl-cta{flex-direction:column; align-items:stretch; text-align:center;} .odl-cta .btn-primary{text-align:center;} }
.lp-src{border-color:var(--copper); background:rgba(46,144,180,0.14); color:var(--copper-bright);}
.lp-src:hover{border-color:var(--copper-bright); background:rgba(46,144,180,0.22);}
.md-actions{flex:none; display:flex; flex-wrap:wrap; gap:6px; width:186px; align-content:flex-start;}
.md-actions .lp-btn{flex:1 1 calc(50% - 3px); min-width:0;}
.md-actions .lp-watch{flex-basis:100%;}
@media (max-width:760px){
  .map-detail{max-height:92%; padding:22px 15px 18px;}
  .md-body{flex-direction:column; flex-wrap:nowrap; align-items:stretch; gap:14px;}
  .md-near{flex-basis:auto;}
  .md-shape{width:56px; height:56px; align-self:flex-start;}
  .md-facts{gap:7px 16px;}
  .md-actions{width:auto; flex-direction:row; flex-wrap:wrap; gap:7px;}
  .md-actions .lp-btn{flex:1 1 calc(33.33% - 5px); min-width:72px;}
  .md-actions .lp-watch{flex-basis:100%;}
}
.opp-meta b{color:var(--text-ondark); font-weight:600;}
.map-holder{position:relative; display:flex; flex-direction:column; overflow:hidden; min-height:0;}
/* isolation:isolate uzavře vnitřní z-indexy Leafletu (tečky, popisky), ať panel detailu
   spolehlivě překryje mapu a nic z ní neprosvítá */
.map-canvas{position:relative; flex:1; min-height:0; isolation:isolate;}
#leaflet-map{position:absolute; inset:0; background:var(--ink-soft);}
.map-note{position:absolute; bottom:8px; left:8px; z-index:500; background:rgba(22,35,47,0.82); color:var(--text-ondark-mute); font-size:10px; padding:4px 9px; border-radius:4px; pointer-events:none;}
/* Legenda mapy (vpravo nahoře) */
.map-legend{position:absolute; top:84px; left:10px; z-index:500; display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:5px 13px; max-width:calc(100% - 20px); background:rgba(22,35,47,0.85); border:1px solid var(--line); border-radius:7px; padding:7px 11px; font-size:11px; font-weight:600; color:var(--text-ondark); pointer-events:none; backdrop-filter:blur(3px);}
.map-legend:empty{display:none;}
.lg-item{display:flex; align-items:center; gap:6px; white-space:nowrap;}
.lg-dot{width:9px; height:9px; border-radius:50%; border:1.5px solid #fff; flex:none;}
.lg-ring{position:relative; background:var(--c-drazba);}
.lg-ring::after{content:""; position:absolute; inset:-4px; border-radius:50%; border:1.5px solid var(--c-drazba); opacity:0.75; animation:mping 1.7s ease-out infinite;}
.lg-urgent{color:var(--copper-bright);}
@media (max-width:560px){ .map-legend{font-size:10px; padding:6px 9px; gap:4px 10px;} }
/* Zámek mapy — mapa se hýbe jen když je odemčená */
/* Lehké přepínání posouvání mapy (bez těžkého overlay) */
.map-tools{position:absolute; top:12px; right:12px; z-index:600; display:flex; flex-direction:column; align-items:flex-end; gap:8px; max-width:calc(100% - 24px);}
.map-reset{display:inline-flex; align-items:center; gap:7px; background:rgba(22,35,47,0.92); color:var(--text-ondark); border:1px solid var(--line-strong); border-radius:22px; padding:8px 14px; font-family:inherit; font-size:12px; font-weight:600; cursor:pointer; box-shadow:var(--shadow); transition:background .15s ease, transform .1s ease, border-color .15s ease; backdrop-filter:blur(4px);}
.map-reset:hover{border-color:var(--copper-bright);}
.map-reset:active{transform:translateY(1px);}
.map-reset .mr-ic{width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex:none;}
.map-lock{position:absolute; bottom:12px; right:12px; z-index:600; display:inline-flex; align-items:center; gap:7px; max-width:calc(100% - 24px); background:rgba(22,35,47,0.92); color:var(--text-ondark); border:1px solid var(--line-strong); border-radius:22px; padding:9px 15px; font-family:inherit; font-size:12px; font-weight:600; cursor:pointer; box-shadow:var(--shadow); transition:background .15s ease, transform .1s ease, border-color .15s ease; backdrop-filter:blur(4px);}
.map-lock[hidden]{display:none;}
.map-lock:hover{border-color:var(--copper-bright);}
.map-lock:active{transform:translateY(1px);}
.map-lock .ml-ic{width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex:none;}
@media (max-width:560px){ .map-reset{font-size:11px; padding:7px 11px; gap:6px;} .map-reset .mr-ic{width:14px; height:14px;} .map-lock{font-size:11px; padding:8px 13px;} .map-lock .ml-ic{width:14px; height:14px;} }
/* Zoom +/− — jen na počítači (na mobilu/tabletu se přibližuje prsty), na volném levém okraji pod legendou. */
.leaflet-control-zoom{display:none;}
@media (min-width:961px){
  .leaflet-control-zoom{display:block; margin:122px 0 0 10px !important; border:none; box-shadow:var(--shadow); border-radius:9px; overflow:hidden;}
  .leaflet-control-zoom a{width:34px; height:34px; line-height:32px; font-size:19px; font-weight:600; background:rgba(22,35,47,0.94); color:var(--text-ondark); border:1px solid var(--line-strong); backdrop-filter:blur(4px);}
  .leaflet-control-zoom a:last-child{border-top:none;}
  .leaflet-control-zoom a:hover{background:rgba(30,46,62,0.98); color:var(--copper-bright); border-color:var(--copper-bright);}
  .leaflet-control-zoom a.leaflet-disabled{opacity:0.45; color:var(--text-ondark); background:rgba(22,35,47,0.7);}
}

/* Výběr kraje: dokud není vybrán, tečky (pozemky) nejsou klikací → klik vždy trefí kraj.
   Značky mají v Leafletu vlastní pointer-events, proto je nutné je přebít napřímo. */
.kraj-lock .leaflet-marker-pane{pointer-events:none;}
.kraj-lock .leaflet-marker-icon, .kraj-lock .leaflet-marker-icon *{pointer-events:none !important;}
/* Nápověda „vyberte kraj" (fáze 1) */
.kraj-hint{position:absolute; top:12px; left:12px; z-index:600; display:inline-flex; align-items:center; gap:8px; background:rgba(20,32,44,0.92); border:1px solid var(--line-strong); color:var(--parchment); font-size:12.5px; font-weight:600; padding:8px 13px; border-radius:22px; box-shadow:var(--shadow); backdrop-filter:blur(4px); pointer-events:none; max-width:calc(100% - 118px);}
.kraj-hint[hidden]{display:none;}
.kraj-hint .kh-pin{width:9px; height:9px; border-radius:50%; background:var(--copper-bright); box-shadow:0 0 0 4px rgba(91,184,214,0.22); flex:none;}
/* Vymazlený nadpis vybraného kraje (fáze 2) */
.kraj-head{position:absolute; top:12px; left:12px; z-index:600; max-width:calc(100% - 118px); display:inline-flex; align-items:center; gap:11px; background:linear-gradient(135deg, rgba(20,32,44,0.97), rgba(30,46,62,0.97)); border:1px solid rgba(91,184,214,0.45); border-radius:13px; padding:8px 14px 8px 8px; box-shadow:0 12px 30px -12px rgba(0,0,0,0.75); backdrop-filter:blur(6px);}
.kraj-head[hidden]{display:none;}
.kh-back{flex:none; width:38px; height:38px; border-radius:9px; border:1px solid var(--line-strong); background:rgba(255,255,255,0.05); color:var(--parchment); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .15s ease, border-color .15s ease, transform .1s ease;}
.kh-back:hover{background:rgba(91,184,214,0.16); border-color:var(--copper-bright);}
.kh-back:active{transform:translateY(1px);}
.kh-back svg{width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round;}
.kh-txt{display:flex; flex-direction:column; gap:1px; min-width:0;}
.kh-txt b{font-family:'Fraunces',serif; font-size:18px; font-weight:600; color:var(--parchment); line-height:1.12; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.kh-txt span{font-size:11.5px; color:var(--copper-bright); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

/* Leaflet popup přebarvení */
.leaflet-popup-content-wrapper{background:var(--ink); color:var(--text-ondark); border-radius:8px; box-shadow:0 18px 40px -12px rgba(0,0,0,0.7);}
.leaflet-popup-tip{background:var(--ink);}
.leaflet-popup-content{margin:15px 16px; font-family:'Inter',sans-serif; min-width:236px;}
.lp-head{display:flex; align-items:center; gap:8px; font-weight:700; font-size:14px; margin-bottom:3px;}
.lp-dot{width:10px; height:10px; border-radius:50%;}
.lp-place{font-size:12.5px; color:var(--text-ondark-mute); margin-bottom:12px;}
.lp-grid{display:grid; grid-template-columns:1fr 1fr; gap:9px 14px; margin-bottom:13px;}
.lp-grid > div{display:flex; flex-direction:column; gap:1px;}
.lp-grid span{font-size:10.5px; color:var(--text-ondark-mute); text-transform:uppercase; letter-spacing:0.03em;}
.lp-grid b{font-size:13px; color:var(--text-ondark); font-weight:600;}
.lp-links{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:9px;}
.lp-btn{flex:1; min-width:62px; text-align:center; background:var(--ink-soft2); border:1px solid var(--line); border-radius:6px; padding:7px 8px; font-size:12px; font-weight:600; color:var(--text-ondark); text-decoration:none; transition:border-color .15s ease, background .15s ease;}
.lp-btn:hover{border-color:var(--copper-bright); background:rgba(46,144,180,0.12);}
/* Sekundární akce — decentní odkaz, ne největší tlačítko v detailu
   (dřív přebíjelo hlavní akce jako Katastr / Inzerát). */
.lp-watch{display:block; text-align:center; background:transparent; color:var(--copper-bright); border:1px solid var(--line); border-radius:8px; padding:9px; font-size:12.5px; font-weight:600; text-decoration:none; transition:border-color .15s ease, color .15s ease;}
.lp-watch:hover{border-color:var(--copper); color:var(--text-ondark);}
.marker-dot{border-radius:50%; border:2.5px solid #fff; box-shadow:0 3px 8px rgba(0,0,0,0.4);}

/* Počítadla */
.counters{padding:56px 0; background:linear-gradient(180deg, var(--ink-soft2) 0%, var(--ink-soft) 55%, var(--ink) 100%); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.counters-row{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
.c-num{font-family:'Fraunces',serif; font-size:44px; font-weight:600; color:var(--copper-bright); line-height:1;}
.c-lbl{font-size:13px; color:var(--text-ondark-mute); margin-top:8px;}

/* Steps */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:36px;}
.step{border-top:1px solid var(--line); padding-top:24px;}
.step .icon-badge{margin-bottom:14px;}
.step .idx{color:var(--copper-bright); font-size:12px; letter-spacing:0.1em; margin-bottom:6px;}
.step h3{font-family:'Fraunces',serif; font-weight:500; font-size:20px; margin-bottom:10px;}
.step p{font-size:14.5px; color:var(--text-ondark-mute);}

/* Status grid */
.status-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.status-card{background:var(--ink-soft2); border:1px solid var(--line); border-radius:12px; padding:24px; transition:border-color .15s ease, transform .15s ease;}
.status-card:hover{border-color:rgba(224,236,244,0.28); transform:translateY(-2px);}
.status-top{display:flex; align-items:center; gap:9px; font-family:'Fraunces',serif; font-size:17px; font-weight:500; margin-bottom:12px;}
.status-top .dot{width:11px; height:11px; border-radius:50%;}
.status-n{margin-left:auto; font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:0.01em; color:var(--copper-bright); background:rgba(46,144,180,0.12); border:1px solid rgba(46,144,180,0.35); border-radius:11px; padding:3px 9px; white-space:nowrap;}
.status-n.is-zero{color:var(--text-ondark-mute); background:rgba(224,236,244,0.06); border-color:var(--line);}
.status-card p{font-size:13.5px; color:var(--text-ondark-mute);}
.status-list{list-style:none; display:flex; flex-direction:column; gap:8px; margin:0;}
.status-list li{position:relative; padding-left:20px; font-size:13.5px; line-height:1.5; color:var(--text-ondark-mute);}
.status-list li::before{content:""; position:absolute; left:2px; top:8px; width:6px; height:6px; border-radius:50%; background:var(--copper-bright); opacity:0.85;}
.status-list li b{color:var(--text-ondark);}

/* Alert form */
.alert-box{background:linear-gradient(135deg, var(--ink-soft) 0%, var(--ink-soft2) 100%); border:1px solid var(--line); border-radius:12px; padding:44px; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
.alert-copy h2{font-family:'Fraunces',serif; font-weight:500; font-size:28px; line-height:1.15; margin-bottom:12px;}
.alert-copy p{font-size:14.5px; color:var(--text-ondark-mute);}
.alert-benefits{list-style:none; display:flex; flex-direction:column; gap:11px; margin-top:20px;}
.alert-benefits li{display:flex; align-items:center; gap:11px; font-size:14px; color:var(--text-ondark);}
.alert-benefits .ic{width:17px; height:17px; color:var(--c-sale); flex:none;}
.modal-benefits{list-style:none; display:flex; flex-direction:column; gap:9px; margin:0 0 20px;}
.modal-benefits li{display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:var(--text-ondark); line-height:1.4;}
.modal-benefits .ic{width:16px; height:16px; color:var(--c-sale); flex:none; margin-top:2px;}
.alert-form{display:flex; flex-direction:column; gap:12px;}
.alert-form input{background:var(--ink); border:1px solid var(--line); border-radius:5px; padding:14px 16px; font-size:15px; color:var(--text-ondark); font-family:inherit;}
.alert-form input::placeholder{color:#6f8090;}
.alert-form input:focus-visible{border-color:var(--copper-bright); outline:none;}
.alert-form .btn-primary{padding:14px; font-size:15px; text-align:center;}
.form-msg{font-size:13px; min-height:16px; color:var(--c-sale);}
.form-msg.err{color:var(--c-exekuce);}

/* Embed */
.realtor-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:24px;}
.realtor-grid > *{min-width:0;}
.realtor-card{background:var(--ink-soft); border:1px solid var(--line); border-radius:12px; padding:26px; transition:border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);}
.realtor-card:hover{border-color:var(--line-strong); transform:translateY(-3px); box-shadow:var(--shadow);}
.rc-ico{width:44px; height:44px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:rgba(46,144,180,0.12); border:1px solid rgba(46,144,180,0.3); margin-bottom:16px;}
.rc-ico .ic{width:22px; height:22px; color:var(--copper-bright);}
.realtor-card h3{font-family:'Fraunces',serif; font-size:18px; font-weight:500; margin-bottom:9px;}
.realtor-card p{font-size:14px; color:var(--text-ondark-mute);}
@media (max-width:820px){ .realtor-grid{grid-template-columns:1fr;} }
/* Poptávka pro realitky/obce */
.realtor-contact{margin-top:20px; background:linear-gradient(135deg, var(--ink-soft) 0%, var(--ink-soft2) 100%); border:1px solid var(--line); border-radius:12px; padding:34px; display:grid; grid-template-columns:1fr 1.1fr; gap:36px; align-items:center;}
.rct-copy h2{font-family:'Fraunces',serif; font-size:23px; font-weight:500; margin-bottom:10px;}
.rct-copy p{font-size:14.5px; color:var(--text-ondark-mute); line-height:1.6;}
.rct-fb{display:block; margin-top:10px; font-size:13px; color:var(--text-ondark-mute);}
.rct-fb a{color:var(--copper-bright); text-decoration:underline; text-underline-offset:2px;}
.rct-form{display:flex; flex-direction:column; gap:11px;}
.rct-row{display:grid; grid-template-columns:1fr 1fr; gap:11px;}
.rct-form input, .rct-form textarea{background:var(--ink); border:1px solid var(--line); border-radius:6px; padding:13px 15px; font-size:14.5px; color:var(--text-ondark); font-family:inherit; width:100%;}
.rct-form textarea{resize:vertical; min-height:70px;}
.rct-form input::placeholder, .rct-form textarea::placeholder{color:#6f8090;}
.rct-form input:focus-visible, .rct-form textarea:focus-visible{border-color:var(--copper-bright); outline:none;}
.rct-form .btn-primary{padding:13px; font-size:15px; text-align:center;}
@media (max-width:820px){ .realtor-contact{grid-template-columns:1fr; padding:26px;} .rct-row{grid-template-columns:1fr;} }
.embed-demo{background:var(--ink-soft); border:1px solid var(--line); border-radius:8px; padding:32px; display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center;}
.embed-demo h3{font-family:'Fraunces',serif; font-size:22px; font-weight:500; margin-bottom:12px;}
.embed-demo p{font-size:14px; color:var(--text-ondark-mute); margin-bottom:18px;}
.code-wrap{position:relative;}
.code-block{background:var(--ink); border:1px solid var(--line); border-radius:5px; padding:16px; font-size:12px; color:#9fb5c4; overflow-x:auto; white-space:pre;}
.copy-btn{position:absolute; top:10px; right:10px; background:var(--copper); color:var(--ink); border:0; border-radius:3px; font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:500; padding:5px 10px; cursor:pointer; transition:background .15s ease;}
.copy-btn:hover{background:var(--copper-bright);}
.copy-btn.copied{background:var(--c-sale); color:#fff;}
.embed-preview{background:radial-gradient(circle at 50% 40%, #1c2c3a, var(--ink) 80%); border:1px solid var(--line); border-radius:8px; height:200px; position:relative; overflow:hidden;}
.embed-preview::before{content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(91,184,214,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(91,184,214,0.05) 1px, transparent 1px); background-size:26px 26px;}
.embed-preview::after{content:"mapa poskytnuta parcelaka.cz"; position:absolute; bottom:8px; right:12px; font-size:10px; font-family:'IBM Plex Mono',monospace; color:var(--text-ondark-mute);}
.ep-dot{position:absolute; width:11px; height:11px; border-radius:50%; border:2px solid rgba(255,255,255,0.85); box-shadow:0 1px 4px rgba(0,0,0,0.5), 0 0 8px -1px currentColor; transform:translate(-50%,-50%);}
.ep-dot.sale{background:var(--c-sale); color:var(--c-sale);}
.ep-dot.drazba{background:var(--c-drazba); color:var(--c-drazba);}
.ep-dot.exekuce{background:var(--c-exekuce); color:var(--c-exekuce);}
.ep-badge{position:absolute; top:10px; left:10px; background:rgba(22,35,47,0.85); border:1px solid var(--line); color:var(--text-ondark-mute); font-size:10.5px; font-family:'IBM Plex Mono',monospace; padding:4px 9px; border-radius:5px;}

/* FAQ */
.faq{display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; align-items:start;}
.faq-item{border:1px solid var(--line); border-radius:8px; margin-bottom:0; background:var(--ink-soft); overflow:hidden;}
.faq-item summary{cursor:pointer; padding:18px 22px; font-family:'Fraunces',serif; font-size:17px; font-weight:500; list-style:none; display:flex; justify-content:space-between; align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; font-family:'IBM Plex Mono',monospace; color:var(--copper-bright); font-size:20px; transition:transform .2s ease;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{padding:0 22px 20px; font-size:14.5px; color:var(--text-ondark-mute); max-width:680px;}

/* CTA */
.cta-banner{background:var(--parchment); border-radius:8px; padding:56px 60px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;}
.cta-banner h2{font-family:'Fraunces',serif; font-weight:500; font-size:28px; color:var(--text-onlight); max-width:400px; line-height:1.2;}
.cta-banner .btn-primary{padding:14px 26px; font-size:15px;}

/* Footer */
footer{border-top:1px solid var(--line); padding:30px 0;}
footer .wrap{display:flex; justify-content:space-between; align-items:center; font-size:13px; color:var(--text-ondark-mute); flex-wrap:wrap; gap:16px;}
.foot-brand{display:flex; align-items:center; gap:9px; font-family:'Fraunces',serif; font-size:16px; color:var(--text-ondark);}
.foot-links{display:flex; gap:22px; flex-wrap:wrap;}
.foot-links a{text-decoration:none; color:var(--text-ondark-mute); font-size:13px;}
.foot-links a:hover{color:var(--text-ondark);}

/* ===== Oznamovací lišta (jemná, ne křiklavá) ===== */
.topbar{background:var(--ink-soft); border-bottom:1px solid var(--line); color:var(--text-ondark-mute);}
.topbar.hide{display:none;}
.topbar-in{display:flex; align-items:center; justify-content:center; gap:16px; padding:10px 0; font-size:13px; font-weight:500; flex-wrap:wrap; position:relative;}
.tb-cta{color:var(--copper-bright); font-weight:600; text-decoration:none; white-space:nowrap; background:none; border:0; padding:0; font-family:inherit; font-size:inherit; cursor:pointer;}
.tb-cta:hover{text-decoration:underline;}
.tb-close{position:absolute; right:16px; top:50%; transform:translateY(-50%); background:none; border:0; color:var(--text-ondark-mute); font-size:20px; line-height:1; cursor:pointer; opacity:0.7;}
.tb-close:hover{opacity:1;}
@media (max-width:560px){ .topbar-in{padding-right:34px;} .tb-msg{font-size:12.5px;} }

/* Velké tlačítko */
.btn-lg{padding:15px 30px; font-size:15px;}

/* Trust line + social proof */
.trust-line{display:flex; gap:20px; flex-wrap:wrap; font-size:13px; color:var(--text-ondark-mute); margin-bottom:26px;}
.trust-line span{white-space:nowrap;}
.social-proof{display:flex; align-items:center; gap:14px;}
.avatars{display:flex;}
.avatars span{width:32px; height:32px; border-radius:50%; border:2px solid var(--ink); margin-left:-9px; background:var(--ink-soft2);}
.avatars span:first-child{margin-left:0;}
.avatars span:nth-child(1){background:linear-gradient(135deg,#3E8E5B,#4C7A9E);}
.avatars span:nth-child(2){background:linear-gradient(135deg,#D9A441,#C15B44);}
.avatars span:nth-child(3){background:linear-gradient(135deg,#4C7A9E,#2E90B4);}
.avatars span:nth-child(4){background:linear-gradient(135deg,#C15B44,#3E8E5B);}
.social-proof p{font-size:13px; color:var(--text-ondark-mute);}
.social-proof strong{color:var(--text-ondark);}

/* Before / After */
.beforeafter{display:grid; grid-template-columns:1fr auto 1fr; gap:24px; align-items:center;}
.ba-col{background:var(--ink-soft); border:1px solid var(--line); border-radius:12px; padding:28px;}
.ba-before{opacity:0.85;}
.ba-after{border-color:rgba(62,142,91,0.4); background:linear-gradient(135deg, var(--ink-soft), rgba(62,142,91,0.08));}
.ba-tag{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.05em; text-transform:uppercase; margin-bottom:16px; color:var(--text-ondark-mute);}
.ba-after .ba-tag{color:var(--c-sale);}
.ba-col ul{list-style:none; display:flex; flex-direction:column; gap:12px;}
.ba-col li{font-size:14.5px; padding-left:26px; position:relative; color:var(--text-ondark-mute);}
.ba-before li::before{content:"✕"; position:absolute; left:0; color:var(--c-exekuce); font-weight:700;}
.ba-after li{color:var(--text-ondark);}
.ba-after li::before{content:"✓"; position:absolute; left:0; color:var(--c-sale); font-weight:700;}
.ba-arrow{font-size:28px; color:var(--copper-bright);}

/* Slovníček */
.glossary{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.gl-item{background:var(--ink-soft2); border:1px solid var(--line); border-radius:12px; padding:22px;}
.gl-item h4{font-family:'Fraunces',serif; font-size:17px; font-weight:600; margin-bottom:9px; color:var(--copper-bright);}
.gl-item p{font-size:13.5px; color:var(--text-ondark-mute);}

/* Srovnání */
.compare{overflow-x:auto; border:1px solid var(--line); border-radius:12px;}
.compare table{width:100%; border-collapse:collapse; min-width:520px;}
.compare th, .compare td{text-align:left; padding:16px 20px; font-size:14px; border-bottom:1px solid var(--line);}
.compare thead th{font-family:'IBM Plex Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:0.05em; color:var(--text-ondark-mute); background:var(--ink-soft);}
.compare tbody td:first-child{color:var(--text-ondark); font-weight:500;}
.compare tbody td{color:var(--text-ondark-mute);}
.compare .hl-col{background:rgba(46,144,180,0.08); color:var(--text-ondark); font-weight:600;}
.compare thead .hl-col{color:var(--copper-bright);}
.compare tr:last-child td{border-bottom:0;}

/* Recenze */
/* Upřímná beta sekce (místo vymyšlených recenzí) */
.beta-note{text-align:center; max-width:640px; margin:0 auto; background:var(--ink-soft); border:1px solid var(--line); border-radius:16px; padding:44px 34px;}
.beta-note .eyebrow{display:inline-flex; justify-content:center; margin-bottom:12px;}
.beta-note h2{margin-bottom:14px;}
.beta-note p{color:var(--text-ondark-mute); font-size:15px; line-height:1.65; margin-bottom:26px;}
.beta-note p b{color:var(--text-ondark);}

/* Ceník */
.pricing{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch;}
.pc-badge-live{background:var(--c-sale); color:#fff;}
.soon-tag{display:inline-block; vertical-align:middle; margin-left:8px; font-family:'IBM Plex Mono',monospace; font-size:10.5px; font-weight:500; text-transform:uppercase; letter-spacing:0.05em; color:var(--copper-bright,#E0B65C); background:rgba(46,144,180,0.14); border:1px solid rgba(46,144,180,0.35); padding:2px 8px; border-radius:20px;}
.cenik-note{text-align:center; max-width:620px; margin:22px auto 0; font-size:12.5px; line-height:1.6; color:var(--text-ondark-mute);}
.price-card.is-planned{opacity:0.8;}
.price-card.is-planned .pc-price{color:var(--text-ondark-mute); font-size:30px;}
.price-card.is-planned li{color:var(--text-ondark-mute);}
.price-card{background:var(--ink-soft); border:1px solid var(--line); border-radius:12px; padding:30px; display:flex; flex-direction:column; position:relative;}
.price-card.featured{border-color:var(--copper); box-shadow:0 20px 50px -20px rgba(46,144,180,0.4); transform:translateY(-6px);}
.pc-badge{position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--copper); color:var(--ink); font-size:11px; font-weight:700; padding:5px 14px; border-radius:14px; white-space:nowrap; text-transform:uppercase; letter-spacing:0.04em;}
.pc-name{font-family:'IBM Plex Mono',monospace; font-size:13px; text-transform:uppercase; letter-spacing:0.06em; color:var(--text-ondark-mute); margin-bottom:12px;}
.pc-price{font-family:'Fraunces',serif; font-size:38px; font-weight:600; margin-bottom:20px;}
.pc-price span{font-family:'Inter',sans-serif; font-size:14px; font-weight:400; color:var(--text-ondark-mute);}
.price-card ul{list-style:none; display:flex; flex-direction:column; gap:11px; margin-bottom:24px; flex:1;}
.price-card li{font-size:14px; color:var(--text-ondark-mute);}
.price-card li b{color:var(--text-ondark);}
.pc-annual{font-size:12px; color:var(--copper-bright); margin:-12px 0 18px;}
.pc-feats{gap:15px !important;}
.pc-feats li{display:flex; flex-direction:column; gap:3px; padding-left:24px; position:relative;}
.pc-feats li b{color:var(--text-ondark); font-size:14px; font-weight:600;}
.pc-feats li b::before{content:"✓"; position:absolute; left:0; top:0; color:var(--copper-bright); font-weight:700;}
.pc-feats li span{font-size:12.5px; line-height:1.55; color:var(--text-ondark-mute);}
.pc-why{font-size:12.5px; line-height:1.6; color:var(--text-ondark); background:rgba(46,144,180,0.09); border:1px solid rgba(46,144,180,0.24); border-radius:8px; padding:12px 14px; margin:0 0 20px;}
.pc-why b{color:var(--copper-bright);}
.btn-outline{display:block; text-align:center; background:transparent; color:var(--text-ondark); border:1px solid var(--line); border-radius:10px; padding:13px; font-weight:600; font-size:14px; text-decoration:none; transition:border-color .15s ease, background .15s ease;}
.btn-outline:hover{border-color:var(--copper-bright); background:rgba(46,144,180,0.08);}
.price-card .btn-primary{text-align:center; padding:13px;}

/* form fine print */
.form-fine{font-size:11px; color:var(--text-ondark-mute); line-height:1.4;}

/* CTA sub */
.cta-sub{color:rgba(32,41,58,0.7); font-size:14px; margin-top:8px;}

/* Footer grid */
.foot-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:32px; padding-bottom:28px; border-bottom:1px solid var(--line); align-items:start;}
.foot-brand{display:flex; align-items:center; gap:9px; font-family:'Fraunces',serif; font-size:17px; color:var(--text-ondark); margin-bottom:12px;}
.foot-tag{font-size:13px; color:var(--text-ondark-mute); max-width:260px;}
.foot-col h5{font-size:12px; text-transform:uppercase; letter-spacing:0.06em; color:var(--text-ondark-mute); margin-bottom:14px; font-weight:600;}
.foot-col a{display:block; font-size:13.5px; color:var(--text-ondark-mute); text-decoration:none; margin-bottom:9px;}
.foot-col a:hover{color:var(--text-ondark);}
.foot-bottom{display:flex; justify-content:space-between; padding-top:20px; font-size:12px; color:var(--text-ondark-mute); flex-wrap:wrap; gap:10px;}

/* Risk reversal / záruky */
.guarantees{display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:26px;}
.guarantee{display:inline-flex; align-items:center; gap:9px; font-size:13px; color:var(--text-ondark-mute); background:var(--ink-soft); border:1px solid var(--line); border-radius:24px; padding:9px 16px;}
.guarantee .ic{width:16px; height:16px; color:var(--c-sale);}

/* Kicker linka nad nadpisem sekce (grády) */
.section-head h2{position:relative;}

/* Jemné vypilování karet */
.feature-card:hover, .status-card:hover, .df-box:hover, .gl-item:hover{box-shadow:var(--shadow);}
.gl-item{transition:border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);}
.gl-item:hover{border-color:var(--line-strong); transform:translateY(-2px);}
.price-card{transition:border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);}
.price-card:not(.featured):hover{border-color:var(--line-strong); transform:translateY(-4px); box-shadow:var(--shadow);}

/* Feature/step ikona barevná */
.feature-card .icon-badge .ic{color:var(--copper-bright);}
.status-top .ic{width:20px; height:20px;}

/* ===== Okno hlídání (modal) ===== */
.modal{position:fixed; inset:0; z-index:3000; display:flex; align-items:center; justify-content:center; padding:20px;}
.modal[hidden]{display:none;}
.modal-backdrop{position:absolute; inset:0; background:rgba(9,15,21,0.74); backdrop-filter:blur(3px); opacity:0; transition:opacity .25s var(--ease);}
.modal.open .modal-backdrop{opacity:1;}
.modal-card{position:relative; z-index:1; width:100%; max-width:420px; background:linear-gradient(160deg, var(--ink-soft), var(--ink-soft2)); border:1px solid var(--line-strong); border-radius:16px; padding:34px; box-shadow:var(--shadow-lg); transform:translateY(18px) scale(.97); opacity:0; transition:transform .28s var(--ease), opacity .28s var(--ease);}
.modal.open .modal-card{transform:none; opacity:1;}
.modal-x{position:absolute; top:14px; right:16px; background:none; border:0; color:var(--text-ondark-mute); font-size:26px; line-height:1; cursor:pointer;}
.modal-x:hover{color:var(--text-ondark);}
.modal-card .eyebrow{margin-bottom:12px;}
.modal-card h3{font-family:'Fraunces',serif; font-size:24px; font-weight:500; margin-bottom:8px;}
.modal-sub{font-size:14px; color:var(--text-ondark-mute); margin-bottom:20px;}
.modal-form{display:flex; flex-direction:column; gap:12px;}
.modal-form input, .modal-form textarea{background:var(--ink); border:1px solid var(--line); border-radius:6px; padding:13px 15px; font-size:15px; color:var(--text-ondark); font-family:inherit;}
.modal-form textarea{resize:vertical; min-height:96px; line-height:1.5;}
.modal-form input::placeholder, .modal-form textarea::placeholder{color:#6f8090;}
.modal-form input:focus-visible, .modal-form textarea:focus-visible{border-color:var(--copper-bright); outline:none;}
.modal-form .btn-primary{padding:14px; font-size:15px; text-align:center;}
.modal-fine{font-size:11.5px; color:var(--text-ondark-mute); text-align:center; margin-top:2px;}
.modal-close-bar{width:100%; margin-top:16px; background:none; border:0; border-top:1px solid var(--line); padding:14px 0 2px; color:var(--text-ondark-mute); font-family:inherit; font-size:14px; font-weight:600; cursor:pointer; transition:color .15s ease;}
.modal-close-bar:hover{color:var(--text-ondark);}
.info-card{max-width:520px;}
.info-card h3{margin-bottom:14px;}
.info-body{font-size:14px; color:var(--text-ondark-mute); line-height:1.65; max-height:60vh; overflow-y:auto;}
.info-body p{margin-bottom:12px;}
.info-body ul{list-style:none; display:flex; flex-direction:column; gap:10px; margin:0 0 12px;}
.info-body li{position:relative; padding-left:16px;}
.info-body li::before{content:""; position:absolute; left:0; top:8px; width:6px; height:6px; border-radius:50%; background:var(--copper);}
.info-body b{color:var(--text-ondark);}
.info-body a{color:var(--copper-bright);}

/* Back to top */
.to-top{position:fixed; bottom:24px; right:24px; width:46px; height:46px; border-radius:50%; background:var(--copper); color:var(--ink); border:0; font-size:20px; cursor:pointer; box-shadow:0 8px 20px rgba(0,0,0,0.4); opacity:0; pointer-events:none; transform:translateY(10px); transition:opacity .2s ease, transform .2s ease; z-index:900;}
.to-top.show{opacity:1; pointer-events:auto; transform:none;}
.to-top:hover{background:var(--copper-bright);}

/* Responsive */
/* Přepínač Mapa / Seznam — jen na mobilu, ať seznam není zahrabaný pod mapou */
.mv-toggle{display:none;}
.mv-toggle .mvt-btn{display:inline-flex; align-items:center; justify-content:center; gap:7px;}
.mv-toggle .mvt-btn svg{width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.mvt-n{font-size:11px; opacity:0.8;}
@media (max-width:960px){
  .map-app{display:flex; flex-direction:column; grid-template-columns:1fr; height:auto; gap:0; border-radius:16px;}
  .map-controls-panel{order:1; border-right:0; border-bottom:1px solid var(--line);}
  .map-holder{order:2; height:74vh; height:74dvh; max-height:640px; min-height:460px;}
  .map-side{order:3; border-right:0;}
  .map-canvas{flex:1; min-height:0;}
  .map-side{max-height:none;}
  /* Toggle viditelný a funkční na mobilu */
  .mv-toggle{display:flex; gap:5px; margin-top:14px; background:var(--ink); border:1px solid var(--line); border-radius:11px; padding:4px;}
  .mvt-btn{flex:1; padding:10px; border:0; border-radius:8px; background:none; color:var(--text-ondark-mute); font-weight:600; font-family:inherit; font-size:14px; cursor:pointer; transition:background .15s ease, color .15s ease;}
  .mvt-btn.active{background:var(--copper); color:var(--ink);}
  /* Výchozí: mapa; při .mv-seznam: seznam. Vždy jen jedno. */
  .map-app.mv-seznam .map-holder{display:none;}
  .map-app:not(.mv-seznam) .map-side{display:none;}
  .map-app.mv-seznam .map-side{border-top:0;}
  .opp-list{max-height:none; overflow:visible; flex:none;}
  #leaflet-map{position:absolute; inset:0;}
  .status-grid{grid-template-columns:repeat(2,1fr);} .counters-row{grid-template-columns:repeat(2,1fr); gap:36px 24px;}
  .glossary{grid-template-columns:repeat(2,1fr);} .reviews{grid-template-columns:1fr;}
  .pricing{grid-template-columns:1fr; max-width:440px; margin:0 auto;} .price-card.featured{transform:none;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:880px){
  .nav-toggle{display:flex;}
  /* „Přidat pozemek" stále v liště (ne schované v menu). Kompaktní, hned viditelné. */
  .logo{font-size:20px;}
  .header-cta{display:inline-flex; align-items:center; margin-left:auto; margin-right:12px; padding:9px 14px; font-size:13px; border-radius:10px; flex:none;}
  .header-cta .cta-short{display:none;}
  /* Duplicitní odkaz na „Přidat pozemek" + popisek uvnitř menu už netřeba
     (akce je stále v liště). Skryjeme je jen na mobilu. Vyšší specificita
     (#header) přebije obecné pravidlo pro odkazy v menu. */
  #header #nav .nav-add, #header #nav .nav-cta-note{display:none;}
  /* Mobilní menu = kompaktní panel u horní lišty (jen na výšku obsahu), sjíždí
     zpod hlavičky se zaoblenými spodními rohy. Pod ním je stránka jen zjemněná,
     menu zůstává nahoře v liště — nezabírá celou obrazovku. top:100% = výška
     hlavičky (ta je díky backdrop-filter kontejnerem), max-height s dvh pojistí,
     že se dlouhé menu vejde a nepřeteče přes lištu iOS. */
  #nav{position:fixed; top:100%; left:0; right:0; max-height:calc(100dvh - 100%); flex-direction:column; align-items:stretch; gap:0; background:var(--ink); padding:12px 24px calc(20px + env(safe-area-inset-bottom, 0px)); border-radius:0 0 22px 22px; box-shadow:0 26px 52px -14px rgba(0,0,0,0.65); border-bottom:1px solid var(--line); display:none; overflow-y:auto; overscroll-behavior:contain; z-index:5;}
  #nav.open{display:flex; animation:navdrop .22s var(--ease);}
  /* Ztmavené pozadí pod panelem (bez zásahu do HTML — pseudo na body) */
  body.nav-open::before{content:""; position:fixed; inset:0; background:rgba(6,12,16,0.55); z-index:4; animation:navdrop .22s var(--ease);}
  @keyframes navdrop{from{opacity:0; transform:translateY(-8px);} to{opacity:1; transform:translateY(0);}}
  #nav a:not(.btn-primary){display:flex; align-items:center; justify-content:space-between; padding:17px 2px; border-bottom:1px solid rgba(228,236,244,0.07); font-family:'Fraunces',serif; font-size:21px; font-weight:500; color:var(--text-ondark); letter-spacing:-0.01em;}
  #nav a:not(.btn-primary)::after{content:"→"; font-family:'Inter',sans-serif; font-size:16px; color:var(--copper-bright); opacity:0.55;}
  #nav a:not(.btn-primary):active{color:var(--copper-bright);}
  /* Případné tlačítko, které v menu zůstává (např. „Zpět na mapu" na podstránkách),
     dole jako plná akce. „Přidat pozemek" je stále v liště (.header-cta). */
  #nav a.btn-primary{text-align:center; margin-top:16px; border-bottom:0; padding:15px 20px; font-size:16px; font-weight:700; color:var(--ink); border-radius:12px;}
  .steps, .embed-demo, .alert-box{grid-template-columns:1fr;}
  .beforeafter{grid-template-columns:1fr;} .ba-arrow{transform:rotate(90deg); justify-self:center;}
  .tb-close{right:16px;} .topbar-in{padding-right:36px;}
  .alert-box{padding:32px;}
  .section{padding:68px 0;}
  .cta-banner{flex-direction:column; align-items:flex-start; padding:40px;}
  h1{font-size:38px;} .section-head h2{font-size:28px;}
  footer .wrap{flex-direction:column; align-items:flex-start;}
}
/* Úzké telefony (iPhone mini/SE): CTA zkrátíme na „Přidat", ať se nekříží s logem. */
@media (max-width:384px){
  .header-cta .cta-full{display:none;}
  .header-cta .cta-short{display:inline;}
}
@media (max-width:520px){
  .wrap{padding:0 20px;}
  h1{font-size:32px;}
  .status-grid, .counters-row{grid-template-columns:1fr;}
  .c-num{font-size:38px;}
}

/* ---------- Stránky „Přidat pozemek na prodej" a „Inzerce" ----------
   Vlastní vrstva pro pridat.html / inzerce.html. Mapy (hlavní stránky)
   se nedotýká — jen nové třídy .add-*. */
.add-hero{padding:120px 0 20px;}
.add-hero h1{font-family:'Fraunces',serif; font-weight:500; font-size:38px; line-height:1.14; max-width:720px;}
.add-hero .sub{font-size:16px; color:var(--text-ondark-mute); margin-top:16px; max-width:640px;}
.add-wrap{max-width:720px;}
.add-lead{font-size:14.5px; color:var(--text-ondark-mute); margin:0 0 22px; padding:14px 16px; background:var(--ink-soft); border:1px solid var(--line); border-radius:10px; line-height:1.55;}
.add-lead b{color:var(--text-ondark);}
.add-form{display:flex; flex-direction:column; gap:18px;}
/* Rozbalovací „další údaje" — formulář je na první pohled kratší a lehčí */
.add-more{border:1px solid var(--line); border-radius:10px; background:rgba(224,236,244,0.02);}
.add-more > summary{list-style:none; cursor:pointer; padding:13px 16px; font-size:13.5px; font-weight:600;
  color:var(--copper-bright); display:flex; align-items:center; justify-content:space-between; gap:12px;}
.add-more > summary::-webkit-details-marker{display:none;}
.add-more > summary::after{content:"+"; font-size:19px; line-height:1; color:var(--text-ondark-mute); font-weight:400;}
.add-more[open] > summary::after{content:"\2013";}
.add-more[open] > summary{border-bottom:1px solid var(--line);}
.add-more .add-more-body{padding:16px; display:flex; flex-direction:column; gap:18px;}
.add-more summary:focus-visible{outline:2px solid var(--copper-bright); outline-offset:-2px; border-radius:10px;}
.add-field{display:flex; flex-direction:column; gap:6px;}
.add-field label{font-size:13px; font-weight:600; color:var(--text-ondark);}
.add-field .req{color:var(--copper-bright);}
.add-field .hint{font-size:12px; color:var(--text-ondark-mute); font-weight:400;}
.add-form input, .add-form select, .add-form textarea{
  background:var(--ink); border:1px solid var(--line); border-radius:8px; padding:13px 15px;
  font-size:15px; color:var(--text-ondark); font-family:inherit; width:100%;
}
.add-form textarea{resize:vertical; min-height:96px;}
.add-form input::placeholder, .add-form textarea::placeholder{color:#6f8090;}
.add-form input:focus-visible, .add-form select:focus-visible, .add-form textarea:focus-visible{border-color:var(--copper-bright); outline:none;}
.add-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.add-check{display:flex; align-items:flex-start; gap:10px; font-size:13px; color:var(--text-ondark-mute); line-height:1.45;}
.add-check input{width:18px; height:18px; flex:none; margin-top:1px; accent-color:var(--copper);}
.add-check a{color:var(--copper-bright);}
/* Volitelné zvýraznění inzerátu (placený upsell, poctivě označený) */
.add-boost{border:1px solid rgba(91,184,214,0.4); background:linear-gradient(180deg, rgba(46,144,180,0.10), rgba(46,144,180,0.04)); border-radius:12px; padding:16px 18px;}
.boost-head{display:flex; align-items:flex-start; gap:12px; cursor:pointer;}
.boost-head input{width:20px; height:20px; flex:none; margin-top:2px; accent-color:var(--copper);}
.boost-txt{display:flex; flex-direction:column; gap:3px;}
.boost-txt b{color:var(--text-ondark); font-size:15px; display:flex; align-items:center; gap:9px;}
.boost-price{font-size:12px; font-weight:700; color:#08222C; background:linear-gradient(135deg, var(--copper-bright), var(--copper)); border-radius:8px; padding:2px 9px; letter-spacing:0.02em;}
.boost-desc{font-size:13.5px; color:var(--text-ondark-mute); line-height:1.5;}
.boost-pay{display:inline-block; margin:14px 0 2px; text-align:center;}
.boost-note{font-size:12.5px; color:var(--text-ondark-mute); margin:11px 0 0; padding-top:11px; border-top:1px dashed var(--line);}
.add-form .btn-primary{padding:15px; font-size:15.5px; text-align:center; margin-top:4px;}
.add-msg{font-size:13.5px; min-height:16px; color:var(--text-ondark-mute); margin-top:2px;}
.add-msg.ok{color:var(--c-sale);}
.add-msg.err{color:var(--c-exekuce);}
/* Zvýraznění pole s chybou */
.add-field.err input, .add-field.err select, .add-field.err textarea{border-color:var(--c-exekuce);}
.add-field.err label{color:var(--c-exekuce);}
.add-check.err{color:var(--c-exekuce);}
.add-check.err input{outline:2px solid var(--c-exekuce); outline-offset:1px;}
.add-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:12px;}
.add-step{background:var(--ink-soft); border:1px solid var(--line); border-radius:12px; padding:22px;}
.add-step .n{font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--copper-bright); margin-bottom:10px;}
.add-step h3{font-size:16px; margin-bottom:8px;}
.add-step p{font-size:14px; color:var(--text-ondark-mute); line-height:1.5;}
.add-honest{margin-top:34px; padding:18px 20px; border:1px solid var(--line); border-left:3px solid var(--copper); border-radius:10px; background:rgba(46,144,180,0.05);}
.add-honest h4{font-size:14px; margin-bottom:6px;}
.add-honest p{font-size:13.5px; color:var(--text-ondark-mute); line-height:1.55;}
/* Proklik na druhou stránku (Prodej ↔ Inzerce) */
.add-cross{display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;
  margin-top:30px; padding:20px 22px; background:var(--ink-soft2); border:1px solid var(--line-strong); border-radius:12px;}
.add-cross .acx-copy h3{font-size:17px; margin-bottom:4px;}
.add-cross .acx-copy p{font-size:13.5px; color:var(--text-ondark-mute); line-height:1.5; max-width:420px;}
.add-cross .btn-primary{white-space:nowrap;}
@media (max-width:640px){
  .add-hero{padding:100px 0 12px;}
  .add-hero h1{font-size:30px;}
  .add-row{grid-template-columns:1fr;}
  .faq{grid-template-columns:1fr;}
  .add-steps{grid-template-columns:1fr;}
  .add-cross{flex-direction:column; align-items:flex-start;}
}

/* ---------- „Spicy" vzhled stránek Přidat/Inzerce ---------- */
.add-hero{position:relative; overflow:hidden;}
.add-hero .wrap{position:relative; z-index:1;}
.add-grid{display:grid; grid-template-columns:1.5fr 1fr; gap:36px; align-items:start;}
.add-card{position:relative; background:linear-gradient(180deg, var(--ink-soft), rgba(29,46,61,0.25));
  border:1px solid var(--line); border-radius:16px; padding:30px 28px;
  box-shadow:0 16px 44px -30px rgba(0,0,0,0.6);}
.add-card::before{content:""; position:absolute; top:0; left:24px; right:24px; height:1px;
  background:linear-gradient(90deg, transparent, var(--copper), transparent); opacity:0.75;}
.add-aside{display:flex; flex-direction:column; gap:18px; position:sticky; top:96px;}
.aside-card{background:var(--ink-soft); border:1px solid var(--line); border-radius:14px; padding:22px;}
.aside-card > h3{font-size:14px; margin-bottom:16px; letter-spacing:0.01em;}
.benefit{display:flex; gap:13px; align-items:flex-start; margin-bottom:15px;}
.benefit:last-child{margin-bottom:0;}
.benefit .rc-ico{flex:none; margin-bottom:0; width:38px; height:38px;}
.benefit .rc-ico .ic{width:19px; height:19px;}
.benefit .b-txt b{display:block; font-size:13.5px; color:var(--text-ondark); margin-bottom:2px;}
.benefit .b-txt span{font-size:12.5px; color:var(--text-ondark-mute); line-height:1.45;}
.add-stats{display:flex; gap:8px; flex-wrap:wrap; margin-top:16px;}
.add-stats span{font-size:12px; font-weight:600; color:var(--copper-bright); background:rgba(46,144,180,0.10);
  border:1px solid rgba(46,144,180,0.25); border-radius:20px; padding:5px 12px;}
.amp-cap{font-size:11.5px; color:var(--text-ondark-mute); margin-top:12px; text-align:center;}
.ep-dot.you{width:16px; height:16px; background:var(--copper-bright); color:var(--copper-bright);
  border-color:#fff; z-index:2; animation:youpulse 1.9s ease-out infinite;}
@keyframes youpulse{0%{box-shadow:0 0 0 0 rgba(91,184,214,0.55);}70%{box-shadow:0 0 0 13px rgba(91,184,214,0);}100%{box-shadow:0 0 0 0 rgba(91,184,214,0);}}
.add-timeline{padding-left:5px;}
.atl-step{position:relative; padding:0 0 16px 24px; border-left:1px solid var(--line);}
.atl-step:last-child{border-left-color:transparent; padding-bottom:0;}
.atl-step::before{content:""; position:absolute; left:-5px; top:3px; width:9px; height:9px; border-radius:50%;
  background:var(--copper); box-shadow:0 0 0 3px var(--ink-soft);}
.atl-step b{display:block; font-size:13.5px; margin-bottom:2px;}
.atl-step span{font-size:12.5px; color:var(--text-ondark-mute); line-height:1.45;}
@media (max-width:900px){
  .add-grid{grid-template-columns:1fr; gap:24px;}
  .add-aside{position:static;}
}

/* ---------- Pravidla inzerce / nahlášení ---------- */
.rules-sect{margin-bottom:6px;}
.rules-sect + .rules-sect{margin-top:20px;}
.rules-sect h2{font-family:'Fraunces',serif; font-weight:500; font-size:22px; margin-bottom:14px;}
.rule-list{list-style:none; display:flex; flex-direction:column; gap:11px;}
.rule-list li{position:relative; padding-left:28px; font-size:14.5px; color:var(--text-ondark-mute); line-height:1.55;}
.rule-list li b{color:var(--text-ondark);}
.rule-list li::before{content:""; position:absolute; left:2px; top:2px; width:16px; height:16px; border-radius:50%;
  background:rgba(62,142,91,0.15); border:1px solid rgba(62,142,91,0.5);}
.rule-list.no li::before{background:rgba(193,91,68,0.14); border-color:rgba(193,91,68,0.5);}
.rules-note{font-size:13px; color:var(--text-ondark-mute); line-height:1.6; margin-top:8px;}
.rules-note a{color:var(--copper-bright);}

/* ---------- Stránka „Pozemky od lidí" ---------- */
.od-cta{display:flex; gap:14px; flex-wrap:wrap; margin-top:26px;}
.split-two{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:6px;}
.split-card{background:var(--ink-soft); border:1px solid var(--line); border-radius:14px; padding:22px;}
.split-card .tagx{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--copper-bright); display:block; margin-bottom:8px;}
.split-card h3{font-size:17px; margin-bottom:8px;}
.split-card p{font-size:13.5px; color:var(--text-ondark-mute); line-height:1.55;}
.split-card a{color:var(--copper-bright); font-size:13px; font-weight:600; text-decoration:none; display:inline-block; margin-top:10px;}
.ul-head{display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:8px 0 4px;}
.ul-head h2{font-family:'Fraunces',serif; font-weight:500; font-size:26px;}
.ul-head .ul-count{font-size:13px; color:var(--text-ondark-mute);}
.ul-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(258px,1fr)); gap:16px; margin-top:16px;}
.ul-card{background:var(--ink-soft); border:1px solid var(--line); border-radius:12px; padding:18px; display:flex; flex-direction:column; gap:7px; transition:border-color .15s ease, transform .15s ease;}
.ul-card:hover{border-color:var(--line-strong); transform:translateY(-2px);}
.ul-badge{align-self:flex-start; font-size:10.5px; font-weight:700; padding:3px 10px; border-radius:20px; text-transform:uppercase; letter-spacing:0.03em; color:#fff;}
.ul-card h3{font-size:16px;}
.ul-meta{font-size:12.5px; color:var(--text-ondark-mute);}
.ul-price{font-family:'Fraunces',serif; font-size:19px; color:var(--copper-bright);}
.ul-desc{font-size:13px; color:var(--text-ondark-mute); line-height:1.5;}
.ul-src{font-size:12.5px; color:var(--copper-bright); text-decoration:none; font-weight:600; margin-top:2px;}
.ul-empty{text-align:center; padding:50px 24px; border:1px dashed var(--line-strong); border-radius:14px; margin-top:16px;}
.ul-empty b{color:var(--text-ondark); display:block; font-size:17px; margin-bottom:8px; font-family:'Fraunces',serif; font-weight:500;}
.ul-empty span{color:var(--text-ondark-mute); font-size:14px;}
@media (max-width:640px){ .split-two{grid-template-columns:1fr;} }

/* ---------- Přepínač Naše mapa / Pozemky od lidí (na jedné stránce) ---------- */
.view-switch{display:flex; width:max-content; max-width:100%; margin:0 auto 16px; gap:4px;
  background:var(--ink-soft); border:1px solid var(--line); border-radius:12px; padding:5px;}
.vs-btn{flex:none; background:none; border:0; border-radius:8px; padding:11px 24px; font-family:inherit;
  font-size:14.5px; font-weight:600; color:var(--text-ondark-mute); cursor:pointer;
  transition:background .15s ease, color .15s ease;}
.vs-btn:hover{color:var(--text-ondark);}
.vs-btn.active{background:var(--copper); color:var(--ink);}
#view-mapa[hidden]{display:none;}
#view-lide[hidden]{display:none;}
.lide-intro{max-width:720px; margin:0 auto 6px; text-align:center;}
.lide-intro p{font-size:15px; color:var(--text-ondark-mute); line-height:1.6;}
.lide-intro .od-cta{justify-content:center;}
#view-lide .ul-head{max-width:1180px; margin:34px auto 0;}
#view-lide .ul-grid, #view-lide .ul-empty{max-width:1180px; margin-left:auto; margin-right:auto;}

/* Pozemky od lidí — hlavička sekce */
.lide-hero{max-width:760px; margin:0 auto; text-align:center;}
.lide-hero .eyebrow{margin-bottom:12px;}
.lide-hero h2{font-family:'Fraunces',serif; font-weight:500; font-size:32px; line-height:1.15;}
.lide-hero h2 em{font-style:italic; font-weight:500; background:linear-gradient(92deg, var(--copper), var(--copper-bright) 55%, #8FD3E8); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
.lide-hero > p{font-size:15px; color:var(--text-ondark-mute); line-height:1.6; margin-top:14px; max-width:600px; margin-left:auto; margin-right:auto;}
.lide-badges{justify-content:center; margin-top:18px;}
.lide-steps{margin-left:auto; margin-right:auto; text-align:left;}

/* Prázdný stav — „Buďte první" + ukázková karta */
.lide-empty{max-width:600px; margin:42px auto 0; text-align:center; border:1px dashed var(--line-strong); border-radius:18px; padding:40px 26px; background:rgba(22,35,47,0.4);}
.lide-empty[hidden]{display:none;}
.le-badge{display:inline-block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--copper-bright); background:rgba(46,144,180,0.12); border:1px solid rgba(46,144,180,0.32); padding:4px 13px; border-radius:20px;}
.lide-empty h3{font-family:'Fraunces',serif; font-weight:500; font-size:23px; margin:15px 0 8px;}
.lide-empty > p{font-size:14px; color:var(--text-ondark-mute); line-height:1.6; max-width:460px; margin:0 auto;}
.le-sub{margin-top:24px; font-size:12px; letter-spacing:0.02em; text-transform:uppercase; color:var(--text-ondark-mute);}
.le-sample{max-width:280px; margin:12px auto 26px;}
.le-sample .ul-card.is-sample{opacity:.9; pointer-events:none; text-align:left; box-shadow:0 22px 50px -30px rgba(0,0,0,0.7);}
@media (max-width:560px){ .vs-btn{padding:11px 16px; font-size:13.5px;} .lide-hero h2{font-size:26px;} }

/* ---------- Bohatší inzerce pozemku (formulář + karty) ---------- */
.calc-hint{font-size:12.5px; color:var(--copper-bright); font-weight:600; min-height:15px; margin-top:-8px;}
/* Fotky */
.photo-drop{display:block; border:1.5px dashed var(--line-strong); border-radius:10px; padding:18px; text-align:center; cursor:pointer; transition:border-color .15s ease, background .15s ease;}
.photo-drop:hover{border-color:var(--copper); background:rgba(46,144,180,0.05);}
.photo-drop b{color:var(--copper-bright); font-size:14px;}
.photo-drop span{display:block; font-size:12px; color:var(--text-ondark-mute); margin-top:4px;}
.photo-field input[type=file]{position:absolute; width:1px; height:1px; opacity:0; overflow:hidden;}
.photo-preview{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;}
.photo-preview .pp{width:72px; height:72px; border-radius:8px; overflow:hidden; border:1px solid var(--line);}
.photo-preview .pp img{width:100%; height:100%; object-fit:cover; display:block;}
/* Skupina štítků (sítě) */
.check-group{display:flex; flex-wrap:wrap; gap:8px;}
.chip-check{display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border:1px solid var(--line); border-radius:22px; font-size:13px; color:var(--text-ondark); cursor:pointer; transition:border-color .15s ease, background .15s ease;}
.chip-check input{width:16px; height:16px; accent-color:var(--copper); margin:0;}
.chip-check:hover{border-color:var(--copper);}
.chip-check:has(input:checked){border-color:var(--copper); background:rgba(46,144,180,0.12);}
/* Rozšířené karty nabídek */
.ul-thumb{aspect-ratio:16/10; border-radius:9px; overflow:hidden; margin:-2px 0 4px; position:relative;
  background:radial-gradient(circle at 50% 38%, #22374A, var(--ink) 88%);}
.ul-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.ul-thumb .ph{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--text-ondark-mute);}
.ul-thumb .ph svg{width:32px; height:32px; opacity:.45; stroke:currentColor; fill:none; stroke-width:1.6;}
.ul-topline{display:flex; align-items:center; justify-content:space-between; gap:8px;}
.ul-verified{display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600; color:var(--c-sale);}
.ul-verified svg{width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2.4;}
.ul-perm2{font-size:12px; color:var(--text-ondark-mute);}
.ul-tags{display:flex; flex-wrap:wrap; gap:5px; margin-top:3px;}
.ul-tags span{font-size:11px; color:var(--text-ondark-mute); background:rgba(224,236,244,0.06); border:1px solid var(--line); border-radius:6px; padding:2px 8px;}

/* ---------- Grády: živý náhled inzerátu + víc energie ---------- */
.add-chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:20px;}
.add-chips span{font-size:12.5px; font-weight:600; color:var(--copper-bright); background:rgba(46,144,180,0.10);
  border:1px solid rgba(46,144,180,0.28); border-radius:20px; padding:6px 14px;}
/* Vstupní animace karet */
.add-card, .add-aside > .aside-card{animation:addfade .5s var(--ease) both;}
.add-aside > .aside-card:nth-child(2){animation-delay:.09s;}
@keyframes addfade{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:none;}}
/* Karta živého náhledu */
.preview-card{position:relative;}
.pc-eyebrow{display:flex; align-items:center; gap:8px; font-family:'IBM Plex Mono',monospace; font-size:11px;
  letter-spacing:0.09em; text-transform:uppercase; color:var(--copper-bright); margin-bottom:14px;}
.pc-eyebrow .live-dot{margin:0;}
#live-preview{border-color:var(--line-strong);
  box-shadow:0 0 0 1px rgba(46,144,180,0.16), 0 16px 44px -24px rgba(0,0,0,0.75);
  transition:box-shadow .25s ease;}
#live-preview h3{transition:color .15s ease;}
.pc-note{font-size:11.5px; color:var(--text-ondark-mute); margin-top:13px; text-align:center; line-height:1.5;}
/* jemné zvýraznění, když se náhled právě mění */
#live-preview.flash{box-shadow:0 0 0 1px rgba(91,184,214,0.5), 0 16px 44px -20px rgba(46,144,180,0.4);}
/* větší, výraznější odesílací tlačítko */
.add-form .btn-primary{letter-spacing:0.01em;}

/* ---------- Ukazatel „síla inzerátu" (motivační vychytávka) ---------- */
.pc-strength{margin-top:16px; padding-top:15px; border-top:1px solid var(--line);}
.pcs-top{display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--text-ondark-mute); margin-bottom:7px;}
.pcs-top b{color:var(--copper-bright); font-size:13px;}
.pcs-bar{height:8px; border-radius:20px; background:rgba(224,236,244,0.08); overflow:hidden;}
.pcs-bar i{display:block; height:100%; width:0; border-radius:20px;
  background:linear-gradient(90deg, var(--copper), var(--copper-bright), #8FD3E8);
  transition:width .35s var(--ease);}
.pcs-bar i.full{background:linear-gradient(90deg, var(--c-sale), #5FB07E);}
.pcs-hint{font-size:11.5px; color:var(--text-ondark-mute); margin-top:8px; line-height:1.45;}
.pcs-hint b{color:var(--text-ondark);}
/* Úroveň inzerátu (Začínáme … Špičkový) */
.pcs-right{display:inline-flex; align-items:center; gap:8px;}
.pc-strength .pcs-tier{font-size:11px; font-weight:700; letter-spacing:.02em; padding:2px 9px; border-radius:20px; background:rgba(224,236,244,0.08); color:var(--text-ondark-mute); transition:color .3s ease, background .3s ease;}
.pc-strength[data-lvl="2"] .pcs-tier{color:#7FCBE0; background:rgba(46,144,180,0.12);}
.pc-strength[data-lvl="3"] .pcs-tier{color:var(--copper-bright); background:rgba(46,144,180,0.16);}
.pc-strength[data-lvl="4"] .pcs-tier{color:var(--copper-bright); background:rgba(46,144,180,0.24);}
.pc-strength[data-lvl="5"] .pcs-tier{color:#0E1A12; background:linear-gradient(90deg, var(--c-sale), #5FB07E);}

/* Hero — 3 kroky, jak přidání funguje */
.add-steps{list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:26px; max-width:720px; padding:0;}
.add-steps li{display:flex; gap:11px; align-items:flex-start; background:rgba(22,35,47,0.5); border:1px solid var(--line); border-radius:12px; padding:13px 14px;}
.as-num{flex:none; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-weight:700; font-size:13px; color:var(--ink); background:linear-gradient(135deg,var(--copper),var(--copper-bright)); box-shadow:0 4px 12px -4px rgba(46,144,180,0.6);}
.as-txt{display:flex; flex-direction:column;}
.as-txt b{font-size:13.5px; color:var(--text-ondark); margin-bottom:2px;}
.as-txt > span{font-size:12px; color:var(--text-ondark-mute); line-height:1.4;}

/* Tipy na skvělý inzerát */
.tips-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px;}
.tips-list li{position:relative; padding-left:22px; font-size:12.5px; color:var(--text-ondark-mute); line-height:1.5;}
.tips-list li b{color:var(--text-ondark);}
.tips-list li::before{content:""; position:absolute; left:0; top:5px; width:9px; height:9px; border-radius:50%; border:2px solid var(--copper-bright);}

/* Oslavné potvrzení po odeslání */
.add-success{background:var(--ink-soft); border:1px solid rgba(95,176,126,0.4); border-radius:16px; padding:40px 28px; text-align:center; box-shadow:0 24px 60px -30px rgba(0,0,0,0.7); animation:addfade .45s var(--ease) both;}
.add-success[hidden]{display:none;}
.add-success h2{font-family:'Fraunces',serif; font-weight:500; font-size:26px; margin:18px 0 8px; color:var(--parchment);}
.add-success p{font-size:14.5px; color:var(--text-ondark-mute); line-height:1.6; max-width:440px; margin:0 auto 22px;}
.asx-check{width:72px; height:72px; margin:0 auto; border-radius:50%; background:rgba(95,176,126,0.14); display:grid; place-items:center;}
.asx-check svg{width:52px; height:52px; fill:none; stroke:#5FB07E; stroke-width:3.5; stroke-linecap:round; stroke-linejoin:round;}
.asx-check circle{stroke:rgba(95,176,126,0.5); stroke-dasharray:151; stroke-dashoffset:151; animation:asxCircle .5s var(--ease) forwards;}
.asx-check path{stroke-dasharray:44; stroke-dashoffset:44; animation:asxCheck .35s var(--ease) .45s forwards;}
@keyframes asxCircle{to{stroke-dashoffset:0;}}
@keyframes asxCheck{to{stroke-dashoffset:0;}}
.asx-actions{display:flex; flex-wrap:wrap; gap:10px; justify-content:center;}
.btn-ghost{background:none; border:1px solid var(--line-strong); color:var(--text-ondark); border-radius:10px; padding:12px 18px; font-family:inherit; font-weight:600; font-size:14px; cursor:pointer; transition:border-color .15s ease;}
.btn-ghost:hover{border-color:var(--copper-bright);}
@media (prefers-reduced-motion:reduce){ .asx-check circle,.asx-check path{animation:none; stroke-dashoffset:0;} }
@media (max-width:640px){ .add-steps{grid-template-columns:1fr; gap:10px; margin-top:20px;} }
