/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.9.18
Updated: 2026-08-11 18:48:52

*/
@font-face {
    font-family: 'Czechia Sans';
    src: local('Czechia Sans Bold'), local('CzechiaSans-Bold'),
        url('assets/fonts/CzechiaSans-Bold.woff2') format('woff2'),
        url('assets/fonts/CzechiaSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Czechia Sans';
    src: local('Czechia Sans Italic'), local('CzechiaSans-Italic'),
        url('assets/fonts/CzechiaSans-Italic.woff2') format('woff2'),
        url('assets/fonts/CzechiaSans-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Czechia Sans';
    src: local('Czechia Sans Medium'), local('CzechiaSans-Medium'),
        url('assets/fonts/CzechiaSans-Medium.woff2') format('woff2'),
        url('assets/fonts/CzechiaSans-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Czechia Sans';
    src: local('Czechia Sans Regular'), local('CzechiaSans-Regular'),
        url('assets/fonts/CzechiaSans-Regular.woff2') format('woff2'),
        url('assets/fonts/CzechiaSans-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* ── Globální font override – přepíše Elementor i vše ostatní ─────────────── */

/* 1. Elementor CSS custom properties (global typography) */
:root {
    --e-global-typography-primary-font-family: 'Czechia Sans';
    --e-global-typography-secondary-font-family: 'Czechia Sans';
    --e-global-typography-text-font-family: 'Czechia Sans';
    --e-global-typography-accent-font-family: 'Czechia Sans';
}

/* 2. Univerzální override – pokryje i inline styly z Elementoru */
*,
*::before,
*::after {
    font-family: 'Czechia Sans', sans-serif !important;
}

@media all and (max-width:767px){
    .elementor-kit-6 h1{
        font-size: 48px !important;
        line-height: 120% !important;
        letter-spacing:-2%;
    }
    .elementor-kit-6 h2{
        font-size: 36px !important;
        line-height: 120% !important;
    }
}

a, button{
    transition: all 0.35s ease;
}
.label{
    background:#fff;
    border-radius: 12px !important;
    padding:4px 12px !important;

    color:#001554;
    font-size: 14px;
    line-height: 120%;
    font-weight: 500;
    text-transform:uppercase;
}
.button-primary,
.elementor .button-primary.e-button-base{
    border-radius: 12px !important;
    background-color: #00469B !important;
    color:#fff !important;
}
.button-primary:hover,
.elementor .button-primary.e-button-base:hover{
    background-color: #0C1838 !important;
}
.button-secondary,
.elementor .button-secondary.e-button-base{
    border-radius: 12px !important;
    background-color: #D70C0F !important;
    color:#fff !important;
}
.button-secondary:hover,
.elementor .button-secondary.e-button-base:hover{
    background-color: #fff !important;
    color: #D70C0F !important;
}
.hoverUnderline:hover{
    text-decoration:underline;
}
.boxHover{
    cursor:pointer;
}
.boxHover:hover{
    box-shadow: 5px 5px 25px 3px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 5px 5px 25px 3px rgba(0, 0, 0, 0.3);
}
.akordeon .e-n-accordion-item-title-icon{
    background: #FBE6E7;
    border-radius: 12px;
    width: 36px !important;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.akordeon details[open] summary.e-n-accordion-item-title{
    border-radius: 20px 20px 0 0 !important;
}
.cervenyListStyle{
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: #D70C0F1A;
    display:flex;
    align-items: center;
    justify-content: center;

    color: #D70C0F;
    font-weight: 500;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: -1%;

    flex-shrink: 0;
    flex-grow: 0;
}
@media all and (max-width:767px){
    .cervenyListStyle{
        width: 40px;
        height: 40px;
        font-size: 18px;
        letter-spacing: -2%;
    }
}

.elementor-custom-embed-image-overlay,
.elementor-video{
    border-radius: 24px;
}
.elementor-custom-embed-play{
    inset-block-start: calc(100% - 70px) !important;
    inset-inline-start: 28px !important;
    transform: none !important;
}
.elementor-custom-embed-play svg{
    width: 48px !important;
    height: 48px !important;
    opacity: 1 !important;
}
.elementor-custom-embed-image-overlay:hover svg{
    transform: scale(1.12) !important;
}

/* ---------------------- HEADER ---------------------- */

.site-header{
    flex-direction: column;
    padding:0px;
    max-width: 100% !important;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 9998;
    background: #fff;
    transition: transform 0.35s ease;
    /* Pozn.: záměrně BEZ will-change: transform – ta by (stejně jako aktivní
       transform) vytvořila nový containing block pro position:fixed potomky
       (nav.site-navigation v mobilním menu) a rozbila jeho fixed pozicování. */
}
/* Skryté při scrollu dolů, zpět po scrollu nahoru (i na mobilu) */
.site-header.site-header--hidden{
    transform: translateY(-100%);
}
/* Během otevřeného mobilního menu header vždy zůstává vidět.
   Pozn.: musí to být "none", ne "translateY(0)" – jakákoli hodnota transform
   jiná než none vytváří nový containing block pro position:fixed potomky
   (nav.site-navigation), což by rozbilo jeho fixed pozicování na mobilu. */
.site-header.menu-open{
    transform: none !important;
}
.site-branding{
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center;
    padding:8px 24px 8px 24px;
    max-width: 100%;
    width: 1320px;
}
.site-branding .socials{
    display: flex;
    gap: 24px;
    align-items: center;
}
.site-branding .socials a:hover{
    opacity:0.7;
}
nav.site-navigation{
    background: #00469B;
    justify-content: center;
    max-width: 100%;
    width:100%;
}
nav.site-navigation a{
    color: #fff;
    font-weight: 500;
    padding:16px 14px !important;
    font-size: 16px;
}
nav.site-navigation a:hover,
nav.site-navigation li.current_page_item a{
    text-decoration:underline;
}

/* ---- Burger button (vždy hidden na desktopu) ---- */
.site-branding-right {
    display: flex;
    align-items: center;
    gap: 16px;
}
.burger-btn {
    display: none;
    background: none;
    border: 1px solid #00469B;
    border-radius: 100% !important;
    background-color: transparent !important;
    cursor: pointer;
    padding: 0 !important;
    width: 36px;
    height: 36px;
    color: #00469B !important;
    align-items: center;
    justify-content: center;
    line-height: 0;
    flex-shrink: 0;
}
.burger-btn .icon-close {
    display: none;
}
.burger-btn .icon-burger {
    display: block;
}

/* ---- Responzivní menu (mobil + tablet) ---- */
@media (max-width: 1023px) {

    /* Zobrazit burger tlačítko */
    .burger-btn {
        display: flex;
    }

    /* Skrýt desktopovou navigaci */
    nav.site-navigation {
        display: none !important;
    }

    /* Site-branding zůstane nad overlayem */
    .site-branding {
        position: relative;
        z-index: 10000;
        background: #fff;
    }

    /* Otevřený stav – nav jako fullscreen overlay pod brandingem */
    .site-header.menu-open nav.site-navigation {
        display: flex !important;
        position: fixed;
        top: var(--ctu-header-h, 60px);
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9999;
        background: #00469B;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        padding: 0 24px;
        margin: 0;
    }

    /* ul – sloupec položek vertikálně vycentrovaný */
    .site-header.menu-open nav.site-navigation ul {
        display: flex !important;
        flex-direction: column;
        gap: 28px;
        list-style: none;
        padding: 0;
        margin: 0;
        width: 100%;
    }

    .site-header.menu-open nav.site-navigation li {
        padding: 0;
        margin: 0;
    }

    .site-header.menu-open nav.site-navigation a {
        font-size: 28px !important;
        font-weight: 500 !important;
        padding: 0 !important;
        line-height: 36px;
        display: block;
    }

    /* Přepínání ikon: burger ↔ křížek */
    .site-header.menu-open .burger-btn .icon-burger {
        display: none;
    }
    .site-header.menu-open .burger-btn .icon-close {
        display: block;
    }
}

@media all and (max-width:767px){
    .site-header{
        padding:0px !important;
    }
}

/* ---------- PŘISPĚVKY LOOP SHORTCODE -------------- */
.prispevky-wrapper {
    display: flex;
    gap: 19px;
    width: 100%;
}

.prispevek-box {
    position: relative;

    display: flex;
    flex: 1 1 0;
    height: 330px;
    justify-content: space-between;

    padding: 28px;
    box-sizing: border-box;

    overflow: hidden;
    border-radius: 20px;

    text-decoration: none;
    background: #fff;

    isolation: isolate;
}

/* Obrázek */
.prispevek-box::before {
    content: "";
    position: absolute;
    inset: 0;

    background-image: var(--prispevek-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    transform: scale(1);
    transition: transform 0.35s ease;

    z-index: -2;
}

/* Černý overlay */
.prispevek-box::after {
    content: "";
    position: absolute;
    inset: 0;

    background: rgba(0, 0, 0, 0.20);

    z-index: -1;
    transition: background 0.35s ease;
}
/* Hover – obrázek se zvětší o 5 % */
.prispevek-box:hover::before {
    transform: scale(1.05);
}

.prispevek-content {
    position: relative;
    z-index: 1;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    width: 100%;
    height: 100%;
}

.prispevek-kanal {
    font-weight: 500;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;
    color:#fff;
}

.prispevek-title {
    font-weight: 500;
    font-size: 28px;
    line-height: 100%;
    letter-spacing: -1%;
    color:#fff;
}

@media (max-width: 767px) {
    .prispevky-wrapper {
        flex-direction: column;
    }

    .prispevek-box {
        flex: none;
        width: 100%;
    }
}

/* ----------- FOOTER -------------- */
footer{
    background: #00469B;
    max-width: 100% !important;
    padding: 21px 0px;
    text-align: center;
    color: #fff;
    font-size: 14px;
    line-height: 120%;
    text-transform: uppercase;
    font-weight: 500;
}
footer a{
    color: #fff;
    font-size: 14px;
    line-height: 120%;
    text-transform: uppercase;
    font-weight: 500;
}
footer a:hover{
    color: #fff;
    text-decoration:underline;
}
/* ---------- PŘISPĚVKY – CAROUSEL MÓD (carousel="ano") -------------- */
.prispevky-carousel-wrap {
    position: relative;
}

.prispevky-carousel-wrap .prispevky-swiper {
    overflow: hidden;
}

.prispevky-carousel-wrap .swiper-slide.prispevek-slide {
    height: auto;
}

/* V carouselu šířku slidu řídí Swiper, box ji jen vyplní */
.prispevky-carousel-wrap .prispevek-box {
    flex: none;
    width: 100%;
}

/* Šipky – zarovnané k carouselu (základ dědí z .videa-nav-custom) */
.prispevky-carousel-wrap .videa-nav-custom.prispevky-nav {
    width: 100%;
    margin: 24px 0 0 0;
}

@media (max-width: 767px) {
    .prispevky-carousel-wrap .prispevek-box {
        width: 100%;
    }
}


/* ---------- PŘISPĚVKY – STYL 2 (styl="2") -------------- */
/* Vlastní stylování níže si upravte dle potřeby – styl 1 zůstává beze změny. */

.prispevky--styl2 .swiper-slide.prispevek-slide{
    display:flex;
}
.prispevek-box--styl2 {
    /* dědí základ z .prispevek-box */
    background: #FFFFFF0D;
    padding:40px;
    height:auto;
}

.prispevek-box--styl2 .prispevek-content {
    gap: 40px;
}
.prispevek-box--styl2 .button-secondary{
    align-self: flex-start !important;
}

.prispevek-text {
    color: #fff;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
}

.prispevek-btn {
    align-self: flex-start;
    display: inline-block;
    padding: 12px 20px;
    border-radius: 30px;
    background: #00469B;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 100%;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.prispevek-btn:hover {
    opacity: 0.85;
}

.prispevky-nav{
    width: auto !important;
    margin:0px !important;
}
.prispevky-nav-prev,
.prispevky-nav-next{
    background-color:#fff !important;
}


/* DFLIP override */
.df-popup-button{
    padding: 12px 24px 12px 24px;
    border-radius: 12px;
    background: #D70C0F;
    font-weight: 500;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0%;
    font-family: 'Czechia Sans', sans-serif;
    margin:0px;
    display: block;
    text-align: center;
}
.df-popup-button:hover{
    background-color: #fff;
    color: #D70C0F;
}