.elementor-kit-5912{--e-global-color-primary:#515252;--e-global-color-secondary:#4C50A5;--e-global-color-text:#111111;--e-global-color-accent:#EEB313;--e-global-color-ftrbg:#1B1E20;--e-global-color-ftrttl:#C5C5C5;--e-global-color-ftrtxt:#8C8C8C;--e-global-color-btntxt:#FFFFFF;--e-global-color-hdrscr:#FFFFFF;--e-global-typography-primary-font-family:"Open Sans";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"Open Sans";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-weight:500;--e-global-typography-accent-font-family:"Open Sans";--e-global-typography-accent-font-weight:500;color:#111111;font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:500;line-height:29px;}.elementor-kit-5912 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5912 h1{color:#5A5A5A;font-size:44px;font-weight:700;line-height:1.1em;}.elementor-kit-5912 h2{color:#5A5A5A;font-size:34px;font-weight:700;line-height:1.1em;}.elementor-kit-5912 h3{color:#5A5A5A;font-size:27px;font-weight:700;line-height:1.1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* PATICKA VZDY NA SPODKU OKNA
   Na velkych monitorech byly kratke stranky (Dekujeme, Zasady) nizsi nez okno,
   takze paticka koncila uprostred obrazovky a pod ni zustavalo bile misto -
   "levitovala". Body je proto svisly flex pres celou vysku okna a paticka se
   automatickou horni mezerou odtlaci dolu. Neresi se to pres konkretni obal
   obsahu, protoze ten se lisi podle sablony (single / archive / 404).
   dvh je kvuli mobilum, kde 100vh pocita i s listou prohlizece. */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}
body > footer.elementor-location-footer { margin-top: auto; }
/* flex by jinak polozky smrsknul na obsah */
body > header,
body > footer,
body > .elementor-location-single,
body > .elementor-location-archive { flex-shrink: 0; }

/* NADPISY: tema predepisuje Lato, ktere se nikdy nenacita -> systemovy fallback (1:1 s produkci) */
h1, h2, h3, h4, h5, h6 {
    font-family: Optima, "Segoe UI", Candara, Calibri, Arial, sans-serif;
}

/* ODSTAVCE: produkce je ma do bloku.
   POZOR: jen v obsahu stranky - v hlavicce a paticce by to prebilo zarovnani widgetu
   (copyright vpravo se pak nedrzel praveho okraje). */
.elementor-widget-text-editor p,
.elementor-widget-theme-post-content p {
    text-align: justify;
    margin: 0 0 16px;
}
.elementor-location-header .elementor-widget-text-editor p,
.elementor-location-footer .elementor-widget-text-editor p {
    text-align: inherit;
    margin: 0;
}

/* Na uzkem displeji se text do bloku lame do ohyzdnych mezer mezi slovy
   (radek pojme jen par slov), proto se tam zarovnava doleva. */
@media (max-width: 782px) {
    .elementor-widget-text-editor p,
    .elementor-widget-theme-post-content p { text-align: left; }
}

/* TYPOGRAFICKY RYTMUS V OBSAHU
   Produkce dava nadpisum jen 12 px nahoru i dolu, takze text pusobi jako jeden slity blok.
   Nadpis ma patrit k textu POD sebou - proto vetsi mezera nad nim nez pod nim. */
.elementor-widget-text-editor h2,
.elementor-widget-theme-post-content h2 { margin: 46px 0 16px; }

.elementor-widget-text-editor h3,
.elementor-widget-theme-post-content h3 { margin: 38px 0 14px; }

.elementor-widget-text-editor h4,
.elementor-widget-text-editor h5,
.elementor-widget-text-editor h6,
.elementor-widget-theme-post-content h4,
.elementor-widget-theme-post-content h5,
.elementor-widget-theme-post-content h6 { margin: 30px 0 12px; }

.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol,
.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol { margin: 0 0 16px; padding-left: 22px; }

.elementor-widget-text-editor li,
.elementor-widget-theme-post-content li { margin-bottom: 6px; }

/* Mezeru nahore rusime jen u UPLNE prvniho bloku ve sloupci - obsah stranky je rozdeleny
   do vice text-editoru a nadpis, ktery zacina dalsi blok, si vzduch nad sebou ponechat musi. */
.elementor-widget-wrap > .elementor-widget:first-child > .elementor-widget-container > *:first-child,
.elementor-widget-wrap > .elementor-widget:first-child > *:first-child { margin-top: 0; }

/* HLAVICKA: na produkci je v toku stranky (position: static, ~115 px) a pruhledna.
   Fixni a bila je az po odscrollovani - to zaridi Elementor sticky.
   POZOR: zadne position: absolute, orezavalo by to slider na homepage. */
.elementor-location-header .elementor-sticky--effects {
    background-color: #ffffff !important;
    box-shadow: 0 1px 6px rgba(0,0,0,.12);
}
/* Elementor dava sloupcum vychozi odsazeni 10 px nahore i dole -> hlavicka mela 135 px
   misto produkcnich 115 px (16 + logo 83 + 16). */
.elementor-location-header .elementor-element-populated { padding: 0 !important; }
.elementor-location-header .elementor-widget-image img { display: block; }
.elementor-location-header .elementor-widget-image { line-height: 0; }

/* PATICKA: odkaz na Softmedia bral vychozi barvu odkazu z kitu (ruzova), ktera na web
   nepatri. Chova se ted jako polozka menu - seda jako okolni text, zluta na hover. */
.elementor-location-footer a {
    color: #8C8C8C;
    font-weight: 700;
    text-decoration: none;
    transition: color .2s ease;
}
.elementor-location-footer a:hover { color: #EEB313; }

/* FORMULAR Contact Form 7


   Sablona formulare je uklizena (viz cf7-uklid.php) - nadpis, dva popisky, dve pole,
   souhlas s odkazem a odesilaci tlacitko. Tady se resi jen vzhled.
   CF7 obaluje pole do inline spanu, takze sirka 100 % nemela na cem stavet
   a pole zustavala uzka (~300 px) i v sirokem sloupci. */
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.wpcf7 p { margin: 0; }

.eck-form-nadpis { font-size: 17px; margin: 0 0 18px !important; }

.eck-form-pole { display: block; margin-bottom: 18px; }
.eck-form-popisek {
    display: block;
    font-size: 14px;
    color: #555555;
    margin-bottom: 6px;
}

.wpcf7 input[type=email],
.wpcf7 input[type=text],
.wpcf7 textarea {
    width: 100%;
    font-family: inherit;
    font-size: 15px;
    color: #000000;
    background: #ffffff;
    border: 1px solid #dcdcdc;
    border-radius: 0;
    padding: 12px 14px;
    transition: border-color .2s ease;
}
.wpcf7 textarea { height: 150px; resize: vertical; display: block; }
.wpcf7 input[type=email]:focus,
.wpcf7 input[type=text]:focus,
.wpcf7 textarea:focus { border-color: #EEB313; outline: none; }
.wpcf7 ::placeholder { color: #aaaaaa; }

/* Souhlas se zpracovanim: CF7 vykresli zaskrtavatko a jeho text jako inline prvky,
   odkaz na zasady na ne navazuje jako pokracovani vety - proto zadny flex,
   at se to zalamuje jako normalni text. */
.eck-form-souhlas {
    font-size: 13.5px;
    line-height: 1.6;
    color: #555555;
    margin-bottom: 24px;
}
/* zavesene odsazeni: druhy radek vety zacina pod textem, ne pod zaskrtavatkem */
.eck-form-souhlas p { margin: 0; padding-left: 23px; }
.eck-form-souhlas .wpcf7-form-control-wrap,
.eck-form-souhlas .wpcf7-checkbox,
.eck-form-souhlas .wpcf7-acceptance,
.eck-form-souhlas .wpcf7-list-item,
.eck-form-souhlas .wpcf7-list-item label,
.eck-form-souhlas .wpcf7-list-item-label { display: inline; }
.eck-form-souhlas .wpcf7-list-item { margin: 0; }
.eck-form-souhlas .wpcf7-list-item label { cursor: pointer; }
.eck-form-souhlas input[type=checkbox] {
    width: 15px;
    height: 15px;
    margin: 0 8px 0 -23px;
    vertical-align: -2px;
    accent-color: #EEB313;
    cursor: pointer;
}
.eck-form-souhlas a { color: #555555; text-decoration: underline; }
.eck-form-souhlas a:hover { color: #EEB313; }

/* tlacitko stejne jako zluta tlacitka na webu - cerny text, zadne zaobleni */
.wpcf7 input[type=submit] {
    background-color: #EEB313;
    color: #000000;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
    border: 0;
    border-radius: 0;
    padding: 14px 34px;
    cursor: pointer;
    transition: background-color .2s ease;
}
.wpcf7 input[type=submit]:hover { background-color: #D8A10F; }

/* hlasky CF7 (chyba, odeslano) - vychozi zlute ramecky vypadaji cize */
.wpcf7 form .wpcf7-response-output {
    margin: 18px 0 0;
    padding: 12px 14px;
    font-size: 14px;
    border-width: 1px;
    border-radius: 0;
}
.wpcf7-not-valid-tip { font-size: 13px; margin-top: 5px; }
.wpcf7 .wpcf7-spinner { margin: 0 0 0 12px; }

/* TABULKY TECHNICKYCH DAT (59 stranek)
   Ze stareho webu maji v HTML natvrdo zadane sirky bunek (width="604", "321", "283"),
   takze na uzsim displeji pretekaly ven ze stranky. Sirky prebijime a tabulku
   delame pruznou. Pod 600 px se bunky skladaji pod sebe - u dvousloupcovych
   parametrovych tabulek se to cte lip nez vodorovne posouvani. */
.elementor-widget-text-editor table,
.elementor-widget-theme-post-content table {
    width: 100% !important;
    max-width: 100%;
    border-collapse: collapse;
    margin: 0 0 22px;
    font-size: 14px;
}
.elementor-widget-text-editor table td,
.elementor-widget-text-editor table th,
.elementor-widget-theme-post-content table td,
.elementor-widget-theme-post-content table th {
    width: auto !important;
    padding: 11px 14px;
    border: 1px solid #e5e5e5;
    vertical-align: top;
    text-align: left !important;
}
/* prvni sloupec je popis parametru, druhy hodnota */
.elementor-widget-text-editor table td:first-child,
.elementor-widget-theme-post-content table td:first-child { width: 55% !important; }
.elementor-widget-text-editor table tr:nth-child(even) td,
.elementor-widget-theme-post-content table tr:nth-child(even) td { background-color: #fafafa; }
/* radek s nadpisem tabulky ("Technicka data:") */
.elementor-widget-text-editor table td[colspan],
.elementor-widget-theme-post-content table td[colspan] {
    width: auto !important;
    background-color: #f2f2f2;
}

@media (max-width: 600px) {
    /* i :first-child - desktopove pravidlo pro nej ma vyssi specificitu */
    .elementor-widget-text-editor table td,
    .elementor-widget-text-editor table td:first-child,
    .elementor-widget-theme-post-content table td,
    .elementor-widget-theme-post-content table td:first-child {
        display: block;
        width: 100% !important;
        border: 0;
        padding: 4px 12px;
    }
    .elementor-widget-text-editor table tr,
    .elementor-widget-theme-post-content table tr {
        display: block;
        border: 1px solid #e5e5e5;
        margin-bottom: -1px;
        padding: 7px 0;
    }
    /* hodnota pod popisem parametru at je videt, ze patri k sobe */
    .elementor-widget-text-editor table td:last-child:not(:first-child),
    .elementor-widget-theme-post-content table td:last-child:not(:first-child) {
        font-weight: 600;
        padding-top: 0;
    }
    .elementor-widget-text-editor table tr:nth-child(even) td,
    .elementor-widget-theme-post-content table tr:nth-child(even) td { background: none; }
    .elementor-widget-text-editor table tr:nth-child(even),
    .elementor-widget-theme-post-content table tr:nth-child(even) { background-color: #fafafa; }
}

/* KARTY KATEGORII na /produkty/
 - jednotna vyska, tlacitka v jedne linii.
   Fotky maji bile pozadi, takze se vejdou cele do stejne vysokeho bileho pruhu (zadny orez). */
.eck-karta > .elementor-widget-wrap { display: flex; flex-direction: column; height: 100%; }
/* pozor: Elementor 4 uz u obrazku nerenderuje .elementor-widget-container,
   proto miri pravidlo primo na widget */
.eck-karta-foto {
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}
.eck-karta-foto img { max-height: 200px; width: auto; object-fit: contain; }
/* nadpis se NEZKRACUJE, jen ma rezervu na 2 radky, aby texty zacinaly ve stejne vysce */
.eck-karta-nadpis { min-height: 68px; margin-bottom: 6px; }
.eck-karta-nadpis a { color: inherit; text-decoration: none; }
.eck-karta-nadpis a:hover { color: #EEB313; }
/* vytazek: orez na 6 radku s "..." - cely text zustava v HTML, jde vratit smazanim tohoto pravidla */
.eck-karta-text p {
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: left !important;
    margin: 0;
}
.eck-karta-tlacitko { margin-top: auto; padding-top: 18px; }
/* jednotny popisek "Zobrazit produkty" - jedna vyska pro vsechny */
.eck-karta-tlacitko .elementor-button {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.25;
}

/* HERO na homepage: karusel Elementoru (image-carousel), obrazky 1500x480 s pruhlednym
   pozadim se zobrazuji cele v sirce stranky. Rev Slider byl odinstalovan. */
.eck-hero img { width: 100%; height: auto; display: block; }

/* Sipky: vychozi barva je rgba(238,238,238,.9), na bilem pozadi neviditelna.
   Na webu nikde neni zaobleni, takze zadne kolecko - zluty ctverec s cernou sipkou,
   stejny vizualni jazyk jako tlacitka. */
.eck-hero .elementor-swiper-button {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #EEB313;
    border-radius: 0;
    box-shadow: none;
    transition: background-color .2s ease;
}
.eck-hero .elementor-swiper-button svg { width: 26px; height: 26px; fill: #000000; }
.eck-hero .elementor-swiper-button:hover { background-color: #D8A10F; }
.eck-hero .elementor-swiper-button-prev { left: 0; }
.eck-hero .elementor-swiper-button-next { right: 0; }

/* Tecky pod sliderem: aktivni zluta, ostatni svetle sede */
.eck-hero .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
    background-color: #C9C9C9;
    opacity: 1;
    transition: background-color .2s ease;
}
.eck-hero .swiper-pagination-bullet-active { background-color: #EEB313 !important; }

/* HOMEPAGE, spodni kontakt: uvodka je prezentacni, vse na ni je centrovane,
   takze i tahle sekce ma jednu osu - adresa na stred a pod ni formular v uzsim
   sloupci. Popisky a pole formulare zustavaji zarovnane doleva (centrovana pole
   se spatne vyplnuji), na stred je jen nadpis a odesilaci tlacitko. */
.eck-hp-adresa p { text-align: center !important; }
.eck-hp-formular {
    max-width: 620px;
    margin: 0;
}
/* Nadpis formulare mel stejnou vahu jako "Adresa provozovny:" nad nim, takze to oko
   cetlo jako dalsi polozku tehoz seznamu, ne jako novy blok. Pouzivame proto motiv,
   ktery uz na webu je: nadpis verzalkami a pod nim kratka zluta linka - stejne jako
   nadpis PRODUKTY v sidebaru (.sidebar h2::before, 35x2 px, #eeb313 na produkci).
   Sede linky jsou na webu vyhrazene predelum sekci, zluta je akcent u nadpisu. */
.eck-hp-formular .eck-form-nadpis {
    position: relative;
    text-align: left;
    font-size: 17px;
    text-transform: uppercase;
    letter-spacing: .4px;
    padding-bottom: 15px;
    margin: 0 0 28px !important;
}
.eck-hp-formular .eck-form-nadpis::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 35px;
    height: 2px;
    background-color: #EEB313;
}
.eck-hp-formular .wpcf7 input[type=submit] { display: block; margin: 0 0 0 auto; }

/* KONTAKTY - poptavkovy formular (doplneno po prevodu 14. 9. 2026)
   Stejny formular jako na uvodce (#14). Na Kontaktech ma sekce vlastni sedy
   predel "Poptavkovy formular" jako ostatni bloky stranky, takze vnitrni nadpis
   formulare se skryva - jinak by tam byl dvakrat. Formular je vycentrovany. */
.eck-kontakty-formular { max-width: 620px; margin: 0 auto; }
.eck-kontakty-formular .eck-form-nadpis { display: none; }
.eck-kontakty-formular .wpcf7 input[type=submit] { display: block; margin: 0 0 0 auto; }

/* KONTAKTY - blok adresy vedle mapy */
.eck-adresa .elementor-widget-text-editor p { font-size: 15px; line-height: 32px; text-align: left !important; }
.eck-adresa .elementor-widget-text-editor strong { font-size: 17px; }
/* fotka arealu na konci stranky O spolecnosti */
.eck-foto-arealu { margin-top: 34px; }
.eck-foto-arealu figcaption { font-size: 12.6px; color: #878787; padding-top: 6px; text-align: center; }

.eck-adresa-foto { margin-top: 8px; }
.eck-adresa-foto img { width: 100%; height: auto; display: block; }
.eck-adresa-foto figcaption { font-size: 12.6px; color: #878787; padding-top: 6px; }
/* mapa se roztahne na celou vysku sloupce, aby oba bloky koncily v jedne lince */
.eck-mapa-sloupec > .elementor-widget-wrap { height: 100%; align-content: stretch; padding-top: 0; padding-bottom: 0; }
.eck-mapa-sloupec .elementor-widget-html { width: 100%; height: 100%; }
.eck-mapa-sloupec .elementor-widget-html > .elementor-widget-container { height: 100%; }
.eck-mapa iframe { display: block; width: 100%; height: 100%; min-height: 420px; border: 0; }
@media (max-width: 767px) {
    .eck-mapa iframe { height: 320px; min-height: 320px; }
}

/* KONTAKTY: oddeleni a bankovni spojeni na stred (nadpisy sekci jsou taky centrovane) */
.eck-stred p,
.eck-stred .elementor-widget-text-editor { text-align: center !important; }

/* SIDEBAR s produktovym menu - namereno na produkci */
.eck-sidebar .elementor-widget-container { padding: 15px 20px 20px; }
.eck-sidebar .elementor-widget-container > h2,
.eck-sidebar .elementor-widget-container > h3,
.eck-sidebar .elementor-widget-container > h4,
.eck-sidebar .elementor-widget-container > h5 {
    position: relative;
    font-family: Ubuntu, sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    padding-bottom: 15px;
    margin: 0 0 25px;
}
.eck-sidebar .elementor-widget-container > h2::before,
.eck-sidebar .elementor-widget-container > h3::before,
.eck-sidebar .elementor-widget-container > h4::before,
.eck-sidebar .elementor-widget-container > h5::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 35px;
    height: 2px;
    background-color: #EEB313;
}
.eck-sidebar ul.menu, .eck-sidebar ul.menu ul { list-style: none; margin: 0; padding: 0; }
.eck-sidebar ul.menu a {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #878787;
    line-height: 29px;
    text-decoration: none;
}
.eck-sidebar ul.menu a:hover { color: #EEB313; }
/* BOCNI MENU - hierarchie a rozbalovani
   POZOR: hierarchii NELZE stavet na hloubce zanoreni. U stroju je struktura
   kategorie > podkategorie > produkt, ale u dmychadel kategorie > produkt.
   Pri rozlisovani podle urovne se produkty dmychadel tvarily jako kategorie.
   Rozhoduje proto to, jestli polozka MA pod sebou dalsi, ne jak hluboko lezi.

   Barvou nerozlisujeme vubec (cerna prilis krici) - vse zustava v tehoz sede
   a lisi se jen vahou pisma. Diky tomu si zluta barva aktivni polozky drzi
   prednost, protoze do barvy nikde jinde nesahame. */

/* kategorie = ma pod sebou dalsi polozky */
.eck-sidebar li.menu-item-has-children > a { font-weight: 700; }
/* produkt = nema pod sebou nic */
.eck-sidebar li:not(.menu-item-has-children) > a { font-weight: 500; }
.eck-sidebar .sub-menu li:not(.menu-item-has-children) > a::before {
    content: '»';
    color: #c9c9c9;
    margin-right: 6px;
}

/* ZANORENI
   Samotna vaha pisma na rozliseni urovni nestaci: hlavni kategorie i podkategorie
   maji obe pod sebou dalsi polozky, takze obe vychazi tucne a vypadaly stejne.
   Kazde zanoreni proto dostava svislou linku, ktera podrizene polozky viditelne
   sdruzi pod svou kategorii. Linka je strukturalni znacka, funguje nezavisle
   na tom, jak hluboko dana polozka lezi. */
/* POZOR na specificitu: vyse je reset ".eck-sidebar ul.menu ul { margin:0; padding:0 }",
   ktery ma (0,2,2). Zapis pres ".eck-sidebar .sub-menu" (0,2,0) by prohral a odsazeni
   by se nikdy neprojevilo - proto sem patri "ul.menu ul.sub-menu" (0,3,2). */
.eck-sidebar ul.menu ul.sub-menu {
    display: none;
    margin: 6px 0 4px 7px;
    padding-left: 13px;
    border-left: 1px solid #e5e5e5;
}
/* Sbalene kategorie drzime tesne u sebe - je to kratky seznam tri polozek
   a velky odstup pusobil rozvolnene. Vetsi mezeru dostane az rozbalena kategorie,
   kde oddeluje skupinu jejich polozek od te dalsi. */
.eck-sidebar ul.menu > li { margin-bottom: 7px; }
.eck-sidebar ul.menu > li.eck-otevreno { margin-bottom: 16px; }
.eck-sidebar ul.menu > li:last-child { margin-bottom: 0; }
.eck-sidebar .sub-menu > li { margin-bottom: 5px; }

/* ROZBALOVANI
   Bez JavaScriptu se rozbali vetev aktualni stranky (pravidla dale nize).
   Jakmile JS nabehne, prida na menu tridu eck-menu-js a rizeni prebira prepinac.
   Prepinacem je cely radek kategorie - na malou sipku se klikalo spatne. */
/* Prepinac je samostatne tlacitko vpravo - nazev kategorie zustava odkazem na
   jeji stranku. Ma sirokou plochu (34 px pres celou vysku radku) a podbarvi se
   pri najeti, aby se na nej dalo mirit; prvni verze s 6px sipkou byla nepouzitelna. */
.eck-sidebar li.menu-item-has-children { position: relative; }
.eck-sidebar li.menu-item-has-children > a { padding-right: 38px; }
.eck-sidebar .eck-prepinac {
    position: absolute;
    top: 0;
    right: 0;
    width: 34px;
    height: 29px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color .2s ease;
}
.eck-sidebar .eck-prepinac:hover { background-color: #f2f2f2; }
.eck-sidebar .eck-prepinac::before {
    content: '';
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-right: 2px solid #878787;
    border-bottom: 2px solid #878787;
    transform: rotate(45deg);
    transition: transform .2s ease, border-color .2s ease;
}
.eck-sidebar li.eck-otevreno > .eck-prepinac::before {
    transform: rotate(-135deg);
    margin-top: 2px;
}
.eck-sidebar .eck-prepinac:hover::before { border-color: #EEB313; }

/* v rezimu s JavaScriptem rozhoduje vylucne prepinac - proto az za pravidly vyse */
.eck-sidebar .eck-menu-js ul.sub-menu { display: none; }
.eck-sidebar .eck-menu-js li.eck-otevreno > ul.sub-menu { display: block; }

.eck-sidebar ul.menu .current-menu-item > a,
.eck-sidebar ul.menu .current_page_item > a { color: #EEB313; }

/* SKRYTY HLAVNI NADPIS UVODNI STRANKY

   Klient si pral viditelny nadpis smazat - rikal totez co tri tlacitka pod nim.
   Stranka by ale zustala uplne bez H1. Nadpis proto zustava v kodu, jen neni videt:
   cte ho ctecka pro nevidome i vyhledavace. Neni to trik - text pravdive popisuje,
   cim se firma zabyva, a je to bezna pristupnostni praxe (sr-only).

   Zamerne NEPOUZIVAME display:none ani visibility:hidden - takovy text ctecky
   preskoci a Google ho ignoruje. */

.eck-h1-skryty {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* MOBILNI ÚPRAVY (do 767 px)

   HLAVICKA: Elementor pod 767 px sklada sloupce pod sebe, takze logo bylo pres celou
   sirku a hamburger skoncil pod nim na stredu. Navic nase pravidlo "padding: 0"
   (potrebne kvuli vysce hlavicky na desktopu) sebralo i bocni okraje, takze logo
   lepilo na levy okraj obrazovky. Na mobilu proto sloupce drzime vedle sebe:
   logo vlevo, hamburger vpravo.

   PATICKA a ADRESA: kratke bloky, ktere na desktopu stoji vedle sebe (jeden vlevo,
   druhy vpravo), se na mobilu skladaji pod sebe a puvodni zarovnani do stran pak
   pusobi rozhazene. Na uzkem displeji jdou proto na stred. */

@media (max-width: 767px) {

    /* --- hlavicka --- */
    .elementor-location-header .elementor-container {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
    }
    .elementor-location-header .elementor-column { width: auto !important; }
    .elementor-location-header .elementor-column:first-child { flex: 1 1 auto; min-width: 0; }
    /* posledni sloupec (menu) az k pravemu okraji */
    .elementor-location-header .elementor-column:last-child { margin-left: auto; flex: 0 0 auto; }
    .elementor-location-header .elementor-element-populated { padding: 0 14px !important; }
    .elementor-location-header .elementor-widget-image img {
        max-height: 56px;
        width: auto;
    }
    /* Hamburger doprava. Obal widgetu (.elementor-widget-wrap) uz flex je,
       takze staci automaticka leva mezera na samotnem widgetu menu.
       Pres ":last-child" na sloupci to neslo - hlavicka se vykresluje dvakrat
       (normalni a pripnuta varianta) a selektor nesedel. */
    /* Widget menu je siroky pres cely sloupec, takze automaticka mezera na nem
       nic neudela - zarovnani musi resit primo jeho obal. */
    .elementor-location-header .elementor-widget-nav-menu > .elementor-widget-container {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }
    .elementor-location-header .elementor-menu-toggle { margin-left: auto; margin-right: 0; }

    /* --- paticka: oba radky na stred --- */
    .elementor-location-footer .elementor-column { width: 100% !important; }
    .elementor-location-footer .elementor-widget-text-editor p,
    .elementor-location-footer .elementor-widget-text-editor { text-align: center !important; }
    .elementor-location-footer .elementor-widget-text-editor:first-child { margin-bottom: 6px; }

    /* --- karty kategorii na /produkty/ ---
       Na mobilu je karta pres celou sirku: fotka nahore na stred, tlacitko dole
       pres celou sirku. Nadpis mezi nimi proto taky na stred. Vytazek zustava
       vlevo - ma 4 az 6 radku a na stred by se cetl hure. */
    .eck-karta-nadpis,
    .eck-karta-nadpis a { text-align: center; display: block; }

    /* Pevna vyska ramecku fotky (200 px) je kvuli tomu, aby na desktopu vsechny
       tri karty licovaly. Na mobilu jsou karty pod sebou, licovat neni s cim,
       a u sirokouhlych fotek (dmychadla, vzpery) tak nad i pod obrazkem zustavalo
       kolem 32 px prazdna. Ramecek proto na mobilu kopiruje vysku fotky.
       Strop max-height u obrazku ale ZUSTAVA - bez nej by portretova fotka
       KF 675 narostla na 493 px, zatimco sirokouhle maji 126 px. */
    .eck-karta-foto { height: auto; }

    /* Stejny duvod u nadpisu: rezerva na dva radky drzi karty v jedne lince
       jen na desktopu, na mobilu delala mezeru pod jednoradkovymi nadpisy. */
    .eck-karta-nadpis { min-height: 0; }

    /* RYTMUS MEZER MEZI KARTAMI
       Mezera mezi textem a tlacitkem byla 20 px a mezi tlacitkem a dalsi kartou
       jen 30 px - skoro stejne, takze karty splyvaly v jeden proud. Uvnitr karty
       proto mezery zmensujeme a mezi karty davame vyrazny odstup. */
    .eck-karta-tlacitko { padding-top: 12px; }
    .eck-karta { margin-bottom: 56px; }
    .eck-karta:last-child { margin-bottom: 0; }

    /* --- bocni panel produktu nad obsah ---
       Na mobilu se sloupce skladaji pod sebe a panel koncil az za celym textem
       (na 53 % vysky stranky). Poradim ve flexu ho davame nad obsah; sbaleny
       zabere pribl. 214 px, takze text produktu zacina zhruba o pul obrazovky niz. */
    .elementor-location-single .elementor-section .elementor-container { flex-direction: column; }
    .elementor-location-single .eck-sidebar { order: -1; margin-bottom: 18px; }

    /* --- adresa provozovny nad mapou --- */
    .eck-adresa .elementor-widget-text-editor p { text-align: center !important; }
    .eck-adresa-foto img { margin-left: auto; margin-right: auto; }
    .eck-adresa-foto figcaption { text-align: center; }
}/* End custom CSS */