@font-face{font-family:'Jost';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/Jost-vf-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/Jost-vf-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/SourceSans3-vf-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/SourceSans3-vf-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}

/* ==========================================================================
   tomaskubena.cz - vizuální systém, verze 2
   Mobile first. Vysoký kontrast, jedna sytá akcentní barva, zaoblené prvky,
   měkké stíny. Cihlová zůstala jako odkaz na Zlín, ale v syté podobě -
   ne jako béžová omítka.
   ========================================================================== */

:root{
  /* text a plochy */
  --ink:#12161B;
  --ink-2:#2A323C;
  --sedy:#5E6B7A;
  --line:#E3E9EF;
  --line-2:#EEF2F6;
  --plocha:#FFFFFF;
  --plocha-2:#F5F7FA;
  --plocha-3:#EAEFF5;

  /* akcent - pálená cihla, ale sytá */
  --cihla:#D34527;
  --cihla-600:#B5361C;
  --cihla-700:#8F2A14;
  --cihla-50:#FDEEE9;

  /* doplňkové */
  --zelen:#0E7C66;
  --zelen-50:#E4F4F0;
  --zlata:#E8A33D;

  /* rádiusy */
  --r-xs:4px; --r-s:7px; --r:10px; --r-l:14px; --r-pilulka:8px;

  /* stíny */
  --stin-1:0 1px 2px rgba(18,22,27,.05), 0 1px 3px rgba(18,22,27,.06);
  --stin-2:0 6px 16px rgba(18,22,27,.07), 0 2px 6px rgba(18,22,27,.05);
  --stin-3:0 18px 44px rgba(18,22,27,.13), 0 4px 12px rgba(18,22,27,.07);

  /* rozestupy */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px;
  --s6:32px; --s7:48px; --s8:64px; --s9:88px;

  --sirka:1180px;
  --sirka-text:700px;

  --font-disp:'Jost','Century Gothic',system-ui,sans-serif;
  --font-text:'Source Sans 3','Segoe UI',system-ui,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

body{
  margin:0;background:var(--plocha);color:var(--ink);
  font-family:var(--font-text);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img,svg,video{max-width:100%;height:auto;display:block}

h1,h2,h3,h4{font-family:var(--font-disp);font-weight:600;line-height:1.12;letter-spacing:-.02em;
  text-wrap:balance;margin:0 0 var(--s4)}
h1{font-size:clamp(32px,6.4vw,52px)}
h2{font-size:clamp(25px,4.6vw,38px)}
h3{font-size:20px;letter-spacing:-.01em}
h4{font-size:17px;margin-bottom:var(--s2);letter-spacing:-.01em}
p{margin:0 0 var(--s4)}
p:last-child{margin-bottom:0}
a{color:var(--cihla-600);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--cihla-700)}
:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--cihla);outline-offset:2px;border-radius:var(--r-xs)}
strong{font-weight:600}
::selection{background:var(--cihla);color:#fff}

.wrap{width:100%;max-width:var(--sirka);margin:0 auto;padding-left:var(--s5);padding-right:var(--s5)}
.uzky{max-width:var(--sirka-text)}
.preskoc{position:absolute;left:-9999px;background:var(--ink);color:#fff;padding:var(--s3) var(--s4);
  border-radius:var(--r-s);z-index:100}
.preskoc:focus{left:var(--s4);top:var(--s4)}

/* ---------------------------------------------------------------- hlavička */
.horni-listva{display:none}
@media (min-width:900px){
  .horni-listva{display:block;background:var(--ink);color:#C9D3DE;font-size:13.5px}
  .horni-listva .wrap{display:flex;justify-content:space-between;gap:var(--s4);
    padding-top:9px;padding-bottom:9px}
  .horni-listva a{color:#fff;text-decoration:none;font-weight:600}
  .horni-listva a:hover{color:var(--zlata)}
}

.hlavicka{background:rgba(255,255,255,.88);backdrop-filter:saturate(1.6) blur(10px);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hlavicka .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);
  padding-top:var(--s3);padding-bottom:var(--s3)}
.znacka{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.okno{width:38px;height:38px;background:var(--cihla);border-radius:var(--r-xs);position:relative;flex:none;
  box-shadow:var(--stin-1)}
.okno::before{content:"";position:absolute;left:9px;right:9px;top:12px;height:2.5px;background:#fff;border-radius:2px}
.okno::after{content:"";position:absolute;left:calc(50% - 1.25px);top:12px;bottom:9px;width:2.5px;background:#fff;border-radius:2px}
.znacka b{font-family:var(--font-disp);font-weight:600;font-size:17px;letter-spacing:-.01em;display:block}
.znacka span{display:block;font-family:var(--font-text);font-size:12.5px;color:var(--sedy);
  letter-spacing:.02em;margin-top:-1px}

.menu{display:none}
.hlavicka .btn{display:none}
.prepinac{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
  width:46px;height:46px;padding:0 12px;background:var(--plocha-2);border:1px solid var(--line);
  border-radius:var(--r-s);cursor:pointer;color:var(--ink)}
.prepinac span{display:block;height:2.5px;background:currentColor;border-radius:2px;transition:transform .18s ease,opacity .18s ease}
.prepinac[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.prepinac[aria-expanded="true"] span:nth-child(2){opacity:0}
.prepinac[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.menu.otevreno{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;
  background:var(--plocha);border-bottom:1px solid var(--line);box-shadow:var(--stin-2);
  padding:var(--s2) var(--s5) var(--s5)}
.menu a{font-family:var(--font-disp);font-size:18px;color:var(--ink);text-decoration:none;
  padding:var(--s4) 0;border-bottom:1px solid var(--line-2)}
.menu a[aria-current="page"]{color:var(--cihla-600);font-weight:600}
@media (min-width:900px){
  .prepinac{display:none}
  .menu,.menu.otevreno{display:flex;position:static;flex-direction:row;gap:var(--s5);
    padding:0;border:none;box-shadow:none;background:none;align-items:center}
  .menu a{font-size:15.5px;padding:6px 0;border:none;border-radius:var(--r-pilulka);position:relative}
  .menu a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--cihla);
    border-radius:2px;transform:scaleX(0);transition:transform .18s ease}
  .menu a:hover::after,.menu a[aria-current="page"]::after{transform:scaleX(1)}
  .hlavicka .btn{display:inline-flex;padding:11px var(--s5);font-size:15px}
}

/* ------------------------------------------------------------ mobilní lišta */
.mob-lista{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;
  gap:var(--s2);padding:var(--s2) var(--s3) calc(var(--s2) + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-top:1px solid var(--line);
  box-shadow:0 -4px 20px rgba(18,22,27,.08)}
.mob-lista .btn{width:100%;justify-content:center;padding:14px var(--s3);font-size:15.5px}
body{padding-bottom:84px}
@media (min-width:900px){.mob-lista{display:none}body{padding-bottom:0}}

/* ---------------------------------------------------------------- tlačítka */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-disp);font-size:17px;
  font-weight:500;letter-spacing:-.01em;padding:15px var(--s6);background:var(--cihla);color:#fff;
  text-decoration:none;border:1.5px solid var(--cihla);border-radius:var(--r-pilulka);cursor:pointer;
  box-shadow:var(--stin-1);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn:hover{background:var(--cihla-600);border-color:var(--cihla-600);color:#fff;
  transform:translateY(-1px);box-shadow:var(--stin-2)}
.btn:active{transform:translateY(0)}
.btn--duchy{background:var(--plocha);color:var(--ink);border-color:var(--line);box-shadow:var(--stin-1)}
.btn--duchy:hover{background:var(--plocha-2);color:var(--ink);border-color:#C9D3DE}
.btn--svetly{background:#fff;color:var(--ink);border-color:#fff}
.btn--svetly:hover{background:#F2F5F8;color:var(--ink);border-color:#F2F5F8}
.btn--tmavy{background:var(--ink);border-color:var(--ink)}
.btn--tmavy:hover{background:#000;border-color:#000}
.cta-radek{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center}

/* ---------------------------------------------------------------- typografie */
.oci{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-disp);font-size:13px;
  font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--cihla-600);
  background:var(--cihla-50);padding:6px 14px;border-radius:var(--r-pilulka);margin-bottom:var(--s4)}
.oci--svetly{color:#FFD9CE;background:rgba(255,255,255,.12)}
.perex{font-size:19px;line-height:1.55;color:var(--ink-2)}
@media (min-width:900px){.perex{font-size:21px}}
.mensi{font-size:15px;color:var(--sedy)}
.cislo{font-variant-numeric:tabular-nums}

.sekce{padding-top:var(--s8);padding-bottom:var(--s8)}
@media (min-width:900px){.sekce{padding-top:var(--s9);padding-bottom:var(--s9)}}
.sekce--tenka{padding-top:var(--s7);padding-bottom:var(--s7)}
.sekce--plocha2{background:var(--plocha-2)}
.sekce--tmava{background:var(--ink);color:#D6DEE7}
.sekce--tmava h2,.sekce--tmava h3{color:#fff}
.sekce--tmava a:not(.btn){color:#fff}
.hlava{margin-bottom:var(--s6);max-width:44ch}
/* nadpisy uvnitř souvislého textu potřebují vzduch nad sebou */
.text-obsah .hlava{margin-top:var(--s8)}
.text-obsah > .hlava:first-child{margin-top:0}
.tw{margin-bottom:var(--s5)}
.hlava h2{margin-bottom:var(--s3)}

/* ---------------------------------------------------------------- hero */
.hero{position:relative;background:var(--ink);color:#D6DEE7;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(90% 120% at 15% 0%, rgba(211,69,39,.34) 0%, rgba(211,69,39,0) 60%);
  pointer-events:none}
.hero .wrap{position:relative;display:grid;gap:var(--s6);
  padding-top:var(--s7);padding-bottom:var(--s7)}
.hero h1{color:#fff;margin-bottom:var(--s4)}
.hero .perex{color:#C3CDD8}
.hero .cta-radek{margin-top:var(--s5)}
.hero-pod{font-size:14.5px;color:#8E9BA9;margin-top:var(--s4);display:flex;align-items:center;gap:8px}
.hero-pod::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--zelen);
  box-shadow:0 0 0 4px rgba(14,124,102,.25);flex:none}
@media (min-width:900px){
  .hero .wrap{grid-template-columns:1.18fr .82fr;align-items:center;gap:var(--s8);
    padding-top:var(--s9);padding-bottom:var(--s9)}
}
.portret{position:relative;border-radius:var(--r-l);overflow:hidden;background:#212932;
  aspect-ratio:4/3;box-shadow:var(--stin-3)}
@media (min-width:900px){.portret{aspect-ratio:4/5}}
.portret img{width:100%;height:100%;object-fit:cover}
.portret--prazdny{display:flex;align-items:center;justify-content:center;
  background-image:repeating-linear-gradient(0deg,transparent 0 27px,rgba(255,255,255,.07) 27px 28px),
    repeating-linear-gradient(90deg,transparent 0 27px,rgba(255,255,255,.07) 27px 28px)}
.portret--prazdny span{font-family:var(--font-disp);font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  color:#8E9BA9;border:1px dashed #47525E;padding:10px 16px;border-radius:var(--r-pilulka)}
/* světlá varianta hera pro podstránky */
.hero--text .wrap{grid-template-columns:1fr !important}
.hero--svetly{background:var(--plocha-2);color:var(--ink-2)}
.hero--svetly::before{background:radial-gradient(80% 120% at 10% 0%, rgba(211,69,39,.10) 0%, rgba(211,69,39,0) 60%)}
.hero--svetly h1{color:var(--ink)}
.hero--svetly .perex{color:var(--ink-2)}
.hero--svetly .hero-pod{color:var(--sedy)}
.hero--svetly .portret{background:var(--plocha-3)}
.hero--svetly .portret--prazdny{
  background-image:repeating-linear-gradient(0deg,transparent 0 27px,rgba(18,22,27,.06) 27px 28px),
    repeating-linear-gradient(90deg,transparent 0 27px,rgba(18,22,27,.06) 27px 28px)}
.hero--svetly .portret--prazdny span{color:var(--sedy);border-color:#C3CDD8}

/* ---------------------------------------------------------------- čísla */
.cisla{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:calc(var(--s7) * -1);
  position:relative;z-index:5}
@media (min-width:760px){.cisla{grid-template-columns:repeat(4,1fr);gap:var(--s4)}}
.cisla div{background:var(--plocha);border:1px solid var(--line);border-radius:var(--r);
  padding:var(--s4);box-shadow:var(--stin-2)}
@media (min-width:900px){.cisla div{padding:var(--s5)}}
.cisla b{display:block;font-family:var(--font-disp);font-size:clamp(24px,4vw,30px);font-weight:600;
  color:var(--cihla);font-variant-numeric:tabular-nums;line-height:1.05;letter-spacing:-.02em}
.cisla span{display:block;font-size:14px;color:var(--sedy);margin-top:6px;line-height:1.35}

/* ---------------------------------------------------------------- karty */
.mrizka{display:grid;gap:var(--s4);grid-template-columns:1fr}
@media (min-width:680px){.mrizka{grid-template-columns:repeat(2,1fr);gap:var(--s5)}}
@media (min-width:980px){.mrizka{grid-template-columns:repeat(3,1fr)}}
.mrizka--2{grid-template-columns:1fr}
@media (min-width:900px){.mrizka--2{grid-template-columns:1.15fr .85fr;gap:var(--s7);align-items:start}}
.mrizka--2 > .hlava{margin-bottom:0;max-width:38ch}
.karta{background:var(--plocha);border:1px solid var(--line);border-radius:var(--r);
  padding:var(--s5);box-shadow:var(--stin-1);transition:box-shadow .18s ease,transform .18s ease}
.karta:hover{box-shadow:var(--stin-2)}
.karta h3,.karta h4{margin-bottom:var(--s2)}
.karta p{font-size:16px;color:var(--ink-2);margin-bottom:0}
.karta--zvyrazneno{background:var(--cihla-50);border-color:#F6CFC3}
.ikona{width:44px;height:44px;border-radius:var(--r-s);background:var(--cihla-50);color:var(--cihla-600);
  display:flex;align-items:center;justify-content:center;margin-bottom:var(--s4);
  font-family:var(--font-disp);font-weight:600;font-size:18px}
.sekce--tmava .karta{background:#1B2229;border-color:#2C353F;color:#C3CDD8}
.sekce--tmava .karta p{color:#AEBAC6}
.sekce--tmava .ikona{background:rgba(211,69,39,.18);color:#FF9174}

/* ---------------------------------------------------------------- kroky */
.kroky{list-style:none;margin:0;padding:0;counter-reset:k;display:grid;gap:var(--s4);grid-template-columns:1fr}
@media (min-width:680px){.kroky{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.kroky{grid-template-columns:repeat(4,1fr)}}
.kroky li{counter-increment:k;background:var(--plocha);border:1px solid var(--line);
  border-radius:var(--r);padding:var(--s5);box-shadow:var(--stin-1)}
.kroky li::before{content:counter(k,decimal-leading-zero);display:inline-flex;align-items:center;
  justify-content:center;width:36px;height:36px;border-radius:var(--r-pilulka);background:var(--ink);
  color:#fff;font-family:var(--font-disp);font-size:14px;font-weight:600;margin-bottom:var(--s4);
  font-variant-numeric:tabular-nums}
.kroky b{display:block;font-family:var(--font-disp);font-size:18px;font-weight:600;margin-bottom:6px;
  letter-spacing:-.01em}
.kroky p{font-size:15.5px;color:var(--sedy);margin:0}

/* fáze prodeje */
.faze{list-style:none;margin:0;padding:0;counter-reset:f;display:grid;gap:var(--s4)}
.faze > li{counter-increment:f;background:var(--plocha);border:1px solid var(--line);border-radius:var(--r);
  padding:var(--s5);box-shadow:var(--stin-1);display:grid;gap:var(--s4)}
@media (min-width:760px){.faze > li{grid-template-columns:auto 1fr;gap:var(--s5);padding:var(--s6)}}
.faze > li::before{content:counter(f,decimal-leading-zero);display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:var(--r-s);background:var(--cihla-50);color:var(--cihla-600);
  font-family:var(--font-disp);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
.faze h3{margin-bottom:var(--s2)}
.faze p{margin-bottom:0;color:var(--ink-2)}
.rozsah{display:inline-block;font-family:var(--font-disp);font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--sedy);background:var(--plocha-2);border:1px solid var(--line);
  padding:3px 10px;border-radius:var(--r-pilulka);margin-bottom:var(--s3)}

/* ---------------------------------------------------------------- nemovitosti */
.nabidka{display:grid;gap:var(--s5);grid-template-columns:1fr}
@media (min-width:680px){.nabidka{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.nabidka{grid-template-columns:repeat(3,1fr)}}
.nem{display:block;text-decoration:none;color:inherit;background:var(--plocha);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;box-shadow:var(--stin-1);transition:box-shadow .18s ease,transform .18s ease}
.nem:hover{box-shadow:var(--stin-3);transform:translateY(-2px)}
.nem .foto{aspect-ratio:4/3;background:var(--plocha-3);
  background-image:repeating-linear-gradient(0deg,transparent 0 19px,rgba(18,22,27,.05) 19px 20px),
    repeating-linear-gradient(90deg,transparent 0 19px,rgba(18,22,27,.05) 19px 20px)}
.nem .telo{padding:var(--s4) var(--s5) var(--s5)}
.nem b{font-family:var(--font-disp);font-size:17px;font-weight:600}
.nem .cena{display:block;color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:15.5px;margin-top:4px}
.stitek{display:inline-block;font-family:var(--font-disp);font-size:12px;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;background:var(--cihla);color:#fff;padding:4px 12px;border-radius:var(--r-pilulka);
  white-space:nowrap}
.stitek--hotovo{background:var(--zelen-50);color:var(--zelen)}
.stitek--klid{background:var(--plocha-3);color:var(--ink-2)}

.hotovo{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3)}
.hotovo li{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);
  background:var(--plocha);border:1px solid var(--line);border-radius:var(--r-s);
  padding:var(--s4) var(--s5);box-shadow:var(--stin-1);font-size:16px}
.hotovo b{font-family:var(--font-disp);font-weight:600;display:block}
.hotovo span span{color:var(--sedy);font-size:14.5px}

/* ---------------------------------------------------------------- citace */
.citace{background:var(--plocha);border:1px solid var(--line);border-left:4px solid var(--cihla);
  border-radius:var(--r);padding:var(--s5);box-shadow:var(--stin-1)}
.citace p{font-size:18px;line-height:1.55;margin-bottom:var(--s3)}
.citace cite{font-style:normal;font-size:14.5px;color:var(--sedy)}

/* ---------------------------------------------------------------- lokality */
.lokality{display:flex;flex-wrap:wrap;gap:var(--s2)}
.lokality a{font-family:var(--font-disp);font-size:16px;padding:11px var(--s5);border:1px solid var(--line);
  background:var(--plocha);color:var(--ink);text-decoration:none;border-radius:var(--r-pilulka);
  box-shadow:var(--stin-1);transition:border-color .15s ease,color .15s ease,transform .15s ease}
.lokality a:hover{border-color:var(--cihla);color:var(--cihla-600);transform:translateY(-1px)}

/* ---------------------------------------------------------------- formulář */
.form{display:grid;gap:var(--s4)}
.form .radek2{display:grid;grid-template-columns:1fr;gap:var(--s4)}
@media (min-width:560px){.form .radek2{grid-template-columns:1fr 1fr}}
.formular-obal{background:var(--plocha);border:1px solid var(--line);border-radius:var(--r-l);
  padding:var(--s5);box-shadow:var(--stin-2)}
@media (min-width:760px){.formular-obal{padding:var(--s7)}}
label{display:block;font-family:var(--font-disp);font-size:14.5px;font-weight:500;margin-bottom:7px;color:var(--ink-2)}
label .nutne{color:var(--cihla)}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{
  width:100%;font:inherit;font-size:16.5px;padding:14px var(--s4);border:1.5px solid var(--line);
  background:var(--plocha);color:var(--ink);border-radius:var(--r-s);transition:border-color .15s ease,box-shadow .15s ease}
input::placeholder,textarea::placeholder{color:#9AA7B4}
input:hover,select:hover,textarea:hover{border-color:#C9D3DE}
input:focus,select:focus,textarea:focus{border-color:var(--cihla);outline:none;
  box-shadow:0 0 0 4px rgba(211,69,39,.14)}
textarea{min-height:130px;resize:vertical}
select{appearance:none;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E6B7A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:20px;padding-right:44px}
.souhlas{display:grid;grid-template-columns:24px 1fr;gap:var(--s3);align-items:start}
.souhlas input{width:22px;height:22px;margin-top:2px;accent-color:var(--cihla)}
.souhlas label{font-family:var(--font-text);font-size:14.5px;color:var(--sedy);margin:0;font-weight:400}
.past{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hlaska{display:none;padding:var(--s4) var(--s5);border-radius:var(--r-s);margin-bottom:var(--s4);
  background:var(--zelen-50);border:1px solid #B9E0D6;color:#0B5F4E}
.hlaska--chyba{background:var(--cihla-50);border-color:#F6CFC3;color:var(--cihla-700)}
.hlaska.videt{display:block}

/* ---------------------------------------------------------------- FAQ */
.faq details{background:var(--plocha);border:1px solid var(--line);border-radius:var(--r-s);
  margin-bottom:var(--s3);box-shadow:var(--stin-1)}
.faq summary{cursor:pointer;padding:var(--s4) var(--s5);font-family:var(--font-disp);font-weight:600;
  font-size:16.5px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--s4)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;color:var(--cihla);line-height:1;flex:none}
.faq details[open] summary::after{content:"−"}
.faq p{padding:0 var(--s5) var(--s5);margin:0;color:var(--ink-2);font-size:16px}

/* ---------------------------------------------------------------- pruh CTA */
.pruh-cta{background:var(--cihla-600);color:#fff;border-radius:var(--r-l);padding:var(--s6);
  display:grid;gap:var(--s5);box-shadow:var(--stin-2)}
@media (min-width:820px){.pruh-cta{grid-template-columns:1fr auto;align-items:center;padding:var(--s7)}}
.pruh-cta h2{color:#fff;margin-bottom:var(--s2)}
.pruh-cta p{color:#fff;margin:0;max-width:54ch}

/* ---------------------------------------------------------------- silueta + patička */
 /* Město není obrázek na stránce - je to hrana konstrukce.
    V heru stojí na obzoru za textem, dole tvoří horní hranu patičky. */

 /* ---------------------------------------------------------------- město */
/* Panorama má vlastní sekci - je to obsah, ne dekorace: ukazuje, kde pracuju.
   Noční město, ve kterém svítí jedno okno. */
.mesto-sekce{position:relative;background:var(--ink);color:#C3CDD8;overflow:hidden;
  --mesto-okno:#2E3945}
.mesto-sekce .wrap{position:relative;z-index:2;padding-top:var(--s8);
  padding-bottom:clamp(150px,22vw,250px)}
.mesto-sekce h2{color:#fff}
.mesto-sekce .oci{color:#FFD9CE;background:rgba(211,69,39,.16)}
.mesto-svg{position:absolute;left:0;right:0;bottom:0;z-index:1;display:block;width:100%;
  height:clamp(130px,20vw,225px);color:#1D252E}
.mesto-sekce .lokality{position:relative;z-index:2}
.mesto-sekce .lokality a{background:rgba(255,255,255,.06);border-color:#2E3945;color:#E6EBF0;box-shadow:none}
.mesto-sekce .lokality a:hover{border-color:var(--cihla);color:#fff;background:rgba(211,69,39,.18)}
.mesto-legenda{position:relative;z-index:2;font-size:13px;color:#7C8A98;margin:0 0 var(--s5);max-width:60ch}

.sokl{background:var(--ink);color:#AEBAC6;padding-top:var(--s5);padding-bottom:var(--s6);margin-top:0}
.sokl a{color:#E6EBF0;text-decoration:none}
.sokl a:hover{color:var(--zlata)}
.sokl-mrizka{display:grid;gap:var(--s6);grid-template-columns:1fr}
@media (min-width:760px){.sokl-mrizka{grid-template-columns:1.5fr 1fr 1fr;gap:var(--s7)}}
.sokl .znacka b{color:#fff}
.sokl .znacka span{color:#8E9BA9}
.sokl h2{font-family:var(--font-disp);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;
  color:#8E9BA9;margin-bottom:var(--s3)}
.sokl ul{list-style:none;margin:0;padding:0}
.sokl li{padding:5px 0;font-size:15.5px}
.sokl-spodek{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;
  margin-top:var(--s7);padding-top:var(--s4);border-top:1px solid #2C353F;font-size:13.5px;color:#8E9BA9}

/* ---------------------------------------------------------------- drobnosti */
.tw{overflow-x:auto;border-radius:var(--r-s)}
table{border-collapse:collapse;width:100%;font-size:16px}
th{font-family:var(--font-disp);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--sedy);
  text-align:left;padding:0 var(--s4) var(--s3) 0;border-bottom:2px solid var(--line);white-space:nowrap}
td{padding:var(--s4) var(--s4) var(--s4) 0;border-bottom:1px solid var(--line-2);vertical-align:top}
.odrazky{list-style:none;margin:0 0 var(--s4);padding:0}
.odrazky li{position:relative;padding:7px 0 7px 30px}
.odrazky li::before{content:"";position:absolute;left:0;top:15px;width:16px;height:2.5px;
  background:var(--cihla);border-radius:2px}
.text-obsah h2{margin-top:var(--s7)}
.text-obsah h3{margin-top:var(--s6)}
.text-obsah > :first-child{margin-top:0}
.casova-osa td:first-child{font-family:var(--font-disp);font-weight:600;color:var(--cihla-600);white-space:nowrap}

/* ---------------------------------------------------------------- tisk */
@media print{
  @page{size:A4;margin:13mm 12mm}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body{font-size:10.5pt;line-height:1.5;padding-bottom:0;background:#fff}
  .wrap{max-width:none;padding-left:0;padding-right:0}
  .hlavicka{position:static;background:#fff;backdrop-filter:none}
  .prepinac,.mob-lista,.preskoc,.horni-listva{display:none !important}
  .menu{display:none !important}
  .hlavicka .btn{display:inline-flex !important}
  h1{font-size:24pt}h2{font-size:17pt}h3{font-size:12.5pt}
  .hero h1{font-size:22pt}
  .perex{font-size:12pt}
  .sekce{padding-top:22px;padding-bottom:22px}
  .sekce--tenka{padding-top:18px;padding-bottom:18px}
  .hero .wrap{grid-template-columns:1.05fr .95fr !important;gap:24px;padding-top:24px;padding-bottom:24px}
  .portret{aspect-ratio:4/5 !important;max-height:100mm;box-shadow:none}
  .cisla{grid-template-columns:repeat(4,1fr) !important;margin-top:18px}
  .mrizka{grid-template-columns:repeat(3,1fr) !important}
  .mrizka--2{grid-template-columns:1.15fr .85fr !important}
  .kroky{grid-template-columns:repeat(2,1fr) !important}
  .form .radek2{grid-template-columns:1fr 1fr !important}
  .mesto-sekce .wrap{padding-bottom:120px}
  .mesto-svg{height:110px}
  .karta,.kroky li,.faze > li,.cisla div,.citace,.nem,.pruh-cta,.formular-obal,.hotovo li,
  .mesto-sekce,.faq details{break-inside:avoid;page-break-inside:avoid;box-shadow:none}
  .hlava,h2,h3{break-after:avoid;page-break-after:avoid}
  .faq details{border:1px solid var(--line)}
  .faq p{display:block}
  .sokl{margin-top:24px;padding-top:20px;padding-bottom:16px;break-inside:avoid}
  a{text-decoration:none}
}

/* ==========================================================================
   Prvky, které vedou návštěvníka dál
   ========================================================================== */

/* rozcestník podle záměru - člověk si vybere sám sebe, místo aby luštil menu */
.rozcestnik{display:grid;gap:var(--s3);grid-template-columns:1fr;
  margin-top:calc(var(--s7) * -1);position:relative;z-index:5}
@media (min-width:760px){.rozcestnik{grid-template-columns:repeat(3,1fr);gap:var(--s4)}}
.rozc{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s4);
  background:var(--plocha);border:1px solid var(--line);border-radius:var(--r);
  padding:var(--s4) var(--s5);text-decoration:none;color:var(--ink);box-shadow:var(--stin-2);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.rozc:hover{transform:translateY(-3px);box-shadow:var(--stin-3);border-color:#D6DEE7;color:var(--ink)}
.rozc-znak{width:44px;height:44px;border-radius:var(--r-s);background:var(--cihla-50);
  display:flex;align-items:center;justify-content:center;flex:none}
.rozc-znak svg{width:22px;height:22px;stroke:var(--cihla-600);fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.rozc b{display:block;font-family:var(--font-disp);font-size:17.5px;font-weight:600;letter-spacing:-.01em}
.rozc span.popis{display:block;font-size:14.5px;color:var(--sedy);line-height:1.35;margin-top:2px}
.rozc .sipka{font-size:20px;color:var(--sedy);transition:transform .16s ease,color .16s ease}
.rozc:hover .sipka{transform:translateX(4px);color:var(--cihla)}
@media (prefers-reduced-motion:reduce){.rozc,.rozc .sipka{transition:none}}

/* čísla jako tenký pruh, ne jako karty */
.pruh-cisel{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4) var(--s5);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--s5) 0}
@media (min-width:760px){.pruh-cisel{grid-template-columns:repeat(4,1fr)}}
.pruh-cisel b{display:block;font-family:var(--font-disp);font-size:clamp(23px,3.4vw,29px);font-weight:600;
  color:var(--ink);letter-spacing:-.02em;line-height:1.05;font-variant-numeric:tabular-nums}
.pruh-cisel b em{font-style:normal;color:var(--cihla)}
.pruh-cisel span{display:block;font-size:14px;color:var(--sedy);margin-top:5px;line-height:1.35}

/* test připravenosti - odškrtávání dává pocit postupu a ukáže, co chybí */
.kviz{background:var(--plocha);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--stin-1);overflow:hidden}
.kviz ul{list-style:none;margin:0;padding:0}
.kviz li{border-bottom:1px solid var(--line-2)}
.kviz label{display:grid;grid-template-columns:26px 1fr;gap:var(--s4);align-items:start;
  margin:0;padding:var(--s4) var(--s5);cursor:pointer;font-family:var(--font-text);font-size:16.5px;
  font-weight:400;color:var(--ink-2);transition:background .14s ease}
.kviz label:hover{background:var(--plocha-2)}
.kviz input{width:24px;height:24px;margin:0;accent-color:var(--cihla);cursor:pointer}
.kviz input:checked + span{color:var(--ink);font-weight:600}
.kviz-patka{background:var(--plocha-2);border-top:1px solid var(--line);padding:var(--s5)}
.kviz-pruh{height:8px;background:var(--plocha-3);border-radius:var(--r-xs);overflow:hidden;margin-bottom:var(--s4)}
.kviz-pruh span{display:block;height:100%;width:0;background:var(--cihla);border-radius:var(--r-xs);
  transition:width .35s cubic-bezier(.2,.7,.3,1)}
@media (prefers-reduced-motion:reduce){.kviz-pruh span{transition:none}}
.kviz-skore{font-family:var(--font-disp);font-size:14px;color:var(--sedy);margin-bottom:var(--s2)}
.kviz-skore b{color:var(--ink);font-variant-numeric:tabular-nums}
.kviz-text{font-size:17px;color:var(--ink);margin-bottom:var(--s4)}
.kviz-patka .btn{width:100%;justify-content:center}
@media (min-width:560px){.kviz-patka .btn{width:auto}}

/* karta nemovitosti - doplněk */
.nem .foto{overflow:hidden}
.nem .foto img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.nem:hover .foto img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.nem .foto img,.nem:hover .foto img{transition:none;transform:none}}
.nem-radek{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s3)}
.nem .misto{display:block;color:var(--sedy);font-size:14.5px;margin-top:2px}

/* neproklikávací štítky čtvrtí */
.lokality span{font-family:var(--font-disp);font-size:15px;padding:9px var(--s4);border:1px solid var(--line);
  background:var(--plocha-2);color:var(--ink-2);border-radius:var(--r-pilulka)}

/* portrét: při ořezu na výšku držet obličej v záběru */
.portret img{object-position:50% 20%}

/* drobečková navigace - odpovídá strukturovaným datům BreadcrumbList */
.drobecky{background:var(--plocha-2);border-bottom:1px solid var(--line);font-size:14px}
.drobecky .wrap{display:flex;gap:10px;align-items:center;padding-top:10px;padding-bottom:10px;
  color:var(--sedy);flex-wrap:wrap}
.drobecky a{color:var(--sedy);text-decoration:none}
.drobecky a:hover{color:var(--cihla-600);text-decoration:underline}
.drobecky span[aria-current]{color:var(--ink);font-weight:600}
@media print{.drobecky{display:none}}
