/* Hero: živá kotelna (krok 1 předělání). Barvy zatím neutrální, značka přijde v kroku 2. */
.hk{padding:10px 0 18px;background:linear-gradient(180deg,#F6F0E4,#EFE6D6)}
.hk-text{display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:end;margin-bottom:12px}
.hk h1{margin:0;font-size:clamp(38px,4.6vw,66px);line-height:1.02}
.hk-text p{margin:0;font-size:clamp(15px,1.2vw,17px);line-height:1.42}
.hk-karta{border-radius:24px;overflow:hidden;background:#FFFDF8;box-shadow:0 34px 70px -40px rgba(40,25,10,.75),0 0 0 1px rgba(60,40,20,.06)}
.hk-scena{background-size:cover;background-position:center;position:relative;height:clamp(270px,calc(100svh - 345px),560px);background:#EFE7D8}.hk-scena canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hk-rizeni{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:18px;align-items:center;padding:12px 16px}
.hk-popis{margin:0;font-size:14.5px;line-height:1.32;color:#544a3e}.hk-popis b{display:block;font:700 17px/1.2 var(--pismo-nadpis);color:#211910;margin-bottom:2px}.hk-popis.novy{animation:hk-p .5s}@keyframes hk-p{from{opacity:.2;transform:translateY(5px)}}
.hk-kroky{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1.62fr 1fr 1fr;gap:7px}.hk-kroky li{display:flex;gap:6px;min-width:0}.hk-kroky button{flex:1;min-width:0;min-height:54px;padding:6px 8px;border:0;border-radius:13px;background:#F6F0E4;color:#211910;font:inherit;cursor:pointer;box-shadow:inset 0 0 0 2px #E2D6C0;transition:transform .15s,background .25s,box-shadow .25s}.hk-kroky b{font-size:14.5px;line-height:1.14;display:block}.hk-kroky button:hover:not(:disabled){transform:translateY(-2px)}.hk-kroky button:focus-visible{outline:3px solid #C9281A;outline-offset:2px}.hk-kroky .ted{background:#C9281A;color:#fff;box-shadow:0 3px 0 #8E150B}.hk-kroky .hot{background:#FFF;color:#8E150B;box-shadow:inset 0 0 0 2px #C9281A}.hk-kroky .hot b::before{content:"✓ "}.hk-kroky .mimo{opacity:.42}.hk-kroky button:disabled{cursor:default}
@media (max-width:899px){.hk-text{grid-template-columns:1fr;gap:10px}.hk-scena{height:78vw;min-height:280px;background-position:44% center}.hk-kroky li:first-child{grid-column:1/-1}.hk-rizeni{grid-template-columns:1fr}.hk-kroky{grid-template-columns:1fr 1fr}.hk-kroky .dva{grid-column:1/-1}}

/* přechod pod herem: hřeben litinového článku, kterým přejede žár */
.prechod-hreben{position:relative;height:52px;margin-top:-1px;background:url(../obrazky/hreben.svg) 0 0/46px 52px repeat-x;background-color:#EFE6D6;overflow:hidden}
.prechod-hreben::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 40%,rgba(255,120,30,.5) 50%,transparent 60%) 0 0/300% 100%;-webkit-mask:url(../obrazky/hreben.svg) 0 0/46px 52px repeat-x;mask:url(../obrazky/hreben.svg) 0 0/46px 52px repeat-x;animation:hreben 7s linear infinite}
@keyframes hreben{from{background-position:130% 0}to{background-position:-30% 0}}
.logo-kont{transition:filter .3s}.logo:hover .logo-kont{filter:drop-shadow(0 0 4px #ffb24d)}
.logo svg.logo-znak{width:46px;height:46px;flex:none;align-self:center}
.puj-cena{display:flex;align-items:flex-end;gap:9px;margin:4px 0 0}.puj-cena>b{font:700 26px/1 var(--pismo-nadpis);padding-bottom:7px}
.pocitadlo{display:inline-flex;gap:3px;padding:6px;border-radius:12px;background:linear-gradient(#2A211B,#16120E);box-shadow:inset 0 2px 6px rgba(0,0,0,.6)}.pocitadlo .cf{display:block;width:clamp(30px,2.9vw,40px);height:clamp(46px,4.3vw,58px);overflow:hidden;border-radius:6px;background:linear-gradient(#161210,#3A2F27 50%,#161210);color:#FFD27A;font:800 clamp(28px,2.9vw,40px)/clamp(46px,4.3vw,58px) var(--pismo-cisla);text-align:center}.pocitadlo .cf i{display:block;font-style:normal;transition:transform .85s cubic-bezier(.3,1.25,.4,1)}.pocitadlo .prazdna{display:none}.puj-cena>small{font-size:13.5px;font-weight:700;color:#5E554A;padding-bottom:9px}
/* ===== bagr: stavba na zemi, ceny na cedulích zapíchnutých do hlíny ===== */
.stavba{position:relative;padding:76px 0 0;background:linear-gradient(180deg,#DCEBF2 0,#F2EFE2 62%);overflow:hidden;scroll-margin-top:var(--hlavicka)}
.stavba::after{content:"";position:absolute;left:0;right:0;bottom:0;height:150px;background:url(../obrazky/zemina.svg) 0 0/100% 100% no-repeat}
.stavba-hlava{text-align:center;max-width:780px;margin:0 auto 18px}.stavba h2{font-size:clamp(40px,4.4vw,64px);line-height:1.05}.stavba-hlava p{margin:14px auto 0;font-size:19px;color:#4b4237;max-width:560px}
.stavba-plac{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.6fr);gap:16px;align-items:end;padding-bottom:60px}
.st-stroj{align-self:end;margin-bottom:-6px;transform-origin:50% 100%}.st-bagr img{transform:scale(1.14);transform-origin:40% 100%}.cedule{min-height:318px}.st-stroj img{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 8px rgba(40,20,0,.32))}
.st-bagr.kopne{animation:kopne .75s cubic-bezier(.3,.8,.3,1)}@keyframes kopne{30%{transform:rotate(1.6deg) translateX(5px)}62%{transform:rotate(-1deg) translateX(-2px)}}
.st-kont{transition:transform .55s cubic-bezier(.3,1.5,.4,1);transform:scale(.82)}.st-kont.velky{transform:scale(1.1)}
.cedule{position:relative;background:#FFFBF2;color:#211910;border-radius:18px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 24px 40px -22px rgba(50,25,0,.55),0 0 0 2px #EADBBE;margin-bottom:34px}
.cedule::before,.cedule::after{content:"";position:absolute;bottom:-58px;width:14px;height:60px;background:linear-gradient(90deg,#8B6339,#C49A66 50%,#8B6339);border-radius:0 0 4px 4px;z-index:-1}.cedule::before{left:44px}.cedule::after{right:44px}
.cedule h3{font-size:clamp(25px,2.2vw,31px);line-height:1.05}
.ced-lzice{display:flex;flex-wrap:wrap;gap:6px}.ced-lzice button,.ced-dny button{min-height:44px;padding:0 11px;border:0;border-radius:10px;background:#F3EEE7;box-shadow:inset 0 0 0 2px #E2D6C0;color:#211910;font:inherit;font-weight:800;font-size:14.5px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:transform .15s}.ced-lzice button:hover,.ced-dny button:hover{transform:translateY(-2px)}.ced-lzice svg{width:24px;height:17px;fill:#C4231A}.ced-lzice .ak{background:#FFF0D6;box-shadow:inset 0 0 0 2px #C4231A}.ced-dny .ak{background:#B3261A;color:#fff;box-shadow:0 3px 0 #86130C}.ced-lzice button:focus-visible,.ced-dny button:focus-visible{outline:3px solid #B3261A;outline-offset:2px}
.ced-dny{display:flex;flex-wrap:wrap;gap:6px}.ced-pozn{margin:0;font-size:14.5px;line-height:1.3;color:#5E554A}.ced-pozn b{color:#86130C}
body.sl-radky .sluzby-panel{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;direction:rtl}body.sl-radky .sluzby-panel>*{direction:ltr}
body.sl-radky .sluzba-sipka{display:none!important}body.sl-radky .sluzby-ovladani{display:block!important;margin-top:16px}body.sl-radky .sluzby-tecky{display:grid!important;gap:7px;grid-auto-rows:auto}body.sl-radky .sluzby-tecky button{all:unset;box-sizing:border-box;display:flex;align-items:center;min-height:52px;width:100%;padding:0 16px;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;font:700 18px/1.15 var(--pismo-nadpis);cursor:pointer;transition:background .25s,transform .2s}body.sl-radky .sluzby-tecky button:hover{transform:translateX(5px);background:rgba(255,255,255,.2)}body.sl-radky .sluzby-tecky button.aktivni{background:#FFFBF2;color:#86130C}body.sl-radky .sluzby-tecky button::after{content:"›";margin-left:auto;font-size:24px}body.sl-radky .sluzby-tecky button:focus-visible{outline:3px solid #FFD27A;outline-offset:2px}
body.sl-radky .sluzba-cislo{display:none}
/* ===== ukázky a postup: nová pozadí ===== */

.postup .hlava-sekce p{color:var(--text-tlumeny)}
.kontakt{background:#F3EEE7}
@media (max-width:899px){.stavba-plac{grid-template-columns:1fr;gap:12px;padding-bottom:40px}.st-stroj{width:62%;margin:0 auto -8px}.st-kont{order:3;width:50%}.cedule{margin-bottom:30px}.cedule:nth-of-type(2){order:4}.stavba::after{height:90px}.sluzby-panel{grid-template-columns:1fr!important;direction:ltr}}

/* ===== jak to probíhá: zakázkový lístek, řádky se odškrtnou a dopadne razítko ===== */
.listek{position:relative;max-width:860px;margin:40px auto 0;padding:28px clamp(20px,4vw,48px) 22px clamp(46px,7vw,86px);background-color:#FFFDF6;background-image:linear-gradient(transparent 0 calc(100% - 1px),rgba(90,120,160,.18) 0),linear-gradient(90deg,transparent 0 clamp(32px,5vw,62px),rgba(190,50,40,.34) 0 calc(clamp(32px,5vw,62px) + 2px),transparent 0);background-size:100% 36px,100% 100%;border-radius:6px;box-shadow:0 2px 0 #E8DEC9,0 4px 0 #F6EFDF,0 6px 0 #E8DEC9,0 34px 50px -28px rgba(70,35,5,.55);transform:rotate(-.7deg)}
.listek::before{content:"";position:absolute;left:clamp(10px,2vw,22px);top:30px;bottom:30px;width:12px;background:radial-gradient(circle at 6px 6px,#D9CDB8 5px,#A99B85 5.5px,transparent 6px) 0 0/12px 90px repeat-y}
.l-hlava{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:12px;border-bottom:3px double #211910;margin-bottom:6px}.l-hlava b{font:700 clamp(22px,2.2vw,28px)/1 var(--pismo-nadpis)}.l-hlava span{font-weight:700;font-size:14.5px;color:#5E554A}
.l-rady{list-style:none;padding:0;margin:0}.l-rady li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:start;padding:13px 0;border-bottom:1px solid #E6DDCC}.l-rady h3{font-size:clamp(21px,1.9vw,25px);line-height:1.12;margin:2px 0 2px}.l-rady p{margin:0;font-size:16.5px;line-height:1.38;color:#4b4237}
.l-box{display:block;width:34px;height:34px;margin-top:2px;border:2.5px solid #211910;border-radius:7px;background:#fff}.l-box svg{display:block;width:100%;height:100%;overflow:visible}.l-box path{fill:none;stroke:#B3261A;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:36;stroke-dashoffset:36}
.listek.jede .l-box path{transition:stroke-dashoffset .5s cubic-bezier(.4,.9,.3,1);transition-delay:calc(var(--i)*.75s + .25s);stroke-dashoffset:0}
.l-razitko{position:absolute;right:clamp(12px,4vw,44px);bottom:58px;width:136px;height:136px;border-radius:50%;border:5px double #B3261A;color:#B3261A;display:grid;place-content:center;text-align:center;transform:rotate(-14deg) scale(1.9);opacity:0;pointer-events:none;background:rgba(255,253,246,.55)}.l-razitko span{font:700 28px/1 var(--pismo-nadpis)}.l-razitko small{font-weight:800;font-size:14px}
.listek.jede .l-razitko{transition:transform .28s cubic-bezier(.3,1.7,.5,1) 3.3s,opacity .1s 3.3s;transform:rotate(-14deg) scale(1);opacity:.92}
.l-pata{margin:14px 0 0;font-weight:700;font-size:16.5px}.l-pata a{color:#B3261A;text-decoration:underline;white-space:nowrap}
@media (max-width:620px){.l-razitko{width:96px;height:96px;bottom:auto;top:10px;right:6px}.l-razitko span{font-size:20px}.l-razitko small{font-size:11px}.l-hlava span{max-width:60%}}
@media (prefers-reduced-motion:reduce){.l-box path{stroke-dashoffset:0}.l-razitko{opacity:.92;transform:rotate(-14deg)}.listek.jede *{transition:none!important}}
body.sl-radky .sluzby-tecky button::before{display:none!important}
.puj-cena>small{white-space:nowrap}
@media (min-width:900px){.l-razitko{right:-34px;bottom:44px}}

/* ===== bagr: dvě stejné cedule, stroj je přímo v cedulí, řádky pod sebou stejně ===== */
.stavba-plac{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch;max-width:1080px;margin-inline:auto;padding-bottom:64px}
.cedule{min-height:0;margin-bottom:34px;padding:22px 24px;gap:0;display:grid;grid-template-rows:118px auto auto auto}
.ced-hlava{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px;align-items:center;padding-bottom:12px;border-bottom:2px solid #EADBBE}.ced-hlava h3{margin-bottom:6px}
.cedule .st-stroj{margin:0;transform-origin:50% 85%;align-self:center}.cedule .st-stroj img{width:100%;max-height:104px;object-fit:contain;transform:none}.cedule .st-kont{transform:scale(.8)}.cedule .st-kont.velky{transform:scale(1.02)}
.ced-radek{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #EFE4CF;min-height:68px}
.ced-stitek{font-weight:800;font-size:14.5px;color:#5E554A;line-height:1.2}
.ced-volby{display:flex;flex-wrap:wrap;gap:6px}.ced-volby button{flex:1;min-height:44px;padding:0 8px;border:0;border-radius:10px;background:#F3EEE7;box-shadow:inset 0 0 0 2px #E2D6C0;color:#211910;font:inherit;font-weight:800;font-size:14.5px;white-space:nowrap;cursor:pointer;transition:transform .15s}.ced-volby button:hover{transform:translateY(-2px)}.ced-volby .ak{background:#B3261A;color:#fff;box-shadow:0 3px 0 #86130C}.ced-volby button:focus-visible{outline:3px solid #B3261A;outline-offset:2px}
.ced-cena{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:center;padding-top:13px}.ced-cena .puj-cena{margin:0;justify-content:flex-end}
@media (max-width:899px){.stavba-plac{grid-template-columns:1fr;gap:12px}.cedule{grid-template-rows:auto auto auto auto;padding:18px}.ced-hlava{grid-template-columns:minmax(0,1fr) 40%}.ced-radek,.ced-cena{grid-template-columns:1fr;gap:6px}.ced-cena .puj-cena{justify-content:flex-start}}
.ced-hlava{grid-template-columns:minmax(0,1fr) 230px}.cedule{grid-template-rows:132px auto auto auto}.cedule .st-stroj{overflow:visible}.cedule .st-stroj img{max-height:none;transform:scale(1.42);transform-origin:50% 62%}.cedule .st-kont img{transform:scale(1.5)}
@media (max-width:899px){.ced-hlava{grid-template-columns:minmax(0,1fr) 46%}.cedule{grid-template-rows:auto auto auto auto}}

/* ===== jedno světlé a jedno tmavé pozadí pro celý web (Tomáš 2. 11. 2026) ===== */
:root{--pozadi-svetle:url(../obrazky/rost.svg) 0 0/220px auto,#EFE5D3;--pozadi-tmave:radial-gradient(ellipse 60% 50% at 15% 100%,rgba(255,120,40,.10),transparent 70%),url(../obrazky/cihla-tma.svg) 0 0/220px auto,#16120E}
.hk,.galerie,.postup,.kontakt{background:var(--pozadi-svetle)!important}.postup::before{display:none!important}
.hlavicka{background:#F6EFE2!important}.hlavicka::before{opacity:.5}
.sluzby:not(.stavba){background:var(--pozadi-tmave)!important}.sluzby::before,.sluzby::after{display:none!important}
.stavba.tmave{background:var(--pozadi-tmave)!important;color:#FBF7F1;padding-bottom:30px}.stavba.tmave::after{display:none}.stavba.tmave h2{color:#FBF7F1}.stavba.tmave .stavba-hlava p{color:#DDD5C9}.stavba.tmave .znak .vypln{background-image:url(../obrazky/litina-svetla.svg)}
.stavba.tmave .cedule::before,.stavba.tmave .cedule::after{display:none}.stavba.tmave .cedule{box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}.stavba.tmave .stavba-plac{padding-bottom:40px}
/* patička tmavě hnědá jako na stránce ochrany údajů, ne černá */
.prechod-hreben{background-color:#EFE5D3!important}

/* ===== galerie na teplé bílé, ať nesplývá s postupem ===== */
.galerie.galerie{background:#FFFDF8!important}
/* ===== rozcestí v heru: jeden ze dvou kotlů ===== */
.hk-kroky .dva{flex-direction:column;gap:3px;background:#F6F0E4;border-radius:14px;padding:5px 6px 6px;box-shadow:inset 0 0 0 2px #E2D6C0}
.hk-rozc{font-size:12.5px;font-weight:800;color:#5E554A;text-align:center;line-height:1.1}
.hk-volba{display:flex;align-items:center;gap:6px}.hk-volba button{min-height:42px!important}.hk-volba em{font-style:normal;font-weight:800;font-size:13px;color:#776B5A}
.hk-kroky>li:not(:last-child){position:relative}.hk-kroky>li:not(:last-child)::after{content:"";position:absolute;right:-8px;top:50%;width:9px;height:9px;border-top:2.5px solid #C9B99E;border-right:2.5px solid #C9B99E;transform:translateY(-50%) rotate(45deg);z-index:1}
.hk-kroky{gap:12px!important;align-items:stretch}.hk-kroky>li>button{height:100%}
@media (max-width:899px){.hk-kroky>li::after{display:none}}
/* ===== znak hořák v nadpisech ===== */
.znak-h{white-space:nowrap}
/* ===== menu: pod položkou se zapálí řada modrých plamínků ===== */
.menu a::after{display:none!important} /* bez čáry pod položkou, stačí teplá záře a tetelení */
.menu a::before{background:radial-gradient(ellipse 50% 60% at 50% 100%,rgba(255,110,40,.55),rgba(179,38,26,.18) 55%,transparent 75%)!important;box-shadow:none!important;height:14px!important;bottom:8px!important;border-radius:0!important;transform-origin:50% 100%;opacity:0;animation:none!important;filter:blur(2px)}
.menu a.aktivni::before,.menu a:hover::before{opacity:1;transition:opacity .4s}
@keyframes horak{0%{opacity:0;transform:scaleY(.1)}15%{opacity:1;transform:scaleY(1.1)}30%{transform:scaleY(.85)}45%{transform:scaleY(1)}75%{opacity:1;transform:scaleY(.9)}100%{opacity:.9;transform:scaleY(.32)}}
.logo svg.logo-znak{width:44px;height:44px}
.krok-cislo{color:#2A211B;font-family:var(--pismo-nadpis);font-weight:700}
@media (max-width:899px){.ced-hlava{grid-template-columns:1fr;gap:4px}.ced-hlava>.st-stroj{order:-1;width:100%;height:170px;display:grid;place-items:center}.cedule .st-stroj img{width:auto;height:150px;max-width:100%;transform:scale(1.3);transform-origin:50% 60%}.cedule .st-kont img{transform:scale(1.25)}.cedule .st-kont,.cedule .st-kont.velky{transform:none}}

/* čitelný text v heru */
.hk-text p{font-size:clamp(16px,1.3vw,18.5px);line-height:1.45;color:#211910;font-weight:500;background:rgba(251,247,239,.92);padding:12px 16px;border-radius:14px;box-shadow:0 1px 0 rgba(60,40,20,.08)}
/* větší nadpisy cedulí */
.cedule h3{font-size:clamp(32px,3vw,44px)!important;line-height:1.02}
/* kontakt na béžovém pozadí s roštem, mapa v kruhu čistá */
.mapa-hranice{stroke:#B3261A;stroke-opacity:.55}

/* znak 3: horký vzduch nad slovem (js/znak-web.js), slovo je kotlově červené */
.znak-h{display:inline-block;color:#B3261A;transition:text-shadow .6s}
.na-plose .znak-h,.tmave .znak-h,.sluzby .znak-h,.paticka .znak-h{color:#FF5A3C}
.znak-h.hori,.menu a.hori{color:transparent!important;-webkit-text-fill-color:transparent}
/* kroky 3D kotelny: běžící krok se točí a plní, hotové mají fajfku, ostatní během běhu ztlumené */
.hk-kroky .bezi{background:#C9281A;color:#fff;box-shadow:0 3px 0 #8E150B;position:relative;overflow:hidden;opacity:1}
.hk-kroky .bezi b::before{content:"";display:inline-block;width:11px;height:11px;margin-right:7px;vertical-align:-1px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:hk-toc .8s linear infinite}
.hk-kroky .bezi::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:100%;background:rgba(255,255,255,.75);transform-origin:left;animation:hk-plni 3.5s ease-out forwards}
.hk-kroky button:disabled:not(.bezi):not(.hot){opacity:.45}
@keyframes hk-toc{to{transform:rotate(360deg)}}
@keyframes hk-plni{from{transform:scaleX(0)}to{transform:scaleX(.92)}}
@media (prefers-reduced-motion:reduce){.hk-kroky .bezi b::before,.hk-kroky .bezi::after{animation:none}}
/* úvodní text vedle nadpisu: větší, bez rámečku, se širším sloupcem */
.hk-text{align-items:center;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px}
.hk-text p.hk-uvod{margin:0;font-size:clamp(17px,1.5vw,21.5px);line-height:1.45;font-weight:500;color:#2B2119;background:none;padding:0;box-shadow:none;max-width:none}
.hk-uvod b{color:#8E150B;font-weight:800}
.hk-scena{height:clamp(260px,calc(100svh - 375px),560px)}
@media (max-width:899px){.hk-text{grid-template-columns:1fr;gap:10px}.hk-text p.hk-uvod{font-size:16.5px}.hk-scena{height:78vw}}
/* bagr a kontejner: poznámka ve dvou čistých řádcích */
.ced-pozn span{display:flex;align-items:center;gap:7px;white-space:nowrap;font-weight:600}
.ced-pozn span::before{content:"";width:6px;height:6px;border-radius:2px;background:#B3261A;flex:none}
/* kontakt: údaje o Lukášovi výrazně, mapa menší s červeným štítkem okruhu */
.kontakt-fakta{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.kontakt-fakta li{display:flex;gap:12px;align-items:baseline;font-size:clamp(17px,1.5vw,20px);line-height:1.35;font-weight:500;color:#211910}
.kontakt-fakta li::before{content:"";width:10px;height:10px;border-radius:3px;background:#B3261A;flex:none;transform:translateY(-2px)}
.kontakt-fakta b{color:#8E150B}
.kontakt .mapa{max-width:380px;margin:26px 0 0}
.kontakt .mapa figcaption{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:fit-content;margin:-26px auto 0;padding:10px 20px 11px;border-radius:14px;background:#B3261A;color:#fff;box-shadow:0 10px 22px -12px rgba(134,19,12,.7);text-align:center}
.kontakt .mapa figcaption b{font:700 clamp(18px,1.6vw,21px)/1.1 'Zilla Slab',Georgia,serif}
.kontakt .mapa figcaption span{font-size:12.5px;font-weight:600;opacity:.85}
@media (max-width:1024px){.kontakt .mapa{margin-inline:auto}}
/* logo: po načtení se trubka „namontuje“ (koleno se vykreslí, příruby dosednou), při najetí se příruby dvakrát dotáhnou */
.logo .logo-trubka{stroke-dasharray:100;animation:logo-trubka .8s .25s cubic-bezier(.5,0,.2,1) both}
.logo .logo-priruba{transform-box:fill-box;transform-origin:center;animation:logo-priruba .4s .15s cubic-bezier(.3,1.6,.5,1) both}
.logo .logo-priruba2{animation-delay:.95s}
.logo:hover .logo-priruba{animation:logo-utah .5s ease-in-out}
@keyframes logo-trubka{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes logo-priruba{from{transform:scale(0)}to{transform:none}}
@keyframes logo-utah{0%,50%,100%{transform:none}25%,75%{transform:scale(1.3,1.3)}}
@media (prefers-reduced-motion:reduce){.logo .logo-trubka,.logo .logo-priruba{animation:none!important}}
.cedule{grid-template-rows:150px auto auto auto}
@media (max-width:899px){.cedule{grid-template-rows:auto auto auto auto}}
.kontakt .mapa{max-width:430px}
.kontakt .mapa-obce .mapa-km-obec{font-size:15px}
.kontakt-fakta li{display:block;position:relative;padding-left:22px}
.kontakt-fakta li::before{position:absolute;left:0;top:.5em;transform:none}
.ced-pozn span{display:block}.ced-pozn span::before{display:inline-block;margin-right:7px;vertical-align:2px}
.znak-h,.menu a{transition:color .3s,-webkit-text-fill-color .3s}
/* karty půjčovny: nadpis s odrážkami nahoru, stroj kousek výš, ať se nic nedotýká */
.ced-hlava>div:first-child{align-self:start;padding-top:2px}.ced-hlava h3{margin-bottom:8px}
.cedule .st-stroj{position:relative;top:-10px}
@media (max-width:899px){.cedule .st-stroj{top:0}}
/* kontakt: mapa výš, štítek okruhu pod ní */
.kontakt .mapa{margin-top:8px}
.kontakt .mapa figcaption{margin:2px auto 0}
/* ===== kolo úprav 2. 11. večer: vylepšení a drobnosti od kritika ===== */
/* bagr na tmavé hlíně se štěrkem, ať nemá stejnou cihlovou zeď jako služby */
.stavba.tmave{background:radial-gradient(ellipse 60% 50% at 85% 100%,rgba(255,150,60,.08),transparent 70%),url(../obrazky/hlina-tma.svg) 0 0/240px auto,#2A1E15!important}
/* menu: aktivní sekce má malé červené koleno trubky před slovem (z rodiny loga), žádná čára pod */
.menu a.aktivni::before{opacity:0!important}
.menu a::after{display:block!important;content:"";position:absolute;left:4px;right:auto;top:50%;bottom:auto;width:8px;height:8px;margin-top:-7px;border:0;border-left:3px solid #B3261A;border-bottom:3px solid #B3261A;border-bottom-left-radius:5px;background:none;transform:scale(0);transition:transform .35s cubic-bezier(.3,1.6,.5,1);box-shadow:none;animation:none}
.menu a.aktivni::after{transform:scale(1)}
.menu a:hover::after{transform:scale(0)}.menu a.aktivni:hover::after{transform:scale(1)}
@media (max-width:1100px){.menu a::after{left:0}}
/* lžíce: jen informace, ne volba */
.ced-lzice-text{display:flex;flex-wrap:wrap;gap:6px;margin:0}.ced-lzice-text span{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;background:#F3EEE7;font-weight:800;font-size:15px;color:#211910}
/* služby: pod přepínačem rovnou zavolat */
.sluzby-volat{display:flex;align-items:center;gap:14px;margin-top:auto;padding:14px 18px;border-radius:16px;background:#B3261A;color:#fff;text-decoration:none;box-shadow:0 4px 0 #86130C;transition:transform .15s}.sluzby-volat:hover{transform:translateY(-2px);color:#fff}
.sluzby-volat svg{width:26px;height:26px;flex:none}.sluzby-volat span{display:flex;flex-direction:column;font-weight:700;font-size:15.5px;line-height:1.2}.sluzby-volat b{font:700 24px/1.15 var(--pismo-nadpis)}
.sluzby-volat:focus-visible{outline:3px solid #FFD27A;outline-offset:3px}
/* tlačítka kotelny: fajfka hotového kroku je odznak v rohu, takže text se nezalomí a lišta neposkočí */
.hk-kroky button{position:relative}
.hk-kroky .hot b::before{content:"✓";position:absolute;top:-7px;right:-5px;width:20px;height:20px;border-radius:50%;background:#C9281A;color:#fff;font-size:12px;line-height:20px;text-align:center;box-shadow:0 0 0 2px #FFFDF8}
.hk-kroky li,.hk-volba{overflow:visible}
/* čitelnější malé popisky pro starší lidi */
.ced-stitek{font-size:15.5px;color:#3F362C}
.hk-popis{font-size:15.5px;color:#3F362C}
.viz-obsah small{font-size:13.5px;color:#4E453A}
/* mobil: nadpis, scéna a všechna tlačítka nahoře, úvodní text až pod nimi; v kontaktu vizitka před mapou */
@media (max-width:899px){
	.hk{display:flex;flex-direction:column}.hk>.hk-text{display:contents}
	.hk h1{order:1;padding-inline:var(--okraj);margin-bottom:12px;font-size:clamp(32px,9vw,44px)}.hk>.blok:not(.hk-text){order:2}.hk-text p.hk-uvod{order:3;padding:16px var(--okraj) 0}
	.hk-scena{height:64vw;min-height:230px}.hk-rizeni{gap:8px;padding:10px 12px}.hk-popis{font-size:14.5px}.hk-popis b{font-size:16px}
	.hk-kroky{gap:8px!important}.hk-kroky button{min-height:46px}.hk-volba button{min-height:40px!important}
	.kontakt-text{display:contents}.kontakt-mrizka>.vizitka{order:2}.kontakt-text h2{order:0}.kontakt-fakta{order:1;margin-top:0}.kontakt .mapa{order:3}
	.sluzby-volat{margin-top:4px}
}
@media (max-width:899px){.menu a::after{display:none!important}.kontakt-mrizka{gap:22px}}
.hk-kroky{max-width:none;width:100%}
/* mobil: nadpis na střed se vzduchem nad i pod, úvodní text pod animací s větší mezerou a řádkováním */
@media (max-width:899px){
	.hk{padding-top:26px;padding-bottom:40px}
	.hk h1{text-align:center;margin:0 0 26px}
	.hk-text p.hk-uvod{padding:30px var(--okraj) 0;line-height:1.6;text-align:center}
	.hk-volba .hot b::before{top:-9px;right:-6px}
	.hk-rozc{margin-bottom:5px}
}
/* kontejner: malý a velký jde vidět i na mobilu */
.cedule .st-kont{transition:transform .55s cubic-bezier(.3,1.5,.4,1)}
.cedule .st-kont,.stavba .cedule .st-kont{transform:scale(.72)!important}.cedule .st-kont.velky,.stavba .cedule .st-kont.velky{transform:scale(1.08)!important}
/* mobil: statický obrázek před načtením 3D je ze stejného vzdáleného pohledu jako 3D, ne oříznutý střed širokého obrázku */
@media (max-width:899px){.hk-scena{background-image:url(../obrazky/kotelna-scena-mobil.webp?v=4)!important;background-position:center!important;background-size:cover!important}}
/* kroky kotelny jako očíslovaný postup: číslo v kolečku, další krok svítí červeně a jemně pulzuje, hotový má fajfku místo čísla */
.hk-kroky>li>button{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 12px;text-align:left}
.hk-kroky b{font-size:15.5px}
.hk-kroky i,.hk-rozc i{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#E2D6C0;color:#3F362C;font:800 14px/1 Karla,sans-serif;font-style:normal;transition:background .25s,color .25s}
.hk-kroky .ted i{background:#fff;color:#C9281A}
.hk-kroky .ted{animation:hk-vola 1.8s ease-in-out infinite}
@keyframes hk-vola{0%,100%{box-shadow:0 3px 0 #8E150B,0 0 0 0 rgba(201,40,26,.45)}50%{box-shadow:0 3px 0 #8E150B,0 0 0 7px rgba(201,40,26,0)}}
.hk-kroky>li>.hot b::before{content:none}
.hk-kroky .hot i{background:#C9281A;color:#fff;font-size:0}.hk-kroky .hot i::before{content:"✓";font-size:15px}
/* probíhající krok: jen červený s číslem, žádné točítko ani lišta načítání */
.hk-kroky .bezi i{background:#fff;color:#C9281A}
.hk-kroky .bezi::after{content:none}
.hk-kroky>li>.bezi b::before{content:none}
.hk-rozc{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;color:#3F362C;padding:2px 0 3px}
.hk-rozc i{width:24px;height:24px;font-size:13px}
.dva:has(.ted) .hk-rozc i{background:#C9281A;color:#fff}
.dva:has(.hot) .hk-rozc i{background:#C9281A;color:#fff;font-size:0}.dva:has(.hot) .hk-rozc i::before{content:"✓";font-size:13px}
.dva:has(.ted){box-shadow:inset 0 0 0 2px #C9281A}
.hk-volba button{justify-content:center}
@media (prefers-reduced-motion:reduce){.hk-kroky .ted{animation:none}}
@media (max-width:899px){.hk-kroky>li>button{justify-content:center}}
/* vizitka čitelná na první pohled: ikona v barevném čtverečku, popisek drobně nad hodnotou, tlačítka jasně klikací (telefon hlavní) */
.vizitka-tabulka th svg{box-sizing:content-box;width:22px;height:22px;padding:11px;border-radius:12px;background:#F7E4E0;color:#B3261A}
.vizitka-tabulka tr:first-child th svg{background:#B3261A;color:#fff}
.vizitka-tabulka th,.vizitka-tabulka td{padding-top:16px;padding-bottom:16px}
.viz-obsah{gap:3px}
.viz-obsah small{font-size:12px;letter-spacing:.09em;color:#776C5F}
.viz-hodnota{color:#211910}
.vizitka-tabulka td .viz-akce{border:0;background:#F7E4E0;color:#9E2116}
.vizitka-tabulka tr:first-child td .viz-akce{background:#B3261A;color:#fff;box-shadow:0 3px 0 #7E160C}
.vizitka-tabulka td .viz-akce:hover{background:#9E2116;color:#fff}
@media (max-width:599px){
	.vizitka-tabulka th{width:52px}
	.vizitka-tabulka th svg{flex:none;width:20px;height:20px;padding:10px;border-radius:11px}
	.vizitka-tabulka td .viz-akce{width:92px}
	.viz-hodnota{font-size:15.5px}
}
/* počítač: víc vzduchu mezi menu a nadpisem i pod ním */
@media (min-width:900px){.hk{padding-top:52px}.hk-text{margin-bottom:40px}}
/* služby: pod šipkami s tečkami krátké tlačítko s číslem, stejně široké a na střed */
.sluzby-dole{display:inline-flex;flex-direction:column;align-items:stretch;gap:16px;margin-top:auto;align-self:flex-start}
.sluzby-dole .sluzby-volat{justify-content:center;margin:0;gap:10px;padding:0 18px;min-height:56px}
.sluzby-volat span{font:700 22px/1 var(--pismo-nadpis);white-space:nowrap}
.sluzby-volat svg{width:22px;height:22px}
@media (max-width:899px){.sluzby-ovladani .sluzby-volat{padding:0 12px;min-height:52px}.sluzby-volat span{font-size:19px}}
/* bagr na kartě o kus níž */
.cedule #stBagr{top:14px}
@media (max-width:899px){.cedule #stBagr{top:10px}}
/* menu: aktivní sekce má pod slovem vlnku jako hladinu vody, pořád se pomalu vlní (jen malá plocha, stránku nezatíží) */
.menu a::after{left:16px;right:16px;top:auto;bottom:6px;width:auto;height:7px;margin:0;border:0;border-radius:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='7' viewBox='0 0 16 7'%3E%3Cpath d='M0 3.5Q4 0 8 3.5T16 3.5' fill='none' stroke='%23B3261A' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") 0 0/16px 7px repeat-x;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.4,.9,.3,1);animation:menu-vlna 1.1s linear infinite}
.menu a.aktivni::after,.menu a.aktivni:hover::after{transform:scaleX(1)}
.menu a:hover::after{transform:scaleX(0)}
@keyframes menu-vlna{to{background-position-x:16px}}
@media (max-width:1279px){.menu a::after{left:12px;right:12px}}
@media (max-width:1099px){.menu a::after{left:8px;right:8px}}
@media (prefers-reduced-motion:reduce){.menu a::after{animation:none}}
/* počítač: nadpis a úvodní text v jednom bílém pruhu stejně širokém jako scéna, ať jsou na cihlovém pozadí dobře čitelné */
@media (min-width:900px){
	.hk{padding-top:36px}
	.hk-text{box-sizing:border-box;width:calc(100% - 2 * var(--okraj));max-width:calc(var(--blok) - 2 * var(--okraj));padding:34px 44px;background:#FFFCF8;border-radius:24px;box-shadow:0 2px 0 rgba(33,25,16,.05),0 24px 50px -30px rgba(33,25,16,.45);margin-bottom:28px}
}
/* menu: žádná čárka ani vlnka, aktivní sekci ukazuje rozžhavené slovo (js/znak-web.js); bez animací aspoň oranžová barva */
.menu a::after{display:none!important;animation:none}
@media (prefers-reduced-motion:reduce){.menu a.aktivni{color:#C2410C}}
/* počítač: šipky zůstanou pod textem, telefon sjede dolů do roviny se spodkem animace vlevo */
@media (min-width:900px){.sluzby-pravy{align-self:stretch}.sluzby-dole{flex:1 1 auto;margin-top:0}.sluzby-dole .sluzby-volat{margin-top:auto}}
/* „ť“ ve Zilla Slab má háček nalepený na t: háček jako samostatný znak s mezerou */
.t-hacek>span{margin-left:.03em;font-size:.78em;position:relative;top:.12em}
/* kontejner se při velkém zvětšuje rovnoměrně na všechny strany od svého středu */
.cedule .st-kont,.stavba .cedule .st-kont{transform-origin:50% 50%!important}
/* jednička je ve Zilla Slab nižší než ostatní číslice: v nadpisu ji srovnat s osmičkou */
.cifra-1{display:inline-block;transform:scale(1.14);transform-origin:50% 100%;margin-inline:.02em}
.nezalom{white-space:nowrap}
/* 3. 11.: fajfky a kolečka všude stejně — stav kroku ukazuje jen kolečko (číslo / bílé při běhu / červené s fajfkou), volby kotle ho nemají */
.hk-volba .hot b::before,.hk-volba .bezi b::before{content:none!important}
.hk-volba .bezi::after{content:none}
.hk-rozc i{width:28px;height:28px;font-size:14px}
.dva:has(.hot) .hk-rozc i::before{font-size:15px}
.dva:has(.bezi) .hk-rozc i{background:#C9281A;color:#fff}
.dva:has(.bezi) .hk-rozc i::before{content:none}
.dva:has(.bezi) .hk-rozc i{font-size:14px}
/* 3. 11.: obrazovky — scéna nikdy není širší než 2,8 : 1 (poměr jako na Macu). Výška z obrazovky je jen spodní mez:
   na nízké široké obrazovce scéna drží poměr a ovládání je o kousek níž, místo aby se scéna zmáčkla na nudli. */
@media (min-width:900px){
	.hk-scena{width:100%;aspect-ratio:2.8;height:auto!important;min-height:clamp(260px,calc(100svh - 375px),560px)}
}
/* tablet (600–899 px): karta se scénou dřív zůstala úzká jako na mobilu (324 px) a scéna byla vyšší než široká */
@media (min-width:600px) and (max-width:899px){
	.hk>.blok{width:100%;max-width:760px}
	.hk-scena{width:100%;height:auto!important;aspect-ratio:1.5;min-height:0;max-height:max(260px,calc(100svh - 90px))}
}
/* Logo od Lukáše (4. 11. 2026): LL + hasák, v hlavičce hasák jednou dotáhne */
.logo svg.logo-znak{width:54px;height:52px}
.logo .ll-klic{transform-box:view-box;transform-origin:150px 440px;animation:ll-klic .9s .2s cubic-bezier(.3,1.5,.5,1) both}
@keyframes ll-klic{from{transform:rotate(-14deg)}}
@media (prefers-reduced-motion:reduce){.logo .ll-klic{animation:none}}
