/* =================================================================
   STYLY PRO VEŘEJNOU ČÁST WEBU (MICROSITE / FULLSITE)
   ================================================================= */

/* --- ZÁKLADNÍ NASTAVENÍ A LAYOUT --- */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background-color: #f8f9fa;
    /* Lehce šedé pozadí, aby vynikl obsah */
    color: var(--text-color);
    line-height: 1.6;
    margin: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.container {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

main.container {
    flex: 1;
    /* Patička se tímto udrží vždy dole, i na krátkých stránkách */
    background-color: #ffffff;
    padding: 2.5rem;
    border-left: 1px solid #dee2e6;
    border-right: 1px solid #dee2e6;
}

/* --- HLAVIČKA A PATIČKA --- */
.main-header {
    background-color: var(--header-bg-color);
    /* Barva z adminu */
    padding: 1.5rem 0;
    color: white;
}

.main-header .site-name {
    margin: 0;
    font-weight: 300;
    font-size: 2.5rem;
    text-align: left;
}

.main-footer {
    background-color: var(--footer-bg-color);
    /* Barva z adminu */
    padding: 1.5rem 0;
    color: white;
    text-align: center;
    font-size: 0.9rem;
}

.main-footer p {
    margin: 0;
}

.site-logo img {
    max-height: 60px;
    /* Omezí maximální výšku loga */
    width: auto;
    /* Šířka se přizpůsobí automaticky */
    max-width: 100%;
    /* Nikdy nepřeteč z kontejneru */
}

/* --- VÝPIS ČLÁNKŮ --- */
.page-title {
    font-size: 2.2rem;
    font-weight: 300;
    margin-top: 0;
    margin-bottom: 2rem;
}

/* TOTO JE NOVÉ - STYLUJEME "KARTU" PRO KAŽDÝ ČLÁNEK */
.article-entry {
    display: flex;
    gap: 25px;
    align-items: center;
    /* Změna na 'center' pro lepší vertikální zarovnání */

    background-color: #ffffff;
    border: 1px solid #dee2e6;
    /* Jemný rámeček kolem karty */
    border-radius: 8px;
    /* Zaoblené rohy */
    padding: 20px;
    /* Vnitřní odsazení karty */
    margin-bottom: 1.5rem;
    /* Mezera mezi kartami */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    /* Jemný stín pro 3D efekt */
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    /* Animace */
}

.article-entry:hover {
    transform: translateY(-5px);
    /* Lehce se zvedne při najetí myší */
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.08);
    /* Zvýrazní se stín */
}

/* Původní styly pro obsah karty zůstávají, jen se ruší ohraničení */
.article-entry:last-child {
    margin-bottom: 0;
}

.article-entry-image {
    flex: 0 0 220px;
}

.article-entry-image img {
    width: 100%;
    height: auto;
    border-radius: 5px;
    display: block;
}

.article-entry-text h3 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-size: 1.6rem;
}

.article-entry-text h3 a {
    text-decoration: none;
    color: var(--link-color);
    font-weight: 500;
}

.article-entry-text h3 a:hover {
    color: var(--primary-color);
}

.article-entry-text p {
    margin-bottom: 1.25rem;
    color: #6c757d;
}

.btn-read-more {
    background-color: var(--primary-color);
    color: white !important;
    text-decoration: none;
    padding: 0.6rem 1.2rem;
    border-radius: 5px;
    display: inline-block;
    transition: filter 0.2s ease-in-out;
    border: none;
    font-size: 0.9rem;
}

.btn-read-more:hover {
    filter: brightness(90%);
}

/* =================================================================
   STYLY PRO STRÁNKOVÁNÍ (PAGINATION)
   ================================================================= */

.pagination .page-link {
    color: var(--primary-color);
    /* Barva textu čísel */
    border-color: #dee2e6;
}

.pagination .page-link:hover {
    background-color: #e9ecef;
    /* Lehké zvýraznění pozadí při najetí */
    color: var(--primary-color);
}

/* Styl pro aktivní (aktuální) stránku */
.pagination .page-item.active .page-link {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: white;
}

/* Styl pro neaktivní (disabled) tlačítka */
.pagination .page-item.disabled .page-link {
    color: #6c757d;
    background-color: #fff;
    border-color: #dee2e6;
}

/* =================================================================
   STYLY PRO DROBEČKOVOU NAVIGACI (BREADCRUMBS)
   ================================================================= */

.breadcrumbs-nav {
    background-color: #ffffff;
    /* Bílé pozadí */
    padding: 0.75rem 0;
    border-bottom: 1px solid #dee2e6;
    font-size: 0.9rem;
}

.breadcrumb {
    margin-bottom: 0;
    /* Bootstrap přidává margin, my ho nepotřebujeme */
}

.breadcrumb-item a {
    text-decoration: none;
    color: var(--link-color);
}

.breadcrumb-item a:hover {
    text-decoration: underline;
}

.breadcrumb-item.active {
    color: #6c757d;
    /* Šedá barva pro neaktivní položku */
}

/* =================================================================
   STYLY PRO OBSAH Z WYSIWYG EDITORU (RESPONSIVE FIXES)
   ================================================================= */

/* Cílíme na obalující div naší komponenty, aby změny ovlivnily jen hlavní obsah */
.content-body {
    /* Oprava pro dlouhá nedělitelná slova a URL adresy */
    overflow-wrap: break-word;
    word-wrap: break-word;
    /* Starší synonymum pro kompatibilitu */
}

/* Pravidlo pro obrázky a videa */
.content-body img,
.content-body video {
    max-width: 100%;
    height: auto;
    border-radius: 5px;
}

/* Pravidlo pro vložené rámce (mapy, YouTube) */
.content-body iframe {
    max-width: 100%;
}

/* Pravidlo pro responzivní tabulky */
.content-body .table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    /* Umožní horizontální posouvání POUZE pro tabulku */
    -webkit-overflow-scrolling: touch;
    /* Plynulejší posouvání na iOS */
}

.content-body .table-responsive>table {
    margin-bottom: 0;
}

/* =================================================================
   RESPONZIVNÍ STYLY PRO MOBILNÍ ZAŘÍZENÍ
   ================================================================= */

/* Všechna tato pravidla se použijí pouze na obrazovkách
   užších než 768 pixelů (což pokrývá většinu mobilů na výšku). */
@media (max-width: 768px) {

    /* Změníme layout karty článku z "vedle sebe" na "pod sebou" */
    .article-entry {
        flex-direction: column;
        /* Hlavní trik: položky se naskládají vertikálně */
        align-items: flex-start;
        /* Zarovnáme vše doleva */
    }

    /* Obrázek nyní zabere plnou šířku a bude mít mezeru pod sebou */
    .article-entry-image {
        flex-basis: auto;
        /* Zrušíme pevnou šířku */
        width: 100%;
        margin-bottom: 1.5rem;
        /* Vytvoří mezeru mezi obrázkem a textem */
    }

    /* Zmenšíme hlavní nadpis a odsazení, aby se ušetřilo místo */
    .page-title {
        font-size: 1.8rem;
    }

    main.container {
        padding: 1.5rem;
    }

    /* Zmenšíme nadpis v hlavičce */
    .main-header .site-name {
        font-size: 1.8rem;
    }

    /* --- ÚPRAVA NAVIGAČNÍCH TLAČÍTEK NA MOBILECH --- */

    /* Změníme layout z "vedle sebe" na "pod sebou" */
    .article-navigation {
        flex-direction: column;
        /* Položky se naskládají vertikálně */
        gap: 10px;
        /* Vytvoříme mezi nimi malou mezeru */
    }

    /* Všechny tři navigační části nyní zaberou plnou šířku */
    .article-navigation .nav-prev,
    .article-navigation .nav-back,
    .article-navigation .nav-next {
        width: 100%;
        text-align: center;
        /* Vycentrujeme text a tlačítko */
    }

    /* Samotná tlačítka také roztáhneme na plnou šířku */
    .btn-nav,
    .btn-nav-back {
        width: 100%;
        box-sizing: border-box;
        /* Zajistí, že padding a border se započítají do šířky */
    }
}

/* --- NAVIGACE V DETAILU ČLÁNKU --- */
.article-navigation {
    display: flex;
    justify-content: space-between;
    /* Rozmístí položky od sebe */
    align-items: center;
    padding-top: 1.5rem;
    margin-top: 2rem;
    border-top: 1px solid #e9ecef;
}

.article-navigation .nav-prev,
.article-navigation .nav-next {
    flex: 1;
}

.article-navigation .nav-next {
    text-align: right;
}

.btn-nav,
.btn-nav-back {
    text-decoration: none;
    padding: 0.6rem 1.2rem;
    border-radius: 5px;
    display: inline-block;
    transition: background-color 0.2s, color 0.2s;
}

.btn-nav {
    background-color: var(--primary-color);
    color: white;
}

.btn-nav:hover {
    background-color: #333;
}

.btn-nav-back {
    background-color: #6c757d;
    color: white;
}

.btn-nav-back:hover {
    background-color: #5a6268;
}

.main-header .site-name a {
    color: white;
    text-decoration: none;
}

/* =================================================================
   STYLY PRO NAVIGAČNÍ MENU (Fullsite)
   ================================================================= */

.main-navigation {
    background-color: var(--menu-bg-color);
    /* Světle šedé pozadí */
    border-bottom: 1px solid #dee2e6;
    padding: 0.5rem 0;
}

.main-navigation ul {
    display: flex;
    /* Seřadí položky vedle sebe */
    justify-content: flex-start;
    /* Vycentruje menu */
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-navigation li {
    margin: 0 15px;
    /* Mezery mezi položkami */
}

.main-navigation a {
    display: block;
    padding: 10px 5px;
    color: var(--link-color);
    /* Tmavě šedá barva textu */
    text-decoration: none;
    font-weight: 500;
    border-bottom: 2px solid transparent;
    /* Připraveno pro hover efekt */
    transition: color 0.2s, border-bottom-color 0.2s;
}

.main-navigation a:hover,
.main-navigation a.active {
    /* Třída 'active' pro aktuální stránku (pro budoucnost) */
    color: var(--primary-color);
    /* Zvýraznění primární barvou */
    border-bottom-color: var(--primary-color);
}