/*
Theme Name: Kadence Child (Turnus111 Modern)
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Filip Kalina
Description: Modernized child theme for shifts schedules and departure tables.
Version: 2.1.1
Updated: 2026-06-03
*/

/* #region >>>>>> GLOBÁLNÍ PROMĚNNÉ A ZÁKLAD <<<<<< */
:root {
    --color-primary: #35719d;
    --color-primary-hover: #9dd0f5;
    --color-bg-light: #e1f4fb;
    --color-border: #ccd0d4;
    --color-alert: #F35522;
    --color-green: #388338;
    --color-green-bg: #f4fbf4;
    --shadow-soft: 0 4px 6px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.1);
    --shadow-button: 0 2px 4px rgba(0, 0, 0, 0.15);
    --radius-sm: 4px;
    --radius-md: 8px;
}

.note_color_jfk { color: var(--color-alert); }
.small_font_jfk { font-size: 0.85rem; color: #666; margin-bottom: 8px; font-style: italic; }
.home #primary.content-area { margin-top: 10px !important; }

.shift_wrap { padding: 10px 0; margin: 5px 0; }
.line_heiht_jfk { line-height: 1.3; margin: 15px 0; }
.line_heiht_jfk > p { padding: 4px 0; margin: 0 0 8px 0; }
/* #endregion */


/* #region >>>>>> RESPONZIVNÍ OBRÁZKY (TABULKY) <<<<<< */
.image_container_jfk {
    display: block;
    margin: 15px auto;
    text-align: center;
    max-width: 100%;
}

.main_img_box {
    display: block;
    margin: 0 auto;
    width: 96%;          /* Optimalizace pro mobil ke krajům */
    max-width: 500px;    /* Výchozí strop pro mobilní náhled */
    height: auto;
    border-radius: 0;    /* Ostré rohy dle přání */
    box-shadow: var(--shadow-soft);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.main_img_box:hover {
    transform: scale(1.015);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}

/* Desktop zlom pro velké obrázky (BIG verze) */
@media (min-width: 1001px) {
    .main_img_box {
        width: 100%;
        max-width: 1100px; 
    }
}
/* #endregion */


/* #region >>>>>> MENU A TLAČÍTKA <<<<<< */
.menu_jfk {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 15px 0;
}

.button_jfk, .button_jfk_druheMenu, .button_jfk_zobraz_vse, .button_jfk_skryt {
    display: inline-block;
    padding: 8px 14px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    border: 1px solid #777;
    border-radius: var(--radius-sm);
    background: var(--color-bg-light);
    color: var(--color-primary);
    box-shadow: var(--shadow-button);
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s ease;
}

.button_jfk a, .button_jfk_druheMenu a, .button_jfk_zobraz_vse a, .button_jfk_skryt a {
    color: inherit;
    text-decoration: none;
}

.button_jfk:hover, .button_jfk_druheMenu:hover, .button_jfk_zobraz_vse:hover, .button_jfk_skryt:hover,
.button_jfk:hover a, .button_jfk_druheMenu:hover a, .button_jfk_zobraz_vse:hover a, .button_jfk_skryt:hover a {
    background: var(--color-primary-hover);
    color: #fff !important;
    border-color: var(--color-primary);
}

.button_jfk { width: auto; min-width: 60px; float: none; }
#show { color: #a52a2a !important; }
#show:hover { color: #fff !important; }

.hidden_label {
    font-weight: bold;
    color: var(--color-alert);
    margin: 15px 0;
    padding: 8px;
    border-left: 4px solid var(--color-alert);
    background: #fff5f2;
}
/* #endregion */


/* #region >>>>>> HARMONIKA (ACCORDION) <<<<<< */
.accordion {
    background-color: var(--color-green-bg);
    color: var(--color-green) !important;
    cursor: pointer;
    padding: 12px;
    width: 100%;
    border: 1px solid rgba(56, 131, 56, 0.2);
    border-radius: var(--radius-sm);
    text-align: left;
    outline: none;
    font-weight: bold;
    transition: 0.3s;
    font-size: 13px;
    user-select: none;
}
.accordion:hover { background-color: rgba(56, 131, 56, 0.1); }

.panel {
    padding: 0 15px;
    background-color: white;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    border-left: 3px solid var(--color-green);
    margin-bottom: 10px;
    font-size: 13px;
}
.panel p { margin-top: 2px !important; margin-bottom: 2px !important; }
/* #endregion */


/* #region >>>>>> JFK LIGHTBOX <<<<<< */
.jfk-lightbox-overlay {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
    display: flex; justify-content: center; align-items: center;
    z-index: 999999; opacity: 0; pointer-events: none;
    transition: opacity 0.3s ease; cursor: pointer;
}
.jfk-lightbox-overlay.is-active { opacity: 1; pointer-events: auto; }

.jfk-lightbox-image {
    max-width: 90vw; max-height: 85vh;
    object-fit: contain;
    border-radius: 2px !important; /* Malé zaoblení nesmaže text v rozích tabulky */
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.5);
    transform: scale(0.95);
    transition: transform 0.3s ease;
}
.jfk-lightbox-overlay.is-active .jfk-lightbox-image { transform: scale(1); }

.jfk-lightbox-close {
    position: absolute; top: 20px; right: 25px;
    color: #fff; font-size: 35px; font-weight: bold; line-height: 1;
    cursor: pointer; user-select: none; transition: transform 0.2s ease;
}
.jfk-lightbox-close:hover { transform: scale(1.1); }
/* #endregion */


/* #region >>>>>> HLAVNÍ NAVIGACE KADENCE <<<<<< */
#primary-menu.menu {
    display: flex; align-items: center;
    background-color: var(--color-primary);
    padding: 6px 5px; border-radius: 30px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.08);
    list-style: none; margin: 0;
}
#primary-menu li.menu-item { margin: 0 4px !important; padding: 0 !important; position: relative; }
#primary-menu li.menu-item > a {
    display: flex; align-items: center;
    font-size: 16px !important; font-weight: 600; letter-spacing: 0.5px;
    color: #ffffff !important; padding: 8px 14px !important;
    border-radius: 20px; text-decoration: none; transition: all 0.25s ease-in-out;
}
#primary-menu .dropdown-nav-toggle { display: none !important; }
#primary-menu li.menu-item > a:hover { background-color: rgba(255, 255, 255, 0.2); transform: translateY(-1px); }
#primary-menu li.current-menu-item > a, #primary-menu li.current_page_item > a {
    background-color: #ffffff !important; color: var(--color-primary) !important; box-shadow: var(--shadow-button);
}

/* Submenu desktop */
#primary-menu ul.sub-menu {
    position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
    background-color: var(--color-primary) !important; padding: 8px !important;
    border-radius: 16px !important; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important;
    min-width: 160px; list-style: none; margin: 0; z-index: 9999;
    border-top: 20px solid transparent !important; /* Neviditelný most proti mizení hoveru */
}
#primary-menu ul.sub-menu li.menu-item { margin: 4px 0 !important; }
#primary-menu ul.sub-menu li.menu-item > a { font-size: 14px !important; padding: 6px 14px !important; text-align: center; justify-content: center; border-radius: 12px; }
#primary-menu ul.sub-menu li.menu-item > a:hover { background-color: rgba(255, 255, 255, 0.2) !important; }

/* Mobilní navigace (do 1000px) */
@media (min-width: 1001px) {
    .site-header-main-section-right { margin-top: 39px !important; }
    .site-header-item-main-navigation { display: block !important; }
    .site-header-item-navgation-popup-toggle, #mobile-header { display: none !important; }
    #masthead #main-header { display: block !important; }
}

@media (max-width: 1000px) {
    #masthead #main-header { display: none !important; }
    #mobile-header, .site-header-item-navgation-popup-toggle { display: block !important; }

    .kadence-slide-init.opened, .slide-toggle-open .slide-container-bg, #mobile-drawer.opened {
        background-color: rgba(255, 255, 255, 0.2) !important;
        backdrop-filter: blur(15px) !important; -webkit-backdrop-filter: blur(15px) !important;
    }
    #mobile-drawer, .showing-popup-drawer-from-right #mobile-drawer, #mobile-drawer .drawer-inner, #mobile-drawer .drawer-inner .drawer-content {
        background: transparent !important; box-shadow: none !important;
    }
    #mobile-drawer .drawer-content {
        display: flex !important; flex-direction: column !important; justify-content: center !important;
        align-items: center !important; height: 100vh !important; padding: 40px 20px !important; box-sizing: border-box !important;
        width: 100% !important; /* Pojistka proti uhýbání obsahu */
    }
    .drawer-header {
        position: absolute !important;
        top: 65px !important;
        right: -10px !important;
        background: transparent !important;
        border: none !important;
        z-index: 99999 !important;
     }
    .drawer-header .menu-toggle-close { color: var(--color-primary) !important; }


    .drawer-header .menu-toggle-close .toggle-close-bar {
    height: 3px !important; /* Ztloustnutí čar z původních 2px na 3px (pro ještě hrubší dej 4px) */
    background-color: var(--color-primary) !important; /* Pojistka pro výraznou barvu */
}

    .mobile-navigation, .mobile-navigation ul.menu { width: 100% !important; }
    .mobile-navigation ul.menu { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; padding: 0 !important; margin: 0 !important; gap: 16px !important; }
    
    .mobile-navigation ul.menu li.menu-item { 
        width: 100% !important; 
        padding: 0 !important; /* Vynulování paddingů, aby menu nebylo posunuté doprava */
        box-sizing: border-box !important; 
        text-align: center !important; 
        margin: 0 !important; 
    }

    /* Hlavní mobilní položky: přidán větší pravý padding (45px) pro šipku a jemně zmenšen font na 15px */
    .mobile-navigation ul.menu li.menu-item > a, .mobile-navigation ul.menu li.menu-item .drawer-nav-drop-wrap {
        background-color: var(--color-primary) !important; border-radius: 30px !important;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12) !important; box-sizing: border-box !important;
        transition: all 0.2s ease; display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; 
        padding: 13px 45px 13px 20px !important;
        color: #ffffff !important; font-size: 15px !important; font-weight: 600; text-decoration: none !important;
    }
    
    /* Submenu položky – zachován klasický padding */
    .mobile-navigation ul.menu ul.sub-menu li.menu-item > a {
        background-color: var(--color-primary) !important; border-radius: 25px !important;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important; padding: 10px 16px !important; font-size: 14px !important;
    }
    
    .mobile-navigation ul.menu li.menu-item .drawer-nav-drop-wrap { justify-content: center !important; position: relative !important; }
    .mobile-navigation ul.menu li.menu-item .drawer-nav-drop-wrap > a { background: transparent !important; box-shadow: none !important; padding: 0 !important; display: inline-flex !important; width: auto !important; }
    
    /* Přesné napozicování rozbalovací šipky na pravý okraj bez zasahování do textu */
    .mobile-navigation ul.menu li.menu-item .drawer-nav-drop-wrap .drawer-sub-toggle { 
        position: absolute !important; 
        right: 15px !important; 
        top: 50% !important;
        transform: translateY(-50%) !important;
        color: #ffffff !important; 
        padding: 0 !important; 
        margin: 0 !important; 
        background: transparent !important; 
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Aktivní stavy mobilního menu */
    .mobile-navigation ul.menu li.current-menu-item > a, .mobile-navigation ul.menu li.current_page_item > a, .mobile-navigation ul.menu li.current-menu-item .drawer-nav-drop-wrap, .mobile-navigation ul.menu ul.sub-menu li.current-menu-item > a, .mobile-navigation ul.menu ul.sub-menu li.current_page_item > a {
        background-color: #ffffff !important; color: var(--color-primary) !important; border: 2px solid var(--color-primary) !important;
    }
    .mobile-navigation ul.menu li.current-menu-item .drawer-nav-drop-wrap > a, .mobile-navigation ul.menu li.current-menu-item .drawer-nav-drop-wrap .drawer-sub-toggle { color: var(--color-primary) !important; }

    .mobile-navigation ul.menu ul.sub-menu { display: none !important; margin: 0 !important; list-style: none; padding: 0 !important; }
    .mobile-navigation ul.menu li.menu-item-has-children .drawer-nav-drop-wrap .drawer-sub-toggle[aria-expanded="true"] + ul.sub-menu,
    .mobile-navigation ul.menu ul.sub-menu.show-drawer.active { display: flex !important; flex-direction: column !important; align-items: center !important; padding: 12px 0 0 0 !important; gap: 10px !important; }
    .mobile-navigation ul.menu ul.sub-menu.show-drawer.active:not(.pop-animated) { display: none !important; }
    .mobile-navigation ul.menu ul.sub-menu li.menu-item { padding: 0 30px !important; }
}

@media (max-width: 500px) { .site-branding .custom-logo { max-width: 140px !important; height: auto !important; } }
@media (max-width: 430px) { .site-branding .custom-logo { max-width: 110px !important; } }
/* #endregion */


/* #region >>>>>> LOGIKA BLIKÁNÍ NADPISŮ (PO KLIKU) <<<<<< */
/* Třída přidávaná JavaScriptem na prvek strong při kliku v menu TD */
.jfk-blink-active,
.jfk-blink-active span {
    color: #bb3a0f !important; /* Změní barvu nápisu i vnořených poznámek na oranžovou */
    animation: jfk-blink-headline 0.4s ease-in-out 4; /* Krátce 4x rychle zabliká */
}

/* Definice animace blikání */
@keyframes jfk-blink-headline {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.1; }
}

/* Styl pro aktivní/vybrané tlačítko filtru regionů */
.button_jfk_druheMenu.jfk-filter-active {
    border: 1px solid #d32f2f !important; /* Výrazné červené orámování */
    background-color: rgba(211, 47, 47, 0.05) !important; /* Jemný červený nádech na pozadí */
    box-shadow: 0 0 5px rgba(211, 47, 47, 0.4); /* Lehká záře okolo tlačítka */
    font-weight: bold;
    color: #d32f2f !important; /* Tmavě červená barva textu pro skvělou čitelnost */
}
/* #endregion */


/* #region >>>>>> skryje odkaz na registraci na login formu <<<<<< */
/* Skryje odkaz na registraci pod přihlašovacím formulářem WP Everest */
.user-registration .user-registration-register[data-field="registration-setting"] {
    display: none !important;
}
/* #endregion */


/* #region >>>>>> stylování velkých tlačítek pro primární menu, turnus sekci <<<<<< */
/* Kontejner pro tlačítka - obstará flexibilitu a mezery */
.turnus-menu-container {
    display: flex;
    flex-direction: column;
    gap: 16px; /* Mezera mezi tlačítky */
    margin: 25px 0;
    width: 100%;
}

/* Základní styl velkého tlačítka / karty */
.turnus-menu-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #365f93; /* Tmavé turnusové pozadí */
    border: 1px solid #333333; /* Jemný rámeček */
    border-radius: 8px; /* Mírně zaoblené rohy po vzoru simplexů */
    padding: 18px 24px;
    text-decoration: none !important; /* Zruší podtržení odkazu */
    transition: all 0.25s ease-in-out; /* Hladký přechod pro hover efekt */
}

/* Hlavní velký text v tlačítku */
.turnus-menu-title {
    color: #ffffff; /* Bílé texty */
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 4px;
}

/* Menší doplňující popisek pod hlavním textem */
.turnus-menu-desc {
    color: #aaaaaa; /* Šedivý jemný popisek */
    font-size: 0.9rem;
    font-weight: 400;
}

/* Hover efekt - co se stane, když na tlačítko najedeš myší */
.turnus-menu-btn:hover {
    background-color: #365f93; /* Mírné zesvětlení pozadí */
    border-color: #0073aa; /* Zde můžeš dát akcentní barvu turnusu (např. modrou/oranžovou) */
    transform: translateY(-2px); /* Tlačítko se jakoby lehce nadzvedne */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); /* Jemný stín pod tlačítkem */
}

/* Responzivita: Od tabletů a počítačů výše se tlačítka naskládají do mřížky */
@media (min-width: 768px) {
    .turnus-menu-container {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 20px;
    }
}
/* #endregion */


/* #region >>>>>> empty <<<<<< */
/* #endregion */