/*
Theme Name: LK Doubek FSE
Theme URI: https://lkdoubek.cz
Description: Full Site Editing šablona pro Lesní klub Doubek. Vychází z custom designu od Petra Chutného.
Author: Petr Chutny
Author URI: https://petrchutny.cz
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
Text Domain: lk-doubek-fse
*/

/*
 * Hlavní CSS styly pro komponenty, které nejsou snadno nastavené přes theme.json
 * nebo pro speciální CSS třídy z návrhu.
 */

/* Tlačítka - globální přepsání */
.wp-block-button__link {
    display: inline-block;
    padding: 0.8rem 1.5rem;
    border-radius: 30px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    text-decoration: none;
}

.wp-block-button__link:hover {
    transform: translateY(-2px);
}

/* Sekundární tlačítko (zjistit více) */
.wp-block-button__link.is-style-secondary,
.wp-block-button.is-style-secondary .wp-block-button__link {
    background-color: var(--wp--preset--color--secondary) !important;
    color: var(--wp--preset--color--white) !important;
}

.wp-block-button__link.is-style-secondary:hover,
.wp-block-button.is-style-secondary .wp-block-button__link:hover {
    background-color: #c06324 !important;
    color: var(--wp--preset--color--white) !important;
}

/* Primary Outline tlačítko (kontakt v menu) */
.wp-block-button__link.is-style-outline,
.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent;
    border-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--primary);
}

.wp-block-button__link.is-style-outline:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white) !important;
}

/* Hero Section Styles (pro případné použití třídy .custom-hero v Group bloku) */
.custom-hero {
    min-height: 90vh;
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.custom-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.5));
    z-index: 0;
}

.custom-hero-content {
    position: relative;
    z-index: 1;
    color: var(--wp--preset--color--white);
    max-width: 800px;
    padding: 0 1rem;
}

.custom-hero h1 {
    font-size: 3.5rem;
    margin-bottom: 1rem;
    color: var(--wp--preset--color--white);
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    font-weight: 600;
}

.custom-hero p {
    font-size: 1.5rem;
    margin-bottom: 2rem;
    font-weight: 300;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
    color: var(--wp--preset--color--white);
}

/* Program Card Styles (pro použití ve sloupci s třídou .program-card) */
.program-card {
    background: var(--wp--preset--color--white);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.program-card:hover {
    transform: translateY(-5px);
}

.program-image {
    height: 250px;
    background-size: cover;
    background-position: center;
}

.program-content {
    padding: 2rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.program-content h3 {
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--wp--preset--color--primary-dark);
}

.age-badge {
    background-color: var(--wp--preset--color--secondary-light);
    color: #ffffff !important;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 1rem;
    display: inline-block;
}

.doubek .age-badge {
    background-color: var(--wp--preset--color--primary);
}

/* Event Card Styles */
.event-card {
    background: var(--wp--preset--color--white);
    border: 1px solid #eee;
    padding: 1.5rem;
    border-radius: 8px;
    position: relative;
    transition: box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
}

.event-card:hover {
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.event-date {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    text-align: center;
    background: var(--wp--preset--color--light-bg);
    padding: 0.5rem;
    border-radius: 4px;
    border: 1px solid #ddd;
}

.event-date .day {
    display: block;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--wp--preset--color--primary);
    line-height: 1;
}

.event-date .month {
    display: block;
    font-size: 0.8rem;
    text-transform: uppercase;
    color: var(--wp--preset--color--gray-dark);
}

.event-details {
    padding-right: 4rem;
    margin-bottom: 1.5rem;
    flex-grow: 1;
    width: 100%;
}

.event-meta {
    font-size: 0.85rem;
    color: var(--wp--preset--color--secondary);
    margin-bottom: 0.5rem;
    font-weight: 600;
}

.event-title {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
    margin-top: 0;
}

.event-title a {
    color: var(--wp--preset--color--primary-dark);
    text-decoration: none;
}

.event-excerpt {
    font-size: 0.9rem;
    color: var(--wp--preset--color--gray-dark);
}

/* Gallery Grid Styles */
.gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    aspect-ratio: 1;
    display: block;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.gallery-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(46, 93, 50, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.gallery-overlay i {
    color: var(--wp--preset--color--white);
    font-size: 2rem;
}

.gallery-item:hover .gallery-overlay {
    opacity: 1;
}

.gallery-item:hover img {
    transform: scale(1.1);
}

/* =============================================================
   COVER BLOCKS – bílý text v překryvných sekcích
   ============================================================= */
.wp-block-cover h1.has-white-color,
.wp-block-cover h2.has-white-color,
.wp-block-cover p.has-white-color {
    color: #ffffff !important;
}

/* =============================================================
   MEZERY MEZI BLOKY – odstranění WordPress block gap na okrajích
   ============================================================= */

/* Hero – žádná mezera od headeru (WP aplikuje block gap na .wp-site-blocks > * + *) */
.wp-site-blocks > .wp-block-cover.custom-hero,
.wp-site-blocks > .wp-block-post-content,
.wp-block-cover.custom-hero {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}

/* CTA sekce – žádná mezera před patičkou */
.cta-section {
    margin-bottom: 0 !important;
    margin-block-end: 0 !important;
}

/* Footer template part wrapper – kam WP skutečně aplikuje margin */
footer.wp-block-template-part,
footer.wp-block-group.site-footer {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}

/* =============================================================
   STRÁNKY – padding obsahu nahoře a dole
   ============================================================= */
main.wp-block-group {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

/* Footer Specifics */
.site-footer h3 {
    color: var(--wp--preset--color--white);
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
    position: relative;
    padding-bottom: 0.5rem;
    font-weight: 600;
    border-bottom: 2px solid var(--wp--preset--color--secondary);
    display: inline-block;
}

.site-footer p,
.site-footer li {
    color: #ffffff;
}

.site-footer a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s;
}

.site-footer a:hover {
    color: var(--wp--preset--color--white);
    padding-left: 5px;
}

/* Rychlé odkazy – bez teček */
.footer-links {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.footer-links .wp-block-list-item::marker {
    display: none;
}

/* Sociální ikony – kulaté a vycentrované */
.social-icons {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
}

.social-icons.wp-block-social-links .wp-social-link {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,0.1);
    transition: background 0.3s;
}

.social-icons.wp-block-social-links .wp-social-link:hover {
    background: var(--wp--preset--color--primary) !important;
}

.social-icons.wp-block-social-links .wp-social-link a.wp-block-social-link-anchor {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.social-icons.wp-block-social-links .wp-social-link svg {
    width: 22px !important;
    height: 22px !important;
    fill: #ffffff !important;
    position: relative;
    top: 1px;
    left: 1px;
}

/* Facebook a Instagram – brandové barvy pozadí */
.social-icons.wp-block-social-links .wp-social-link-facebook {
    background-color: #1877F2 !important;
}

.social-icons.wp-block-social-links .wp-social-link-instagram {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important;
}

/* Kontakt – mezera mezi ikonkou a textem */
.site-footer p i.fas {
    margin-right: 0.6rem;
}

/* Header Sticky */
header.wp-block-template-part {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* Dropdown submenu – desktop */
@media (min-width: 861px) {
    .site-header .wp-block-navigation__submenu-container {
        margin-top: 0.75rem;
        border: 1px solid rgba(0, 0, 0, 0.08) !important;
        border-radius: 10px !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10) !important;
        padding: 0.4rem 0 !important;
    }

    /* Neviditelný most přes gap – zachová hover chain při pomalém přesunu myši */
    .site-header .wp-block-navigation__submenu-container::before {
        content: '';
        position: absolute;
        top: -0.75rem;
        left: 0;
        right: 0;
        height: 0.75rem;
    }

    /* Položky v dropdownu – výška a hover */
    .site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        padding-top: 0.65rem !important;
        padding-bottom: 0.65rem !important;
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }
    .site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
        background-color: var(--wp--preset--color--light-bg);
    }
}

/* Desktop nav (≥861px) – vynutit zobrazení navigace a skrýt hamburger */
@media (min-width: 861px) {
    .site-header .wp-block-navigation__responsive-container-open,
    .site-header .wp-block-navigation__responsive-container-close {
        display: none !important;
    }
    .site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: flex !important;
    }
}

/* Logo obrázek – nezmenšovat, ale text vedle něj se může zalamovat */
.site-header .wp-block-site-logo {
    flex-shrink: 0 !important;
}
.site-header .site-name-text {
    min-width: 0;
}

/* Nav položky – menší line-height aby se header neroztahoval při zalomení */
.site-header .wp-block-navigation-item__content {
    line-height: 1.2 !important;
}

/* "Navštivte nás" button – nezalamovat uprostřed slova */
.header-cta-btn .wp-block-button__link {
    word-break: keep-all;
    overflow-wrap: normal;
}

/* Admin bar – posun sticky headeru, aby nepřekrýval černou lištu WP */
.admin-bar header.wp-block-template-part,
.admin-bar .site-header {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    .admin-bar header.wp-block-template-part,
    .admin-bar .site-header {
        top: 46px !important;
    }
}


/* Site name text vedle loga */
.site-name-text {
    font-family: var(--wp--preset--font-family--heading) !important;
    font-weight: 600 !important;
    font-size: 1.25rem !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--wp--preset--color--primary) !important;
}

/* Logo group – menší mezera mezi logem a nápisem */
.site-header > .wp-block-group:first-child {
    gap: 0.5rem !important;
}

/* Override padding for main content if needed */
.wp-site-blocks {
    padding-top: 0;
}

/* =============================================================
   PROGRAM CARDS – oprava pro FSEColumns kontext
   ============================================================= */
.wp-block-column.program-card {
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
}

.wp-block-column.program-card:hover {
    transform: translateY(-5px);
}

.wp-block-column.program-card .program-content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/* Program features list – ikony */
.program-features {
    padding-left: 1.25rem;
}

.program-features li {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
    color: #666666;
    list-style: none;
}

.program-features li i {
    color: var(--wp--preset--color--secondary);
    margin-right: 0.5rem;
    flex-shrink: 0;
}

/* =============================================================
   EVENTS SECTION HEADER (nadpis vlevo + odkaz vpravo)
   ============================================================= */
.events-section .wp-block-group.alignwide {
    align-items: center;
}

.events-section .wp-block-group.alignwide .wp-block-heading {
    margin-bottom: 0;
}

/* =============================================================
   PLACEHOLDERY (Events + Gallery)
   ============================================================= */
.events-placeholder,
.gallery-placeholder {
    text-align: center;
}

.placeholder-label {
    margin-bottom: 0.75rem !important;
}

/* =============================================================
   RESPONZIVNÍ – MOBIL
   ============================================================= */
@media (max-width: 860px) {

    /* Boční padding pro obsah stránky */
    .wp-site-blocks {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }

    /* alignfull sekce přes celou šířku i na mobilu */
    .wp-block-group.alignfull,
    .wp-block-cover.alignfull {
        margin-left: -1.25rem !important;
        margin-right: -1.25rem !important;
        width: calc(100% + 2.5rem) !important;
        max-width: none !important;
    }

    .wp-block-columns.alignwide {
        flex-direction: column;
    }

    .custom-hero h1 {
        font-size: 2.5rem !important;
    }

    .cta-section .wp-block-heading {
        font-size: 2rem !important;
    }

    /* -------------------------------------------------------
       HEADER – paddingY a text u loga na mobilu
       ------------------------------------------------------- */
    .site-header {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }


    /* -------------------------------------------------------
       HEADER CTA – skrýt tlačítko "Navštivte nás" na mobilu
       (přesunuto do mobilního menu jako nav link)
       ------------------------------------------------------- */
    .header-cta-btn {
        display: none !important;
    }

    /* -------------------------------------------------------
       MOBILNÍ NAVIGACE (inspirováno Fit Plus)
       ------------------------------------------------------- */

    /* Vynutit hamburger a skrýt textové menu do 860px */
    .site-header .wp-block-navigation__responsive-container-open {
        display: flex !important;
    }
    .site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none !important;
    }

    /* Burger ikona – 3 čárky místo výchozích */
    .wp-block-navigation__responsive-container-open svg {
        display: none !important;
    }

    .wp-block-navigation__responsive-container-open {
        position: relative;
        width: 44px;
        height: 44px;
        background: transparent !important;
        border: none !important;
        cursor: pointer;
        padding: 0;
        flex-shrink: 0;
    }

    .wp-block-navigation__responsive-container-open::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 24px;
        height: 2px;
        background: var(--wp--preset--color--primary);
        box-shadow:
            0 -7px 0 var(--wp--preset--color--primary),
            0  7px 0 var(--wp--preset--color--primary);
        border-radius: 2px;
    }

    /* Křížek (zavřít menu) */
    .wp-block-navigation__responsive-container-close {
        top: 1.25rem !important;
        right: 1.25rem !important;
        position: absolute !important;
        padding: 0.5rem !important;
    }

    .wp-block-navigation__responsive-container-close svg {
        width: 28px !important;
        height: 28px !important;
        color: var(--wp--preset--color--primary) !important;
    }

    /* Otevřené mobilní menu – fullscreen overlay */
    .site-header .wp-block-navigation__responsive-container.is-menu-open {
        background: #ffffff !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: center !important;
        /* Přepis WP clamp-paddingu na symetrický */
        padding: 1rem !important;
    }

    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content {
        display: flex !important;
        flex-direction: column !important;
        /* Přepis --navigation-layout-justification-setting (WP nastaví flex-end kvůli right nav) */
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        padding: 3.5rem 0 2.5rem !important;
        text-align: center !important;
    }

    /* ul container – smazat browser-default padding-left */
    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0.1rem !important;
        width: 100% !important;
        padding-left: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    /* Každá položka nav */
    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container > .wp-block-navigation-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
    }

    /* Odkaz – Fraunces, velký, tučný */
    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item__content {
        font-family: var(--wp--preset--font-family--heading) !important;
        font-size: 1.5rem !important;
        font-weight: 700 !important;
        padding: 0.55rem 1.5rem !important;
        display: block !important;
        text-align: center !important;
        width: 100% !important;
        box-sizing: border-box !important;
        color: var(--wp--preset--color--primary-dark) !important;
        text-decoration: none !important;
    }

    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item__content:hover {
        color: var(--wp--preset--color--secondary) !important;
    }

    /* Navštivte nás – CTA styl v mobilním menu */
    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .navstivte-nas-link {
        display: flex !important;
        justify-content: center !important;
    }

    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .navstivte-nas-link .wp-block-navigation-item__content {
        background: var(--wp--preset--color--primary) !important;
        color: #ffffff !important;
        border-radius: 30px !important;
        padding: 0.65rem 2rem !important;
        margin-top: 0.75rem !important;
        width: auto !important;
        display: inline-block !important;
    }

    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .navstivte-nas-link .wp-block-navigation-item__content:hover {
        background: var(--wp--preset--color--primary-dark) !important;
        color: #ffffff !important;
    }

    /* Položky S potomky – toggle inline hned za textem */
    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container > .wp-block-navigation-item.has-child {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
    }

    /* Text v has-child – auto šířka, padding-right na 0 (mezera řešena na toggle) */
    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container > .wp-block-navigation-item.has-child
    > .wp-block-navigation-item__content {
        width: auto !important;
        display: inline-block !important;
        padding-right: 0 !important;
    }

    /* Toggle tlačítko (chevron) – inline za textem */
    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container
    > .wp-block-navigation-item.has-child
    > .wp-block-navigation-submenu__toggle {
        position: static !important;
        transform: none !important;
        width: auto !important;
        height: auto !important;
        border-radius: 0 !important;
        background: transparent !important;
        border: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer;
        flex-shrink: 0;
        padding: 2px 0 0 6px !important;
        color: var(--wp--preset--color--primary-dark) !important;
        opacity: 0.55;
    }

    /* Ikona zobáčku – jemná, ladí s barvou textu */
    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container
    > .wp-block-navigation-item.has-child
    > .wp-block-navigation-submenu__toggle svg {
        width: 18px !important;
        height: 18px !important;
        fill: var(--wp--preset--color--primary-dark) !important;
    }

    /* Submenu – skryté, zobrazí se po kliknutí */
    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container {
        display: none !important;
        position: static !important;
        box-shadow: none !important;
    }

    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item:has(
        .wp-block-navigation-submenu__toggle[aria-expanded="true"]
    )
    > .wp-block-navigation__submenu-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        flex-basis: 100% !important;
        width: 100% !important;
        background: rgba(0, 0, 0, 0.04);
        border-radius: 8px;
        padding: 0.4rem 0 !important;
        margin-top: 0.25rem;
    }

    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container .wp-block-navigation-item {
        width: 100%;
        display: flex !important;
        justify-content: center !important;
    }

    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        font-size: 1rem !important;
        font-weight: 600 !important;
        opacity: 0.75;
        padding: 0.4rem 1rem !important;
        text-align: center !important;
        display: block !important;
    }

    .site-header .wp-block-navigation-item.has-child
    .wp-block-navigation__submenu-icon {
        display: inline-flex !important;
        opacity: 0.7;
    }

    /* -------------------------------------------------------
       PROGRAMS KARTY – odsazení listu a tlačítka na mobilu
       ------------------------------------------------------- */

    /* Programs – seznam méně odsazený zleva */
    .wp-block-column.program-card .program-content > .wp-block-list {
        padding-left: 0.75rem !important;
    }

    /* Programs – tlačítka horizontálně uprostřed */
    .wp-block-column.program-card .program-content .wp-block-button {
        align-self: center !important;
        width: auto !important;
    }

    .wp-block-column.program-card .program-content .wp-block-button .wp-block-button__link {
        width: auto !important;
    }

    /* -------------------------------------------------------
       EVENTS SEKCE – „Co chystáme" + odkaz pod sebou na mobilu
       ------------------------------------------------------- */
    .has-light-bg-background-color > .wp-block-group:first-child {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.25rem !important;
    }
}

/* Testimonials na homepage – vertikální centrování karet v gridu */
.references-section .kt-testimonial-grid-wrap {
    align-items: center;
}

/* Kadence Testimonials – bubble styl, rámeček i šipka v primární zelené */
.kt-testimonial-style-bubble .kt-testimonial-text-wrap {
    border-color: var(--wp--preset--color--primary) !important;
}
.kt-testimonial-style-bubble .kt-testimonial-text-wrap:after {
    border-top-color: var(--wp--preset--color--primary) !important;
}

/* Desktop – "Navštivte nás" nav item skrýt (je zobrazen jako button) */
@media (min-width: 861px) {
    .navstivte-nas-link {
        display: none !important;
    }
}

/* Sekce Podporují nás – loga ve stejné výšce */
.sponsors-logos .wp-block-image {
    margin: 0;
}
.sponsors-logos .wp-block-image img {
    height: 109px;
    width: auto;
    max-width: 281px;
    object-fit: contain;
}

/* Dubínek section – na mobilu flex sloupec místo řádku */
@media (max-width: 600px) {
    .dubinek-section .wp-block-group.alignwide {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    .dubinek-section .wp-block-buttons {
        width: 100%;
    }
}

/* ── EventPrime – detail události (single-em_event) ── */

/* Název události – stejná velikost jako nadpis stránky */
.single-em_event #ep_single_event_title {
    font-size: 2.5rem;
    line-height: 1.2;
    margin-bottom: 0.5rem;
}

/* Export do kalendáře – tlačítko */
.lkd-cal-export-btn {
    background-color: var(--wp--preset--color--primary);
    border: 1px solid var(--wp--preset--color--primary);
    border-radius: 6px;
    padding: 6px 14px;
    transition: background-color 0.2s ease;
}
.lkd-cal-export-btn:hover {
    background-color: var(--wp--preset--color--primary-dark);
    border-color: var(--wp--preset--color--primary-dark);
}
.lkd-cal-export-label {
    font-size: 0.875rem;
    color: #ffffff;
    font-weight: 500;
    margin-right: 6px;
    white-space: nowrap;
}
.lkd-cal-export-icon {
    display: flex;
    align-items: center;
    color: #ffffff;
}
.lkd-cal-export-icon svg {
    fill: #ffffff !important;
}
/* Zrušit přebytečný padding nad tlačítkem exportu */
.single-em_event .ep-event-type-cal-section {
    margin-bottom: 0 !important;
}
.single-em_event .ep-event-type-cal-section .ep-box-col-8,
.single-em_event .ep-event-type-cal-section .ep-box-col-4 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.lkd-rsvp-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background-color: var(--wp--preset--color--secondary);
    border: 1px solid var(--wp--preset--color--secondary);
    border-radius: 6px;
    padding: 6px 14px;
    text-decoration: none;
    transition: background-color 0.2s ease;
}
.lkd-rsvp-btn:hover {
    background-color: #c4632a;
    border-color: #c4632a;
}

/* ── EventPrime – úpravy velikosti písma ve výpisu akcí ── */

/* Popis události */
.ep-box-list-desc {
    font-size: 0.975rem !important;
}

/* Venue / lokace */
.ep-mb-2.ep-text-muted.ep-text-truncate {
    font-size: 0.9rem !important;
}

/* Den a datum */
.ep-event-date {
    font-size: 1rem !important;
}

/* Typ akce */
.ep-text-warning.ep-text-uppercase.ep-fw-bold {
    font-size: 0.9rem !important;
}

/* Proběhlé události — méně výrazná sekce */
.ep-past-events-section .ep-box-shadow {
    box-shadow: none;
}
