/*
Theme Name: GeneratePress Child
Template: generatepress
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Serif+Pro:ital,wght@0,400;0,600;0,700;1,400&display=swap');

body, p, li, td, input, textarea, select {
    font-family: 'Inter', sans-serif;
}
/* Vyhlazování fontu jako na lokálu (jinak živý web renderuje subpixelově = jiný vzhled písma) */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Source Serif Pro', serif;
}
/* ============================================
   DENNÍ INFO – počasí + svátek nad Audio/Zpráva sekcí
   ============================================ */

.elisty-denni-info {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    color: #6b7a8d;
    padding: 4px 0 8px;
    flex-wrap: wrap;
    line-height: 1.4;
}

.elisty-denni-info .elisty-pocasi,
.elisty-denni-info .elisty-svarek {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.denni-info__oddelovac {
    color: #c0c8d2;
    font-size: 0.85rem;
    margin: 0 0.25rem;
    user-select: none;
}

.elisty-denni-info strong {
    color: #3d4f63;
    font-weight: 600;
}

/* ============================================
   HERO SEKCE – overlay gradienty
   ============================================ */

/* Nulovat WP výchozí margin-bottom na hero bloku + prázdný odstavec za ním – desktop */
body.home .homepage-hero {
    margin-bottom: 0 !important;
}
body.home .entry-content > p.wp-block-paragraph {
    margin: 0 !important;
    padding: 0 !important;
}

/* FIX child theme: na živém webu dostaly hero karty navíc margin-bottom: 34px
   (globální block-gap, který lokál nemá) → pravý sloupec se roztáhl na 488px
   místo 420px a sloupce nelícovaly. Vynulováním je vše zpět 420px jako na lokálu. */
.homepage-hero .hero-main-card,
.homepage-hero .hero-side-card {
    margin-bottom: 0 !important;
}

.hero-main-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.45) 40%, rgba(0,0,0,0.05) 100%);
    z-index: 1;
    pointer-events: none;
}

.hero-side-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.3) 45%, transparent 100%);
    z-index: 1;
    pointer-events: none;
}

/* Hero – KOMPAKTNÍ textový blok ukotvený ke spodní hraně karty.
   GenerateBlocks vkládá titulku inline margin-top: 150px → text visel uprostřed obrázku.
   Řešení: margin-top: auto přitlačí blok dolů + zmenšení titulku, mezer a perexu (na 2 řádky),
   aby byl blok nižší a titulek seděl v dolní třetině (~70 % výšky). Nemění výšku karty (420px). */
.hero-main-card .gb-text-ae9468df {
    margin-top: auto !important;
    font-size: 30px !important;
    line-height: 37px !important;
    margin-bottom: 6px !important;
}

.hero-main-card .gb-text-d7d48d93 {   /* datum */
    margin-bottom: 8px !important;
}

/* Malá mezera dole. Padding řešíme na KARTĚ, ne na perexu (perex má padding-bottom: 0 kvůli line-clamp). */
.hero-main-card {
    padding-bottom: 22px !important;
    box-sizing: border-box;
}

/* Perex v hlavní hero kartě – kompaktní, max. 2 řádky.
   padding-bottom: 0 nutné – Chrome bug: line-clamp nefunguje s nenulovým padding-bottom */
.gb-text-9ae5ee55 {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-size: 15px !important;
    line-height: 22px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.gb-text-ae9468df a,
.gb-text-735fa162 a {
    color: #ffffff !important;
    text-decoration: none;
}


/* ============================================
   VÝKLADNÍ SKŘÍŇ RUBRIK – [elisty_vitrina]
   ============================================ */

.vitrina-wrapper {
    display: flex;
    gap: 12px;
    padding: 40px 0 24px 0;
    overflow-x: auto;
}


.vitrina-sloupec {
    flex: 1;
    min-width: 120px;
    background: #f5f5f5;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 2px solid transparent;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.vitrina-dnes {
    border-color: #D63031;
    box-shadow: 0 4px 16px rgba(214, 48, 49, 0.15);
    background: #fff;
}

.vitrina-rubrika-label {
    background: #1D2D44;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 8px;
    gap: 4px;
}

.vitrina-dnes .vitrina-rubrika-label {
    background: #D63031;
}

.vitrina-den {
    font-size: 11px;
    font-weight: 400;
    opacity: 0.85;
    white-space: nowrap;
    flex-shrink: 0;
}

.vitrina-dnes-tag {
    font-style: italic;
    opacity: 0.9;
}

.vitrina-nazev {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: right;
}

.vitrina-img-wrap {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.vitrina-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}

.vitrina-sloupec:hover .vitrina-img-wrap img {
    transform: scale(1.04);
}

.vitrina-no-img {
    aspect-ratio: 4 / 3;
    background: #ddd;
}

.vitrina-text {
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.vitrina-titulek {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    color: #1D2D44;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.vitrina-titulek:hover {
    color: #D63031;
}

.vitrina-datum {
    font-size: 11px;
    color: #888;
    margin-top: auto;
}

.vitrina-druhy {
    border-top: 1px solid #e0e0e0;
    background: #efefef;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.vitrina-dnes .vitrina-druhy {
    border-top-color: rgba(214, 48, 49, 0.25);
    background: #fdf0f0;
}

.vitrina-druhy-titulek {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    color: #444;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.vitrina-druhy-titulek:hover {
    color: #D63031;
}

.vitrina-druhy-datum {
    font-size: 10px;
    color: #999;
    font-weight: 400;
    margin-top: auto;
}

@media (max-width: 768px) {
    .vitrina-wrapper {
        flex-wrap: nowrap;
        padding-bottom: 12px;
    }
    .vitrina-sloupec {
        min-width: 140px;
    }
}


/* ============================================
   YOUTUBE SEKCE – [elisty_youtube]
   ============================================ */

.yt-wrapper {
    padding: 24px 0;
    max-width: 100%;
}

.yt-facade {
    position: relative;
    width: 100%;
    cursor: pointer;
    border-radius: 8px;
    overflow: hidden;
    background: #000;
}

.yt-thumb {
    width: 100%;
    display: block;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: opacity 0.3s;
}

.yt-facade:hover .yt-thumb {
    opacity: 0.85;
}

.yt-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    width: 68px;
    height: 48px;
    transition: transform 0.2s;
}

.yt-facade:hover .yt-play {
    transform: translate(-50%, -50%) scale(1.1);
}

.yt-play-bg {
    fill: #ff0000;
    fill-opacity: 0.9;
}

.yt-play-arrow {
    fill: #fff;
}

.yt-buttons {
    display: flex;
    gap: 12px;
    margin-top: 12px;
    align-items: center;
}

.yt-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
    border: 2px solid transparent;
    line-height: 1.4;
}

.yt-btn-subscribe {
    background: #D63031;
    color: #fff;
    border-color: #D63031;
}

.yt-btn-subscribe:hover {
    background: #B71C1C;
    border-color: #B71C1C;
    color: #fff;
}

.yt-btn-visit {
    background: transparent;
    color: #D63031;
    border-color: #D63031;
}

.yt-btn-visit:hover {
    background: #D63031;
    border-color: #D63031;
    color: #fff;
}

.yt-btn-dalsi {
    background: #1D2D44;
    color: #fff;
    border-color: #1D2D44;
}

.yt-btn-dalsi:hover {
    background: #D63031;
    border-color: #D63031;
    color: #fff;
}

.yt-subscribers {
    font-size: 12px;
    font-weight: 400;
    color: #888;
    white-space: nowrap;
}

.yt-chyba {
    color: #888;
    font-size: 13px;
}


/* ============================================
   HEADER – top bar + hlavní navigace
   ============================================ */

/* Top bar – průhledný wrapper (sticky), tmavé pozadí jen na inner (boxed) */
.elisty-top-bar {
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 9999;
    background: transparent;
}

.admin-bar .elisty-top-bar {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .elisty-top-bar {
        top: 46px;
    }
}

.elisty-top-bar-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #111e2e;
}

.elisty-top-bar-left {
    font-size: 12px;
    color: #c0d4e8;
    display: flex;
    align-items: center;
    flex: 1;
}

.elisty-top-bar-left a {
    color: #ffffff;
}

.elisty-top-bar-right {
    display: flex;
    align-items: center;
}

/* Sociální ikony */
.elisty-social-icons {
    display: flex;
    align-items: center;
    gap: 4px;
}

.elisty-social-icons a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: #7a9ab8;
    border-radius: 4px;
    transition: color 0.2s, background 0.2s;
    text-decoration: none;
}

.elisty-social-icons a:hover {
    color: #ffffff;
    background: rgba(255,255,255,0.1);
}

@media (max-width: 768px) {
    .elisty-top-bar-right {
        display: none;
    }
    .elisty-top-bar-left {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* Hlavní navigace – logo a výška */
.site-logo img {
    width: 100px;
    height: auto;
}

/* Logo vždy svisle vystředěné v 46px hlavičce – samostatně, nezávisle na šířce.
   Řeší „logo vyskočilo nahoru" u úzkých šířek: logo dostane pevných 46px a vlastní
   svislé vystředění obrázku (flex), takže ho neovlivní GP ani směr flexu hlavičky. */
.site-header .inside-header .site-logo {
    display: flex !important;
    align-items: center !important;
    height: 46px !important;
    align-self: center !important;
    /* GP přidává logu na mobilu margin-bottom: 20px (jeho výchozí mobilní layout).
       Ve flex hlavičce s align-items:center se centruje margin-box → logo vyskočí
       ~10px nahoru. Vynulování marginu = logo přesně vystředěné. (Ověřeno naživo.) */
    margin: 0 !important;
}
.site-header .inside-header .site-logo a {
    display: flex !important;
    align-items: center !important;
    line-height: 0 !important;
}
.site-header .inside-header .site-logo img {
    display: block !important;
}

/* Explicitní výška headeru */
.site-header .inside-header {
    padding: 0 20px !important;
    height: 46px !important;
    min-height: unset !important;
    display: flex !important;
    align-items: center !important;
    align-content: center !important;
}

/* Navigace odsunutá k pravému kraji (logo vlevo, menu vpravo – jako na lokálu).
   Na lokálu (rodičovské téma) to GP řeší přes margin-left:auto z dynamického CSS,
   child theme ho ztratil → vynucujeme ručně. Jen desktop; na mobilu/tabletu je
   navigace absolutně pozicovaná (hamburger), takže margin nemá efekt. */
@media (min-width: 769px) {
    .site-header .inside-header .main-navigation {
        margin-left: auto !important;
    }
}

/* Menu jako flex (jako na lokálu / rodičovském tématu) → položky se svisle vystředí,
   včetně ikony uživatele; child theme to z GP nezdědil (ul byl display:block).
   POZOR: jen desktop (≥1025px) – níž je menu hamburger s absolutním pozicováním,
   tam flex !important nesmí zasahovat. */
@media (min-width: 1025px) {
    .main-navigation .main-nav > ul {
        display: flex !important;
        align-items: center !important;
    }
}

/* DEAKTIVOVÁNO 9. 6. 2026 (sezení IV.):
   GeneratePress má mobilní breakpoint 1024px, takže nativní GP mobilní menu je aktivní
   pro CELÉ pásmo do 1024px. Toto separátní „tablet" pásmo bylo napsané s předpokladem
   breakpointu 768 (že GP zde ukazuje desktop menu) a pralo se s nativním GP menu →
   po rozkliknutí se menu neukázalo a logo bylo posunuté. Řešení: pásmo deaktivováno
   (podmínka přepsána na nemožný rozsah) a mobilní pravidla níže rozšířena na ≤1024px,
   takže se uplatní jedna ověřená mobilní cesta na celém pásmu do 1024px. */
@media (min-width: 769px) and (max-width: 768px) {
    /* Skrýt desktop menu položky */
    .main-navigation .main-nav > ul {
        display: none !important;
    }

    /* Zobrazit hamburger (GP ho nad 768px skrývá) */
    nav#mobile-menu-control-wrapper .menu-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 46px !important;
        margin: 0 !important;
        padding: 0 15px !important;
    }

    /* Hamburger wrapper – přichytit vpravo */
    .site-header .inside-header .main-navigation {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: auto !important;
        height: 46px !important;
        display: flex !important;
        align-items: center !important;
        overflow: hidden !important;
    }

    /* Dropdown po otevření */
    .main-navigation .main-nav {
        position: fixed !important;
        top: 76px !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 9997 !important;
    }

    .main-navigation.toggled .main-nav {
        background: #111e2e !important;
        padding: 8px 0 12px !important;
        box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
    }

    .main-navigation.toggled .main-nav > ul {
        display: block !important;
    }

    .main-navigation.toggled .main-nav ul li {
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    }

    .main-navigation.toggled .main-nav ul li a {
        color: rgba(255,255,255,0.85) !important;
        font-size: 13px !important;
        padding: 11px 20px !important;
        display: block !important;
        line-height: 1.4 !important;
    }

    .main-navigation.toggled .main-nav ul li a:hover {
        color: #ffffff !important;
        background: rgba(255,255,255,0.07) !important;
        text-decoration: none !important;
    }

    .main-navigation.toggled .main-nav ul li.nav-utility,
    .main-navigation.toggled .main-nav ul li.nav-user {
        border-left: none !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        background: rgba(0,0,0,0.18) !important;
    }

    .main-navigation.toggled .main-nav ul li.nav-user > a {
        border-left: none !important;
        margin-left: 0 !important;
        padding-left: 20px !important;
    }

    #site-navigation .menu-toggle {
        display: none !important;
    }
}

/* Mobil + tablet (≤1024px – GP mobilní breakpoint) – pevná výška headeru, menu přetéká dolů */
@media (max-width: 1024px) {
    .site-header,
    .site-header .inside-header {
        height: 46px !important;
        max-height: 46px !important;
        overflow: visible !important;
    }

    /* Kotvicí bod pro absolutní pozicování hamburgeru */
    .site-header .inside-header {
        position: relative !important;
        align-items: center !important;
        /* GP dává .inside-header flex-wrap:wrap → když navigace vytvoří druhý řádek,
           align-content rozdělí výšku a logo skočí nahoru (hlavička je pak vysoká).
           nowrap to vypne: vše zůstane na jednom 46px řádku, logo se vystředí. */
        flex-wrap: nowrap !important;
    }

    /* Logo – pevná velikost, nepodléhá flex zmenšení, místo pro hamburger vpravo */
    .site-header .inside-header .site-branding {
        flex: 0 0 auto !important;
        max-width: calc(100% - 60px) !important;
    }

    /* Hamburger wrapper – vyjmout z flex flow, přichytit na pravý okraj */
    .site-header .inside-header .main-navigation {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: auto !important;
        height: 46px !important;
        display: flex !important;
        align-items: center !important;
        overflow: hidden !important; /* ořízne přečnívající button; .main-nav (fixed) tím není dotčen */
    }

    /* Hamburger tlačítko – pouze základní zarovnání, nic víc */
    .site-header .inside-header .main-navigation .menu-toggle {
        height: 46px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 15px !important;
    }

    /* Text "Menu" je skrytý přes PHP filtr generate_mobile_menu_label v snippetu */

    /* Pojistka pro toggled stav – wrapper zůstane na místě, nepřekryje logo */
    .site-header .inside-header .main-navigation.toggled {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        width: auto !important;
        height: 46px !important;
    }
}

/* Sticky hlavní navigace + boxed šířka */
.site-header {
    position: sticky;
    top: 30px;
    z-index: 9998;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.admin-bar .site-header {
    top: 62px; /* 32px admin bar + 30px top bar */
}

@media screen and (max-width: 782px) {
    .admin-bar .site-header {
        top: 76px; /* 46px admin bar + 30px top bar */
    }
}

/* Zmenšení písma a paddingu položek navigace */
/* padding snížen – uvolnění místa pro uživatelskou ikonu */
/* specifičtější selektor + !important kvůli přebití GP výchozích stylů */
.main-navigation .main-nav ul li a {
    font-size: 12px !important;
    padding: 0 14px !important;
}

/* Hover efekt – bílá spodní linka */
/* text-decoration místo box-shadow (box-shadow se ořezával kvůli overflow:hidden na headeru) */
.main-navigation .main-nav ul li a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
    text-decoration-color: #ffffff !important;
    text-underline-offset: 4px !important;
    text-decoration-thickness: 2px !important;
}

/* Aktivní rubrika – stejný styl jako hover, přebíjí červenou z GP */
/* current-menu-item  = archiv rubriky                              */
/* current-menu-ancestor = rodičovská položka ve víceúrovňovém menu */
/* current-menu-parent   = článek patřící do dané rubriky          */
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a,
.main-navigation .main-nav ul li.current-menu-parent > a {
    color: #ffffff !important;
    text-decoration: underline !important;
    text-decoration-color: #ffffff !important;
    text-underline-offset: 4px !important;
    text-decoration-thickness: 2px !important;
}

/* ── Uživatelská ikona (přihlášení / profil) ── */
li.nav-user > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 4px 0 10px !important;
    color: rgba(255,255,255,0.6) !important;
    transition: color 0.2s !important;
    border-left: 1px solid rgba(255,255,255,0.2);
    margin-left: 6px;
}

li.nav-user > a:hover {
    color: #ffffff !important;
}

/* Nepřihlášený – mírně potlačená ikona */
li.nav-user--out > a {
    color: rgba(255,255,255,0.55) !important;
}

/* Přihlášený – ikona svítí bíle */
li.nav-user--in > a {
    color: rgba(255,255,255,0.92) !important;
}

/* Oprava přečnívajícího prvku – jen na desktopu; na mobilu by overflow:hidden ořezával dropdown menu */
@media (min-width: 641px) {
    .site-header {
        overflow: hidden;
    }
}

/* Odstranění mezery mezi headerem a obsahem */
.site-main,
.site-content,
.content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.main-navigation,
.nav-float {
    background: transparent !important;
}

/* ── Mobilní dropdown menu (≤1024px – GP mobilní breakpoint) – jen když je otevřené (.toggled přidává GP JS) ── */
@media (max-width: 1024px) {
    /* .main-nav je vždy fixed – nikdy nevstupuje do flex layoutu headeru,
       takže logo zůstane na místě bez ohledu na stav menu.
       GP řídí viditelnost přes display:none/block – neměníme to. */
    .main-navigation .main-nav {
        position: fixed !important;
        top: 76px !important; /* top bar 30px + header 46px */
        left: 0 !important;
        right: 0 !important;
        z-index: 9997 !important;
    }

    /* ── Skrýt položky menu, dokud není hamburger otevřený (FIX 11. 6. 2026) ──
       GP nativně schová `.main-navigation ul` jen do 768px. V pásmu 769–1024px
       (tablety) proto menu zůstávalo viditelné a `position:fixed; top:76px` výše
       ho vykreslilo jako druhý řádek pod headerem (duplicitní menu vedle hamburgeru).
       Tato dvojice pravidel řídí viditelnost sama na celém pásmu ≤1024px:
       zavřené = skryté, otevřené (.toggled přidává GP JS) = dropdown. */
    .main-navigation:not(.toggled) .main-nav > ul {
        display: none !important;
    }
    .main-navigation.toggled .main-nav > ul {
        display: block !important;
    }

    .main-navigation.toggled .main-nav {
        background: #111e2e !important;
        padding: 8px 0 12px !important;
        box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
    }

    /* ── DRUHÉ X / duplicitní hamburger ──
       Header má aktivní "inline mobile toggle" (nav#mobile-menu-control-wrapper) –
       to je ten SPRÁVNÝ hamburger v liště. GeneratePress ale renderuje ještě
       druhý .menu-toggle přímo uvnitř primární navigace (nav#site-navigation).
       GP ho při inline toggle běžně skrývá, jenže náš `display:flex !important`
       na `.main-navigation .menu-toggle` (výše) ho křísí zpět → po otevření
       menu vykoukne druhé X v pásmu ~76px pod headerem.
       Pozn.: tlačítko NENÍ uvnitř .main-nav, ale jako sourozenec vedle něj
       v .inside-navigation – proto dřívější pokusy `.main-nav .menu-toggle`
       míjely cíl. Skrýváme přes ID (vyšší specificita než 4 třídy, přebije i !important). */
    #site-navigation .menu-toggle {
        display: none !important;
    }

    .main-navigation.toggled .main-nav ul li {
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    }

    .main-navigation.toggled .main-nav ul li a {
        color: rgba(255,255,255,0.85) !important;
        font-size: 13px !important;
        padding: 11px 20px !important;
        display: block !important;
        line-height: 1.4 !important;
    }

    .main-navigation.toggled .main-nav ul li a:hover {
        color: #ffffff !important;
        background: rgba(255,255,255,0.07) !important;
        text-decoration: none !important;
    }

    .main-navigation.toggled .main-nav ul li.current-menu-item > a,
    .main-navigation.toggled .main-nav ul li.current-menu-ancestor > a {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    /* ── Utility položky + uživatelská ikona v mobilním menu ──
       Na desktopu mají border-left jako svislý oddělovač.
       Na mobilu resetujeme border/margin a vizuálně oddělujeme
       mírnou změnou pozadí (tmavší tón oproti základnímu #111e2e). */
    .main-navigation.toggled .main-nav ul li.nav-utility,
    .main-navigation.toggled .main-nav ul li.nav-user {
        border-left: none !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        background: rgba(0,0,0,0.18) !important;
    }

    .main-navigation.toggled .main-nav ul li.nav-user > a {
        border-left: none !important;
        margin-left: 0 !important;
        padding-left: 20px !important;
    }
}
/* Utility položky – vizuálně oddělené od rubrik */
li.nav-utility > a {
    color: rgba(255,255,255,0.65) !important;
    font-size: 11px !important;
}

li.nav-utility > a:hover {
    color: #ffffff !important;
}

/* Svislý oddělovač před eKLUB (první utility položka) */
li.nav-utility {
    border-left: 1px solid rgba(255,255,255,0.2);
    margin-left: 10px !important;
    padding-left: 10px !important;
}

li.nav-utility + li.nav-utility {
    border-left: none;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* ŽIVĚ – červená tečka */
li.nav-zive > a::before {
    content: '●';
    color: #D63031;
    margin-right: 4px;
    font-size: 8px;
    vertical-align: middle;
}
/* ══ Audio + Zpráva dne sekce ══════════════════════════════════════════════ */

.elisty-audio-zprava-wrap {
    border-top: 2px solid #e8ecf0;
    padding: 20px 0 0;
    margin: 0 0 2rem;
}

/* Řádek počasí + svátek */
.elisty-denni-info {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
    font-size: 13px;
    color: #6b7a8d;
    margin-bottom: 10px;
}
.denni-info__pocasi,
.denni-info__svatek {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.denni-info__oddelovac {
    color: #c5cdd6;
    margin: 0 0.25rem;
}

/* Grid dvou karet */
.elisty-az-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

@media (max-width: 767px) {
    .elisty-az-grid {
        grid-template-columns: 1fr;
    }
}

/* Společné vlastnosti karet */
.elisty-az-card {
    background: #1D2D44;
    border-radius: 5px;
    height: 320px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}

/* Gradientní fade na spodním okraji – naznačuje, že je víc obsahu */
.elisty-az-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 36px;
    background: linear-gradient(to bottom, transparent, #1D2D44);
    pointer-events: none;
    border-radius: 0 0 5px 5px;
}

/* ── Audio karta ── */
.az-player {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px 10px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    flex-shrink: 0;
}
.az-play-btn {
    width: 34px;
    height: 34px;
    background: #D63031;
    border-radius: 3px;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    cursor: pointer;
    padding: 0;
    transition: background 0.15s;
}
.az-play-btn:hover                    { background: #B71C1C; }
.az-play-btn:focus,
.az-play-btn:active,
.az-play-btn:focus-visible            { background: #D63031; outline: none; }
.az-play-btn:hover:focus,
.az-play-btn:hover:active             { background: #B71C1C; }

.az-track-wrap { flex: 1; min-width: 0; }

.az-track-name {
    font-size: 11px;
    font-weight: 500;
    color: rgba(255,255,255,0.9);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 5px;
}
.az-progress {
    height: 2px;
    background: rgba(255,255,255,0.12);
    border-radius: 1px;
}
.az-progress-fill {
    height: 100%;
    width: 0%;
    background: #D63031;
    border-radius: 1px;
}
.az-time {
    font-size: 10px;
    color: rgba(255,255,255,0.35);
    flex-shrink: 0;
    white-space: nowrap;
}

/* Seznam stop */
.az-track-list {
    flex: 1;
    overflow-y: auto;
    padding: 6px 0;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.15) transparent;
}
.az-track-list::-webkit-scrollbar { width: 3px; }
.az-track-list::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.15);
    border-radius: 2px;
}

.track-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 14px;
    cursor: pointer;
    transition: background 0.12s;
}
.track-item:hover  { background: rgba(255,255,255,0.06); }
.track-item.active { background: rgba(214,48,49,0.15); }

.track-num {
    font-size: 10px;
    color: rgba(255,255,255,0.25);
    flex-shrink: 0;
    width: 14px;
    text-align: right;
}
.track-title {
    font-size: 14px;
    color: rgba(255,255,255,0.65);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}
.track-item.active .track-title {
    color: rgba(255,255,255,0.92);
    font-weight: 500;
}

/* ── Zamčené tracky v sidebarových playlistech (eKLUB) ── */
.track-item--locked { opacity: 0.55; cursor: default; }
.track-item--locked:hover { background: transparent; }
.track-lock { flex-shrink: 0; width: 20px; height: 14px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='11' width='14' height='10' rx='2' fill='%23ffffff'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4' stroke='%23ffffff' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat center / 14px 14px; }

.track-date {
    font-size: 10px;
    color: rgba(255,255,255,0.25);
    flex-shrink: 0;
}

/* ── Zpráva dne ── */
.zprava-img-wrap {
    position: relative;
    flex-shrink: 0;
}
.zprava-img {
    width: 100%;
    height: 110px;
    object-fit: cover;
    display: block;
}
.zprava-img-placeholder {
    width: 100%;
    height: 110px;
    background: linear-gradient(135deg, #2a3f5e 0%, #1a2d44 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    color: rgba(255,255,255,0.25);
    letter-spacing: 0.05em;
}
.zprava-date-badge {
    position: absolute;
    bottom: 7px;
    left: 10px;
    background: #D63031;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 8px;
}
.zprava-body {
    flex: 1;
    overflow-y: auto;
    padding: 12px 14px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.15) transparent;
}
.zprava-body::-webkit-scrollbar { width: 3px; }
.zprava-body::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.15);
    border-radius: 2px;
}
.zprava-title {
    font-weight: 700;
    color: rgba(255,255,255,0.95);
}
.zprava-text {
    font-size: 15px;
    color: rgba(255,255,255,0.85);
    line-height: 1.6;
}
/* ══ Speciály lišta ══════════════════════════════════════════════════════════ */

.elisty-specialy-wrap {
    border-top: 2px solid #e8ecf0;
    padding: 20px 0 0;
    margin: 0 0 2rem;
}

/* Záhlaví sekce */
.specialy-header {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    margin-bottom: 12px;
}

.specialy-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1D2D44;
}

.specialy-subtitle {
    font-size: 12px;
    color: #6b7a8d;
}

/* Grid 4 karet */
.specialy-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

/* Karta – celá plocha je obrázek */
.specialy-card {
    display: block;
    text-decoration: none;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    height: 218px;
    background-size: cover;
    background-position: center;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    filter: brightness(1.25);
    will-change: transform;
    -webkit-font-smoothing: antialiased;
}

/* Fallback – tmavý gradient pokud obrázek není nastaven */
.specialy-card--fallback {
    background: linear-gradient(135deg, #1D2D44 0%, #2a3f5e 100%);
}

/* Hover efekt */
.specialy-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(29, 45, 68, 0.2);
}

/* Jemný gradient jen v dolní části – pro čitelnost textu, nezakrývá obrázek */
.specialy-card::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100px;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.92) 0%,
        rgba(0, 0, 0, 0.5) 50%,
        rgba(0, 0, 0, 0.0) 100%
    );
    border-radius: 0 0 5px 5px;
    z-index: 1;
}

/* Text v dolní části karty */
.specialy-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 14px 14px 13px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.specialy-nazev {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.3;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.8), 0 0 12px rgba(0, 0, 0, 0.6);
}

.specialy-pocet {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.75);
    font-weight: 500;
    transition: color 0.15s;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7);
}

.specialy-card:hover .specialy-pocet {
    color: #ff6b6b;
}

/* Responzivita – na mobilu 2 sloupce */
@media (max-width: 640px) {
    .specialy-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .specialy-card {
        height: 160px;
    }
}


/* ============================================
   BLÍŽÍ SE sekce – [elisty_blizi_se]
   ============================================ */

.elisty-blizi-se-wrap {
    border-top: 2px solid #e8ecf0;
    padding: 20px 0 0;
    margin: 0 0 2rem;
}

.bz-header {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    margin-bottom: 12px;
}

.bz-section-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1D2D44;
}

.bz-section-subtitle {
    font-size: 12px;
    color: #6b7a8d;
}

.bz-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.bz-card {
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e8ecf0;
    background: #f8f9fb;
    cursor: default;
}

.bz-card-img {
    position: relative;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #1D2D44 0%, #2a3f5e 100%);
    background-size: cover;
    background-position: center;
}

.bz-card-overlay {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    gap: 6px;
    align-items: center;
}

.bz-badge {
    font-size: 12px;
    font-weight: 700;
    background: #D63031;
    color: #ffffff;
    padding: 4px 10px;
    border-radius: 3px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.bz-badge--cat {
    background: #1D2D44;
}

.bz-card-body {
    padding: 12px 14px 14px;
    background: #1D2D44;
}

.bz-card-title {
    font-size: 17px;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 640px) {
    .bz-grid {
        grid-template-columns: 1fr;
    }
}


/* ============================================
   GLOBÁLNÍ BARVA ODKAZŮ – meta + sidebar
   (přebíjí GP výchozí červenou #D63031)
   ============================================ */

/* Autor, datum a ostatní meta pod titulkem článku */
.entry-meta a,
.entry-footer a,
.byline a,
.posted-on a {
    color: #1D2D44;
    text-decoration: none;
}

.entry-meta a:hover,
.entry-footer a:hover,
.byline a:hover,
.posted-on a:hover {
    color: #D63031;
    text-decoration: underline;
}

/* Sidebar – widgety (Nejnovější příspěvky, Nejnovější komentáře apod.) */
.sidebar .widget a,
.widget-area .widget a {
    color: #1D2D44;
    text-decoration: none;
}

.sidebar .widget a:hover,
.widget-area .widget a:hover {
    color: #D63031;
    text-decoration: underline;
}
/* ============================================================
   SEKCE 7: KVÍZY – [elisty_kvizy]
   Homepage eListy.cz
   ============================================================ */

.elisty-kvizy {
    border-top: 2px solid #e8ecf0;
    padding: 20px 0 0;
    margin: 0 0 2rem;
}

/* Záhlaví sekce */
.ek-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    margin-bottom: 12px;
}

.ek-header-left {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
}

.ek-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #1D2D44;
}

.ek-subtitle {
    font-size: 12px;
    color: #6b7a8d;
}

.ek-all-link {
    font-size: 13px;
    color: #9aa8b6;
    text-decoration: none;
    transition: color .2s ease;
}

.ek-all-link:hover {
    color: #D63031;
    text-decoration: none;
}

/* Grid karet */
.ek-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

/* Karta */
.ek-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: #1D2D44;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #dde2e8;
    background: #fff;
    transition: box-shadow .22s ease, transform .22s ease;
    will-change: transform;
}

.ek-card:hover {
    box-shadow: 0 6px 20px rgba(29, 45, 68, .13);
    transform: translateY(-3px);
    text-decoration: none;
    color: #1D2D44;
}

/* Obrázek – poměr 16:9 */
.ek-card-img {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: linear-gradient(135deg, #1D2D44 0%, #2a3f5e 100%);
    flex-shrink: 0;
}

.ek-card-img img.ek-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s ease;
}

.ek-card:hover .ek-card-img img.ek-img {
    transform: scale(1.04);
}

/* Badge eKLUB na kartě kvízu (shodný se .archiv-eklub-badge). Přidáno 10. 6. 2026. */
.ek-eklub-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    background: #D63031;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    padding: 3px 8px;
    border-radius: 3px;
    z-index: 1;
    line-height: 1.4;
}

/* Fallback gradient (pokud není featured image) */
.ek-img-fallback {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #1D2D44 0%, #2a3f5e 100%);
}

/* Tělo karty */
.ek-card-body {
    padding: 12px 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}

/* Titulek – max 2 řádky */
.ek-card-title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    color: #1D2D44;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Tlačítko Hrát → */
.ek-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    font-size: 11px;
    font-weight: 600;
    color: #D63031;
    border: 1.5px solid #D63031;
    border-radius: 4px;
    padding: 4px 11px;
    margin-top: auto;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.ek-card:hover .ek-btn {
    background: #D63031;
    color: #fff;
    border-color: #D63031;
}

/* ── MOBILNÍ VERZE ── */
@media (max-width: 640px) {
    .ek-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .ek-card-title {
        font-size: 13px;
    }
}


/* ============================================================
   SEKCE 8: OBLÍBENÉ V TÝDNU + NOVÉ KOMENTÁŘE
   [elisty_oblibene_komentare]
   ============================================================ */

.elisty-oblibene-wrap {
    border-top: 2px solid #e8ecf0;
    padding: 20px 0 0;
    margin: 0 0 2rem;
}

/* Dvousloupcový grid – otevřený layout, bez boxu */
.eo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

/* Sloupec */
.eo-col {
    display: flex;
    flex-direction: column;
}

.eo-col--komentare {
    border-left: 1px solid #e8ecf0;
    padding-left: 24px;
}

.eo-col--oblibene {
    padding-right: 24px;
}

/* Záhlaví sloupce – stejná úroveň jako hlavní sekční nadpisy (KVÍZY, SPECIÁLY…) */
.eo-col-hdr {
    padding: 0 0 12px;
    margin-bottom: 4px;
}

.eo-col-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #1D2D44;
}

/* ── Řádek: Oblíbený příspěvek ── */
.eo-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f0f3f6;
    text-decoration: none;
    color: #1D2D44;
    transition: opacity .15s ease;
}

.eo-item:last-child {
    border-bottom: none;
}

.eo-item:hover {
    opacity: .8;
    text-decoration: none;
    color: #1D2D44;
}

/* Thumbnail – větší než dříve */
.eo-thumb {
    width: 80px;
    height: 60px;
    flex-shrink: 0;
    border-radius: 5px;
    overflow: hidden;
    background: linear-gradient(135deg, #1D2D44 0%, #2a3f5e 100%);
}

.eo-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .25s ease;
}

.eo-item:hover .eo-thumb-img {
    transform: scale(1.04);
}

.eo-thumb--fallback {
    width: 80px;
    height: 60px;
    background: linear-gradient(135deg, #1D2D44 0%, #2a3f5e 100%);
}

/* Text řádku */
.eo-item-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

.eo-item-title {
    font-size: 13px;
    font-weight: 600;
    color: #1D2D44;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color .15s ease;
}

.eo-item:hover .eo-item-title {
    color: #D63031;
}

.eo-item-meta {
    font-size: 11px;
    color: #9aa8b6;
}

/* ── Řádek: Komentář ── */
.eo-comment {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #f0f3f6;
    text-decoration: none;
    color: #1D2D44;
    transition: opacity .15s ease;
}

.eo-comment:last-child {
    border-bottom: none;
}

.eo-comment:hover {
    opacity: .8;
    text-decoration: none;
    color: #1D2D44;
}

/* Avatar */
.eo-avatar {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    margin-top: 1px;
}

.eo-avatar-img,
.eo-avatar img {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    display: block;
    object-fit: cover;
}

/* Text komentáře */
.eo-comment-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.eo-comment-author {
    font-size: 12px;
    font-weight: 700;
    color: #1D2D44;
}

.eo-comment-body {
    font-size: 12px;
    color: #4a5568;
    line-height: 1.5;
}

.eo-comment-post {
    font-size: 11px;
    color: #9aa8b6;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 2px;
    transition: color .15s ease;
}

.eo-comment:hover .eo-comment-post {
    color: #D63031;
}

/* Prázdný stav */
.eo-empty {
    font-size: 13px;
    color: #9aa8b6;
    padding: 16px 0;
    margin: 0;
}

/* ── MOBILNÍ VERZE ── */
@media (max-width: 640px) {
    .eo-grid {
        grid-template-columns: 1fr;
    }

    .eo-col--komentare {
        border-left: none;
        border-top: 2px solid #e8ecf0;
        padding-left: 0;
        padding-top: 16px;
        margin-top: 8px;
    }

    .eo-col--oblibene {
        padding-right: 0;
    }
}


/* ============================================================
   FOOTER – elisty_footer (3 pásma)
   ============================================================ */

/* Skrýt výchozí GP footer + odstranit mezeru pod ním */
.site-footer,
.footer-bar {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.site,
#page {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}


/* ============================================================
   ARCHIV RUBRIKY – potlačení výchozích GP prvků
   ============================================================ */

/* Skrýt výchozí GP články, paginaci a archivní nadpis – kategorie i tagy */
body.category .site-main > article,
body.category .site-main > .no-results,
body.category .site-main > .nav-links,
body.category .site-main > .paging-navigation,
body.category .site-main > header,
body.category .site-main > .page-header,
body.tag .site-main > article,
body.tag .site-main > .no-results,
body.tag .site-main > .nav-links,
body.tag .site-main > .paging-navigation,
body.tag .site-main > header,
body.tag .site-main > .page-header { display: none !important; }

/* Skrýt GP archivní nadpis tagu i mimo .site-main (GP ho renderuje jako sourozence) */
body.tag .page-header { display: none !important; }

/* Odstranit vlastní padding .site-main – o odsazení se stará .elisty-archiv-inner */
body.category .site-main,
body.tag .site-main {
    padding: 0 !important;
    margin: 0 !important;
}

/* ============================================================
   ARCHIV RUBRIKY – [elisty_archiv_rubriky]
   ============================================================ */

/* Obálka – full-width, pak vnitřní max-width */
.elisty-archiv-wrap {
    width: 100%;
    padding: 0;
    margin: 0;
}

.elisty-archiv-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 12px 12px 32px;
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 32px;
    align-items: start;
}

/* Levý sloupec – záhlaví + grid článků */
.archiv-left {
    min-width: 0;
}

/* ── Záhlaví rubriky ── */
.archiv-header {
    margin-bottom: 20px;
}

.archiv-nazev {
    font-size: 22px;
    font-weight: 700;
    color: #1D2D44;
    margin: 0 0 14px;
    line-height: 1.3;
}

.archiv-nazev-sub {
    font-weight: 400;
    color: #6b7a8d;
    font-size: 18px;
}

/* ── Pill-taby podrubrik ── */
.archiv-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.archiv-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid #d0d8e2;
    color: #4a5568;
    background: #fff;
    transition: border-color 0.15s, color 0.15s, background 0.15s;
    line-height: 1.5;
}

.archiv-pill:hover {
    border-color: #1D2D44;
    color: #1D2D44;
    text-decoration: none;
}

.archiv-pill--active {
    background: #1D2D44;
    border-color: #1D2D44;
    color: #fff;
}

.archiv-pill--active:hover {
    background: #1D2D44;
    color: #fff;
}

/* ── Grid článků ── */
.archiv-main {
    min-width: 0;
}

.archiv-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

/* ── Featured: dva nejnovější články zvýrazněné vedle sebe (1. strana) ── */
.archiv-featured {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 16px;
}

.archiv-card--featured .archiv-card-body {
    padding: 14px 16px 16px;
    gap: 7px;
}

.archiv-card--featured .archiv-card-title {
    font-size: 18px;
    line-height: 1.35;
    -webkit-line-clamp: 2;
}

.archiv-card--featured .archiv-card-date,
.archiv-card--featured .archiv-card-meta {
    font-size: 12px;
}

.archiv-card--featured .archiv-eklub-badge {
    font-size: 11px;
    padding: 4px 9px;
}

/* ── Karta článku ── */
.archiv-card {
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e8ecf0;
    background: #fff;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    will-change: transform;
}

.archiv-card:hover {
    box-shadow: 0 6px 20px rgba(29, 45, 68, 0.12);
    transform: translateY(-2px);
}

.archiv-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.archiv-card-link:hover {
    text-decoration: none;
    color: inherit;
}

.archiv-card-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: linear-gradient(135deg, #1D2D44 0%, #2a3f5e 100%);
    position: relative;
}

.archiv-eklub-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    background: #D63031;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    padding: 3px 8px;
    border-radius: 3px;
    z-index: 1;
    line-height: 1.4;
}

.archiv-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.archiv-card:hover .archiv-card-img img {
    transform: scale(1.04);
}

.archiv-card-img-fallback {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #1D2D44 0%, #2a3f5e 100%);
}

.archiv-card-body {
    padding: 10px 12px 12px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.archiv-cat-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #D63031;
    background: rgba(214, 48, 49, 0.08);
    border-radius: 3px;
    padding: 2px 7px;
    align-self: flex-start;
}

.archiv-card-title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    color: #1D2D44;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.15s;
}

.archiv-card:hover .archiv-card-title {
    color: #D63031;
}

.archiv-card-date {
    font-size: 11px;
    color: #9aa8b6;
    display: block;
}

.archiv-card-meta {
    font-size: 11px;
    color: #9aa8b6;
    display: block;
}

/* ── Paginace ── */
.archiv-pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.archiv-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid #d0d8e2;
    color: #4a5568;
    background: #fff;
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.archiv-pagination .page-numbers:hover {
    border-color: #1D2D44;
    color: #1D2D44;
}

.archiv-pagination .page-numbers.current {
    background: #1D2D44;
    border-color: #1D2D44;
    color: #fff;
}

.archiv-pagination .page-numbers.dots {
    border-color: transparent;
    background: transparent;
    cursor: default;
    color: #9aa8b6;
}

/* ── Prázdný stav ── */
.archiv-prazdno {
    color: #6b7a8d;
    font-size: 15px;
    padding: 24px 0;
}

/* ══════════════════════════════════════════════
   SIDEBAR ARCHIVU
   ══════════════════════════════════════════════ */

.archiv-sidebar {
    position: sticky;
    top: 100px; /* pod sticky headerem */
    align-self: start; /* Chrome fix: bez tohoto Chrome ignoruje align-items:start na grid containeru pro sticky prvky */
    min-width: 0; /* aby grid sloupec mohl zmenšit pod min-content sidebaru – jinak dlouhý
                     název skladby v playlistu (nowrap) roztáhne celý obsah a přeteče mobilní šířku */
    /* bez max-height – sidebar je tak vysoký jak potřebuje, stránka scrolluje normálně */
}

/* Sekce v sidebaru */
.sb-section {
    margin-bottom: 24px;
}

.sb-section:last-child {
    margin-bottom: 0;
}

/* Nadpis sekce */
.sb-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: #9aa8b6;
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #edf0f4;
}

/* ── Dnes vyšlo ── */
.sb-dnes-link {
    display: block;
    text-decoration: none;
    color: #1D2D44;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e8ecf0;
    background: #fff;
    transition: box-shadow 0.2s ease;
}

.sb-dnes-link:hover {
    box-shadow: 0 4px 14px rgba(29, 45, 68, 0.1);
    text-decoration: none;
    color: #1D2D44;
}

.sb-dnes-img {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: linear-gradient(135deg, #1D2D44 0%, #2a3f5e 100%);
}

.sb-dnes-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.sb-dnes-link:hover .sb-dnes-img img {
    transform: scale(1.04);
}

/* Badge přes obrázek */
.sb-dnes-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: #1D2D44;
    color: #fff;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    height: 20px;
    padding: 0 8px;
}
.sb-dnes-badge--eklub {
    background: #D63031;
}

.sb-dnes-title {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    color: #1D2D44;
    padding: 9px 11px 4px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.15s;
}

.sb-dnes-link:hover .sb-dnes-title {
    color: #D63031;
}

.sb-dnes-date {
    display: block;
    font-size: 11px;
    color: #9aa8b6;
    padding: 0 11px 10px;
}

/* ── Rubrikový playlist ── */
.sb-player-wrap {
    background: #1D2D44;
    border-radius: 6px;
    clip-path: inset(0 round 6px);
}

/* Playlist v sidebaru – zkrátit seznam stop */
.sb-player-wrap .az-track-list {
    max-height: 200px;
}

/* ── Zpráva dne v sidebaru ── */
.sb-zprava-card {
    background: #1D2D44;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
}

/* Gradientní fade na spodním okraji – naznačuje, že je víc obsahu (stejný efekt jako na homepage) */
.sb-zprava-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 36px;
    background: linear-gradient(to bottom, transparent, #1D2D44);
    pointer-events: none;
    border-radius: 0 0 6px 6px;
}

/* Obrázek zprávy v sidebaru – menší výška */
.sb-zprava-card .zprava-img {
    height: 90px;
}

.sb-zprava-card .zprava-img-placeholder {
    height: 90px;
}

/* Tělo zprávy v sidebaru – scrollovatelné, méně paddingu */
.sb-zprava-card .zprava-body {
    padding: 10px 12px;
    max-height: 180px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.15) transparent;
}

.sb-zprava-card .zprava-body::-webkit-scrollbar { width: 3px; }
.sb-zprava-card .zprava-body::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.15);
    border-radius: 2px;
}

.sb-zprava-card .zprava-text {
    font-size: 13px;
}

/* ── Reklamní plocha ── */
.sb-reklama-placeholder {
    border: 2px dashed #d0d8e2;
    border-radius: 6px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #b0bcc8;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 600;
}

/* ══════════════════════════════════════════════
   RESPONZIVITA – ARCHIV RUBRIKY
   ══════════════════════════════════════════════ */

/* Tablet – užší sidebar */
@media (max-width: 1024px) {
    .elisty-archiv-inner {
        grid-template-columns: 1fr 260px;
        gap: 24px;
    }

    .archiv-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobil – sidebar pod článkami, celá šířka */
@media (max-width: 768px) {
    .elisty-archiv-inner {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 16px 16px 32px;
    }

    .archiv-sidebar {
        position: static;
    }

    .archiv-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .archiv-featured {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .archiv-card--featured .archiv-card-title {
        font-size: 16px;
    }

    .archiv-nazev {
        font-size: 19px;
    }
}

/* Malý mobil – 1 sloupec článků */
@media (max-width: 480px) {
    .archiv-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   SINGLE POST – šablona článku
   [snippet: snippety/single-post.txt]
   ============================================================ */

/* Potlačit vše v .site-main na single post kromě našeho vlastního wrapperu.
   Skryje: výchozí GP article, komentáře mimo grid, případné stray elementy. */
body.single .site-main > *:not(.elisty-single-wrap) { display: none !important; }
body.single .site-main { padding: 0 !important; margin: 0 !important; }

/* Obálka */
.elisty-single-wrap { width: 100%; }

.elisty-single-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 12px 12px 32px;
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 32px;
    align-items: start;
}

/* Levý sloupec – čistý obsah bez boxu (žádný border ani card) */
.single-left {
    min-width: 0;
}

/* ── Featured image – zaoblené rohy ze všech stran ── */
.sp-featured-img {
    width: 100%;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 0;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #1D2D44 0%, #2a3f5e 100%);
}

.sp-featured-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ── Záhlaví článku – padding místo margin (obsah je uvnitř cardu) ── */
.sp-header {
    padding: 20px 24px 0;
    margin-bottom: 20px;
}

.sp-cat-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #D63031;
    background: rgba(214, 48, 49, 0.08);
    border-radius: 3px;
    padding: 2px 7px;
    text-decoration: none;
    margin-bottom: 10px;
}

.sp-cat-badge:hover {
    background: rgba(214, 48, 49, 0.15);
    text-decoration: none;
    color: #D63031;
}

.sp-title {
    font-size: 28px;
    font-weight: 700;
    color: #1D2D44;
    line-height: 1.35;
    margin: 0 0 14px;
}

/* ── Meta řádek ── */
.sp-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-size: 13px;
    color: #6b7a8d;
    border-top: 1px solid #edf0f4;
    border-bottom: 1px solid #edf0f4;
    padding: 8px 0;
    gap: 0;
}

.sp-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #6b7a8d;
    text-decoration: none;
}

.sp-meta-link:hover {
    color: #1D2D44;
    text-decoration: none;
}

.sp-meta-sep {
    color: #c5cdd6;
    margin: 0 10px;
}

/* Rubrika v meta řádku – stejná barva jako ostatní meta položky, uppercase */
.sp-meta-cat {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}

/* ── Obsah článku – padding uvnitř cardu ── */
.sp-content {
    font-size: 16px;
    line-height: 1.75;
    color: #2d3748;
    padding: 0 24px 24px;
    margin-top: 0;
    margin-bottom: 0;
}

.sp-content h2 {
    font-size: 22px;
    font-weight: 700;
    color: #1D2D44;
    margin: 2rem 0 0.75rem;
    line-height: 1.35;
}

.sp-content h3 {
    font-size: 18px;
    font-weight: 700;
    color: #1D2D44;
    margin: 1.5rem 0 0.5rem;
    line-height: 1.4;
}

.sp-content h4 {
    font-size: 16px;
    font-weight: 700;
    color: #1D2D44;
    margin: 1.25rem 0 0.4rem;
}

.sp-content p { margin-bottom: 1.2rem; }

.sp-content a {
    color: #D63031;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.sp-content a:hover { color: #B71C1C; }

.sp-content img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
    margin: 0.5rem 0;
}

/* ── Zarovnání obrázků (klasický editor + Gutenberg) ──────────────────
   Bez těchto pravidel se .sp-content img díky margin:0.5rem 0 vždy lepí
   doleva, i když má třídu aligncenter. Doplněno 10. 6. 2026. */

/* Na střed – klasický editor (img.aligncenter) i Gutenberg (figure) */
.sp-content img.aligncenter,
.sp-content .aligncenter > img,
.sp-content .wp-block-image.aligncenter img {
    margin-left: auto;
    margin-right: auto;
}
.sp-content .aligncenter,
.sp-content figure.aligncenter,
.sp-content .wp-block-image.aligncenter,
.sp-content .wp-caption.aligncenter {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* Vlevo s obtékáním textu */
.sp-content img.alignleft,
.sp-content .alignleft {
    float: left;
    margin: 0.5rem 1.4rem 1rem 0;
}

/* Vpravo s obtékáním textu */
.sp-content img.alignright,
.sp-content .alignright {
    float: right;
    margin: 0.5rem 0 1rem 1.4rem;
}

/* Bez zarovnání – výchozí (vlevo, bez obtékání) */
.sp-content img.alignnone {
    margin-left: 0;
    margin-right: 0;
}

/* ── Responzivní YouTube/Vimeo videa vložená do ČLÁNKŮ ────────────────
   Bez tohoto pravidla se iframe v článku roztáhne do čtverce (chybí poměr
   stran). Cíleno VÝHRADNĚ na iframe uvnitř .sp-content → NEDOTÝKÁ se sekcí
   VIDEO/ŽIVĚ (třídy .ev-*, samostatné stránky) ani homepage [elisty_youtube]
   (.yt-*). CSS poměr 16:9 přebije i pevné width/height atributy iframu.
   Přidáno 10. 6. 2026. */
.sp-content iframe[src*="youtube.com"],
.sp-content iframe[src*="youtube-nocookie.com"],
.sp-content iframe[src*="youtu.be"],
.sp-content iframe[src*="player.vimeo.com"] {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    margin: 1.2rem 0;
    border: 0;
    border-radius: 4px;
}

/* WP oembed / Gutenberg embed wrapper (kdyby video bylo vloženo přes URL) */
.sp-content .wp-block-embed__wrapper,
.sp-content .wp-block-embed-youtube,
.sp-content .wp-block-embed { width: 100%; }

.sp-content .wp-block-embed__wrapper iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.sp-content ul,
.sp-content ol {
    padding-left: 1.5rem;
    margin-bottom: 1.2rem;
}

.sp-content li { margin-bottom: 0.4rem; }

.sp-content blockquote {
    border-left: 3px solid #D63031;
    margin: 1.5rem 0;
    padding: 0.5rem 0 0.5rem 1.2rem;
    font-style: italic;
    color: #4a5568;
}

.sp-content strong { color: #1D2D44; }

.sp-content code {
    background: #f4f6f8;
    border-radius: 3px;
    padding: 1px 5px;
    font-size: 0.88em;
    color: #c0392b;
}

/* ── Komentáře – uvnitř cardu, padding místo margin ── */
.sp-comments {
    margin-top: 0;
    padding: 32px 24px 24px;
    border-top: 2px solid #e8ecf0;
}

/* ── Sidebar – sticky fix pro single post ────────────────────────────────
   Chrome má bug: position:sticky přímo na grid itemu nefunguje správně,
   když sourozenecký sloupec obsahuje aspect-ratio element (featured img).
   Řešení: sticky přesunuto na vnitřní wrapper .sb-sticky-inner, grid item
   samotný je position:static. Archiv používá sticky na grid itemu (funguje). */
.single-sidebar {
    position: static; /* override sticky z .archiv-sidebar */
    align-self: start; /* zachovat zarovnání na top grid area */
}

.sb-sticky-inner {
    position: sticky;
    top: 100px; /* pod sticky headerem */
}

@media (max-width: 768px) {
    .sb-sticky-inner {
        position: static;
    }
}

/* ══ Responzivita – single post ═══════════════════════════════════════════ */

@media (max-width: 1024px) {
    .elisty-single-inner {
        grid-template-columns: 1fr 260px;
        gap: 24px;
    }
}

@media (max-width: 768px) {
    .elisty-single-inner {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 16px 16px 32px;
    }

    .single-sidebar {
        position: static !important;
    }

    .sp-title { font-size: 22px; }
    .sp-content { font-size: 15px; }
}

@media (max-width: 480px) {
    .sp-title { font-size: 20px; }
}

/* ============================================================
   POZADÍ STRÁNEK – dvě varianty k porovnání
   ============================================================

   VARIANTA A – aktivní – bílý sloupec obsahu (eliminuje šedou na stranách,
   archiv/single budou vypadat jako homepage – jeden bílý pruh)

   VARIANTA B – menší mezery nahoře a po stranách
   (padding u .elisty-archiv-inner a .elisty-single-inner změnit
   z 20px 20px 40px na 12px 12px 32px – šedá zůstává, ale méně ruší)
   ============================================================ */

/* Bílé pozadí jen u single post – archiv zůstává šedý (konzistentní s GP body bg) */
body.single .site-content { background: #fff; }


/* ============================================================
   STRÁNKA POSLECH – rozcestník, playlisty, eRadio archiv
   [snippet: snippety/elisty-poslech.txt]
   ============================================================ */

/* Potlačit výchozí GP layout na všech WP stránkách (pages)
   – design každé stránky řeší vlastní shortcode nebo editor content */
body.page .entry-header  { display: none !important; }
body.page .site-main     { padding: 0 !important; margin: 0 !important; }
body.page article.page   { padding: 0 !important; margin: 0 !important; }
body.page .entry-content { padding: 0 !important; margin: 0 !important; }

/* WordPress wpautop filtr vklada prazdne p a br tagy mezi shortcody a za ne.
   Na strankach kde je obsah tvoren shortcody jsou tyto prvky nezadouci
   a zpusobuji extra mezery pod obsahem. */
body.page .entry-content > p:empty,
body.page .entry-content > p:blank {
    display: none;
}
body.page .entry-content > br {
    display: none;
}


/* ── Rozcestník ── */
.pl-rozcestnik { padding: 20px 0 32px; }
.pl-rc-header  { margin-bottom: 20px; }
.pl-rc-title   { font-size: 22px; font-weight: 700; color: #1D2D44; margin: 0 0 6px; }
.pl-rc-sub     { font-size: 14px; color: #6b7a8d; margin: 0; }

.pl-rc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.pl-rc-karta {
    display: block;
    text-decoration: none;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    height: 200px;
    background-color: #1D2D44;
    background-size: cover;
    background-position: center;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    will-change: transform;
}
.pl-rc-karta--fallback { background: linear-gradient(135deg, #1D2D44 0%, #2a3f5e 100%); }
.pl-rc-karta:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(29,45,68,0.28);
    text-decoration: none;
}

/* ── Zamčená karta (nedostupný tier) ── */
.pl-rc-karta--locked {
    filter: grayscale(100%);
    opacity: 0.45;
    cursor: default;
}
.pl-rc-karta--locked:hover {
    transform: none;
    box-shadow: none;
    opacity: 0.65;
}
.pl-rc-locked-tooltip {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.88);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 7px 14px;
    border-radius: 6px;
    white-space: nowrap;
    z-index: 10;
    pointer-events: none;
    border: 1px solid rgba(255,255,255,0.15);
}
.pl-rc-karta--locked:hover .pl-rc-locked-tooltip {
    display: block;
}
/* Gradient overlay – čitelnost textu */
.pl-rc-karta::before {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 110px;
    background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.45) 55%, rgba(0,0,0,0) 100%);
    border-radius: 0 0 8px 8px;
    z-index: 1;
}
.pl-rc-badge {
    position: absolute; top: 12px; right: 12px;
    background: #D63031; color: #fff;
    font-size: 10px; font-weight: 700;
    letter-spacing: 0.08em; text-transform: uppercase;
    border-radius: 3px; padding: 2px 8px;
    z-index: 2;
}
/* Text v dolní části karty */
.pl-rc-info {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 14px 16px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.pl-rc-nazev { font-size: 18px; font-weight: 700; color: #fff; line-height: 1.2; text-shadow: 0 1px 6px rgba(0,0,0,0.8); }
.pl-rc-count { display: inline-block; background: #fff; color: #D63031; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 3px; align-self: flex-start; }

/* ── Prázdné odstavce před shortcodem na stránkách ПОСЛECH ──
   Gutenberg vkládá <p> (prázdný nebo s <br>) před shortcode.
   Na stránkách s .pl-player nemáme žádný vlastní textový obsah,
   takže přímé <p> potomky .entry-content bezpečně skryjeme.         */
body.page .entry-content:has(.pl-player) > p {
    display: none !important;
    margin:  0    !important;
    padding: 0    !important;
}

/* ── Wrapper detailu (playlist i eRadio archiv) ── */
.pl-detail { padding: 20px 0 32px; }

.pl-detail-hdr {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 12px; margin-bottom: 16px;
}
.pl-detail-hdr-left { display: flex; align-items: baseline; gap: 12px; }
.pl-detail-nazev    { font-size: 22px; font-weight: 700; color: #1D2D44; margin: 0; }
.pl-detail-count    { font-size: 13px; color: #9aa8b6; }

.pl-razeni     { display: flex; align-items: center; gap: 6px; }
.pl-razeni-btn {
    background: #fff; border: 1.5px solid #d0d8e2; color: #6b7a8d;
    font-size: 12px; font-weight: 600; border-radius: 20px; padding: 4px 14px;
    cursor: pointer; transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.pl-razeni-btn:hover  { border-color: #1D2D44; color: #1D2D44; background: #f0f2f5; }
.pl-razeni-btn.active { background: #1D2D44; color: #fff; border-color: #1D2D44; }

/* ── Přehrávač ── */
.pl-player { background: #1D2D44; border-radius: 8px; margin-bottom: 16px; overflow: hidden; }
.pl-player-inner { display: flex; align-items: center; gap: 10px; padding: 0 16px; height: 52px; }

.pl-btn-play {
    width: 34px; height: 34px; background: #D63031;
    border: none; border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; flex-shrink: 0; padding: 0; transition: background 0.15s;
}
.pl-btn-play:hover                    { background: #B71C1C; }
.pl-btn-play:focus,
.pl-btn-play:active,
.pl-btn-play:focus-visible            { background: #D63031; outline: none; }
.pl-btn-play:hover:focus,
.pl-btn-play:hover:active             { background: #B71C1C; }
.pl-btn-play svg                      { width: 13px; height: 13px; color: #fff; pointer-events: none; }

.pl-btn-skip-er {
    background: none; border: none; color: rgba(255,255,255,0.6);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; flex-shrink: 0; padding: 0; transition: color 0.15s;
}
.pl-btn-skip-er:hover { color: #fff; }

.pl-eq { display: flex; align-items: flex-end; gap: 2px; height: 18px; flex-shrink: 0; }
.pl-eq span { display: block; width: 3px; background: #D63031; border-radius: 1px 1px 0 0; height: 4px; }
.pl-eq--active span:nth-child(1) { animation: pl-eq-a 0.8s  ease-in-out infinite; }
.pl-eq--active span:nth-child(2) { animation: pl-eq-b 0.6s  ease-in-out infinite; }
.pl-eq--active span:nth-child(3) { animation: pl-eq-c 0.9s  ease-in-out infinite; }
.pl-eq--active span:nth-child(4) { animation: pl-eq-b 0.7s  ease-in-out infinite 0.15s; }
.pl-eq--active span:nth-child(5) { animation: pl-eq-a 1.0s  ease-in-out infinite 0.1s; }
@keyframes pl-eq-a { 0%,100%{height:4px}  50%{height:16px} }
@keyframes pl-eq-b { 0%,100%{height:8px}  50%{height:14px} }
@keyframes pl-eq-c { 0%,100%{height:12px} 50%{height:4px}  }

.pl-player-meta { display: flex; flex-direction: column; justify-content: center; flex-shrink: 0; min-width: 0; max-width: 220px; }
.pl-player-label { font-size: 9px; color: rgba(255,255,255,0.45); letter-spacing: 0.1em; text-transform: uppercase; line-height: 1; margin-bottom: 2px; }
.pl-player-title { font-size: 12px; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3; }

.pl-timeline { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.pl-time { font-size: 11px; color: rgba(255,255,255,0.55); white-space: nowrap; flex-shrink: 0; font-variant-numeric: tabular-nums; }
.pl-track { flex: 1; height: 3px; background: rgba(255,255,255,0.18); border-radius: 2px; cursor: pointer; }
.pl-track:hover { background: rgba(255,255,255,0.28); }
.pl-fill  { height: 100%; background: #D63031; border-radius: 2px; width: 0%; transition: width 0.3s linear; pointer-events: none; }

/* ── Seznam epizod ── */
.pl-list { display: flex; flex-direction: column; }

.pl-item {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 6px; border-bottom: 1px solid #f0f3f6;
    cursor: pointer; border-radius: 4px; transition: background 0.1s;
}
.pl-item:last-child  { border-bottom: none; }
.pl-item:hover       { background: #f8f9fb; }
.pl-item--active     { background: rgba(214,48,49,0.05); }

.pl-item-num { font-size: 11px; color: rgba(29,45,68,0.3); flex-shrink: 0; width: 22px; text-align: center; font-variant-numeric: tabular-nums; }

.pl-item-playbtn {
    width: 26px; height: 26px; background: #e8ecf0;
    border: none; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; flex-shrink: 0; padding: 0; color: #1D2D44;
    transition: background 0.15s, color 0.15s;
}
.pl-item-playbtn:hover            { background: #D63031; color: #fff; }
.pl-item--active .pl-item-playbtn { background: #D63031; color: #fff; }

.pl-item-body  { display: flex; flex-direction: column; flex: 1; min-width: 0; gap: 2px; }
.pl-item-title {
    font-size: 14px; font-weight: 500; color: #1D2D44; text-decoration: none;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color 0.15s;
}
.pl-item-title:hover              { color: #D63031; text-decoration: none; }
.pl-item--active .pl-item-title   { color: #D63031; font-weight: 600; }
.pl-item-date { font-size: 11px; color: #9aa8b6; }

/* ── Zamčené tracky v playlistu POSLECH (eKLUB) ── */
.pl-item--locked { opacity: 0.55; cursor: default; }
.pl-item--locked:hover { background: transparent; }
.pl-item--locked .pl-item-playbtn { background: #e8ecf0; color: #aab4be; cursor: default; pointer-events: none; }
.pl-item--locked .pl-item-title { color: #6b7a8d; }
.pl-item-lock { flex-shrink: 0; width: 22px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='11' width='14' height='10' rx='2' fill='%239aa8b6'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4' stroke='%239aa8b6' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat center / 15px 15px; }

/* ── eRadio archiv – karty dnů ── */
.pl-er-dny { display: flex; flex-direction: column; gap: 8px; }

.pl-er-den {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; padding: 14px 18px;
    background: #f8f9fb; border: 1px solid #e8ecf0; border-radius: 8px;
    transition: border-color 0.15s, background 0.15s;
}
.pl-er-den--dnes   { background: #fff; border-color: #D63031; }
.pl-er-den--active { background: rgba(214,48,49,0.04); border-color: #D63031; }

.pl-er-den-info   { display: flex; align-items: center; gap: 12px; flex: 1; flex-wrap: wrap; }
.pl-er-den-nazev  { font-size: 15px; font-weight: 600; color: #1D2D44; }
.pl-er-den-datum  { font-size: 13px; color: #9aa8b6; }
.pl-er-den-badge  { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; background: #D63031; color: #fff; border-radius: 3px; padding: 2px 8px; }

.pl-er-den-btn {
    background: #1D2D44; color: #fff; border: none; border-radius: 5px;
    font-size: 13px; font-weight: 600; padding: 8px 18px;
    cursor: pointer; white-space: nowrap; flex-shrink: 0; transition: background 0.15s;
}
.pl-er-den-btn:hover              { background: #D63031; }
.pl-er-den--active .pl-er-den-btn { background: #D63031; }

/* ── Paywall gate ── */
.pl-gate { text-align: center; background: #1D2D44; border-radius: 10px; padding: 48px 32px; color: #fff; }
.pl-gate-lock  { display: flex; justify-content: center; margin-bottom: 20px; }
.pl-gate-title { font-size: 20px; font-weight: 700; color: #fff; margin: 0 0 12px; }
.pl-gate-text  { font-size: 14px; color: rgba(255,255,255,0.65); line-height: 1.6; margin: 0 auto 24px; max-width: 440px; }
.pl-gate-btns  { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.pl-gate-btn   { display: inline-block; font-size: 14px; font-weight: 600; padding: 10px 22px; border-radius: 6px; text-decoration: none; transition: background 0.2s, border-color 0.2s, color 0.2s; }
.pl-gate-btn--primary { background: #D63031; color: #fff; border: 2px solid #D63031; }
.pl-gate-btn--primary:hover { background: #B71C1C; border-color: #B71C1C; color: #fff; text-decoration: none; }
.pl-gate-btn--sec { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,0.4); }
.pl-gate-btn--sec:hover { border-color: #fff; background: rgba(255,255,255,0.1); color: #fff; text-decoration: none; }

.pl-prazdno { color: #6b7a8d; font-size: 15px; padding: 24px 0; }

.pl-more-btn {
    display: block; width: 100%; margin-top: 8px;
    padding: 11px 16px; background: #f4f6f8;
    border: 1px solid #e0e5eb; border-radius: 6px;
    font-size: 13px; font-weight: 600; color: #1D2D44;
    cursor: pointer; text-align: center;
    transition: background 0.15s, border-color 0.15s;
}
.pl-more-btn:hover { background: #e8ecf0; border-color: #c8d0da; }
.pl-more-zbývá { font-weight: 400; color: #9aa8b6; margin-left: 4px; }

/* ── Filtrovací taby ── */
.pl-filtry { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
.pl-filtr-btn {
    font-size: 12px; font-weight: 600;
    padding: 4px 14px; border-radius: 20px;
    border: 1.5px solid #d0d8e3; background: transparent;
    color: #6b7a8d; cursor: pointer; transition: all 0.15s;
    white-space: nowrap;
}
.pl-filtr-btn:hover  { border-color: #1D2D44; color: #1D2D44; background: #f0f2f5; }
.pl-filtr-btn.active { background: #1D2D44; color: #fff; border-color: #1D2D44; }

/* ── Platformové karty ── */
.pl-platformy { margin-top: 32px; padding-top: 24px; border-top: 1px solid #e8ecf0; }
.pl-platformy-title {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.08em; color: #9aa8b6; margin-bottom: 14px;
}
.pl-platformy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.pl-platforma-karta {
    display: flex; align-items: center; gap: 16px;
    padding: 22px 20px;
    border: 1.5px solid #e4e9f0; border-radius: 10px;
    text-decoration: none; color: #1D2D44;
    position: relative; overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.pl-platforma-karta::before {
    content: ''; position: absolute;
    top: 0; left: 0; right: 0; height: 4px;
    background: var(--pl-brand-color, #1D2D44);
    border-radius: 10px 10px 0 0;
}
.pl-platforma-karta:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.10);
    border-color: #c8d0da;
    text-decoration: none; color: #1D2D44;
    background: #fafbfc;
}
.pl-platforma-karta svg   { flex-shrink: 0; }
.pl-platforma-text        { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pl-platforma-nazev       { font-size: 14px; font-weight: 700; color: #1D2D44; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pl-platforma-sub         { font-size: 12px; color: #9aa8b6; }
.pl-platforma-cta         { font-size: 12px; font-weight: 600; color: var(--pl-brand-color, #1D2D44); margin-top: 4px; }

/* ── Responzivita ── */
@media (max-width: 768px) {
    .pl-rc-grid       { grid-template-columns: repeat(2, 1fr); }
    .pl-detail-hdr    { flex-direction: column; align-items: flex-start; gap: 10px; }
    .pl-player-meta   { max-width: 150px; }
    .pl-time          { display: none; }
    .pl-er-den        { flex-wrap: wrap; }
    .pl-er-den-btn    { width: 100%; text-align: center; }
    .pl-platformy-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .pl-rc-grid    { grid-template-columns: 1fr; }
    .pl-rc-karta   { min-height: 100px; }
    .pl-item-title { font-size: 13px; }
    .pl-filtry     { gap: 5px; }
    .pl-filtr-btn  { font-size: 11px; padding: 3px 10px; }
}


html,
body {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Společný wrapper */
.elisty-footer {
    width: 100%;
}

.ef-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Pásmo 1: Newsletter + eKLUB ─────────────────────────── */
.ef-band1 {
    background: #1D2D44;
    padding: 32px 0;
}

.ef-band1 .ef-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

/* Newsletter – texty */
.ef-nl-title {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
}

.ef-nl-sub {
    font-size: 13px;
    color: rgba(255,255,255,0.6);
    margin-bottom: 14px;
    line-height: 1.5;
}

/* Override Newsletter plugin (TNP) – správné selektory dle skutečného HTML */
.ef-nl .tnp.tnp-subscription {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.ef-nl .tnp-subscription form {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Skrýt label */
.ef-nl .tnp-field label {
    display: none !important;
}

.ef-nl .tnp-field {
    margin: 0 !important;
    padding: 0 !important;
}

.ef-nl .tnp-field-email {
    flex: 1 !important;
    min-width: 0 !important;
}

.ef-nl .tnp-field-button {
    flex-shrink: 0 !important;
}

/* Email input */
.ef-nl .tnp-email,
.ef-nl input[type="email"] {
    width: 100% !important;
    height: 38px !important;
    padding: 0 12px !important;
    background: rgba(255,255,255,0.12) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    font-size: 13px !important;
    outline: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    display: block !important;
}

.ef-nl .tnp-email::placeholder,
.ef-nl input[type="email"]::placeholder {
    color: rgba(255,255,255,0.4) !important;
}

/* Submit tlačítko */
.ef-nl input[type="submit"] {
    height: 38px !important;
    padding: 0 18px !important;
    background: #D63031 !important;
    border: none !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background .2s !important;
    white-space: nowrap !important;
    margin: 0 !important;
    display: block !important;
}

.ef-nl input[type="submit"]:hover {
    background: #B71C1C !important;
}

/* eKLUB promo */
.ef-klub {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-left: 40px;
}

.ef-klub-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    flex-shrink: 0;
    overflow: hidden;
}

.ef-klub-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ef-klub-text { flex: 1; }

.ef-klub-title {
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
}

.ef-klub-sub {
    font-size: 12px;
    color: rgba(255,255,255,0.6);
    line-height: 1.5;
    margin-bottom: 10px;
}

.ef-klub-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
    color: #ffffff;
    border: 1.5px solid rgba(255,255,255,0.4);
    border-radius: 4px;
    padding: 5px 14px;
    text-decoration: none;
    transition: border-color .2s, background .2s;
}

.ef-klub-btn:hover {
    border-color: #ffffff;
    background: rgba(255,255,255,0.1);
    text-decoration: none;
    color: #ffffff;
}

/* ── Pásmo 2: Logo + Rubriky + Další ─────────────────────── */
.ef-band2 {
    background: #f8f9fb;
    border-top: 1px solid #e8ecf0;
    padding: 32px 0;
}

.ef-band2 .ef-inner {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 32px;
}

.ef-col-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #1D2D44;
    margin-bottom: 12px;
    display: block;
}

.ef-logo {
    height: 48px;
    width: 48px;
    object-fit: contain;
    display: block;
    margin-bottom: 12px;
}

.ef-logo-text {
    font-size: 20px;
    font-weight: 700;
    color: #1D2D44;
    text-decoration: none;
    display: block;
    margin-bottom: 12px;
}

.ef-desc {
    font-size: 13px;
    color: #6b7a8d;
    line-height: 1.6;
    margin: 0 0 14px;
}

/* Sociální ikony */
.ef-social {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.ef-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: #9aa8b6;
    border-radius: 5px;
    border: 1px solid #dde2e8;
    text-decoration: none;
    transition: color .2s, border-color .2s, background .2s;
}

.ef-social-link:hover {
    color: #1D2D44;
    border-color: #1D2D44;
    background: #ffffff;
    text-decoration: none;
}

/* Seznamy odkazů */
.ef-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ef-links li a {
    font-size: 13px;
    color: #4a5568;
    text-decoration: none;
    transition: color .2s;
}

.ef-links li a:hover {
    color: #D63031;
    text-decoration: none;
}

/* ── Pásmo 3: Copyright ───────────────────────────────────── */
.ef-band3 {
    background: #eef0f3;
    border-top: 1px solid #e0e4e9;
    padding: 10px 0;
}

.ef-band3 .ef-inner {
    display: flex;
    justify-content: center;
}

.ef-copy {
    font-size: 12px;
    color: #9aa8b6;
}

/* ── MOBILNÍ VERZE ── */
@media (max-width: 768px) {
    .ef-band1 .ef-inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ef-klub {
        border-left: none;
        border-top: 1px solid rgba(255,255,255,0.15);
        padding-left: 0;
        padding-top: 24px;
    }

    .ef-band2 .ef-inner {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }

    .ef-col--logo {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .ef-band2 .ef-inner {
        grid-template-columns: 1fr;
    }
}
/* ════════════════════════════════════════════════════════════
   eListy – eRadio Přehrávač (Sticky Bottom Bar)
   Kopírovat do: Přizpůsobit → Další CSS
   ════════════════════════════════════════════════════════════ */

/* ── Wrapper – plovoucí lišta (šířka = obsah navigace) ───── */
.ep-bar {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1200px;
  height: 46px;
  background: #1D2D44;
  z-index: 9999;
  box-shadow: none;
  border-top: 2px solid #D63031;
  border-radius: 0;
}

/* ── Vnitřní obsah ────────────────────────────────────────── */
.ep-inner {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
}

/* ── Tlačítka ─────────────────────────────────────────────── */
.ep-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: #fff;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Play/Pause – čtvercové, červené */
.ep-btn-play {
  width: 30px;
  height: 30px;
  background: #D63031 !important;
  border-radius: 4px;
}
.ep-btn-play svg {
  width: 13px;
  height: 13px;
  pointer-events: none;
}

/* Skip – jen ikona */
.ep-btn-skip {
  opacity: 0.65;
  transition: opacity 0.15s;
}
.ep-btn-skip:hover { opacity: 1; }
.ep-btn-skip svg { width: 16px; height: 16px; }

/* ── Ekvalizér ───────────────────────────────────────────── */
.ep-eq {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 18px;
  flex-shrink: 0;
}
.ep-eq span {
  display: block;
  width: 3px;
  background: #D63031;
  border-radius: 1px 1px 0 0;
  height: 4px;
}

/* Animace – spustí se pouze při přehrávání (.ep-active) */
.ep-eq.ep-active span:nth-child(1) { animation: ep-eq-a 0.8s ease-in-out infinite; }
.ep-eq.ep-active span:nth-child(2) { animation: ep-eq-b 0.6s ease-in-out infinite; }
.ep-eq.ep-active span:nth-child(3) { animation: ep-eq-c 0.9s ease-in-out infinite; }
.ep-eq.ep-active span:nth-child(4) { animation: ep-eq-b 0.7s ease-in-out infinite 0.15s; }
.ep-eq.ep-active span:nth-child(5) { animation: ep-eq-a 1.0s ease-in-out infinite 0.1s; }

@keyframes ep-eq-a { 0%,100% { height: 4px; }  50% { height: 16px; } }
@keyframes ep-eq-b { 0%,100% { height: 8px; }  50% { height: 14px; } }
@keyframes ep-eq-c { 0%,100% { height: 12px; } 50% { height: 4px;  } }

/* ── Metadata – štítek + název stopy ─────────────────────── */
.ep-meta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
  max-width: 200px;
  min-width: 0;
}
.ep-label {
  font-size: 9px;
  color: rgba(255, 255, 255, 0.45);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 2px;
}
.ep-title {
  font-size: 12px;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

/* ── Časová osa (progress) ────────────────────────────────── */
.ep-timeline {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.ep-time {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.55);
  white-space: nowrap;
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}
.ep-bar-track {
  flex: 1;
  height: 3px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 2px;
  cursor: pointer;
  position: relative;
}
.ep-bar-track:hover { background: rgba(255, 255, 255, 0.28); }
.ep-bar-fill {
  height: 100%;
  background: #D63031;
  border-radius: 2px;
  width: 0%;
  transition: width 0.3s linear;
  pointer-events: none;
}

/* ── Hlasitost ───────────────────────────────────────────── */
.ep-vol-wrap {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
}
.ep-vol-icon {
  width: 16px;
  height: 16px;
  color: rgba(255, 255, 255, 0.55);
  flex-shrink: 0;
}
.ep-vol {
  -webkit-appearance: none;
  appearance: none;
  width: 70px;
  height: 3px;
  background: rgba(255, 255, 255, 0.18);
  border-radius: 2px;
  outline: none;
  cursor: pointer;
}
.ep-vol::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}
.ep-vol::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  border: none;
  cursor: pointer;
}

/* ── Rezerva pod obsahem pro sticky bar ──────────────────── */
body { padding-bottom: 46px !important; }

/* ── Mobil – zjednodušení ────────────────────────────────── */
@media (max-width: 640px) {
  .ep-vol-wrap { display: none; }
  .ep-time     { display: none; }
  .ep-meta     { max-width: 130px; }
  .ep-eq       { display: none; } /* ekvalizér na mobilu schovat */
}


/* ============================================================
   eKLUB PRICING TABLE – [elisty_pricing]
   Zobrazuje se jako PMS zpráva při omezeném obsahu.
   Prefix tříd: ekp- (eKLUB Pricing)
   ============================================================ */

.ekp-wrap {
    padding: 28px 0 8px;
    font-family: inherit;
}

/* ── Gate blok (paywall záhlaví) ── */
.ekp-gate        { text-align: center; background: #1D2D44; border-radius: 10px; padding: 40px 32px; color: #fff; margin-bottom: 24px; }
.ekp-gate-lock   { display: flex; justify-content: center; margin-bottom: 20px; }
.ekp-gate-title  { font-size: 20px; font-weight: 700; color: #fff !important; margin: 0 0 12px; }
.ekp-gate-text   { font-size: 14px; color: rgba(255,255,255,0.65) !important; line-height: 1.6; margin: 0 auto 24px; max-width: 460px; }
.ekp-gate-btns   { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.ekp-gate-btn    { display: inline-block; font-size: 14px; font-weight: 600; padding: 10px 22px; border-radius: 6px; text-decoration: none !important; transition: background 0.2s, border-color 0.2s, color 0.2s; }
.ekp-gate-btn--primary { background: #D63031; color: #fff !important; border: 2px solid #D63031; }
.ekp-gate-btn--primary:hover { background: #B71C1C; border-color: #B71C1C; color: #fff !important; text-decoration: none !important; }
.ekp-gate-btn--sec { background: transparent; color: #fff !important; border: 2px solid rgba(255,255,255,0.4); }
.ekp-gate-btn--sec:hover { border-color: #fff; background: rgba(255,255,255,0.1); color: #fff !important; text-decoration: none !important; }

/* ── Grid tří plánů ── */
.ekp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

/* ── Karta plánu ── */
.ekp-plan {
    background: #1D2D44;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
    border: 2px solid transparent;
}

.ekp-plan--featured {
    border-color: #D63031;
    box-shadow: 0 4px 20px rgba(214, 48, 49, 0.18);
}

/* Badge "Nyní zdarma" v rohu Zlatého plánu */
.ekp-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: #D63031;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 4px 10px;
    border-radius: 0 6px 0 6px;
    line-height: 1.6;
}

/* ── Hlavička karty – název + cena ── */
.ekp-plan-header {
    padding: 20px 18px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ekp-plan-name {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 10px;
}

.ekp-price {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin-bottom: 6px;
}

.ekp-price-amount {
    font-size: 34px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1;
}

.ekp-price-period {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.45);
}

.ekp-note {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.35);
    font-style: italic;
}

.ekp-plan--featured .ekp-note {
    color: #D63031;
    font-style: normal;
    font-weight: 600;
}

/* ── Seznam benefitů ── */
.ekp-features {
    flex: 1;
    padding: 14px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ekp-feature {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    line-height: 1.4;
}

.ekp-feature--ok  { color: rgba(255, 255, 255, 0.85); }
.ekp-feature--no  { color: rgba(255, 255, 255, 0.22); }

.ekp-icon {
    font-size: 12px;
    flex-shrink: 0;
    width: 14px;
    text-align: center;
}

.ekp-feature--ok .ekp-icon { color: #6fcf97; }
.ekp-feature--no .ekp-icon { color: rgba(255, 255, 255, 0.18); }

/* ── Patička karty – tlačítko ── */
.ekp-plan-footer {
    padding: 12px 18px 18px;
}

.ekp-btn {
    display: block;
    width: 100%;
    text-align: center;
    padding: 10px 16px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s;
    box-sizing: border-box;
    line-height: 1.4;
}

/* Aktivní – Zlaté */
.ekp-btn--active {
    background: #D63031;
    color: #ffffff !important;
    border: 2px solid #D63031;
}

.ekp-btn--active:hover {
    background: #B71C1C;
    border-color: #B71C1C;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Neaktivní – Bronzové a Stříbrné */
.ekp-btn--soon {
    background: transparent;
    color: rgba(255, 255, 255, 0.25);
    border: 2px solid rgba(255, 255, 255, 0.1);
    cursor: default;
}

/* ── Mobilní verze ── */
@media (max-width: 640px) {
    .ekp-grid {
        grid-template-columns: 1fr;
    }

    /* Zlaté nahoře na mobilu */
    .ekp-plan--featured {
        order: -1;
    }

    .ekp-price-amount {
        font-size: 28px;
    }
}




/* ============================================
   eKLUB HERO – sekce nad pricing tabulkou
   Shortcode: [elisty_eklub_hero]
   CSS prefix: ekh-
   ============================================ */

.ekh-wrap {
    background: #1D2D44;
    padding: 60px 24px 48px;
    text-align: center;
    margin-bottom: 0;
}

/* ── Nadpis ── */
.ekh-title {
    font-family: 'Source Serif Pro', serif;
    font-size: 2.6rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 16px;
    line-height: 1.2;
}

.ekh-title-accent {
    color: #D63031;
}

.ekh-sub {
    font-size: 1.05rem;
    color: #a8b8cc;
    max-width: 580px;
    margin: 0 auto 48px;
    line-height: 1.7;
}

/* ── Pilíře výhod ── */
.ekh-pillars {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 900px;
    margin: 0 auto;
}

.ekh-pillar {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 28px 20px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.ekh-pillar-icon {
    width: 44px;
    height: 44px;
    color: #D63031;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ekh-pillar-icon svg {
    width: 100%;
    height: 100%;
}

.ekh-pillar-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    min-height: 2.4em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ekh-pillar-desc {
    font-size: 0.85rem;
    color: #8a9bb0;
    line-height: 1.55;
}

/* ── Mobilní verze ── */
@media (max-width: 768px) {
    .ekh-title {
        font-size: 1.9rem;
    }

    .ekh-pillars {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .ekh-pillars {
        grid-template-columns: 1fr;
    }

    .ekh-sub br {
        display: none;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   eKLUB Rozcestník – [elisty_eklub_rozcestnik]
   CSS prefix: ekr-
   Karty sdílí styly .pl-rc-grid / .pl-rc-karta z POSLECH sekce
═══════════════════════════════════════════════════════════════════ */

.ekr-wrap {
    margin-top: 48px;
}

.ekr-header {
    margin-bottom: 20px;
}

.ekr-title {
    font-size: 22px;
    font-weight: 700;
    color: #1D2D44;
    margin: 0 0 6px;
}

.ekr-sub {
    font-size: 14px;
    color: #6b7a8d;
    margin: 0;
}


/* ═══════════════════════════════════════════════════════════════════
   Aktivace Zlatého členství – [elisty_aktivace_zlate]
   CSS prefix: ekaz-
═══════════════════════════════════════════════════════════════════ */

.ekaz-wrap {
    max-width: 560px;
    margin: 0 auto;
}

.ekaz-intro {
    font-size: 16px;
    color: #333;
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.ekaz-kod-box {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #1D2D44;
    border-radius: 8px;
    padding: 16px 24px;
    margin-bottom: 2rem;
}

.ekaz-kod-label {
    font-size: 14px;
    color: #a8b8cc;
    white-space: nowrap;
}

.ekaz-kod {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 2px;
    font-family: monospace;
    background: rgba(255,255,255,0.1);
    padding: 4px 14px;
    border-radius: 4px;
    border: 1px dashed rgba(255,255,255,0.3);
}

/* ekaz- přihlášení / registrace tlačítka */
.ekaz-auth-btns {
    display: flex;
    gap: 12px;
    margin-top: 1.5rem;
    flex-wrap: wrap;
}

.ekaz-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: opacity .2s;
}

.ekaz-btn:hover {
    opacity: .85;
    text-decoration: none;
}

.ekaz-btn--primary {
    background: #D63031;
    color: #fff;
}

.ekaz-btn--secondary {
    background: transparent;
    color: #1D2D44;
    border: 2px solid #1D2D44;
}

/* ekaz- hero sekce (nadpis + výhody) */
.ekaz-hero {
    background: #1D2D44;
    border-radius: 10px;
    padding: 28px 28px 24px;
    margin-bottom: 28px;
    color: #fff;
}

.ekaz-nadpis {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
}

.ekaz-sub {
    font-size: 14px;
    color: #a8b8cc;
    margin: 0 0 22px;
    line-height: 1.5;
}

.ekaz-vyhody {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.ekaz-vyhoda {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.ekaz-vyhoda-ikona {
    color: #D63031;
    flex-shrink: 0;
    margin-top: 2px;
}

.ekaz-vyhoda-nazev {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 2px;
}

.ekaz-vyhoda-popis {
    display: block;
    font-size: 12px;
    color: #a8b8cc;
    line-height: 1.4;
}

/* ekaz- přihlásit / registrovat sekce */
.ekaz-prihlaseni {
    padding: 4px 0 8px;
}

.ekaz-prihlaseni-text {
    font-size: 15px;
    color: #333;
    margin-bottom: 16px;
    line-height: 1.6;
}

@media (max-width: 540px) {
    .ekaz-vyhody {
        grid-template-columns: 1fr;
    }
    .ekaz-auth-btns {
        flex-direction: column;
    }
    .ekaz-btn {
        text-align: center;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   Aktivace členství eKLUBU – [elisty_aktivace]
   Stránka /eklub-aktivace/?plan=X
   CSS prefix: ekakt-
═══════════════════════════════════════════════════════════════════ */

.ekakt-wrap {
    max-width: 560px;
    margin: 0 auto;
    padding: 0 0 32px;
}

/* ── Záhlaví s odznakem plánu ──────────────────────────────────── */
.ekakt-header {
    background: #1D2D44;
    border-radius: 10px;
    padding: 28px 28px 22px;
    margin-bottom: 24px;
    color: #fff;
    text-align: center;
}

.ekakt-plan-badge {
    display: inline-block;
    background: #D63031;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 14px;
}

.ekakt-nadpis {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
}

.ekakt-sub {
    font-size: 14px;
    color: #a8b8cc;
    margin: 0;
}

/* ── Cena v záhlaví ──────────────────────────────────────────── */
.ekakt-cena {
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.ekakt-cena-castka {
    font-size: 26px;
    font-weight: 700;
    color: #fff;
}

.ekakt-cena-puvodni {
    font-size: 18px;
    color: #6a7f96;
    text-decoration: line-through;
}

.ekakt-cena-zdarma {
    font-size: 20px;
    font-weight: 700;
    color: #2ecc71;
}

/* ── Seznam výhod ─────────────────────────────────────────────── */
.ekakt-vyhody {
    background: #f8f9fb;
    border-radius: 10px;
    padding: 20px 24px;
    margin-bottom: 24px;
}

.ekakt-vyhody-nadpis {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #7a8fa6;
    margin: 0 0 14px;
}

.ekakt-vyhody-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ekakt-vyhoda {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #1D2D44;
}

.ekakt-vyhoda-ikona {
    font-size: 17px;
    flex-shrink: 0;
    width: 24px;
    text-align: center;
}

/* ── Sekce pro nepřihlášené ───────────────────────────────────── */
.ekakt-prihlaseni {
    background: #f0f4f8;
    border-radius: 10px;
    padding: 22px 24px;
}

.ekakt-prihlaseni-text {
    font-size: 15px;
    color: #1D2D44;
    margin: 0 0 18px;
    line-height: 1.5;
}

.ekakt-auth-btns {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* ── Formulář přímé aktivace ─────────────────────────────────── */
.ekakt-form-wrap {
    background: #f8f9fb;
    border-radius: 10px;
    padding: 24px 28px;
}

.ekakt-form-nadpis {
    font-size: 17px;
    font-weight: 700;
    color: #1D2D44;
    margin: 0 0 8px;
}

.ekakt-form-popis {
    font-size: 14px;
    color: #5a6a7a;
    margin: 0 0 20px;
}

.ekakt-pole {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 20px;
}

.ekakt-label {
    font-size: 13px;
    font-weight: 600;
    color: #1D2D44;
}

.ekakt-select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #d0d8e4;
    border-radius: 7px;
    font-size: 14px;
    color: #1D2D44;
    background: #fff;
    appearance: auto;
}

.ekakt-pozn {
    font-size: 12px;
    color: #9aabbb;
}

/* ── Tlačítka ─────────────────────────────────────────────────── */
.ekakt-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 22px;
    border-radius: 7px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: opacity .15s;
}

.ekakt-btn:hover {
    opacity: .85;
    text-decoration: none;
}

.ekakt-btn--primary {
    background: #D63031;
    color: #fff !important;
}
.ekakt-btn--primary:hover {
    background: #b52828;
    color: #fff !important;
}

.ekakt-btn--secondary {
    background: transparent;
    color: #1D2D44;
    border: 2px solid #c0ccd8;
}

.ekakt-btn--velky {
    width: 100%;
    padding: 14px 22px;
    font-size: 15px;
}

/* ── Úspěšná aktivace ─────────────────────────────────────────── */
.ekakt-success {
    background: #1D2D44;
    border-radius: 10px;
    padding: 36px 28px;
    text-align: center;
    color: #fff;
}

.ekakt-success-icon {
    font-size: 48px;
    margin-bottom: 16px;
}

.ekakt-success-nadpis {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 12px;
}

.ekakt-success-text {
    font-size: 15px;
    color: #a8b8cc;
    margin: 0 0 24px;
    line-height: 1.6;
}

.ekakt-success-links {
    display: flex;
    justify-content: center;
}

/* ── Info (už člen) ──────────────────────────────────────────── */
.ekakt-info {
    background: #f0f4f8;
    border-radius: 10px;
    padding: 24px 28px;
    text-align: center;
}

.ekakt-info-text {
    font-size: 15px;
    color: #1D2D44;
    margin: 0 0 18px;
}

/* ── Fakturační box (kontrola adresy před platbou) ───────────── */
.ekakt-fakt-box {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 14px;
    border-radius: 7px;
    margin-bottom: 18px;
    font-size: 13px;
    line-height: 1.5;
}
.ekakt-fakt-box--ok {
    background: #eaf7ee;
    border: 1px solid #a8d5b5;
    color: #1e5631;
}
.ekakt-fakt-box--chybi {
    background: #fff8e6;
    border: 1px solid #f5d87a;
    color: #5a3e00;
}
.ekakt-fakt-ikona {
    font-size: 16px;
    flex-shrink: 0;
    margin-top: 1px;
}
.ekakt-fakt-text { flex: 1; }
.ekakt-fakt-odkaz {
    display: inline-block;
    margin-top: 5px;
    font-weight: 600;
    color: #D63031;
    text-decoration: underline;
}

/* ── Inline formulář adresy (blocker před platbou) ──────────── */
.ekakt-adresa-form {
    margin-top: 1rem;
}
.ekakt-adresa-pole input,
.ekakt-adresa-duo input {
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid #d0d8e4;
    border-radius: 7px;
    font-size: 14px;
    color: #1D2D44;
    background: #fff;
    box-sizing: border-box;
    transition: border-color .15s;
}
.ekakt-adresa-pole input:focus,
.ekakt-adresa-duo input:focus {
    outline: none;
    border-color: #D63031;
}
.ekakt-adresa-pole { margin-bottom: .6rem; }
.ekakt-adresa-duo {
    display: flex;
    gap: .6rem;
    margin-bottom: .9rem;
}
.ekakt-adresa-duo input:last-child {
    max-width: 120px;
    flex-shrink: 0;
}
.ekakt-adresa-pozn {
    margin-top: .7rem;
    font-size: .82rem;
    color: #7a8fa6;
    text-align: center;
}
.ekakt-adresa-pozn a { color: #D63031; }

/* ── Responzivní ─────────────────────────────────────────────── */
@media (max-width: 540px) {
    .ekakt-header { padding: 22px 18px 18px; }
    .ekakt-form-wrap { padding: 20px 18px; }
    .ekakt-auth-btns { flex-direction: column; }
    .ekakt-btn--secondary { text-align: center; }
    .ekakt-adresa-duo { flex-direction: column; }
    .ekakt-adresa-duo input:last-child { max-width: 100%; }
}

/* ══════════════════════════════════════════════════════════════════
   AKTIVACE – Platební instrukce (stav platba-ceka)
   CSS prefix: ekakt-platba-, ekakt-vs-, ekakt-qr-
   ══════════════════════════════════════════════════════════════════ */

.ekakt-platba {
    background: #1D2D44;
    border-radius: 12px;
    padding: 32px 28px;
    color: #fff;
    max-width: 560px;
    margin: 0 auto;
    text-align: center;
}

.ekakt-platba-ikona {
    font-size: 2.8rem;
    margin-bottom: 10px;
}

.ekakt-platba-nadpis {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 10px;
    color: #fff;
}

.ekakt-platba-popis {
    font-size: 0.95rem;
    color: rgba(255,255,255,0.78);
    margin: 0 0 24px;
    line-height: 1.55;
}

/* ── Platební box ───────────────────────────────────────────── */

.ekakt-platba-box {
    background: rgba(255,255,255,0.07);
    border-radius: 10px;
    padding: 22px 20px;
    text-align: left;
    margin-bottom: 20px;
}

.ekakt-platba-box-nadpis {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
    margin: 0 0 16px;
}

/* ── Řádky s údaji ──────────────────────────────────────────── */

.ekakt-platba-udaje {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 22px;
}

.ekakt-platba-radek {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.92rem;
}

.ekakt-platba-stitek {
    color: rgba(255,255,255,0.55);
    min-width: 140px;
    flex-shrink: 0;
}

.ekakt-platba-hodnota {
    color: #fff;
    font-weight: 600;
}

.ekakt-banka {
    font-weight: 400;
    color: rgba(255,255,255,0.55);
}

.ekakt-mono {
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.88rem;
    letter-spacing: 0.04em;
}

/* ── Variabilní symbol + tlačítko kopírovat ────────────────── */

.ekakt-platba-radek--vs {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 6px;
}

.ekakt-vs-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.ekakt-vs {
    font-size: 1.25rem;
    font-weight: 700;
    font-family: 'Courier New', Courier, monospace;
    letter-spacing: 0.06em;
    color: #f8c944;
}

.ekakt-vs-btn {
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.25);
    color: #fff;
    font-size: 0.75rem;
    padding: 4px 10px;
    border-radius: 5px;
    cursor: pointer;
    transition: background 0.2s;
}

.ekakt-vs-btn:hover {
    background: rgba(255,255,255,0.22);
}

/* ── QR kód sekce ───────────────────────────────────────────── */

.ekakt-qr-sekce {
    border-top: 1px solid rgba(255,255,255,0.12);
    padding-top: 18px;
}

.ekakt-qr-popis {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.6);
    margin: 0 0 14px;
    text-align: center;
}

.ekakt-qr-wrap {
    display: flex;
    justify-content: center;
}

.ekakt-qr-wrap > div {
    border-radius: 8px;
    overflow: hidden;
    line-height: 0;
}

/* ── Patička platební sekce ─────────────────────────────────── */

.ekakt-platba-pozn {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.45);
    margin: 0;
}

.ekakt-platba-pozn a {
    color: rgba(255,255,255,0.7);
}

/* ── Responzivní ─────────────────────────────────────────────── */
@media (max-width: 540px) {
    .ekakt-platba { padding: 24px 16px; }
    .ekakt-platba-radek { flex-direction: column; align-items: flex-start; gap: 3px; }
    .ekakt-platba-stitek { min-width: unset; }
    .ekakt-vs { font-size: 1.1rem; }
}


/* ============================================
   VIDEO stránka – [elisty_video]
   Prefix: ev-
   Verze: 3.0 | 21. 5. 2026  ← tmavý vzhled + šipky
   ============================================ */


/* ════════════════════════════════════════════
   WRAPPER & TMAVÉ POZADÍ
   ════════════════════════════════════════════ */

.ev-wrap {
    background: #1D2D44;
    padding-bottom: 40px;
}

/* Odstranit veškerý padding z inside-article → player flush s menu */
body.page .inside-article:has(.ev-wrap) {
    padding: 0 !important;
    background: #1D2D44;
}

/* Skrýt nadpis stránky (entry-header) na VIDEO stránce */
body.page .inside-article:has(.ev-wrap) .entry-header {
    display: none !important;
}

/* Tmavé pozadí pro okolní oblasti (site-content, content-area) */
body.page .content-area:has(.ev-wrap),
body.page .site-main:has(.ev-wrap) {
    background: #1D2D44;
}


/* ════════════════════════════════════════════
   VELKÝ PŘEHRÁVAČ NAHOŘE
   ════════════════════════════════════════════ */

.ev-player-section {
    width: 100%;
    background: #000;
    margin-bottom: 32px;
}

.ev-player-wrap {
    position: relative;
    width: 100%;
    padding-bottom: min(56.25%, 78vh);
    background: #000;
    overflow: hidden;
}

.ev-player-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* Facade – náhrad za iframe, načte se až po kliknutí */
.ev-facade {
    position: absolute;
    inset: 0;
    cursor: pointer;
    background: #000;
    overflow: hidden;
}

.ev-facade-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity 0.3s;
}
.ev-facade-thumb--empty {
    background: #0d1a2e;
}

.ev-facade:hover .ev-facade-thumb {
    opacity: 0.85;
}

.ev-facade-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    width: 68px;
    height: 48px;
    transition: transform 0.2s;
}

.ev-facade:hover .ev-facade-play {
    transform: translate(-50%, -50%) scale(1.1);
}


/* ════════════════════════════════════════════
   SEKCE A ZÁHLAVÍ
   ════════════════════════════════════════════ */

.ev-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.ev-section {
    margin-bottom: 40px;
}

.ev-section-head {
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.ev-section-title {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    border-left: 3px solid #D63031;
    padding-left: 12px;
    line-height: 1.3;
}

.ev-section-sub {
    font-size: 13px;
    color: #7a9ab8;
    margin: 0;
}

.ev-section-link {
    font-size: 13px;
    color: #D63031;
    text-decoration: none;
    margin-left: auto;
    white-space: nowrap;
}

.ev-section-link:hover {
    text-decoration: underline;
    color: #D63031;
}

.ev-eklub-badge {
    display: inline-block;
    background: #D63031;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    letter-spacing: 0.05em;
    line-height: 1.6;
}


/* ════════════════════════════════════════════
   VELKÉ KARTY – bigcard
   (eKLUB, Herní seriály, Otevřené série)
   ════════════════════════════════════════════ */

.ev-grid {
    display: grid;
    gap: 16px;
}

.ev-grid--2 { grid-template-columns: repeat(2, 1fr); }
.ev-grid--3 { grid-template-columns: repeat(3, 1fr); }
.ev-grid--4 { grid-template-columns: repeat(4, 1fr); }

.ev-bigcard {
    display: block;
    text-decoration: none;
    color: #fff;
    transition: transform 0.2s;
}

.ev-bigcard:hover {
    transform: translateY(-3px);
    color: #fff;
    text-decoration: none;
}

.ev-bigcard-img {
    position: relative;
    overflow: hidden;
    border-radius: 6px;
    background: #243650;
    aspect-ratio: 16 / 9;
}

.ev-bigcard-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s, opacity 0.3s;
}

.ev-bigcard:hover .ev-bigcard-img img {
    transform: scale(1.04);
    opacity: 0.85;
}

/* Placeholder – zobrazí se dokud není artwork */
.ev-bigcard-ph {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #243650;
    color: #7a9ab8;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    padding: 12px;
    border: 1px dashed #3d5a7a;
    border-radius: 6px;
    box-sizing: border-box;
}

/* Hover CTA overlay */
.ev-bigcard-hover {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.25s;
    border-radius: 6px;
}

.ev-bigcard:hover .ev-bigcard-hover {
    opacity: 1;
}

.ev-bigcard-hover span {
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border: 2px solid rgba(255,255,255,0.8);
    padding: 8px 16px;
    border-radius: 4px;
    white-space: nowrap;
}

/* Label (název sekce) vlevo nahoře – naproti EKLUB badge */
.ev-bigcard-label {
    position: absolute;
    top: 10px;
    left: 10px;
    background: rgba(29, 45, 68, 0.92);
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.4;
    pointer-events: none;
    z-index: 3;
}

/* Zámek eKLUB */
.ev-bigcard-lock {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(214, 48, 49, 0.92);
    color: #fff;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px 4px 7px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    z-index: 2;
    letter-spacing: 0.04em;
}

.ev-bigcard--locked .ev-bigcard-img img,
.ev-bigcard--locked .ev-bigcard-ph {
    filter: brightness(0.25);
}

/* Malé bigcardy – poloviční výška (sekce eKLUB, druhý řádek) */
.ev-bigcard--small .ev-bigcard-img {
    aspect-ratio: 16 / 6;
}
.ev-grid--small-cards {
    margin-top: 16px;
}

.ev-bigcard-lock-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

/* Badge NOVÉ VIDEO – vlevo dole, těsně nad počítadlem epizod (max. 4 dny od přidání videa) */
.ev-bigcard-new {
    position: absolute;
    bottom: 36px;
    left: 12px;
    z-index: 3;
    background: #D63031;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 4px;
    pointer-events: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
}

/* Počet epizod jako overlay badge (vlevo dole v artworku) */
.ev-bigcard-count {
    position: absolute;
    bottom: 10px;
    left: 12px;
    z-index: 2;
    display: inline-block;
    background: #fff;
    color: #D63031;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 3px;
    pointer-events: none;
}

.ev-bigcard-title {
    font-size: 14px;
    font-weight: 600;
    color: #e0eaf5;
    margin: 10px 0 3px;
    line-height: 1.35;
}

.ev-bigcard-sub {
    font-size: 12px;
    color: #7a9ab8;
    margin: 0;
}


/* ════════════════════════════════════════════
   SCROLLOVATELNÁ ŘADA VIDEÍ se ŠIPKAMI
   (ePLAY, Unboxing)
   ════════════════════════════════════════════ */

/* Wrapper řady – relativní pozice pro absolutní šipky */
.ev-row-outer {
    position: relative;
}

.ev-row {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 8px;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: #3a5272 #243650;
}

.ev-row::-webkit-scrollbar { height: 3px; }
.ev-row::-webkit-scrollbar-track { background: #243650; }
.ev-row::-webkit-scrollbar-thumb { background: #3a5272; border-radius: 2px; }

/* Šipky – kruhová červená tlačítka plovoucí na krajích řady */
.ev-arrow {
    position: absolute;
    top: calc(50% - 10px); /* střed výšky thumbnailů (výška - výška titulku) */
    transform: translateY(-50%);
    z-index: 10;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(214, 48, 49, 0.92);
    border: 2px solid rgba(255, 255, 255, 0.25);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, opacity 0.2s;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.5);
    padding: 0;
}

.ev-arrow--prev { left: 4px; }
.ev-arrow--next { right: 4px; }

.ev-arrow:hover {
    background: #b71c1c;
    border-color: rgba(255, 255, 255, 0.5);
}

.ev-arrow:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.ev-arrow--hidden {
    opacity: 0;
    pointer-events: none;
}

.ev-rowcard {
    flex: 0 0 220px;
    cursor: pointer;
    scroll-snap-align: start;
    transition: transform 0.2s;
    border-radius: 5px;
}

/* Širší varianta pro Herní ePODy – rozměr odpovídá bigcardům Otevřených sérií */
.ev-rowcard--wide {
    flex: 0 0 340px;
}

.ev-rowcard:hover {
    transform: translateY(-2px);
}

.ev-rowcard--active .ev-rowcard-img::after {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 0 3px #D63031;
    border-radius: 5px;
    pointer-events: none;
}

.ev-rowcard-img {
    position: relative;
    overflow: hidden;
    border-radius: 5px;
    background: #243650;
    aspect-ratio: 16 / 9;
}

.ev-rowcard-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity 0.2s;
}

.ev-rowcard:hover .ev-rowcard-img img {
    opacity: 0.75;
}

.ev-rowcard-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.2s;
    pointer-events: none;
}

.ev-rowcard:hover .ev-rowcard-play {
    opacity: 1;
}

.ev-rowcard-title {
    font-size: 12px;
    color: #9db8d2;
    margin: 7px 0 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* ════════════════════════════════════════════
   RESPONZIVITA
   ════════════════════════════════════════════ */

@media (max-width: 900px) {
    .ev-grid--4 { grid-template-columns: repeat(2, 1fr); }
    .ev-grid--3 { grid-template-columns: repeat(2, 1fr); }
    .ev-content { padding: 0 16px; }
    .ev-rowcard { flex: 0 0 190px; }
    .ev-rowcard--wide { flex: 0 0 280px; }
}

@media (max-width: 600px) {
    .ev-grid--4,
    .ev-grid--3,
    .ev-grid--2 { grid-template-columns: 1fr; }
    .ev-content { padding: 0 12px; }
    .ev-section-title { font-size: 16px; }
    .ev-rowcard { flex: 0 0 155px; }
    .ev-rowcard--wide { flex: 0 0 230px; }
    .ev-player-section { margin-bottom: 20px; }
    .ev-arrow { width: 36px; height: 36px; }
}


/* ============================================
   PLAYLIST stránka – [elisty_playlist]
   Prefix: epl-  |  Sdílí ev- třídy z VIDEO
   Verze: 1.0 | 21. 5. 2026
   ============================================ */

.epl-header {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 24px 0 20px;
}

.epl-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #7a9ab8;
    text-decoration: none;
    transition: color 0.2s;
    width: fit-content;
}

.epl-back:hover {
    color: #D63031;
    text-decoration: none;
}

.epl-title-area {
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 4px;
}

.epl-title {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1.3;
}

.epl-popis {
    font-size: 13px;
    color: #7a9ab8;
    margin: 0;
}

@media (max-width: 600px) {
    .epl-title { font-size: 18px; }
}


/* ═══════════════════════════════════════════════════════════════
   SEKCE ŽIVĚ  (prefix ez-)
   Snippet: elisty-zive.txt  |  Shortcode: [elisty_zive]
   Stránka: /zive/
   Verze: 1.0  |  26. 5. 2026
   Závislost: ev-* třídy ze sekce VIDEO (player, rowcardy, šipky)
═══════════════════════════════════════════════════════════════ */

/* ── Tmavé pozadí (stejný vzor jako VIDEO) ── */
body.page:has(.ez-wrap) .inside-article,
body.page:has(.ez-wrap) .content-area,
body.page:has(.ez-wrap) .site-main {
    background: #1D2D44;
}

/* ── Status bar pod přehrávačem ── */
.ez-status {
    display:         flex;
    align-items:     center;
    gap:             16px;
    flex-wrap:       wrap;
    padding:         10px 20px;
    background:      rgba(0,0,0,0.25);
    border-bottom:   1px solid rgba(255,255,255,0.07);
    font-size:       13px;
}

.ez-status-live,
.ez-status-offline {
    display:     flex;
    align-items: center;
    gap:         8px;
    flex:        1;
    min-width:   0;
}

/* Blikající tečka */
.ez-dot {
    width:         10px;
    height:        10px;
    border-radius: 50%;
    flex-shrink:   0;
}
.ez-dot--live {
    background: #D63031;
    box-shadow: 0 0 0 0 rgba(214, 48, 49, 0.5);
    animation:  ez-pulse 1.4s ease-in-out infinite;
}
.ez-dot--offline {
    background: #636e72;
}

@keyframes ez-pulse {
    0%   { box-shadow: 0 0 0 0   rgba(214,48,49,0.5); }
    70%  { box-shadow: 0 0 0 8px rgba(214,48,49,0);   }
    100% { box-shadow: 0 0 0 0   rgba(214,48,49,0);   }
}

.ez-live-label {
    font-weight:    700;
    color:          #D63031;
    letter-spacing: 0.06em;
    font-size:      12px;
}
.ez-live-info {
    display:     inline-flex;
    align-items: center;
    gap:         8px;
    flex:        0 0 auto;
    min-width:   0;
}
.ez-live-title {
    color:         #e0ecff;
    font-size:     13px;
    white-space:   nowrap;
    overflow:      hidden;
    text-overflow: ellipsis;
    max-width:     400px;
}

.ez-offline-label {
    font-weight:    600;
    color:          #636e72;
    letter-spacing: 0.06em;
    font-size:      12px;
}
.ez-status-next {
    color:     #7a9ab8;
    font-size: 13px;
}
.ez-status-next strong {
    color:       #c0d4ed;
    font-weight: 600;
}

/* YouTube odkaz vpravo */
.ez-yt-link {
    display:     flex;
    align-items: center;
    gap:         6px;
    margin-left: auto;
    color:       #7a9ab8;
    font-size:   12px;
    text-decoration: none;
    white-space: nowrap;
    transition:  color 0.2s;
}
.ez-yt-link:hover { color: #c0d4ed; }

/* ── Program vysílání – grid karet ── */
.ez-program-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap:                   14px;
}

.ez-program-card {
    background:    rgba(255,255,255,0.05);
    border:        1px solid rgba(255,255,255,0.09);
    border-radius: 8px;
    padding:       16px 18px;
    display:       flex;
    flex-direction: column;
    gap:           6px;
    border-top:    3px solid #4a6fa5;    /* výchozí barva (moderované) */
    transition:    background 0.2s;
}
.ez-program-card:hover {
    background: rgba(255,255,255,0.08);
}

/* Barevné pruhy dle typu */
.ez-program-card--moderovane    { border-top-color: #D63031; }
.ez-program-card--bez_komentare { border-top-color: #4a6fa5; }
.ez-program-card--special       { border-top-color: #f0a500; }

.ez-card-date {
    font-size:   13px;
    font-weight: 700;
    color:       #c0d4ed;
    letter-spacing: 0.02em;
}
.ez-card-meta {
    display:     flex;
    align-items: center;
    gap:         8px;
    flex-wrap:   wrap;
}
.ez-card-type {
    font-size:      11px;
    font-weight:    600;
    color:          #7a9ab8;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.ez-card-lock {
    font-size:      10px;
    font-weight:    700;
    color:          #D63031;
    border:         1px solid #D63031;
    border-radius:  3px;
    padding:        1px 5px;
    letter-spacing: 0.05em;
}
.ez-card-title {
    font-size:   14px;
    font-weight: 600;
    color:       #e0ecff;
    line-height: 1.35;
}
.ez-card-desc {
    font-size:   12px;
    color:       #7a9ab8;
    line-height: 1.4;
}

/* ── Gate pro nečleny (archiv moderovaných) ── */
.ez-gate {
    display:        flex;
    flex-direction: column;
    align-items:    center;
    gap:            14px;
    padding:        40px 24px;
    background:     rgba(0,0,0,0.2);
    border:         1px solid rgba(255,255,255,0.07);
    border-radius:  10px;
    text-align:     center;
    max-width:      480px;
    margin:         0 auto;
}
.ez-gate p {
    color:       #7a9ab8;
    font-size:   14px;
    line-height: 1.55;
    margin:      0;
}
.ez-gate p strong {
    color: #c0d4ed;
}
.ez-gate-btn {
    display:         inline-block;
    background:      #D63031;
    color:           #fff;
    font-weight:     600;
    font-size:       14px;
    padding:         10px 22px;
    border-radius:   6px;
    text-decoration: none;
    transition:      background 0.2s;
}
.ez-gate-btn:hover { background: #b52828; color: #fff; }

/* ── Gate overlay na facade (live pouze pro členy) ── */
.ev-facade--gated { cursor: default; }
.ez-facade-gate {
    position:        absolute;
    inset:           0;
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    justify-content: center;
    background:      rgba(0, 0, 0, 0.72);
    gap:             16px;
    text-align:      center;
    padding:         24px 20px;
    border-radius:   inherit;
}
.ez-facade-gate-icon { opacity: 0.65; }
.ez-facade-gate-text {
    color:       #d0e4f8;
    font-size:   15px;
    font-weight: 500;
    line-height: 1.5;
    max-width:   340px;
}
.ez-facade-gate-text strong { color: #fff; }
.ez-facade-gate-btn {
    display:         inline-block;
    background:      #D63031;
    color:           #fff !important;
    font-weight:     700;
    font-size:       14px;
    padding:         11px 24px;
    border-radius:   9px;
    text-decoration: none;
    transition:      background 0.2s;
    letter-spacing:  0.02em;
}
.ez-facade-gate-btn:hover { background: #B71C1C; color: #fff !important; }

/* ── Badge „eKLUB" ve status baru ── */
.ez-live-eklub-badge {
    display:        inline-flex;
    align-items:    center;
    gap:            4px;
    background:     rgba(0, 0, 0, 0.35);
    color:          rgba(255, 255, 255, 0.8);
    font-weight:    600;
    letter-spacing: 0.05em;
    padding:        3px 8px;
    border-radius:  5px;
    flex:           0 0 auto;
    vertical-align: middle;
}

/* ── Prázdný stav ── */
.ez-empty {
    color:      #7a9ab8;
    font-size:  13px;
    text-align: center;
    padding:    24px 0;
}

/* ── Karta – obrázek nahoře ── */
.ez-program-card {
    padding: 0;                  /* reset původního paddingu – tělo má vlastní */
    overflow: hidden;
}

.ez-card-img {
    width:               100%;
    height:              120px;
    background-size:     cover;
    background-position: center;
    background-repeat:   no-repeat;
    border-radius:       6px 6px 0 0;   /* zaoblení jen nahoře */
    flex-shrink:         0;
}

/* Prázdný obrázek – gradient dle typu vysílání */
.ez-program-card--moderovane    .ez-card-img--empty {
    background: linear-gradient(135deg, #6b1212 0%, #2a1010 100%);
}
.ez-program-card--bez_komentare .ez-card-img--empty {
    background: linear-gradient(135deg, #1a3358 0%, #0d1f38 100%);
}
.ez-program-card--special       .ez-card-img--empty {
    background: linear-gradient(135deg, #7a5200 0%, #2e1e00 100%);
}

/* Textové tělo karty */
.ez-card-body {
    padding:        14px 16px 16px;
    display:        flex;
    flex-direction: column;
    gap:            5px;
    flex:           1;
}

/* ── Skrývání karet 5+ a expand ── */
.ez-program-card--hidden {
    display: none;
}
.ez-program-grid.ez-program--expanded .ez-program-card--hidden {
    display: flex;
}

/* ── Tlačítko „Celý program" ── */
.ez-program-more {
    display:         flex;
    justify-content: center;
    margin-top:      14px;
}

.ez-program-more-btn {
    background:      transparent;
    border:          1px solid rgba(255,255,255,0.2);
    color:           #7a9ab8;
    font-size:       13px;
    font-weight:     600;
    padding:         8px 20px;
    border-radius:   6px;
    cursor:          pointer;
    letter-spacing:  0.03em;
    transition:      border-color 0.2s, color 0.2s;
}
.ez-program-more-btn:hover {
    border-color: rgba(255,255,255,0.45);
    color:        #c0d4ed;
}

/* ── Responzivita ── */
@media (max-width: 768px) {
    .ez-program-grid {
        grid-template-columns: 1fr 1fr;
    }
    .ez-live-title {
        display: none;   /* na mobilech se titulek živáku skryje */
    }
    .ez-status-next {
        display: none;   /* "Příští vysílání" na mobilech pod status */
    }
    .ez-card-img { height: 100px; }
}

@media (max-width: 480px) {
    .ez-program-grid { grid-template-columns: 1fr; }
    .ez-status       { gap: 10px; padding: 8px 14px; }
    .ez-card-img     { height: 140px; }   /* na mobilu je karta celá šíře, obrázek větší */
}


/* ═══════════════════════════════════════════════════════════════
   SIDEBAR – blok ŽIVĚ  (prefix sb-zive-)
   Zobrazuje se v archivech rubrik a na single-post stránkách.
   HTML generuje ez_sidebar_zive_html() v elisty-zive.txt.
═══════════════════════════════════════════════════════════════ */

/* Tmavá karta – widget vystoupí ze světlého sidebaru */
.sb-zive {
    background:    #1D2D44;
    border-radius: 8px;
    padding:       14px 16px;
    margin-bottom: 24px;
}

.sb-zive .sb-title {
    display:     flex;
    align-items: center;
    gap:         7px;
    color:       #e0ecff;
    font-size:   11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 12px;
}

/* Blikající tečka – stejná animace jako ez-dot--live */
.sb-zive-dot {
    width:         8px;
    height:        8px;
    border-radius: 50%;
    flex-shrink:   0;
}
.sb-zive-dot--live {
    background: #D63031;
    animation:  ez-pulse 1.4s ease-in-out infinite;
}

/* Řádek „PRÁVĚ ŽIVĚ" */
.sb-zive-live-row {
    display:        flex;
    flex-direction: column;
    gap:            4px;
    background:     rgba(214, 48, 49, 0.1);
    border:         1px solid rgba(214, 48, 49, 0.3);
    border-radius:  6px;
    padding:        10px 12px;
    text-decoration: none;
    margin-bottom:  10px;
    transition:     background 0.2s;
}
.sb-zive-live-row:hover { background: rgba(214, 48, 49, 0.18); }

.sb-zive-live-badge {
    font-size:      10px;
    font-weight:    700;
    color:          #D63031;
    letter-spacing: 0.08em;
}
.sb-zive-live-title {
    font-size:   13px;
    font-weight: 600;
    color:       #e0ecff;
    line-height: 1.3;
}
.sb-zive-live-cta {
    font-size: 12px;
    color:     #7a9ab8;
    margin-top: 2px;
}

/* Seznam nadcházejících vysílání */
.sb-zive-list {
    list-style: none;
    margin:     0 0 10px;
    padding:    0;
    display:    flex;
    flex-direction: column;
    gap:        8px;
}
.sb-zive-item {
    display:        flex;
    flex-direction: column;
    gap:            2px;
    padding-left:   10px;
    border-left:    2px solid rgba(255,255,255,0.25);
}
.sb-zive-date {
    font-size:   11px;
    color:       #7a9ab8;
    font-weight: 600;
    letter-spacing: 0.02em;
}
.sb-zive-name {
    font-size:   13px;
    color:       #c0d4ed;
    line-height: 1.3;
}

/* Odkaz na celý program */
.sb-zive-link {
    display:        block;
    font-size:      12px;
    font-weight:    600;
    color:          #7a9ab8;
    text-decoration: none;
    text-align:     right;
    transition:     color 0.2s;
}
.sb-zive-link:hover { color: #c0d4ed; }


/* ============================================
   YT SEKCE – info o vysílání vpravo (homepage)
   Prefix: yt-zive-
   ============================================ */

.yt-buttons {
    flex-wrap: wrap;
}

.yt-zive-bar {
    display:     inline-flex;
    align-items: center;
    gap:         7px;
    margin-left: auto;
    padding:     9px 14px;
    border-radius: 6px;
    border:      2px solid transparent;
    font-size:   13px;
    line-height: 1.4;
    background:  #1D2D44;
    text-decoration: none;
    white-space: nowrap;
    transition:  background 0.2s;
}
.yt-zive-bar:hover { background: #253d59; }

.yt-zive-dot {
    width:        8px;
    height:       8px;
    border-radius: 50%;
    flex-shrink:  0;
}
.yt-zive-dot--live    { background: #D63031; animation: yt-zive-pulse 1.5s ease-in-out infinite; }
.yt-zive-dot--offline { background: #555; }

@keyframes yt-zive-pulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.25; }
}

.yt-zive-label {
    font-weight:    700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color:          #fff;
}
.yt-zive-bar--live .yt-zive-label { color: #D63031; }

.yt-zive-text {
    color: #aab4c0;
}

/* Mobil – celý řádek, zarovnání vlevo */
@media (max-width: 540px) {
    .yt-zive-bar {
        margin-left: 0;
        width:       100%;
    }
}

/* ================================================
   STRÁNKA REDAKCE
   ================================================ */

/* Skrytí GP výchozích prvků na stránce Redakce + nulování paddingů */
body.page:has(.redakce-wrap) .entry-header,
body.page:has(.redakce-wrap) .page-header,
body.page:has(.redakce-wrap) .inside-page-hero,
body.page:has(.redakce-wrap) .gp-page-hero-container {
    display: none !important;
}
body.page:has(.redakce-wrap) .inside-article {
    padding: 0 !important;
}
body.page:has(.redakce-wrap) .site-main,
body.page:has(.redakce-wrap) .content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Obal */
.redakce-wrap {
    padding: 60px 40px 80px;
}

/* Nadpis stránky */
.redakce-title {
    font-family: 'Source Serif 4', 'Source Serif Pro', serif;
    font-size: 22px;
    font-weight: 700;
    color: #1D2D44;
    margin-bottom: 8px;
}
.redakce-subtitle {
    font-size: 16px;
    color: #6b7a8d;
    margin-bottom: 32px;
    max-width: 560px;
    line-height: 1.6;
}

/* HERO – hlavní autor */
.redakce-hero {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 48px;
    align-items: center;
    background: #f8f9fb;
    border-radius: 12px;
    padding: 40px 48px;
    margin-bottom: 40px;
    border-left: 4px solid #D63031;
}
.redakce-hero-photo {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    margin: 0 auto;
    border: 4px solid #fff;
    box-shadow: 0 4px 20px rgba(29,45,68,0.15);
}
.redakce-hero-label {
    display: inline-block;
    background: #D63031;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 4px;
    margin-bottom: 12px;
}
.redakce-hero-name {
    font-family: 'Source Serif 4', 'Source Serif Pro', serif;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 14px;
    color: #1D2D44;
}
.redakce-hero-bio {
    font-size: 15px;
    line-height: 1.75;
    color: #3d4f63;
}

/* Odkaz na články autora (sdílený) */
.redakce-author-link {
    display: inline-block;
    margin-top: 18px;
    font-size: 13px;
    font-weight: 600;
    color: #D63031;
    text-decoration: none;
    border-bottom: 1px solid rgba(214,48,49,0.3);
    padding-bottom: 1px;
    transition: border-color 0.2s;
    width: fit-content;
    align-self: flex-start;
}
.redakce-author-link:hover {
    border-color: #D63031;
    color: #D63031;
}

/* Section label */
.redakce-section-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #9aa5b4;
    margin-bottom: 24px;
}

/* Grid autorů */
.redakce-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 64px;
}

/* Karta autora */
.redakce-card {
    background: #fff;
    border: 1px solid #e8ecf0;
    border-radius: 8px;
    padding: 28px 24px 24px;
    transition: box-shadow 0.2s, transform 0.2s;
    display: flex;
    flex-direction: column;
}
.redakce-card:hover {
    box-shadow: 0 6px 24px rgba(29,45,68,0.10);
    transform: translateY(-2px);
}
.redakce-card-top {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}
.redakce-card-photo {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid #e8ecf0;
}
.redakce-card-name {
    font-family: 'Source Serif 4', 'Source Serif Pro', serif;
    font-size: 17px;
    font-weight: 700;
    color: #1D2D44;
    display: flex;
    align-items: center;
    gap: 8px;
}
.redakce-card-bio {
    font-size: 13.5px;
    line-height: 1.7;
    color: #4a5568;
    flex: 1;
}

/* Badge AI */
.redakce-badge-ai {
    display: inline-block;
    background: #1D2D44;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 3px;
    font-family: 'Inter', sans-serif;
}

/* CTA – spolupráce */
.redakce-cta {
    background: #1D2D44;
    border-radius: 10px;
    padding: 40px 48px;
    text-align: center;
}
.redakce-cta-title {
    font-family: 'Source Serif 4', 'Source Serif Pro', serif;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #fff;
}
.redakce-cta-text {
    font-size: 15px;
    color: rgba(255,255,255,0.75);
    margin-bottom: 20px;
    line-height: 1.6;
}
.redakce-cta-btn {
    display: inline-block;
    background: #D63031;
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    padding: 11px 28px;
    border-radius: 6px;
    text-decoration: none !important;
    transition: background 0.2s;
}
.redakce-cta-btn:hover {
    background: #B71C1C;
}
.redakce-cta-email {
    display: block;
    margin-top: 12px;
    font-size: 13px;
    color: rgba(255,255,255,0.5);
}

/* Responzivita */
@media (max-width: 900px) {
    .redakce-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .redakce-hero {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 32px 24px;
        gap: 24px;
    }
    .redakce-hero-photo { width: 140px; height: 140px; }
    .redakce-grid { grid-template-columns: 1fr; }
    .redakce-cta { padding: 32px 24px; }
}

/* ================================================
   KONEC – STRÁNKA REDAKCE
   ================================================ */

/* ================================================
   STRÁNKA AUTORA (/author/xxx/)
   ================================================ */

/* Potlačení GP výchozích prvků */
body.author .site-main > *:not(.elisty-author-wrap) { display: none !important; }
body.author .page-header { display: none !important; }

/* Wrapper – přebírá layout z archiv-rubriky */
.elisty-author-wrap {
    width: 100%;
}

/* Hero blok autora */
.au-hero {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 32px 0 28px;
    border-left: 4px solid #D63031;
    padding-left: 20px;
    margin-bottom: 32px;
}

.au-hero-photo {
    flex-shrink: 0;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    overflow: hidden;
    background: #eee;
}

.au-hero-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.au-hero-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.au-hero-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #D63031;
}

.au-hero-name {
    font-size: 26px;
    font-weight: 700;
    color: #1D2D44;
    margin: 0;
    line-height: 1.2;
}

.au-hero-bio {
    font-size: 14px;
    color: #555;
    margin: 4px 0 0;
    line-height: 1.55;
    max-width: 560px;
}

.au-hero-count {
    font-size: 13px;
    color: #888;
    margin-top: 4px;
}

/* Řádek s pill-badges */
.au-hero-meta-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.au-hero-count-badge,
.au-hero-redakce-link {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    padding: 7px 14px;
    border-radius: 20px;
    text-decoration: none;
    letter-spacing: 0.02em;
}
.au-hero-count-badge {
    background: #eef0f4;
    color: #1D2D44;
}
.au-hero-redakce-link {
    background: #fff;
    color: #D63031;
    border: 1.5px solid #D63031;
    transition: background 0.18s, color 0.18s;
}
.au-hero-redakce-link:hover {
    background: #D63031;
    color: #fff;
}

/* Badge rubriky na kartě (místo data) */
.au-card-cat {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #D63031;
    margin-bottom: 4px;
}

/* ── Responzivita ── */

/* Tablet */
@media (max-width: 900px) {
    .au-hero {
        padding: 24px 0 20px;
        padding-left: 16px;
        gap: 18px;
    }
    .au-hero-photo {
        width: 72px;
        height: 72px;
    }
    .au-hero-name {
        font-size: 22px;
    }
}

/* Mobil */
@media (max-width: 600px) {
    .au-hero {
        flex-direction: column;
        gap: 14px;
        padding: 20px 0 16px;
        padding-left: 14px;
    }
    .au-hero-photo {
        width: 64px;
        height: 64px;
    }
    .au-hero-name {
        font-size: 20px;
    }
    .au-hero-bio {
        font-size: 13px;
    }
}

/* ================================================
   KONEC – STRÁNKA AUTORA
   ================================================ */

/* ================================================
   STRÁNKA SPOLUPRÁCE (/spoluprace/)
   Sdílí .redakce-wrap a .redakce-cta s stránkou Redakce.
   Nové třídy mají prefix spol-.
   ================================================ */

/* Intro blok – text s červeným proužkem vlevo */
.spol-intro {
    border-left: 4px solid #D63031;
    padding: 28px 0 28px 24px;
    margin-bottom: 40px;
}

.spol-intro-text {
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    margin: 0 0 14px;
    max-width: 680px;
}

.spol-intro-text:last-of-type {
    margin-bottom: 0;
}

.spol-intro-closing {
    font-weight: 600;
    color: #1D2D44;
}

.spol-intro-sig {
    display: block;
    margin-top: 16px;
    font-size: 13px;
    color: #888;
    font-style: italic;
}

/* Tři info bloky */
.spol-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 48px;
}

.spol-card {
    background: #f7f8fa;
    border-radius: 8px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.spol-card-icon {
    width: 48px;
    height: 48px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.spol-card-title {
    font-size: 16px;
    font-weight: 700;
    color: #1D2D44;
    margin: 0;
}

.spol-card-text {
    font-size: 14px;
    line-height: 1.65;
    color: #555;
    margin: 0;
}

/* ── Responzivita ── */

@media (max-width: 860px) {
    .spol-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .spol-card {
        flex-direction: row;
        align-items: flex-start;
        gap: 16px;
        padding: 20px;
    }
    .spol-card-icon {
        margin-top: 2px;
    }
}

@media (max-width: 600px) {
    .spol-intro {
        padding: 20px 0 20px 16px;
    }
    .spol-intro-text {
        font-size: 14px;
    }
    .spol-card {
        flex-direction: column;
        gap: 10px;
    }
}

/* ================================================
   KONEC – STRÁNKA SPOLUPRÁCE
   ================================================ */


/* ================================================
   STRÁNKA KONTAKT (/kontakt/)
   Sdílí .redakce-wrap, .redakce-title, .redakce-subtitle,
   .redakce-section-label s Redakcí a Spoluprací.
   Nové třídy mají prefix kont-.
   ================================================ */

/* Skrytí page headeru (stejný vzor jako redakce-wrap) */
body.page:has(.kont-page-wrap) .entry-header,
body.page:has(.kont-page-wrap) .page-header,
body.page:has(.kont-page-wrap) .inside-page-hero,
body.page:has(.kont-page-wrap) .gp-page-hero-container {
    display: none !important;
}
body.page:has(.kont-page-wrap) .inside-article {
    padding: 0 !important;
}
body.page:has(.kont-page-wrap) .site-main,
body.page:has(.kont-page-wrap) .content-area {
    max-width: 100% !important;
}

/* Intro blok */
.kont-intro {
    border-left: 4px solid #D63031;
    padding: 20px 0 20px 24px;
    margin-bottom: 40px;
}
.kont-intro-text {
    margin: 0 0 10px;
    font-size: 15px;
    color: #3a4a5a;
    line-height: 1.65;
}
.kont-intro-text:last-child {
    margin-bottom: 0;
}

/* Dvousloupcový layout */
.kont-layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 48px;
    align-items: start;
}

/* Info sloupec */
.kont-info-col {
    position: sticky;
    top: 100px;
}
.kont-info-karta {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 0;
    border-bottom: 1px solid #e8edf2;
}
.kont-info-karta:last-child {
    border-bottom: none;
}
.kont-info-ikona {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: #f0f4f8;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.kont-info-nadpis {
    font-size: 13px;
    font-weight: 700;
    color: #1D2D44;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 4px;
}
.kont-info-odkaz {
    font-size: 15px;
    color: #D63031;
    text-decoration: none;
    font-weight: 600;
}
.kont-info-odkaz:hover {
    text-decoration: underline;
}
.kont-info-text {
    font-size: 15px;
    color: #3a4a5a;
}
.kont-info-sub {
    font-size: 13px;
    color: #7a8fa6;
    margin-top: 3px;
}
.kont-info-sub a {
    color: #D63031;
    text-decoration: none;
}
.kont-info-sub a:hover {
    text-decoration: underline;
}

/* Formulář – kont-* třídy (vykresluje shortcode) */
.kont-wrap {
    /* obal shortcodu – bez extra paddingu */
}

.kont-stav {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.5;
}
.kont-stav--ok {
    background: #e6f4ea;
    border: 1px solid #a8d5b5;
    color: #1e5631;
}
.kont-stav--chyba {
    background: #fce8e6;
    border: 1px solid #f5c6c2;
    color: #7d1f1a;
}
.kont-stav--chyba a,
.kont-stav--ok a {
    color: inherit;
    text-decoration: underline;
}

.kont-form {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Dvojpole */
.kont-radek-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.kont-pole {
    margin-bottom: 18px;
}
.kont-pole label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #1D2D44;
}
.kont-povinne {
    color: #D63031;
}
.kont-pole input[type="text"],
.kont-pole input[type="email"],
.kont-pole select,
.kont-pole textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid #d0d8e4;
    border-radius: 7px;
    font-size: 14px;
    color: #1D2D44;
    background: #fff;
    box-sizing: border-box;
    transition: border-color .15s;
    font-family: inherit;
}
.kont-pole input:focus,
.kont-pole select:focus,
.kont-pole textarea:focus {
    outline: none;
    border-color: #D63031;
}
.kont-pole input[readonly] {
    background: #f0f4f8;
    color: #7a8fa6;
    cursor: default;
}
.kont-pole textarea {
    resize: vertical;
    min-height: 140px;
}
.kont-pole select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23718096' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 34px;
}
.kont-pole small {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #7a8fa6;
}

/* GDPR checkbox */
.kont-gdpr label {
    font-weight: 400 !important;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: #5a6a7a;
    line-height: 1.5;
    cursor: pointer;
}
.kont-gdpr input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
    accent-color: #D63031;
    width: 16px;
    height: 16px;
}
.kont-gdpr a {
    color: #D63031;
    text-decoration: underline;
}

/* Tlačítko */
.kont-btn {
    display: block;
    width: 100%;
    padding: 14px 22px;
    background: #D63031;
    color: #fff;
    border: none;
    border-radius: 7px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s;
    margin-top: 6px;
    font-family: inherit;
}
.kont-btn:hover {
    background: #b52828;
}

/* Responzivita */
@media (max-width: 860px) {
    .kont-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .kont-info-col {
        position: static;
        /* Na tabletech info karty pod formulářem */
    }
}
@media (max-width: 600px) {
    .kont-radek-2 {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .kont-intro {
        padding: 16px 0 16px 16px;
    }
    .kont-intro-text {
        font-size: 14px;
    }
}

/* ================================================
   KONEC – STRÁNKA KONTAKT
   ================================================ */


/* ================================================
   STRÁNKA ZÁSADY OCHRANY OSOBNÍCH ÚDAJŮ
   (/zasady-ochrany-osobnich-udaju/)
   Sdílí .redakce-wrap, .redakce-title, .redakce-subtitle,
   .redakce-section-label, .redakce-cta s ostatními stránkami.
   Nové třídy mají prefix zasady-.
   ================================================ */

body.page:has(.zasady-wrap) .entry-header,
body.page:has(.zasady-wrap) .page-header,
body.page:has(.zasady-wrap) .inside-page-hero,
body.page:has(.zasady-wrap) .gp-page-hero-container {
    display: none !important;
}
body.page:has(.zasady-wrap) .inside-article {
    padding: 0 !important;
}
body.page:has(.zasady-wrap) .site-main,
body.page:has(.zasady-wrap) .content-area {
    max-width: 100% !important;
}

/* Intro odstavec */
.zasady-intro {
    border-left: 4px solid #D63031;
    padding: 20px 0 20px 24px;
    margin-bottom: 40px;
}
.zasady-intro p {
    margin: 0 0 10px;
    font-size: 15px;
    color: #3a4a5a;
    line-height: 1.65;
}
.zasady-intro p:last-child { margin-bottom: 0; }
.zasady-intro a { color: #D63031; text-decoration: none; }
.zasady-intro a:hover { text-decoration: underline; }

/* Textové sekce */
.zasady-sekce {
    margin-bottom: 36px;
}
.zasady-sekce p {
    font-size: 15px;
    color: #3a4a5a;
    line-height: 1.7;
    margin: 0 0 10px;
}
.zasady-sekce p:last-child { margin-bottom: 0; }
.zasady-sekce a { color: #D63031; text-decoration: none; }
.zasady-sekce a:hover { text-decoration: underline; }

/* Grid práv */
.zasady-prava-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 36px !important;
}
.zasady-pravo {
    background: #f8f9fb;
    border-radius: 10px;
    padding: 20px 22px;
    border-top: 3px solid #D63031;
}
.zasady-pravo-nadpis {
    font-size: 14px;
    font-weight: 700;
    color: #1D2D44;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.zasady-pravo p {
    font-size: 14px !important;
    margin: 0 !important;
}

/* Datum aktualizace */
.zasady-aktualizace {
    margin-top: 32px;
    font-size: 13px;
    color: #9aabbc;
    text-align: right;
}

/* Responzivita */
@media (max-width: 860px) {
    .zasady-prava-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 600px) {
    .zasady-intro {
        padding: 16px 0 16px 16px;
    }
    .zasady-intro p,
    .zasady-sekce p {
        font-size: 14px;
    }
    .zasady-prava-grid {
        grid-template-columns: 1fr;
    }
}

/* ================================================
   KONEC – STRÁNKA ZÁSADY
   ================================================ */


/* ================================================
   STRÁNKA MĚSÍČNÍK  (prefix mes-)
   ================================================ */

/* Hero sekce – sdílí .redakce-title / .redakce-subtitle */

/* Grid čísel */
.mes-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 32px;
}

/* Karta jednoho čísla – tmavé pozadí, červený horní proužek */
.mes-karta {
    display: flex;
    flex-direction: column;
    background: #1D2D44;
    border-radius: 10px;
    overflow: hidden;
    border-top: 3px solid #D63031;
    box-shadow: 0 4px 16px rgba(0,0,0,.18);
    transition: box-shadow .2s, transform .2s;
}
.mes-karta:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,.28);
    transform: translateY(-3px);
}

/* Obálka – poměr 550×774 px (≈ A4), doporučený rozměr obálky pro upload */
.mes-obalka-wrap {
    width: 100%;
    aspect-ratio: 550 / 774;
    overflow: hidden;
    background: #0f1d2e;
}
.mes-obalka {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s;
}
.mes-karta:hover .mes-obalka {
    transform: scale(1.03);
}
.mes-obalka--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: #9aabbc;
    padding: 16px;
    text-align: center;
}

/* Info pod obálkou */
.mes-info {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
.mes-cislo-nazev {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
}

/* Tlačítka ke stažení (zlatý člen) */
.mes-btns {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: auto;
}
.mes-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.mes-btn-label {
    display: flex;
    align-items: baseline;
    gap: 5px;
}
.mes-btn-size {
    font-size: 11px;
    font-weight: 400;
    opacity: .75;
}
.mes-btn--pdf {
    background: #D63031;
    color: #fff;
}
.mes-btn--pdf:hover {
    background: #b52627;
    color: #fff;
}
.mes-btn--epub {
    background: rgba(255,255,255,.1);
    color: #c8d6e5;
}
.mes-btn--epub:hover {
    background: rgba(255,255,255,.18);
    color: #fff;
}

/* Zámek (nečlen / nepřihlášený) */
.mes-zamek-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    padding: 8px 12px;
    background: rgba(255,255,255,.08);
    border-radius: 6px;
    font-size: 13px;
    color: #9aabbc;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.mes-zamek-link:hover {
    background: rgba(255,255,255,.14);
    color: #fff;
}
.mes-zamek-ikona {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.mes-zamek-text {
    flex: 1;
}
.mes-zamek-arrow {
    flex-shrink: 0;
    opacity: .5;
}

/* Prázdný stav */
.mes-prazdno {
    color: #9aabbc;
    font-size: 15px;
    margin-top: 24px;
}

/* ── Responzivita ── */
@media (max-width: 1100px) {
    .mes-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 760px) {
    .mes-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
}
@media (max-width: 480px) {
    .mes-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .mes-info {
        padding: 10px 12px 12px;
    }
    .mes-cislo-nazev {
        font-size: 13px;
    }
    .mes-btn,
    .mes-zamek-link {
        font-size: 12px;
        padding: 7px 10px;
    }
}

/* ================================================
   KONEC – STRÁNKA MĚSÍČNÍK
   ================================================ */

/* ================================================
   VÝKLADNÍ SKŘÍŇ – MOBILNÍ TAB LAYOUT (≤ 640px)
   [elisty_vitrina] – .vitrina-mobile
   ================================================ */

/* Mobilní blok skrytý na desktopu */
.vitrina-mobile {
    display: none;
}

/* Na mobilu: schovat desktop wrapper, zobrazit tab layout */
@media (max-width: 640px) {

    .vitrina-wrapper {
        display: none !important;
    }

    /* ── Hero sekce – schovat na mobilu ── */
    .homepage-hero {
        display: none !important;
    }

    /* ── Prázdný odstavec mezi hero a výkladní skříní (wp_autop) ──
       :empty nefunguje spolehlivě při whitespace uvnitř tagu;
       cílíme proto přímo na třídu wp-block-paragraph */
    body.home .entry-content > p.wp-block-paragraph {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
    }

    /* ── Odstranit top padding/margin GP wrapperů na homepage ──
       .site-main/.site-content/.content-area jsou řešeny globálně (řádek ~540) */
    body.home .inside-article,
    body.home #page,
    body.home .grid-container {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    .vitrina-mobile {
        display: block;
        padding: 10px 0 4px;
    }

    /* ── Pill-taby ── */
    .vitrina-tabs {
        display: flex;
        gap: 6px;
        overflow-x: auto;
        padding: 4px 0 10px;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch;
    }

    .vitrina-tabs::-webkit-scrollbar {
        display: none;
    }

    .vitrina-tab {
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        background: #f0f0f0;
        border: 2px solid transparent;
        border-radius: 20px;
        padding: 5px 12px;
        cursor: pointer;
        transition: background 0.18s, border-color 0.18s;
        font-family: inherit;
        line-height: 1.2;
    }

    .vitrina-tab-den {
        font-size: 10px;
        color: #888;
        font-weight: 400;
    }

    .vitrina-tab-label {
        font-size: 12px;
        font-weight: 700;
        color: #1D2D44;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }

    .vitrina-tab:hover,
    .vitrina-tab:active {
        background: #1D2D44;
        border-color: transparent;
    }

    .vitrina-tab:hover .vitrina-tab-den,
    .vitrina-tab:active .vitrina-tab-den {
        color: rgba(255,255,255,0.6);
    }

    .vitrina-tab:hover .vitrina-tab-label,
    .vitrina-tab:active .vitrina-tab-label {
        color: #fff;
    }

    .vitrina-tab-active,
    .vitrina-tab.vitrina-tab-active:active,
    .vitrina-tab.vitrina-tab-active:hover {
        background: #fff !important;
        border-color: #D63031 !important;
        box-shadow: 0 2px 8px rgba(214, 48, 49, 0.18);
    }

    .vitrina-tab-active .vitrina-tab-den,
    .vitrina-tab.vitrina-tab-active:active .vitrina-tab-den,
    .vitrina-tab.vitrina-tab-active:hover .vitrina-tab-den {
        color: #D63031 !important;
        opacity: 0.75;
    }

    .vitrina-tab-active .vitrina-tab-label,
    .vitrina-tab.vitrina-tab-active:active .vitrina-tab-label,
    .vitrina-tab.vitrina-tab-active:hover .vitrina-tab-label {
        color: #D63031 !important;
    }

    /* ── Panely ── */
    .vitrina-panel {
        display: none;
        padding: 0;
    }

    .vitrina-panel-active {
        display: block;
    }

    /* Hlavní karta – 16:9, obrázek s overlayem (náhrada hero) */
    .vitrina-mob-hlavni {
        display: block;
        position: relative;
        border-radius: 10px;
        overflow: hidden;
        text-decoration: none;
        aspect-ratio: 16 / 9;
        background: #1D2D44;
    }

    .vitrina-mob-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .vitrina-mob-no-img {
        background: linear-gradient(135deg, #1D2D44, #2a3f5e);
    }

    .vitrina-mob-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(10, 18, 30, 0.88) 0%, rgba(10, 18, 30, 0.2) 55%, transparent 100%);
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding: 14px;
        gap: 4px;
    }

    .vitrina-mob-rubrika {
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(255,255,255,0.75);
    }

    .vitrina-mob-titulek {
        font-size: 18px;
        font-weight: 700;
        line-height: 1.3;
        color: #fff;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .vitrina-mob-datum {
        font-size: 11px;
        color: rgba(255, 255, 255, 0.6);
    }

    /* Druhý článek */
    .vitrina-mob-druhy {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: 8px;
        padding: 10px 2px 4px;
        text-decoration: none;
        border-bottom: 1px solid #e8e8e8;
    }

    .vitrina-mob-druhy-titulek {
        font-size: 13px;
        font-weight: 500;
        color: #1D2D44;
        line-height: 1.4;
        flex: 1;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .vitrina-mob-druhy-datum {
        font-size: 11px;
        color: #999;
        white-space: nowrap;
        flex-shrink: 0;
    }

    /* Prázdný stav */
    .vitrina-mob-prazdno {
        padding: 24px 0;
        text-align: center;
        font-size: 13px;
        color: #999;
    }

} /* konec @media (max-width: 640px) – VÝKLADNÍ SKŘÍŇ MOBIL */

/* ================================================
   KONEC – VÝKLADNÍ SKŘÍŇ MOBILNÍ TAB LAYOUT
   ================================================ */

/* ============================================
   KVÍZY (QSM plugin) – barvy tlačítek
   ============================================ */
.qmn_btn,
button.qmn_btn,
input[type="button"].qmn_btn,
.mlw_next_page,
.mlw_prev_page,
a.qmn_btn,
.qsm-quiz-container button {
    background-color: #D63031 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    opacity: 1 !important;
}
.qmn_btn:hover,
.mlw_next_page:hover,
.mlw_prev_page:hover,
.qsm-quiz-container button:hover {
    background-color: #1D2D44 !important;
}


/* ================================================
   STRÁNKA REKLAMA (/reklama/)
   ================================================ */

.rekl-intro {
  background: #f9f9f9;
  border-left: 4px solid #D63031;
  padding: 18px 22px;
  margin-bottom: 32px;
  border-radius: 0 5px 5px 0;
}
.rekl-intro-text {
  margin: 0 0 10px;
  color: #444;
  line-height: 1.65;
}
.rekl-intro-text:last-child { margin-bottom: 0; }

.rekl-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 36px;
}
@media (max-width: 700px) {
  .rekl-grid { grid-template-columns: 1fr; }
}

.rekl-karta {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 24px;
  background: #fff;
}
.rekl-karta-ikona {
  margin-bottom: 14px;
}
.rekl-karta-titulek {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 10px;
  color: #222;
}
.rekl-karta-text {
  color: #555;
  line-height: 1.65;
  margin: 0 0 14px;
}

.rekl-formaty { margin-top: 14px; }
.rekl-format-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.rekl-format-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 13px;
  color: #444;
}
.rekl-format-list li:last-child { border-bottom: none; }
.rekl-format-badge {
  background: #D63031;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 7px;
  border-radius: 3px;
  white-space: nowrap;
  letter-spacing: 0.5px;
  min-width: 36px;
  text-align: center;
}

.rekl-vyhody-list {
  padding-left: 18px;
  margin: 0;
}
.rekl-vyhody-list li {
  color: #555;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 5px;
}

.rekl-kontakt {
  background: #D63031;
  border-radius: 8px;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.rekl-kontakt-text {
  color: #fff;
  font-size: 17px;
  font-weight: 600;
}
.rekl-kontakt-btn {
  background: #fff;
  color: #D63031;
  font-weight: 700;
  font-size: 14px;
  padding: 11px 22px;
  border-radius: 5px;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s;
}
.rekl-kontakt-btn:hover {
  background: #f5f5f5;
  color: #D63031;
}

/* ================================================
   KONEC – STRÁNKA REKLAMA
   ================================================ */

/* ================================================
   COOKIE POPUP
   ================================================ */

.cookie-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 99999;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.cookie-overlay--visible {
    display: flex;
    animation: cookieFadeIn 0.3s ease;
}
@keyframes cookieFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.cookie-popup {
    background: #fff;
    border-radius: 12px;
    padding: 36px 32px 28px;
    max-width: 480px;
    width: 100%;
    text-align: center;
    box-shadow: 0 12px 40px rgba(0,0,0,0.22);
    animation: cookieSlideUp 0.3s ease;
}
@keyframes cookieSlideUp {
    from { transform: translateY(16px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

.cookie-icon {
    font-size: 36px;
    line-height: 1;
    margin-bottom: 12px;
}
.cookie-title {
    font-size: 20px;
    font-weight: 700;
    color: #1D2D44;
    margin: 0 0 14px;
}
.cookie-text {
    font-size: 14px;
    color: #444;
    line-height: 1.65;
    margin: 0 0 24px;
}
.cookie-actions {
    margin-bottom: 14px;
}
.cookie-btn-accept {
    display: inline-block;
    background: #D63031;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 12px 32px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s;
    width: 100%;
}
.cookie-btn-accept:hover {
    background: #B71C1C;
}
.cookie-zasady {
    margin: 0;
    font-size: 12px;
    color: #888;
}
.cookie-zasady a {
    color: #D63031;
    text-decoration: underline;
}

/* Mobilní */
@media (max-width: 480px) {
    .cookie-popup {
        padding: 28px 20px 22px;
    }
    .cookie-title {
        font-size: 18px;
    }
}

/* ================================================
   KONEC – COOKIE POPUP
   ================================================ */

/* ============================================
   FIX šířky kontejneru – přebíjí zaseknuté GP inline 1280px
   (vyšší specificita, nezávislé na pořadí načítání)
   ============================================ */
body .container.grid-container { max-width: 1200px; }

/* ============================================
   FIX top-bar zarovnání – padding dovnitř 1200px
   (bez border-box se 2×20px padding přičítal → 1240px)
   ============================================ */
.elisty-top-bar-inner { box-sizing: border-box; }
