/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/
 
 
/* =Theme customization starts here
------------------------------------------------------- */

.ls-2, h3, h4, p {
    letter-spacing: -2%;
}
.ls-4, h1, h2 {
    letter-spacing: -4%;
}
p > a {
    text-decoration: underline!important;
    color: #4B9A34!important;
}
.et_pb_text_inner > ul, .et_pb_text_inner > ol {
    padding-bottom: 0;
}
.et_pb_text_inner > ul li, .et_pb_text_inner > ol li {
    margin-bottom: 12px;
}
.et_pb_text_inner ol li::marker {
    font-weight: bold !important;
    color: #4B9A34 !important;
}

/* Header */
.header-main {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0) !important;
    transition: background-color 0.4s ease, padding 0.4s ease !important;
}
body.logged-in:not(.et-fb) .header-main {
    top: 32px;
}
body.header-main--scroll .header-main {
    background-color: rgba(0, 0, 0, 0.4) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

@media (min-width: 981px) {
    .btn-default-header--mobile {
        display: none !important;
    }
}
@media (max-width: 980px) {
    .btn-default-header--mobile {
        display: block !important;
        padding: 15px 20px !important; /* Prostor kolem položky */
        text-align: center;            /* Vycentrování textu */
    }

    .btn-default-header--mobile a {
        display: inline-block !important;
        background-color: #ffffff !important;
        color: #000000 !important;
        padding: 10px 25px !important;
        border-radius: 50px !important;
        font-weight: bold !important;
        text-decoration: none !important;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        width: auto !important;
        min-width: 150px;
        transition: background-color 0.2s ease;
    }

    .btn-default-header--mobile a:active {
        background-color: #f0f0f0 !important;
    }
}
.header-main .et-menu-nav ul.et-menu li a, .header-main .et_mobile_menu li a {
    text-align: center;
}


.header-main--menu {
    background: transparent!important;
}
.header-main--logo {
    max-width: 124px;
}
.header-main--logo .et_pb_image_wrap {
    width: auto!important;
}
.header-main--menu ul {
    display: flex;
    gap: 16px;
}
.header-main--menu ul li {
    padding: 0 20px;
}
.header-main--menu ul a {
    font-size: 18px;
    line-height: 24px;
    font-weight: 500;
    letter-spacing: -2%;
    color: #F9F6EF;
}
.btn-default-header {
    background-color: #fff!important;
    border: 0!important;
    border-radius: 32px!important;
    padding: 6px 26px !important;
    color: #101604!important;
    font-size: 18px;
    line-height: 24px;
    font-weight: normal;
    letter-spacing: -2%;
}
.btn-default-header:after {
    display: none!important;
}
/* Header */

/* Header - mobile */
/* ==========================================================================
   HEADER - MOBILE & TABLET (Max-width: 980px)
   ========================================================================== */
@media (max-width: 980px) {
    
    /* 1. Vynutíme, aby hlavní řádek držel logo a hamburger vedle sebe */
    .header-main .et_flex_row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    /* 2. Sloupec s logem - zabere 40 % šířky a zarovná se vlevo */
    .header-main .et_flex_column:nth-child(1) {
        width: 40% !important;
        max-width: 40% !important;
        flex-basis: 40% !important;
        order: 1 !important;
    }
    
    .header-main--logo {
        text-align: left !important;
    }

    /* 3. Sloupec s menu (hamburger) - zabere 40 % šířky a skočí vpravo */
    .header-main .et_flex_column:nth-child(2) {
        width: 40% !important;
        max-width: 40% !important;
        flex-basis: 40% !important;
        order: 2 !important;
    }

    /* Obal mobilního menu v Divi vycentrujeme/zarovnáme doprava */
    .header-main .et_mobile_nav_menu {
        float: right !important;
        text-align: right !important;
    }

    /* 4. Tlačítko "Contact us" (Sloupec 3) - kompletně skryjeme */
    .header-main .et_flex_column:nth-child(3) {
        display: none !important;
    }

    /* 5. Resetujeme relativní pozice rodičů, aby rozbalené menu lícovalo k celé šířce okna */
    .header-main .header-main--menu,
    .header-main .et_pb_menu__wrap {
        position: static !important;
    }
    
    .header-main .et-menu-nav {
        display: block !important;
        width: 100% !important;
    }

    /* ==========================================================================
       OPRAVA A ZALOMENÍ SEZNAMŮ DO SLOUPCE (Flex Column)
       ========================================================================== */

    /* Varianta A: Pokud Divi nechává aktivní původní desktopový seznam */
    .header-main .et_pb_menu__menu nav.et-menu-nav ul.et-menu {
        display: flex !important;
        flex-direction: column !important; /* Položky pod sebou */
        position: absolute !important;
        top: 100% !important; /* Skočí přesně pod spodní hranici hlavičky */
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        
        background: #ffffff !important; /* Čisté bílé pozadí */
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
        padding: 15px 20px !important;
        box-sizing: border-box !important;
        z-index: 99999 !important;
    }

    /* Varianta B: Pokud Divi na mobilu správně aktivuje třídu .et_mobile_menu */
    .header-main .et_mobile_menu {
        display: flex;
        flex-direction: column !important; /* Položky pod sebou */
        position: relative !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        background: rgba(255, 255, 255, 0.7) !important;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
        padding: 15px 20px !important;
        z-index: 99999 !important;
        text-align: left !important;
        transform: none !important; 
    }
    .mobile_nav.closed .et_mobile_menu {
        display: none;
    }

    /* 6. Úprava položek (li) pro oba typy seznamů */
    .header-main .et-menu-nav ul.et-menu li,
    .header-main .et_mobile_menu li {
        display: block !important;
        width: 100% !important;
        float: none !important;
        border-bottom: 1px solid #f0f0f0 !important;
        text-align: left !important;
    }
    
    /* U poslední položky odebereme spodní linku */
    .header-main .et-menu-nav ul.et-menu li:last-child,
    .header-main .et_mobile_menu li:last-child {
        border-bottom: none !important;
    }

    /* 7. Vzhled samotných odkazů v mobilním menu */
    .header-main .et-menu-nav ul.et-menu li a,
    .header-main .et_mobile_menu li a {
        color: #1a1a1a !important; /* Tmavé čitelné písmo */
        padding: 12px 0 !important;
        display: block !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        width: 100% !important;
    }
    #et-main-area {
        margin-top: -110px!important;
    }
    .header-main {
        padding: 10px 20px!important;
    }
    .et_mobile_nav_menu {
        position: absolute!important;
        top: -10px!important;
        right: -70px!important;
    }
    .et_mobile_menu {
        width: 100%!important;
        left: 0 !important;
        position: relative!important;
    }
}
.et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before {
    color: #5AB83E!important;
}
.et_mobile_menu {
    border-color: #5AB83E!important;
}
/* Header - mobile */

/* Hero & Main section */
#et-main-area {
    margin-top: -80px;
    /* padding-top: 80px; */
}
.hero-main-section .header-content {
    width: 100%!important;
}
.hero-main-section .et_pb_module_header {
    margin-bottom: 12px;
}
.hero-main-section .et_pb_fullwidth_header_subhead {
    margin-bottom: 32px;
}
.hero-main-section .et_pb_button {
    background-color: #4B9A34!important;
    border: 0!important;
    border-radius: 32px!important;
    padding: 8px 30px !important;
    color: #fff!important;
    font-size: 18px;
    line-height: 24px;
    font-weight: normal;
    letter-spacing: -2%;
    width: 100%;
    max-width: 234px!important;
}
.hero-main-section .et_pb_button:after {
    display: none!important;
}

.hero-main-section .et_pb_button.et_pb_button_one {
    background-color: #fff!important;
    color: #101604!important;
}

.btn-default {
    background-color: #4B9A34!important;
    border: 0!important;
    border-radius: 32px!important;
    padding: 8px 30px !important;
    color: #fff!important;
    font-size: 18px;
    line-height: 24px;
    font-weight: normal;
    letter-spacing: -2%;
}
.btn-default:after {
    display: none!important;
}

@media (max-width: 980px) { 
    .hero-main-section .et_pb_button.et_pb_button_one {
        margin-bottom: 10px;
        margin-right: 0;
    }
}
/* Hero & Main section */

.section-carousel .et_pb_image_wrap {
    width: 100%!important;

}
.section-carousel .et_pb_image_wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
}
.section-carousel .et_pb_group_carousel_arrow_prev {
    bottom: 28px;
    top: auto;
    left: 50px;
    right: auto;
}
.section-carousel .et_pb_group_carousel_arrow_next {
    bottom: 28px;
    top: auto;
    left: 108px;
    right: auto;
}
.section-carousel .et_pb_group_carousel_arrow_prev:hover span, .section-carousel .et_pb_group_carousel_arrow_next:hover span {
    color: #5AB83E;
}
.section-carousel--odd-side .et_pb_group_carousel_arrow_prev {
    left: auto;
    right: 108px;
}
.section-carousel--odd-side .et_pb_group_carousel_arrow_next {
    left: auto;
    right: 50px;
}

/* Pozicování nového počítadla */
.section-carousel {
    position: relative;
}

.section-carousel .slide-counter {
    position: absolute;
    top: 40px;      /* Uprav podle oka a paddingu ve Figmě */
    left: 40px;     /* Uprav podle oka */
    z-index: 10;
    color: #ffffff; /* Bílá barva textu */
    font-size: 24px;
    line-height: 32px;
    font-weight: 600;
    font-family: inherit;
}

/* Zvýraznění aktuálního čísla (před lomítkem) na Bold */
.section-carousel .slide-counter .current-index {
    font-weight: bold;
}

/* Zesvětlení/zešednutí lomítka a celkového počtu, pokud to tak Figma má */
.section-carousel .slide-counter .separator,
.section-carousel .slide-counter .total-index {
    opacity: 0.7;
    font-weight: normal;
    color: rgba(249, 246, 239, 0.4);
}

/* Skrytí původních Divi teček (předpokládám, že je u tohoto designu nechceš) */
.section-carousel .et-pb-controllers {
    display: none !important;
}

/* Responsive section image */ 
.el-full-cover span {
    width: 100%!important;
}
.el-full-cover img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
}
/* Responsive section image */ 

.bg-curve-selected::after {
    content: '';
    position: absolute;
    background: url(/wp-content/uploads/2026/07/bg_curve_selected.svg);
    width: 114px;
    height: 102px;
    background-repeat: no-repeat;
    top: -20px;
    left: -22px;
}

/* FAQ */
.et_pb_accordion_0 .et_pb_toggle_close:not(.et_pb_toggle_empty) .et_pb_toggle_title:before {
    display: none!important;
}
.faq-mods > div::after {
    font-family: "ETmodules" !important;
    content: '\4c' !important;
    font-weight: 400 !important;
    color: #4b9a34;
    font-size: 38px;
    line-height: 38px;
    right: 13px;
    top: 13px;
    position: absolute;
}
.faq-mods > div::before {
    /* font-family: "ETmodules" !important; */
    content: '';
    font-weight: 400 !important;
    color: #4b9a34;
    font-size: 16px;
    line-height: 24px;
    font-weight: 700!important;
    letter-spacing: -2%;
    left: 20px;
    top: 20px;
    position: absolute;
}
.faq-mods > div:first-child::before {    
    content: '01' !important;
}
.faq-mods > div:nth-child(2)::before {    
    content: '02' !important;
}
.faq-mods > div:nth-child(3)::before {    
    content: '03' !important;
}
.faq-mods > div:nth-child(4)::before {    
    content: '04' !important;
}
.faq-mods > div:nth-child(5)::before {    
    content: '05' !important;
}
.faq-mods > div:nth-child(6)::before {    
    content: '06' !important;
}
.faq-mods > div:nth-child(7)::before {    
    content: '07' !important;
}
.faq-mods > div:nth-child(8)::before {    
    content: '08' !important;
}
.faq-mods > div:nth-child(9)::before {    
    content: '09' !important;
}
.faq-mods > div:nth-child(10)::before {    
    content: '10' !important;
}
.faq-mods > div.et_pb_toggle_open::after {
    color: #F9F6EF;
}


@media (max-width: 980px) { 
    .et_pb_toggle .et_pb_toggle_title, .et_pb_toggle h5.et_pb_toggle_title {
        padding: 0 30px 0;
    }
}
/* FAQ */




/* timeline */
.timeline-row::-webkit-scrollbar {
    display: none !important;
}
.timeline-row {
    -ms-overflow-style: none !important;  /* IE and Edge */
    scrollbar-width: none !important;  /* Firefox */

    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;

    /* Zarovnání: Nastav stejný padding, jaký má tvůj hlavní kontejner na webu */
    padding-left: 12% !important;
    padding-right: 12% !important; /* Aby byl prostor i za posledním krokem */
    padding-bottom: 20px;
}

.timeline-row > div {
    --vertical-gap: 0px;
    flex: 0 0 420px !important;
    width: 420px !important;
    max-width: 420px !important;
    margin-right: 40px !important;
}

.timeline-row .et_pb_image_wrap {
    position: relative;
    z-index: 2; 
}

.timeline-row .et_pb_image_wrap::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 100%; 
    width: 420px; /* Šířka linky mezi boxy */
    
    /* Zvětšíme výšku linky na 3px, aby odpovídala velikosti teček */
    height: 3px; 
    
    /* Větší 3px tečky: zvětšíme středový kruh a upravujeme velikost pozadí */
    background-image: radial-gradient(circle, #EFE6D1 1.5px, transparent 1.6px);
    background-position: left center;
    /* První číslo (12px) určuje celkový rozestup od středu jedné tečky ke druhé */
    background-size: 12px 3px; 
    background-repeat: repeat-x;
    
    pointer-events: none;
    z-index: -1;
}
/* Najde poslední sloupec v řádku a skryje jeho tečkovanou linku */
.timeline-row .et_pb_column:last-of-type .et_pb_image_wrap::after {
    display: none !important;
}
/* timeline */


/* Blog */
.blog-latest .et_pb_post {
    position: relative;
    max-height: 520px;
    border-radius: 12px;
    border: 0;
    padding: 32px;
}
.blog-latest .et_pb_post .et_pb_image_container > a::after {
    content: '';
    position: absolute;
    background: url(/wp-content/uploads/2026/07/post_button.svg);
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    top: 16px;
    right: 16px;
}
.blog-latest .et_pb_post .et_pb_image_container { 
    margin: -32px -32px 0;
}
.blog-latest .et_pb_post a {
    margin-bottom: 0;
}
.blog-latest .et_pb_post h2 { 
    position: absolute;
    bottom: 72px;    
    width: calc(100% - 64px);
}
.blog-latest .et_pb_post .post-meta {
    display: none;
}
.blog-latest .et_pb_post .post-content {
    position: absolute;
    bottom: 32px!important;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;    
    width: calc(100% - 64px);
}
.blog-latest .et_pb_post p {
    color: #fff;
}

@media (max-width: 980px) { 
    .blog-latest .et_pb_blog_posts {
        --column-count: 1!important;
    }
    .blog-latest .post-content {
        /* display: none!important; */
    }
    /* Zajistíme, aby kontejner i odkaz držely pevnou výšku */
    .blog-latest .et_pb_image_container,
    .blog-latest .entry-featured-image-url {
        display: block !important;
        height: 520px !important;
        overflow: hidden !important;
    }

    /* Donutíme samotný obrázek vyplnit 100 % výšky i šířky rodiče bez deformace */
    .blog-latest .entry-featured-image-url img {
        width: 100% !important;
        height: 100% !important; /* Vyplní celých 520px obalu */
        object-fit: cover !important; /* Inteligentní ořez jako na desktopu */
        object-position: center !important; /* Střed obrázku zůstane vycentrovaný */
        border-radius: 12px !important;
    }
}
/* Blog */


/* Articles & Posts */
.et_pb_text_inner ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0;
}

.et_pb_text_inner ul li {
    position: relative;
    padding-left: 28px !important; 
    margin-bottom: 8px;
    line-height: 1.5;
}

.et_pb_text_inner ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px; 
    
    width: 18px;
    height: 18px;
    
    background-image: url(/wp-content/uploads/2026/07/check.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.article-gallery .et_overlay {

}
/* Zacílíme na samotné obrázky uvnitř galerie */
.article-gallery img {
    width: 100% !important;
    height: auto !important; /* Reset případné fixní výšky z Divi */
    
    /* Vynutí poměr stran 1:1 (dokonalý čtverec) */
    aspect-ratio: 1 / 1 !important; 
    
    /* Chová se jako background-size: cover - obrázek vyplní čtverec a ořízne se */
    object-fit: cover !important; 
    
    /* Vycentrování ořezu (střed obrázku zůstane vždy viditelný) */
    object-position: center !important; 
}

/* Pokud máš na obrázcích ty pěkné kulaté rohy, které vidím na snímku: */
.article-gallery .et_pb_gallery_item, /* nebo přímý obal obrázku */
.article-gallery img {
    border-radius: 12px !important; /* Uprav poloměr podle Figmy */
    overflow: hidden !important;
}
/* Articles & Posts */

/* Footer */ 
.footer-contact > div {
    padding-left: 0;
    margin-left: 0!important;
}
.footer-contact .et_pb_main_blurb_image {
    vertical-align: middle !important;
}
.footer-contact .et_pb_main_blurb_image > span {
    width: 48px!important;
}
.footer-contact .et_pb_module_header {
    padding-bottom: 0;
}

.footer-contact-form {
    letter-spacing: -2%;
}
.footer-contact-form h3 {
    letter-spacing: -4%;
    padding-bottom: 0;
}
.footer-contact-form form > div {
    --vertical-gap: 8px;
}
.footer-contact-form .et_pb_contact_form_label {
    display: block;
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 0;
    font-weight: 400;
    color: #101604!important;
}
.footer-contact-form .et_contact_bottom_container {
    margin-left: 0!important;
    margin-right: auto!important;
}
.footer-contact-form button {
    background-color: #4B9A34!important;
    border: 0!important;
    border-radius: 32px!important;
    padding: 8px 30px !important;
    color: #fff!important;
    font-size: 18px;
    line-height: 24px;
    font-weight: normal;
    letter-spacing: -2%;
    margin: 0;
}
.footer-contact-form button:after {
    display: none!important;
}
