/* Ubytovna Vozovna (ukázka FORMA) – stránka je jízda tramvají linky 9: žlutá a tmavě modrá jako lak tramvaje, trolej a koleje v pásu, zastávky jsou kapitoly. Písmo Overpass (písmo dopravního značení, SIL OFL 1.1, latinka i cyrilice) uložené u webu. */
@font-face{font-family:'Overpass';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/overpass-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:'Overpass';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/overpass-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:'Overpass';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/overpass-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Overpass';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/overpass-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}

:root{
  --blue:#14325c;--blue-2:#1d4278;--noc:#0b1f3d;--svit:#2f5a96;--bled:#c7d3e4;
  --yellow:#f5c400;--yellow-2:#ffd84d;--yellow-3:#d8a900;--paper:#fbf7ea;--white:#fff;--ink:#14171c;--red:#d6301f;
  --font:'Overpass',system-ui,sans-serif;
  --gut:1rem;--hd:3.4rem;--txt:1.0625rem;
  --tram-w:37rem;--t:calc(var(--tram-w)/1000);--pas-h:calc(var(--t)*240);--tram-x:calc(100vw - var(--tram-w) - .5rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--blue) var(--yellow);scroll-padding-top:1rem}
body{margin:0;background:var(--noc);color:var(--ink);font:400 var(--txt)/1.5 var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
::selection{background:var(--blue);color:var(--yellow)}
.vrch ::selection,.pokoje ::selection,.cena ::selection,.foto ::selection,.rad ::selection,.foot ::selection,.l-utrzek ::selection{background:var(--yellow);color:var(--blue)}
.arch ::selection,.vuz ::selection,.lst ::selection{background:var(--blue);color:var(--yellow)}
img{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.18em}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.vrch :focus-visible,.pokoje :focus-visible,.cena :focus-visible,.foto-hlava :focus-visible,.rad :focus-visible,.foot :focus-visible,.l-utrzek :focus-visible{outline-color:var(--yellow)}
[hidden]{display:none!important}
h1,h2,h3{margin:0;font-weight:900;line-height:1;letter-spacing:-.015em}
p,dl,dd,ul,ol{margin:0;padding:0}
p{text-wrap:pretty}
ul,ol{list-style:none}
.skip{position:absolute;left:-999px;top:0;z-index:50;padding:.6rem 1rem;background:var(--yellow);color:var(--blue)}
.skip:focus{left:1rem}

/* hlavička: tabule zastávky */
.vrch{position:relative;z-index:20;display:flex;align-items:center;gap:.5rem;min-height:var(--hd);padding:.2rem var(--gut);background:var(--blue);color:var(--white)}
.sign{display:flex;flex-direction:column;margin-right:auto;color:inherit;text-decoration:none;line-height:1.05}
.sign-stop{font-size:1.2rem;font-weight:900;letter-spacing:-.01em}
.sign-sub,.linka,.stub{display:none}
.langs{display:flex;gap:.1rem}
.langs a{display:inline-grid;place-items:center;min-width:2.5rem;min-height:2.75rem;font-weight:800;text-decoration:none;border-radius:50%;transition:background-color .18s,color .18s}
.langs a:hover{color:var(--yellow)}
.langs a[aria-current="page"]{color:var(--yellow);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.3em}

/* tlačítka: kulatá jako tlačítka v tramvaji */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3.4rem;padding:.7rem 1.5rem .55rem;border:0;border-radius:99px;background:var(--blue);color:var(--white);font:800 1.06rem/1.15 var(--font);text-align:center;text-decoration:none;cursor:pointer;transition:background-color .18s,color .18s,transform .14s}
.btn:hover{background:var(--blue-2)}
.btn:active{transform:scale(.97)}
.btn-line{background:transparent;color:var(--blue);box-shadow:inset 0 0 0 3px var(--blue)}
.btn-line:hover{background:var(--blue);color:var(--white)}
.btn-zl{background:var(--yellow);color:var(--blue)}
.btn-zl:hover{background:var(--yellow-2)}
.btn-sv{background:transparent;color:var(--white);box-shadow:inset 0 0 0 3px var(--svit)}
.btn-sv:hover{background:var(--blue-2)}
.cta{display:flex;flex-wrap:wrap;gap:.6rem}
.sipka{display:inline-flex;align-items:center;gap:.5em;min-height:2.75rem;color:inherit;font:800 1.125rem/1.1 var(--font);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.26em}
.sipka::after{content:"";width:.55em;height:.55em;border-top:3px solid currentColor;border-right:3px solid currentColor;transform:rotate(45deg);transition:transform .18s}
.sipka:hover::after{transform:translateX(.2em) rotate(45deg)}
.as-btn{padding:0;border:0;background:none;cursor:pointer}
.as-link{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:inherit;text-decoration:underline;text-underline-offset:.18em;cursor:pointer}
.fake{font-size:.92em;font-weight:400;white-space:nowrap}
.ln{display:inline-grid;place-items:center;flex:none;width:1.7em;height:1.7em;padding-top:.08em;border-radius:50%;background:var(--red);color:var(--white);font-weight:900;font-size:.95em;line-height:1}
.nw{white-space:nowrap}

/* pás: dvě troleje, stožáry, trolejbus, silnice */
.pas{position:relative;overflow:clip;height:var(--pas-h);margin:.9rem calc(var(--gut)*-1);background:var(--blue)}
.pas-mesto{position:absolute;left:0;bottom:calc(var(--t)*30);width:calc(100% + var(--t)*1600);height:calc(var(--t)*170);background:url(img/mesto.svg) 0 100%/auto 100% repeat-x;will-change:transform}
.pas-stozary{position:absolute;left:0;top:calc(var(--t)*2);width:calc(100% + var(--t)*760);height:calc(var(--t)*208);background:url(img/stozar.svg) 0 0/auto 100% repeat-x;will-change:transform}
.pas-drat{position:absolute;left:0;right:0;top:calc(var(--t)*19);height:calc(var(--t)*10);border-top:2px solid var(--bled);border-bottom:2px solid var(--bled);box-sizing:border-box}
.pas-koleje{position:absolute;left:0;bottom:0;width:calc(100% + 64px);height:calc(var(--t)*32);background:linear-gradient(var(--bled) 0 3px,transparent 3px),linear-gradient(90deg,var(--bled) 0 28px,transparent 28px) 0 58%/64px 2px repeat-x,#0f2747;will-change:transform}
.pas-zast{display:none}
.tram{position:absolute;left:var(--tram-x);top:calc(var(--t)*18);width:var(--tram-w);aspect-ratio:1000/190;will-change:transform}
.tram-jede{position:absolute;inset:0}
.tram-svetlo{position:absolute;left:2.5%;right:2.5%;top:30%;bottom:13%;background:var(--yellow-2)}
.tram-film{position:absolute;left:2.5%;right:2.5%;top:30%;height:30%;overflow:hidden;background:var(--noc)}
.film{display:flex;height:100%;width:max-content;will-change:transform}
.film img{flex:none;width:auto;max-width:none;height:190%;margin-top:-1.6%}
.tram-tel{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.dv{position:absolute;top:31.6%;height:55.8%;width:3%;background:var(--yellow);transition:transform .5s cubic-bezier(.45,0,.2,1)}
.dv::before{content:"";position:absolute;inset:7% 14% 44%;background:var(--noc)}
.dv::after{content:"";position:absolute;left:14%;right:14%;bottom:7%;height:30%;background:var(--noc)}
.dv.l{left:var(--x)}.dv.p{left:calc(var(--x) + 3%)}
.d1{--x:10.6%}.d2{--x:51.4%}.d3{--x:82.4%}
.stoji .dv.l{transform:translateX(-90%)}.stoji .dv.p{transform:translateX(90%)}
.led{display:none}
@media (prefers-reduced-motion:no-preference){
  .tram-jede{animation:prijezd 1.15s cubic-bezier(.14,.72,.2,1) both}
  @keyframes prijezd{from{transform:translate3d(-112%,0,0)}}
}

/* úvod */
.st{position:relative}
.uvod{background:var(--yellow);color:var(--blue);padding:1.05rem var(--gut) 1.8rem}
.uvod h1{font-size:clamp(2.45rem,11.8vw,3.6rem);line-height:.98;letter-spacing:-.024em;text-wrap:balance}
.uvod-spod{display:flex;flex-direction:column-reverse;gap:1.4rem}
.price-tag{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .6rem;margin-bottom:.5rem}
.price-tag b{font-size:3.4rem;font-weight:900;line-height:1;letter-spacing:-.03em}
.price-tag span{font-weight:800}
.rec-now{display:flex;gap:.6rem;margin:.9rem 0 .5rem;font-weight:700;line-height:1.3}
.rec-now::before{content:"";flex:none;width:.8rem;height:.8rem;margin-top:.2rem;border-radius:50%;background:var(--blue);opacity:.45}
.rec-now.is-open::before{background:#0d7a3a;opacity:1;box-shadow:0 0 0 .22rem rgba(251,247,234,.8)}

/* jízdenka */
.listek{position:relative;display:grid;background:var(--paper);color:var(--blue);box-shadow:0 1.2rem 2rem -1.1rem rgba(20,50,92,.65)}
.l-tel{padding:.95rem 1rem .85rem}
.l-hlava{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.7rem;margin-bottom:.7rem;border-bottom:3px dotted rgba(20,50,92,.3)}
.listek h2{font-size:1.75rem;letter-spacing:-.02em}
.validated{min-height:1.5em;margin-top:.15rem;font-size:.95rem;font-weight:700}
.punch{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;flex:none;width:3.9rem;padding:3px;background:var(--blue)}
.punch i{position:relative;display:grid;place-items:center;aspect-ratio:1;background:var(--paper);color:var(--blue);font:800 .72rem/1 var(--font)}
.punch i.hole::after{content:"";position:absolute;inset:18%;border-radius:50%;background:var(--blue);box-shadow:inset 0 1px 2px rgba(0,0,0,.5)}
.punch i.new::after{animation:hole .35s cubic-bezier(.2,.8,.2,1)}
@keyframes hole{from{transform:scale(0)}to{transform:none}}
.steppers{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.stepper{display:grid;grid-template-columns:2.75rem 1fr 2.75rem;align-items:center;gap:.2rem}
.st-l{grid-column:1/-1;font-size:1rem;font-weight:800}
.st-b{display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:50%;background:var(--blue);color:var(--yellow);font:800 1.6rem/1 var(--font);cursor:pointer;transition:background-color .18s,transform .14s}
.st-b:hover{background:var(--blue-2)}
.st-b:active{transform:scale(.92)}
.stepper output{text-align:center;font-size:2.2rem;font-weight:900;line-height:1}
.alone{display:flex;align-items:center;gap:.55rem;min-height:2.75rem;margin-top:.15rem;font-weight:700;line-height:1.2;cursor:pointer}
.alone input{flex:none;width:1.35rem;height:1.35rem;margin:0;accent-color:var(--blue)}
.lines{font-size:1rem}
.lines li{display:flex;justify-content:space-between;gap:1rem;padding:.15rem 0}
.rooms-fit{min-height:0;font-size:1rem;font-weight:600}
.rooms-fit:empty{display:none}
.l-utrzek{position:relative;padding:.85rem 1rem 1rem;background:var(--blue);color:var(--white)}
.l-utrzek::before,.l-utrzek::after{content:"";position:absolute;top:-.6rem;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--yellow)}
.l-utrzek::before{left:-.6rem}.l-utrzek::after{right:-.6rem}
.sum{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;font-weight:800}
.sum span{font-size:1.15rem}
.sum b{font-size:2.9rem;font-weight:900;line-height:1;letter-spacing:-.025em;color:var(--yellow)}
.sum b.print{animation:print .45s steps(4)}
@keyframes print{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.l-utrzek .cta{margin-top:.75rem}
.l-utrzek .btn{flex:1 1 auto;min-height:3.1rem;padding-inline:1rem}
.fee{margin-top:.6rem;font-size:.95rem;line-height:1.3;color:var(--bled)}

/* cedule zastávky: visí z horní hrany kapitoly, v jízdě ji nahrazují sloupky v pásu */
.ced{display:block;width:max-content;margin:-2.6rem 0 1.5rem;padding:.42rem .85rem .24rem;background:var(--paper);color:var(--blue);font-size:1.0625rem;font-weight:900;line-height:1;box-shadow:inset 0 .3rem 0 var(--svit)}
.ced::before{content:"9";display:inline-grid;place-items:center;width:1.45em;height:1.45em;margin:.02rem .5rem 0 0;padding-top:.08em;border-radius:50%;background:var(--red);color:var(--white);font-size:.85em}

/* Pokoje */
.pokoje{background:var(--blue);color:var(--white);padding:2.6rem var(--gut) 2.8rem}
.obri{display:block;font-size:11rem;line-height:.8;font-weight:900;letter-spacing:-.045em;color:var(--yellow)}
.pod-obri{display:block;margin-top:.5rem;font-size:1.9rem;line-height:1.05}
.pokoje-plan{margin-top:1.6rem}
.plan{display:grid;gap:.45rem}
.patro{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.2rem}
.patro:last-child .r:nth-child(5){grid-column:6}
.r{display:flex;justify-content:center;gap:.12rem;padding:.3rem .16rem .22rem;background:var(--blue-2)}
.r b{position:relative;flex:0 1 .5rem;height:1.9rem;background:var(--yellow);transition:background-color .25s}
.r b::before{content:"";position:absolute;left:14%;right:14%;top:7%;height:24%;border-radius:2px;background:var(--paper)}
.r b.moje{background:var(--white)}
.r b.moje::before{background:var(--yellow)}
.plan-pop{margin-top:.8rem;line-height:1.35}
.plan-pop b{display:block;font-size:1.2rem;font-weight:800}
.plan-pop span{color:var(--bled)}
.facts{display:grid;gap:.9rem;margin-top:1.5rem}
.facts b{color:var(--yellow);font-weight:800}

/* Kuchyňka */
.kuchynka{background:var(--yellow);color:var(--blue);padding:2.6rem var(--gut) 2.6rem}
.kuchynka h2{font-size:2rem;line-height:1.05}
.obri-cas{margin:.5rem 0 1.5rem;font-size:18vw;line-height:.88;font-weight:900;letter-spacing:-.04em;white-space:nowrap}
.spolecne{display:grid;gap:1.1rem}
.spolecne dt{font-size:1.6rem;font-weight:900;line-height:1.08;letter-spacing:-.015em}
.spolecne dd{margin-top:.2rem}

/* Cena */
.cena{background:var(--blue);color:var(--white);padding:2.6rem var(--gut) 2.8rem}
.cena h2{font-size:3.3rem;line-height:.95;color:var(--yellow);letter-spacing:-.025em}
.longstay{margin-top:.8rem}
.pas-listku{display:grid;margin-top:1.5rem}
.lst{position:relative;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.1rem 1rem;padding:1rem 1rem .9rem;background:var(--paper);color:var(--blue)}
.lst+.lst{border-top:3px dotted rgba(20,50,92,.4)}
.lst+.lst::before,.lst+.lst::after{content:"";position:absolute;top:-.55rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--blue)}
.lst+.lst::before{left:-.55rem}.lst+.lst::after{right:-.55rem}
.lst-k{font-size:1.15rem;font-weight:800}
.lst b{grid-row:1/3;grid-column:2;font-size:2.7rem;font-weight:900;line-height:1;letter-spacing:-.025em}
.lst-z{font-size:1rem;line-height:1.2}
.lst-p{background:var(--yellow)}
.priplatky{display:grid;gap:.55rem;margin-top:1.4rem}
.priplatky div{display:flex;justify-content:space-between;gap:1rem}
.priplatky dd{font-weight:800;text-align:right;color:var(--yellow)}
.cena-spod .btn{width:100%;margin-top:1.3rem}

/* Fotogalerie: protijedoucí vůz */
.foto{background:var(--noc);color:var(--white)}
.foto-pod{padding:2.4rem var(--gut)}
.foto-hlava{margin-bottom:1.4rem}
.foto-hlava h2{color:var(--yellow)}
.foto-hlava .btn{background:var(--yellow);color:var(--blue)}
.foto-hlava .btn:hover{background:var(--yellow-2)}
.vuz{background:var(--yellow);color:var(--blue);padding:1.2rem 1rem 1.4rem}
.vuz-nos,.vuz-zad{display:none}
.foto-hlava h2{font-size:3rem;line-height:.96;letter-spacing:-.025em}
.foto-lead{margin-top:.6rem;font-size:1.15rem;font-weight:700}
.foto-pozn{margin:.5rem 0 1rem}
.okna{display:grid;gap:1.4rem}
.okno figure{margin:0}
.sklo{display:block;overflow:hidden;aspect-ratio:600/520;background:var(--noc);border-radius:1rem;box-shadow:0 0 0 .4rem var(--blue)}
.sklo img{width:100%;height:100%;object-fit:cover}
.okno figcaption{margin-top:.8rem;line-height:1.2}
.okno figcaption b{display:block;font-size:1.4rem;font-weight:900;letter-spacing:-.01em;line-height:1.1}
.okno figcaption span{display:block;margin-top:.2rem;font-weight:600}

/* Kde to je */
.trasa{background:var(--yellow);color:var(--blue);padding:2.6rem var(--gut) 2.6rem}
.trasa h2{font-size:3.1rem;line-height:.96;letter-spacing:-.025em}
.sec-lead{margin-top:.8rem;font-size:1.2rem;font-weight:700}
.line{margin:1.7rem 0 1rem}
.stop{position:relative;display:grid;grid-template-columns:2.4rem 1fr;gap:.9rem;padding-bottom:1.5rem}
.stop:last-child{padding-bottom:0}
.stop::before{content:"";position:absolute;left:.85rem;top:1.2rem;bottom:-1.2rem;width:.7rem;background:rgba(20,50,92,.22)}
.stop::after{content:"";position:absolute;left:.85rem;top:1.2rem;bottom:-1.2rem;width:.7rem;background:var(--blue);transform:scaleY(var(--plni,1));transform-origin:50% 0;transition:transform .45s cubic-bezier(.3,0,.2,1)}
.stop:last-child::before,.stop:last-child::after{display:none}
.stop-walk::before{background:repeating-linear-gradient(rgba(20,50,92,.22) 0 .55rem,transparent .55rem 1rem)}
.stop-walk::after{background:repeating-linear-gradient(var(--blue) 0 .55rem,transparent .55rem 1rem)}
.stop-get::before{background:repeating-linear-gradient(rgba(20,50,92,.22) 0 .55rem,transparent .55rem 1rem)}
.stop-get::after{background:repeating-linear-gradient(var(--blue) 0 .55rem,transparent .55rem 1rem)}
.dot{position:relative;z-index:1;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 .5rem var(--blue)}
.stop-pass .dot{width:1.5rem;height:1.5rem;margin:.45rem;box-shadow:inset 0 0 0 .34rem var(--blue)}
.stop-walk .dot{width:1.5rem;height:1.5rem;margin:.45rem}
.stop-home .dot{background:var(--blue);box-shadow:inset 0 0 0 .5rem var(--paper),0 0 0 .28rem var(--blue)}
.stop-n{padding-top:.35rem;font-size:1.4rem;font-weight:900;line-height:1.1;letter-spacing:-.01em}
.stop-t{margin-top:.2rem}
.stop-t .ln{margin-right:.15rem;vertical-align:.08em}

/* Řád: jízdní řád domu */
.rad{background:var(--blue);padding:2.2rem var(--gut) 2.6rem;color:var(--white)}
.arch{padding:1.4rem 1.1rem 1.3rem;background:var(--paper);color:var(--blue)}
.arch-hlava h2{font-size:2.9rem;line-height:.96;letter-spacing:-.025em}
.arch-hlava p{margin-top:.5rem;font-weight:700}
.arch-sloupce{display:grid;gap:1.7rem;margin-top:1.5rem}
.arch h3{padding-bottom:.45rem;border-bottom:.3rem solid var(--blue);font-size:1.2rem;font-weight:900;letter-spacing:0}
.rady div{padding:.8rem 0;border-bottom:2px solid rgba(20,50,92,.16)}
.rady dt{font-size:1.5rem;font-weight:900;line-height:1.1;letter-spacing:-.015em}
.arch-cas .rady dt{font-size:2.6rem;letter-spacing:-.03em}
.rady dd{margin-top:.2rem}
.rules-full{margin-top:1rem;font-weight:600}
.rad-spod{display:grid;gap:1.6rem;margin-top:1.8rem}
.zmena h3{font-size:1.7rem;color:var(--yellow)}
.zmena p{margin-top:.6rem}
.damage{border-top:.3rem solid var(--yellow)}
.damage summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.6rem;padding:.6rem 0;font-size:1.15rem;font-weight:800;line-height:1.2;cursor:pointer;list-style:none}
.damage summary::-webkit-details-marker{display:none}
.damage summary::after{content:"";flex:none;width:.8rem;height:.8rem;margin-right:.3rem;border-right:3px solid var(--yellow);border-bottom:3px solid var(--yellow);transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s}
.damage[open] summary::after{transform:rotate(225deg)}
.nahrady{display:grid;gap:0 2rem;padding-bottom:.6rem}
.nahrady div{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-bottom:1px solid rgba(199,211,228,.25)}
.nahrady dd{font-weight:700}

/* Konečná: stejné dva tvary jako první obrazovka */
.konecna{position:relative;overflow:clip;background:var(--yellow);color:var(--blue)}
.kon-plakat{padding:2.8rem var(--gut) 1.6rem}
.konecna h2{font-size:21vw;line-height:.86;letter-spacing:-.045em}
.kon-vyst{margin-top:.6rem;font-size:2.1rem;font-weight:900;line-height:1;letter-spacing:-.02em}
.kon-p{margin:.7rem 0 1.1rem;font-size:1.25rem;font-weight:700;line-height:1.25}
.cdl{display:grid;gap:1rem;margin-top:1.8rem}
.cdl dt{font-weight:900;font-size:1.25rem;line-height:1.1}
.cdl dd{margin-top:.15rem;overflow-wrap:anywhere}
.also{margin-top:1rem}
.pas-kon{--tram-w:27rem;--t:calc(var(--tram-w)/1000);--pas-h:calc(var(--t)*240);margin:0}
.pas-kon .tram{--tram-x:calc(100vw - var(--tram-w) - var(--t)*492)}
.kon-depo{position:absolute;right:0;bottom:calc(var(--t)*30);width:calc(var(--t)*480);height:calc(var(--t)*208);max-width:none}
.spi-svetla{display:flex;background:var(--noc)}
.spi-svetla i{flex:1;background:var(--yellow-2);transition:opacity .5s}
.spi .spi-svetla i{opacity:0}
.spi .spi-svetla i:nth-child(2){transition-delay:.14s}.spi .spi-svetla i:nth-child(3){transition-delay:.28s}.spi .spi-svetla i:nth-child(4){transition-delay:.42s}
.spi .spi-svetla i:nth-child(5){transition-delay:.56s}.spi .spi-svetla i:nth-child(6){transition-delay:.7s}.spi .spi-svetla i:nth-child(7){transition-delay:.84s}.spi .spi-svetla i:nth-child(8){transition-delay:.98s}
.spi .spi-svetla i:nth-child(9){transition-delay:1.12s}.spi .spi-svetla i:nth-child(10){transition-delay:1.26s}.spi .spi-svetla i:nth-child(11){transition-delay:1.4s}.spi .spi-svetla i:nth-child(12){transition-delay:1.54s}

/* patička */
.foot{display:grid;gap:1.4rem;padding:2.2rem var(--gut) calc(2.4rem + env(safe-area-inset-bottom));background:var(--noc);color:var(--white)}
.foot-nazev{font-size:1.8rem;font-weight:900;letter-spacing:-.02em;line-height:1.05}
.foot-z{display:flex;flex-wrap:wrap;gap:.1rem 1.3rem}
.foot-z a{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:700;text-decoration:none}
.foot-z a:hover{color:var(--yellow)}
.forma{color:var(--bled)}
.foot-back{display:inline-flex;align-items:center;min-height:2.75rem;font-weight:800;color:var(--yellow)}
.fake{color:inherit}

/* lišta na telefonu s malou tramvají na kolejích */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1.25fr;gap:.55rem;padding:0 .75rem calc(.6rem + env(safe-area-inset-bottom));background:var(--noc);transform:translateY(110%);transition:transform .35s cubic-bezier(.16,1,.3,1)}
.sticky.on{transform:none}
.sticky .btn{min-height:3.1rem}
.sticky .btn-line{color:var(--yellow);box-shadow:inset 0 0 0 3px var(--yellow)}
.sticky .btn:not(.btn-line){background:var(--yellow);color:var(--blue)}
.sticky-linka{position:relative;grid-column:1/-1;height:1.5rem;margin:0 -.75rem .15rem;background:linear-gradient(var(--bled),var(--bled)) 0 calc(100% - .12rem)/100% 2px no-repeat}
.sticky-tram{position:absolute;left:0;bottom:.2rem;width:4.4rem;height:auto;max-width:none;will-change:transform}

/* vysvětlení ukázky */
.demo-pop{max-width:min(27rem,calc(100vw - 2rem));padding:1.4rem 1.3rem 1.3rem;border:0;background:var(--paper);color:var(--blue);box-shadow:inset 0 .5rem 0 var(--yellow),0 30px 60px -20px rgba(11,31,61,.8)}
.demo-pop::backdrop{background:rgba(11,31,61,.66)}
.demo-pop h2{padding:.4rem 0 .8rem;margin-bottom:.9rem;border-bottom:3px dotted rgba(20,50,92,.3);font-size:1.6rem;line-height:1.05}
.demo-pop p{margin:0 0 1rem}
.demo-mail{padding:.6rem .8rem;background:var(--yellow);font-size:1rem}
.demo-mail #demo-mail-t{display:block;margin-top:.3rem;font-weight:700}
.demo-pop .btn{width:100%}

/* --- vůz s okny, když běží skript a pohyb je povolený --- */
.bezi .foto{height:calc(100vh + var(--cesta,2000px));height:calc(100svh + var(--cesta,2000px))}
.bezi .foto-pod{position:sticky;top:0;height:100vh;height:100svh;overflow:clip;padding:0}
.bezi .foto-pod::before{content:"";position:absolute;left:0;right:0;bottom:calc(min(66svh,143vw)*.8);height:7.2rem;border-top:2px solid var(--bled);background:url(img/mesto.svg) 0 100%/auto 100% repeat-x}
.bezi .foto-hlava{position:absolute;left:var(--gut);right:var(--gut);top:1rem;z-index:1;margin:0}
.bezi .foto-hlava h2{font-size:clamp(2.5rem,12vw,3.4rem)}
.bezi .foto-lead{margin-top:.4rem;font-size:1.05rem;line-height:1.25}
.bezi .foto-pozn{margin:.3rem 0 .6rem;font-size:1rem;line-height:1.25;color:var(--bled)}
.bezi .foto-hlava .btn{min-height:2.9rem}
.bezi .vuz{--vuz-h:min(66svh,143vw);--dvere:calc(var(--vuz-h)*.2);--mezera:calc(var(--vuz-h)*.05);--tel:linear-gradient(var(--yellow) 0 calc(var(--vuz-h)*.038),var(--noc) 0 calc(var(--vuz-h)*.47),var(--yellow) 0 calc(var(--vuz-h)*.5),var(--paper) 0 calc(var(--vuz-h)*.506),var(--yellow) 0 calc(var(--vuz-h)*.716),var(--yellow-3) 0 calc(var(--vuz-h)*.73),var(--blue) 0 calc(var(--vuz-h)*.762),var(--yellow-3) 0);position:absolute;left:0;bottom:calc(var(--vuz-h)*-.045);display:flex;align-items:flex-start;width:max-content;height:var(--vuz-h);padding:0;background:none;will-change:transform}
.bezi .vuz-nos,.bezi .vuz-zad{display:block;flex:none;width:auto;height:100%;max-width:none}
.bezi .okna{--ok-w:calc(var(--vuz-h)*.56);display:flex;gap:var(--mezera);height:calc(var(--vuz-h)*.87);margin:calc(var(--vuz-h)*.09) 0 0;padding:calc(var(--vuz-h)*.07) calc(var(--vuz-h)*.05) 0;background:var(--tel)}
.bezi .okno{position:relative;flex:none;width:var(--ok-w)}
.bezi .okno:nth-child(2n){margin-right:calc(var(--dvere) + var(--mezera))}
.bezi .okno:nth-child(2n)::after{content:"";position:absolute;left:calc(100% + var(--mezera));top:calc(var(--vuz-h)*-.024);width:var(--dvere);height:calc(var(--vuz-h)*.668);background:linear-gradient(var(--noc),var(--noc)) 12% 3%/38% 62% no-repeat,linear-gradient(var(--noc),var(--noc)) 88% 3%/38% 62% no-repeat,linear-gradient(var(--noc),var(--noc)) 12% 96%/38% 26% no-repeat,linear-gradient(var(--noc),var(--noc)) 88% 96%/38% 26% no-repeat,linear-gradient(90deg,var(--yellow) 49.4%,var(--yellow-3) 0 50.6%,var(--yellow) 0);box-shadow:0 0 0 calc(var(--vuz-h)*.005) var(--yellow-3)}
.bezi .sklo{position:relative;width:var(--ok-w);height:calc(var(--vuz-h)*.37);aspect-ratio:auto;border-radius:calc(var(--vuz-h)*.016);box-shadow:0 0 0 calc(var(--vuz-h)*.008) var(--blue-2)}
.bezi .sklo img{width:112%;max-width:none;height:100%;margin-left:-6%;will-change:transform}
.bezi .okno figcaption{margin-top:calc(var(--vuz-h)*.085)}
.bezi .okno figcaption b{font-size:clamp(1.25rem,calc(var(--vuz-h)*.036),2.1rem)}
.vuz-cast{display:none}

/* --- větší telefon a tablet --- */
@media (min-width:700px){
  :root{--gut:2rem;--tram-w:44rem;--tram-x:calc(100vw - var(--tram-w) - 2rem);--hd:4rem}
  .pas-kon{--tram-w:34rem}
  .uvod h1{font-size:clamp(3.4rem,8.6vw,5.4rem)}
  .sign-sub{display:block;font-size:1rem}
  .listek{grid-template-columns:minmax(0,1fr) 19rem}
  .l-tel{padding:1rem 1.3rem .9rem}
  .l-utrzek{display:flex;flex-direction:column;padding:1.1rem 1.2rem}
  .l-utrzek::before,.l-utrzek::after{left:-.6rem;right:auto}
  .l-utrzek::before{top:-.6rem}.l-utrzek::after{top:auto;bottom:-.6rem}
  .sum{display:block}
  .sum span{display:block}
  .l-utrzek .cta{margin-top:auto;padding-top:.8rem}
  .fee{margin-top:.6rem}
  .uvod-spod{gap:1.6rem}
  .uvod-info{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem 2.6rem;align-items:start}
  .price-tag{display:block;grid-row:1/3;margin:0}
  .price-tag span{display:block;margin-top:.2rem}
  .lead,.rec-now{grid-column:2}
  .rec-now{margin:.3rem 0 0}
  .uvod-cesta{grid-column:1;grid-row:3;margin-top:-.4rem}
  .patro{gap:.3rem}
  .r{gap:.2rem;padding:.42rem .3rem .3rem}
  .r b{flex-basis:.8rem;height:2.4rem}
  .facts{grid-template-columns:1fr 1fr;column-gap:2rem}
  .spolecne{grid-template-columns:1fr 1fr;column-gap:2rem}
  .priplatky{grid-template-columns:1fr 1fr;column-gap:2.4rem}
  .cena-spod .btn{width:auto}
  .okna{grid-template-columns:1fr 1fr}
  .arch-sloupce,.rad-spod{grid-template-columns:1fr 1fr;column-gap:3rem}
  .nahrady{grid-template-columns:1fr}
  .konecna h2{font-size:20.6vw}
  .cdl{grid-template-columns:1fr 1fr}
  .foot{grid-template-columns:1fr 1fr}
  .foot-pozn{grid-column:1/-1}
}

/* --- počítač: plakáty, kompozice podle jednotky --u --- */
@media (min-width:1200px){
  :root{--u:min(1vw,1.6vh);--u:min(1vw,1.6svh);--gut:calc(var(--u)*3.3);--hd:4.25rem;--txt:max(1.0625rem,calc(var(--u)*1.28));
    --tram-w:min(60vw,92svh);--tram-x:3.2vw}
  html{scroll-padding-top:calc(var(--hd) + 1rem)}
  .vrch{position:fixed;left:0;right:0;top:0;gap:1.6rem}
  .sign{margin-right:0;flex:none}
  .sign-stop{font-size:1.45rem}
  .sign-sub{font-size:1rem;color:var(--bled)}
  .langs{flex:none}
  .stub{display:flex;align-items:baseline;gap:.5rem;flex:none;padding:.5rem 1rem .35rem;background:var(--paper);color:var(--blue);font-weight:700;line-height:1;text-decoration:none;transition:background-color .18s}
  .stub b{font-size:1.25rem;font-weight:900}
  .stub:hover{background:var(--yellow)}
  .linka{position:relative;display:block;flex:1 1 auto;align-self:stretch;min-width:0;max-width:44rem;margin-inline:auto}
  .linka::before{content:"";position:absolute;left:0;right:0;bottom:.62rem;height:3px;background:var(--svit)}
  .linka ol{display:flex;justify-content:space-between;height:100%;padding-left:3.4rem}
  .linka li{display:flex}
  .linka a{position:relative;display:flex;align-items:flex-start;padding:.62rem .2rem 0;font-size:1rem;font-weight:700;color:var(--bled);text-decoration:none;white-space:nowrap;transition:color .18s}
  .linka a::after{content:"";position:absolute;left:50%;bottom:.42rem;width:.62rem;height:.62rem;margin-left:-.31rem;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px var(--svit)}
  .linka a:hover,.linka a[aria-current="step"]{color:var(--yellow)}
  .linka a[aria-current="step"]::after{box-shadow:0 0 0 3px var(--yellow)}
  .linka-tram{position:absolute;left:0;bottom:.72rem;width:3.1rem;height:auto;max-width:none;will-change:transform}

  .pas{margin:0;position:absolute;left:0;right:0;bottom:0;z-index:2}
  .pas-kon{position:relative}
  .pas-zast{position:absolute;left:0;top:0;display:block;width:0;height:100%;will-change:transform}
  .zast{position:absolute;left:calc(var(--tram-x) + var(--tram-w) + .9rem);bottom:calc(var(--t)*30);width:calc(var(--t)*7);height:calc(var(--t)*158);background:var(--bled)}
  .zast:not(:first-child){display:none}
  .jede .zast:not(:first-child){display:block}
  .zast b{position:absolute;left:0;top:0;padding:.42rem .9rem .2rem;background:var(--paper);color:var(--blue);font-size:calc(var(--u)*1.3);font-weight:900;line-height:1;white-space:nowrap;box-shadow:inset 0 .3rem 0 var(--blue)}
  .led{position:absolute;right:var(--gut);bottom:calc(var(--t)*62);display:flex;align-items:center;gap:.7rem;padding:.55rem 1rem .4rem;background:var(--noc);color:var(--yellow);font-size:max(1.0625rem,calc(var(--u)*1.3));font-weight:800;line-height:1;white-space:nowrap}

  .uvod{display:flex;flex-direction:column;min-height:100vh;min-height:100svh;padding:calc(var(--hd) + var(--u)*2) var(--gut) calc(var(--pas-h) + var(--u)*2)}
  .uvod h1{font-size:calc(var(--u)*8.3);line-height:.95;letter-spacing:-.03em}
  .uvod-spod{flex:1;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:calc(var(--u)*3);margin-top:calc(var(--u)*1.4)}
  .uvod-info{display:block;flex:1 1 0;min-width:0}
  .price-tag{display:flex;margin-bottom:calc(var(--u)*.7)}
  .price-tag span{display:inline;margin:0}
  .uvod-cesta{margin:0}
  .price-tag b{font-size:calc(var(--u)*6.4)}
  .price-tag span{font-size:calc(var(--u)*1.5)}
  .rec-now{margin:calc(var(--u)*.8) 0 calc(var(--u)*.3);font-size:1em}
  .listek{flex:0 0 auto;width:calc(var(--u)*56);min-width:44rem}
  .st-l,.lines,.rooms-fit,.validated{font-size:1.0625rem}
  .fee{font-size:1rem}

  .pokoje,.kuchynka,.cena,.trasa{padding:calc(var(--hd) + var(--u)*2.2) var(--gut) calc(var(--u)*2.4)}
  .ced{grid-column:1/-1;margin:0 0 calc(var(--u)*1.4)}
  .jede .ced{display:none}
  .pokoje{display:grid;grid-template-columns:minmax(0,31fr) minmax(0,69fr);grid-template-rows:auto auto;gap:calc(var(--u)*1.7) calc(var(--u)*4);align-content:center}
  .pokoje h2{grid-row:1/3;align-self:center}
  .obri{margin-left:-.05em;font-size:calc(var(--u)*26)}
  .pod-obri{margin-top:calc(var(--u)*1.2);font-size:calc(var(--u)*3.3)}
  .pokoje-plan{margin:0}
  .r{min-height:calc(var(--u)*6);padding:.5rem .35rem .4rem;gap:.3rem}
  .r b{flex-basis:1rem;height:auto}
  .facts{margin:0;grid-column:2;gap:calc(var(--u)*.9) calc(var(--u)*3)}
  .kuchynka{display:flex;flex-direction:column;justify-content:center}
  .kuchynka h2{font-size:calc(var(--u)*4)}
  .obri-cas{margin:calc(var(--u)*.6) 0 calc(var(--u)*1.8);font-size:calc(var(--u)*17.8)}
  .spolecne{grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(var(--u)*2.2)}
  .spolecne dt{font-size:calc(var(--u)*2)}
  .cena{display:flex;flex-direction:column;justify-content:center}
  .cena-hlava{display:flex;align-items:flex-end;justify-content:space-between;gap:calc(var(--u)*3)}
  .cena h2{font-size:calc(var(--u)*7.6)}
  .longstay{flex:0 1 34rem;margin:0}
  .pas-listku{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr);margin-top:calc(var(--u)*1.8)}
  .lst{display:block;padding:calc(var(--u)*1.3) calc(var(--u)*1.6) calc(var(--u)*1.1)}
  .lst+.lst{border-top:0;border-left:3px dotted rgba(20,50,92,.4)}
  .lst+.lst::before,.lst+.lst::after{left:-.7rem;right:auto}
  .lst+.lst::after{top:auto;bottom:-.55rem}
  .lst-k{display:block;font-size:calc(var(--u)*1.6)}
  .lst b{display:block;margin:calc(var(--u)*.5) 0 calc(var(--u)*.3);font-size:calc(var(--u)*4.7)}
  .lst:first-child b{font-size:calc(var(--u)*5.6)}
  .cena-spod{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*3);margin-top:calc(var(--u)*1.6)}
  .priplatky{flex:1;grid-template-columns:repeat(4,auto);margin:0;gap:calc(var(--u)*2.2);justify-content:space-between}
  .priplatky div{display:block}
  .priplatky dd{text-align:left;font-size:1.1em}
  .cena-spod .btn{flex:none;margin:0}
  .trasa{display:flex;flex-direction:column;justify-content:center}
  .trasa-hlava{display:flex;align-items:flex-end;justify-content:space-between;gap:calc(var(--u)*3)}
  .trasa h2{font-size:calc(var(--u)*7.6);max-width:17ch}
  .sec-lead{flex:0 1 26rem;margin:0;font-size:calc(var(--u)*1.6)}
  .line{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:calc(var(--u)*2.4) 0 calc(var(--u)*1)}
  .stop{display:block;padding:calc(var(--u)*3.4) calc(var(--u)*1.6) 0 0}
  .stop::before,.stop::after{left:1.2rem;right:-1.2rem;top:.85rem;bottom:auto;width:auto;height:.7rem}
  .stop::after{transform:scaleX(var(--plni,1));transform-origin:0 50%}
  .stop-walk::before,.stop-get::before{background:repeating-linear-gradient(90deg,rgba(20,50,92,.22) 0 .55rem,transparent .55rem 1rem)}
  .stop-walk::after,.stop-get::after{background:repeating-linear-gradient(90deg,var(--blue) 0 .55rem,transparent .55rem 1rem)}
  .dot{position:absolute;left:0;top:0;margin:0}
  .stop-pass .dot,.stop-walk .dot{top:.45rem;left:.45rem;margin:0}
  .stop-n{padding:0;font-size:calc(var(--u)*1.9)}
  .stop-t{margin-top:calc(var(--u)*.4)}

  .rad{padding:calc(var(--u)*5) var(--gut) calc(var(--u)*5)}
  .arch{padding:calc(var(--u)*3) calc(var(--u)*3.4) calc(var(--u)*2.6)}
  .arch-hlava{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}
  .arch-hlava h2{font-size:calc(var(--u)*8.4)}
  .arch-hlava p{margin:0;font-size:calc(var(--u)*1.6)}
  .arch-sloupce{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:calc(var(--u)*5);margin-top:calc(var(--u)*2.6)}
  .rady dt{font-size:calc(var(--u)*2.1)}
  .arch-cas .rady dt{font-size:calc(var(--u)*5.4)}
  .arch-cas .rady div{display:grid;grid-template-columns:minmax(0,1fr);gap:.2rem}
  .rad-spod{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);column-gap:calc(var(--u)*5);margin-top:calc(var(--u)*3.4)}
  .nahrady{grid-template-columns:1fr 1fr}

  .konecna{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
  .pas-kon{--tram-w:min(60vw,92svh)}
  .kon-plakat{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);grid-template-rows:auto 1fr auto;gap:0 calc(var(--u)*4);padding:calc(var(--hd) + var(--u)*1.6) var(--gut) calc(var(--u)*2)}
  .konecna h2{grid-column:1/-1;font-size:calc(var(--u)*20.6)}
  .kon-vyzva{margin-top:calc(var(--u)*1.6)}
  .kon-vyst{margin:0;font-size:calc(var(--u)*4.4)}
  .kon-p{margin:calc(var(--u)*.7) 0 calc(var(--u)*1.3);font-size:calc(var(--u)*1.7)}
  .cdl{grid-template-columns:1fr 1.5fr;gap:calc(var(--u)*1.1) calc(var(--u)*2.6);margin-top:calc(var(--u)*1.8);align-content:start}
  .cdl-rec{grid-row:span 2}
  .cdl dt{font-size:calc(var(--u)*1.5)}
  .also{grid-column:2;margin:calc(var(--u)*.9) 0 0}
  .foot{grid-template-columns:1fr auto;padding:calc(var(--u)*3) var(--gut) calc(var(--u)*2.6);align-items:start}
  .foot-z{justify-content:flex-end}
  .foot-pozn{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding-top:1rem;border-top:2px solid var(--blue-2)}
  .sticky{display:none}

  /* jízda: pódium stojí, panely jedou */
  .jede .jizda{position:relative}
  .jede .pod{position:sticky;top:0;height:100vh;height:100svh;overflow:clip;background:var(--blue)}
  .jede .st{position:absolute;left:0;top:0;width:var(--w,100%);height:100%;min-height:0;padding-bottom:calc(var(--pas-h) + var(--u)*2);will-change:transform}
  .jede .foto{z-index:3;width:var(--wf,300vw);padding:0;height:100%}
  .jede .foto-pod{position:relative;height:100%;overflow:visible}
  .jede .foto-hlava :focus-visible{outline-color:var(--blue)}
  .bezi .foto-pod::before{display:none}
  .bezi .vuz{--vuz-h:calc((100svh - var(--hd) - 1.75rem)/.865)}
  .bezi .vuz-cast{display:block;flex:none;width:calc(var(--u)*54);height:calc(var(--vuz-h)*.87);margin-top:calc(var(--vuz-h)*.09);background:var(--tel)}
  .bezi .foto-hlava{position:absolute;right:auto;top:auto;bottom:calc(var(--vuz-h)*-.045);left:calc(var(--vuz-h)*.42 + var(--u)*.5);--vuz-h:calc((100svh - var(--hd) - 1.75rem)/.865);width:calc(var(--u)*52);height:var(--vuz-h);padding-top:calc(var(--vuz-h)*.128);color:var(--blue);z-index:1}
  .bezi .foto-hlava h2{display:flex;align-items:center;height:calc(var(--vuz-h)*.432);font-size:calc(var(--u)*9.7);color:var(--yellow)}
  .bezi .foto-lead{margin-top:calc(var(--vuz-h)*.045);font-size:calc(var(--u)*1.9);line-height:1.15;font-weight:800}
  .bezi .foto-pozn{margin:.35rem 0 .5rem;font-size:1em;color:var(--blue)}
  .bezi .foto-hlava .btn{min-height:3rem;background:var(--blue);color:var(--white)}
}
@media (min-width:1200px){
  :lang(en) .uvod h1,:lang(pl) .uvod h1,:lang(ru) .uvod h1{font-size:calc(var(--u)*7.3)}
  :lang(en) .price-tag b,:lang(pl) .price-tag b{font-size:calc(var(--u)*5.4)}
  :lang(ru) .price-tag b{font-size:calc(var(--u)*4.9)}
  :lang(ru) .lst b,:lang(ru) .lst:first-child b{font-size:calc(var(--u)*4.1)}
  :lang(en) .konecna h2{font-size:calc(var(--u)*18.6)}
  :lang(ru) .konecna h2{font-size:calc(var(--u)*16.6)}
  :lang(ru) .cena h2,:lang(pl) .trasa h2{font-size:calc(var(--u)*6.8)}
}
@media (min-width:1200px) and (max-width:1439px){
  .stub span,.sign-sub{display:none}
  .vrch{gap:1.1rem}
}
@media (min-width:1200px) and (max-height:800px){
  :root{--tram-w:min(60vw,84svh)}
  .pas-kon{--tram-w:min(60vw,84svh)}
  .uvod{padding-top:calc(var(--hd) + var(--u)*1.2);padding-bottom:calc(var(--pas-h) + var(--u)*1.2)}
  .jede .st.uvod{padding-bottom:calc(var(--pas-h) + var(--u)*1.2)}
  .uvod h1,:lang(en) .uvod h1,:lang(pl) .uvod h1,:lang(ru) .uvod h1{max-width:13em;font-size:calc(var(--u)*7.6)}
  .uvod-spod{margin-top:calc(var(--u)*.7);gap:calc(var(--u)*2.2)}
  .uvod-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 1rem}
  .price-tag{order:1;margin:0;flex-wrap:nowrap;white-space:nowrap}
  .price-tag b{font-size:calc(var(--u)*5.6)}
  .price-tag span{font-size:1em}
  .uvod-cesta{order:2;white-space:nowrap}
  .lead{order:3;flex:1 0 100%;margin-top:.45rem;line-height:1.32}
  .rec-now{order:4;flex:1 0 100%;margin:.4rem 0 0;font-size:1rem}
  .listek{min-width:44.5rem;grid-template-columns:minmax(0,1fr) 16.5rem}
  .l-tel{padding:.6rem 1rem .5rem}
  .l-hlava{padding-bottom:.35rem;margin-bottom:.4rem}
  .l-hlava>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .8rem}
  .listek h2{font-size:1.5rem}
  .validated{margin:0}
  .punch{width:2.7rem}
  .punch i{font-size:.56rem}
  .stepper{grid-template-columns:auto 2.75rem minmax(1.6rem,1fr) 2.75rem;column-gap:.3rem}
  .st-l{grid-column:auto}
  .stepper output{font-size:1.8rem}
  .alone{min-height:2.4rem;margin-top:.1rem}
  .l-utrzek{padding:.7rem .95rem .7rem}
  .sum{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 .6rem}
  .sum span{display:inline}
  .sum b{font-size:2.3rem}
  .l-utrzek .cta{padding-top:.5rem;gap:.4rem}
  .l-utrzek .btn{min-height:2.75rem;flex:1 1 100%}
  .fee{margin-top:.4rem;font-size:.9rem;line-height:1.22}
}
@media (min-width:1200px) and (max-width:1279px) and (max-height:800px){
  .uvod-cesta{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .punch i.new::after,.sum b.print{animation:none}
  .sipka::after,.btn,.st-b,.dv{transition:none}
}
@media print{
  .vrch,.sticky,.pas{display:none}
  .jizda{height:auto!important}
  .st,.vuz{transform:none!important}
  .foto{height:auto!important}
  .foto-pod{position:static;height:auto;padding:0}
}
/* FORMA-POLISH (generuje vizitka/tools/ukazky-polish.py) */
:where(input,textarea){caret-color:#14325c}
:where(a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible){outline:3px solid #14325c;outline-offset:3px}
:where(a){text-underline-offset:.2em}
:where(table,dd,time,data,[class*=cen],[class*=price],[class*=hod],[class*=hours],[class*=doba],[class*=kc]){font-variant-numeric:tabular-nums}
/* /FORMA-POLISH */
