/* ==========================================================================
   1. HLAVNÍ HLAVIČKA A JEJÍ OBAL (Kompletní čištění od linek)
   ========================================================================== */

#top {
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

#top header.container-header {
    background: var(--headerbg) !important;
    color: var(--headercolor) !important;
    min-height: 80px; 
    padding: 0 3rem !important; 
    
    border: none !important;
    border-bottom: none !important;
    outline: none !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important; 

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Zrušení omezujících gridů šablony */
#top header.container-header > .grid-child,
#top header.container-header > .container-nav {
    max-width: none !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Kontejner navigace vyplní prostor a roztáhne se */
#top header.container-header > .container-nav {
    flex: 1 !important;
    margin-left: 4rem !important; 
}

#top header.container-header .mod-menu {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Hlavní menu vycentrováno přesně na střed */
#top header.container-header .container-nav > .mod-menu:not(.login_logout) {
    justify-content: center !important; 
    flex: 1 !important;
    gap: 2.5rem !important; 
}

/* Odstranění původní šedé linky ze šablony */
#top header.container-header .container-nav .mod-menu li,
#top header.container-header .container-nav .mod-menu li::before,
#top header.container-header .container-nav .mod-menu li::after {
    display: none !important; 
    border: none !important;
    box-shadow: none !important;
}
#top header.container-header .container-nav .mod-menu li {
    display: flex !important; 
}

/* Odhlášení - Magneticky uzamčeno vpravo */
#top header.container-header .container-nav > .login_logout {
    margin-left: auto !important;
    flex: 0 0 auto !important;
}


/* ==========================================================================
   2. ČISTÝ JEDNOTNÝ STYL POLOŽEK MENU (Dynamické barvy a animace)
   ========================================================================== 
/*
#top header.container-header .container-nav a {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    font-size: 0.9rem !important; 
    font-weight: 500 !important;
    letter-spacing: 0.03em !important; 
    color: var(--headercolor) !important; 
    opacity: 0.75; 
    
    height: 80px !important; 
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 0.2rem !important; 
    text-decoration: none !important;
    text-transform: none !important;
    position: relative !important;

    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    border: none !important;
    transition: opacity 0.2s ease, color 0.2s ease !important; 
}
*/

#top header.container-header .container-nav a {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    font-size: 0.85rem !important; /* Mírně zmenšeno, velká písmena opticky působí větší */
    font-weight: 500 !important;
    letter-spacing: 0.08em !important; /* Zvětšený rozestup písmen pro elegantní vzhled kapitálek */
    color: var(--headercolor) !important; 
    opacity: 0.75; 
    
    height: 80px !important; 
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 0.2rem !important; 
    text-decoration: none !important;
    
    /* TATO ZMĚNA: Zapnutí kapitálek pro všechny položky */
    text-transform: uppercase !important; 
    
    position: relative !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    border: none !important;
    transition: opacity 0.2s ease, color 0.2s ease !important; 
}


/* Hover efekt pro text */
#top header.container-header .container-nav a:hover {
    color: var(--link-color) !important; 
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important; 
}

/* PŘÍPRAVA LINKY PRO VŠECHNY ODKAZY: Nyní se aplikuje i na modul login_logout */
#top header.container-header .container-nav .mod-menu a::after {
    content: '' !important;
    position: absolute !important;
    bottom: 22px !important; 
    left: 50% !important;
    width: 0 !important; 
    height: 2px !important; 
    background-color: var(--link-color) !important; 
    transition: width 0.25s ease, left 0.25s ease !important; 
}

/* Hover efekt linky - roztáhne se ze středu pro úplně všechny odkazy (včetně Aenean) */
#top header.container-header .container-nav .mod-menu a:hover::after {
    width: 100% !important;
    left: 0 !important;
}

/* Aktivní stav textu - POUZE pro běžné články */
#top header.container-header .container-nav .mod-menu:not(.login_logout) .active > a,
#top header.container-header .container-nav .mod-menu:not(.login_logout) .current > a {
    font-weight: 600 !important;
    color: var(--headercolor) !important;
    opacity: 1 !important;
}

/* Permanentní linka - POUZE pro aktivní běžné články */
#top header.container-header .container-nav .mod-menu:not(.login_logout) .active > a::after,
#top header.container-header .container-nav .mod-menu:not(.login_logout) .current > a::after {
    width: 100% !important;
    left: 0 !important;
    background-color: var(--link-color) !important; 
}

/* Zajištění, aby Aenean neměl permanentní linku v klidovém stavu a nebyl tučný */
#top header.container-header .login_logout .active > a {
    font-weight: 500 !important;
    color: var(--headercolor) !important;
    opacity: 0.75 !important;
}
/* Pokud na aktivní Aenean najede myš, linka se zobrazí a text se rozsvítí */
#top header.container-header .login_logout .active > a:hover {
    color: var(--link-color) !important;
    opacity: 1 !important;
}
/* ==========================================================================
   3. POPULÁRNÍ ŠTÍTKY (Vzdušný styl s dynamickými barvami)
   ========================================================================== */

.container-top-a .top-a.card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 2rem 2.5rem 1.5rem 2.5rem !important; 
    margin: 0 !important;
    width: 100% !important;
}

.container-top-a .card-body {
    padding: 0 !important;
}

/* Seznam tagů je vycentrován pod menu pro zachování symetrie středu */
.mod-tagspopular.tagspopular ul {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important; 
    
    gap: 0.75rem 1.5rem !important; 
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.mod-tagspopular.tagspopular ul li {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Čistý vzhled slov navázaný na barvu odkazů */
.mod-tagspopular.tagspopular ul li a {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    color: var(--link-color) !important; 
    
    text-decoration: none !important;
    transition: color 0.15s ease !important;
    background: transparent !important;
}

/* Elegantní šikmý oddělovač přebírá barvu těla */
.mod-tagspopular.tagspopular ul li:not(:last-child)::after {
    content: '/' !important;
    margin-left: 1.5rem !important;
    color: var(--body-color) !important; 
    opacity: 0.25; 
    font-weight: 300 !important;
    font-size: 0.85rem !important;
}

/* Hover pro tagy přebírá barvu hoveru odkazů */
.mod-tagspopular.tagspopular ul li a:hover {
    color: var(--link-hover-color) !important; 
    text-decoration: none !important;
}

/* ==========================================================================
   4. & 5. META INFORMACE & SYMETRIE (ZVEŘEJNĚNO / DATUM ČISTÝ STYL NA STŘED)
   ========================================================================== */

/* Elegantní zjemnění a vycentrování celého řádku s datem */
#top .article-info,
#top .content-info,
#top .com-content-article .article-info,
#top .item-page .article-info,
#top dl.article-info.text-muted,
#top .item-page .published,
#top .item-page .page-header + div, 
#top .item-page dd {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important; 
    gap: 0.4rem !important; 
    max-width: 720px !important;
    margin: 0.5rem auto 0 auto !important; 
    padding-left: 0 !important; 
    
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    font-size: 0.9rem !important; 
    font-weight: 400 !important;
    color: var(--body-color) !important; 
    opacity: 0.7 !important; 
}

/* ÚPRAVA IKONY KALENDÁŘE */
#top .article-info .icon-calendar,
#top .content-info .icon-calendar,
#top .article-info [class^="icon-calendar"] {
    display: inline-block !important;
    font-size: 0.9rem !important; 
    color: var(--body-color) !important; 
    margin-right: 4px !important; 
    line-height: 1 !important;
    font-family: var(--fa-style-family-classic), "Font Awesome 6 Free" !important;
}

/* Smazání textové tečky */
#top .article-info::before,
#top .content-info::before {
    display: none !important;
}

/* Vycentrování hlavního nadpisu článku */
#top .page-header,
#top .com-content-article .page-header,
#top .item-page .page-header {
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important;
    padding: 0 !important;
}

#top .page-header h1 {
    display: inline-block !important;
    margin: 0 !important;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
}


/* ==========================================================================
   11. STRUKTURA ČLÁNKU, ŘAZENÍ PRVKŮ A ČTECÍ KORIDOR (Flexbox)
   ========================================================================== */

#top .com-content-article,
#top .item-page,
#top .com-content-article__body {
    display: flex !important;
    flex-direction: column !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* 1. ÚVODNÍ OBRÁZEK (První pozice) */
#top .com-content-article .item-image,
#top .item-page .item-image,
#top .com-content-article__image,
#top .item-page .page-header + div.pull-left,
#top .item-page .page-header + div.pull-none,
#top .figure.center.item-image { 
    order: 1 !important; 
    margin: 0 auto 2rem auto !important; 
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 5px !important;
    box-shadow: rgba(50, 50, 93, 0.4) 0px 6px 12px -2px, rgba(0, 0, 0, 0.7) 0px 3px 7px -3px !important;
    overflow: hidden !important; 
}

#top main figure img {
    width: 100% !important;
    height: auto !important;
}

/* 2. HLAVNÍ NADPIS (Pod obrázek) */
#top .page-header,
#top .com-content-article .page-header,
#top .item-page .page-header { 
    order: 2 !important; 
}

/* 3. METADATA (Pod nadpisem) */
#top .article-info,
#top .content-info,
#top .com-content-article .article-info,
#top .item-page .article-info,
#top dl.article-info.text-muted { 
    order: 3 !important; 
}

/* 4. SAMOTNÝ TEXT ČLÁNKU */
#top .com-content-article__body,
#top .item-page [itemprop="articleBody"] { 
    order: 4 !important; 
    margin-top: 0 !important;      
    padding-top: 0 !important;
}

/* ČTECÍ KORIDOR (Zúžení obsahu v těle článku na 720px) */
#top .item-page h1, 
#top .item-page .page-header,
#top .item-page [itemprop="articleBody"],
#top .item-page [itemprop="articleBody"] p,
#top .com-content-article__body p,
#top .item-page p,
#top .item-page [itemprop="articleBody"] h2,
#top .item-page [itemprop="articleBody"] h3,
#top .item-page blockquote,
#top .com-content-article__body blockquote {
    max-width: 720px !important;
    margin-left: auto !important; 
    margin-right: auto !important;
    width: 100% !important;
}

/* Typografické vlastnosti odstavců textu */
#top .item-page [itemprop="articleBody"] p,
#top .com-content-article__body p,
#top .item-page p {
    margin-top: 0 !important;
    margin-bottom: 2rem !important; 
    padding-left: clamp(1.25rem, 5vw, 0rem) !important;
    padding-right: clamp(1.25rem, 5vw, 0rem) !important;
    
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    font-size: clamp(1.05rem, 1.05rem + 0.3vw, 1.15rem) !important; 
    line-height: 1.85 !important; 
    color: var(--body-color) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* CITACE */
#top .item-page blockquote,
#top .com-content-article__body blockquote {
    margin: 3rem auto !important;
    padding-left: 1.5rem !important;
    padding-right: clamp(1.25rem, 5vw, 0rem) !important;
    border-left: 4px solid var(--link-color) !important;
    font-family: system-ui, -apple-system, sans-serif !important;
    font-size: clamp(1.15rem, 1.15rem + 0.3vw, 1.3rem) !important;
    line-height: 1.7 !important;
    font-style: italic !important;
    color: var(--body-color) !important;
    opacity: 0.95;

    background-color: color-mix(in srgb, var(--headerbg) 4%, transparent) !important; 
    border-radius: 0 5px 5px 0 !important;
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
    box-shadow: rgba(149, 157, 165, 0.15) 0px 8px 24px !important;
}

/* ==========================================================================
   6. MODERNÍ PATIČKA A DROBEČKOVÁ NAVIGACE (BREADCRUMBS)
   ========================================================================== */

#top footer.container-footer {
    background: var(--footerbg) !important;
    color: var(--footercolor) !important;
    min-height: 70px; 
    padding: 1.5rem 3rem !important; 
    
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important; 

    display: flex !important;
    align-items: center !important;
}

/* Vycentrování bloku navigace ČISTĚ DOLEVA */
#top footer.container-footer .grid-child,
#top footer.container-footer .mod-breadcrumbs__wrapper {
    display: flex !important;
    justify-content: flex-start !important; 
    align-items: center !important;
    width: 100% !important;
}

/* Reset a úprava Bootstrap seznamu drobečkové navigace */
#top .mod-breadcrumbs.breadcrumb {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important; 
    align-items: center !important;
    list-style: none !important;
    
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    font-size: 0.8rem !important; 
    text-transform: uppercase !important; 
    letter-spacing: 0.08em !important; 
}

/* Skrytí ikon a starých HTML oddělovačů ze šablony */
#top .mod-breadcrumbs__wrapper .icon-location,
#top .mod-breadcrumbs.breadcrumb .divider,
#top .mod-breadcrumbs.breadcrumb span.divider {
    display: none !important;
}

/* Statický text "Jste zde:" */
#top .mod-breadcrumbs__here {
    color: var(--footercolor) !important;
    opacity: 0.5;
    font-weight: 500;
    margin-right: 1rem !important;
}

/* Obecný styl pro všechny položky seznamu v breadcrumbs */
#top .mod-breadcrumbs.breadcrumb li {
    display: inline-flex !important;
    align-items: center !important;
}

/* Všechny klikatelné odkazy v patičce */
#top .mod-breadcrumbs__item a {
    color: var(--footercolor) !important;
    text-decoration: none !important;
    opacity: 0.7; 
    font-weight: 500 !important;
    transition: opacity 0.2s ease, color 0.2s ease !important;
}

/* Moderní hover */
#top .mod-breadcrumbs__item a:hover {
    color: var(--link-color) !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

/* Aktivní (poslední) text */
#top .mod-breadcrumbs .breadcrumb-item.active,
#top .mod-breadcrumbs__item.active span,
#top .mod-breadcrumbs .active {
    color: var(--footercolor) !important;
    font-weight: 600 !important;
    opacity: 0.5 !important; 
}

/* JEDNOTNÝ MODERNÍ ODDĚLOVAČ: Přidává lomítko ZA položky */
#top .mod-breadcrumbs.breadcrumb li:not(:last-child)::after {
    content: '/' !important; 
    color: var(--footercolor) !important;
    opacity: 0.25 !important; 
    padding: 0 1rem !important; 
    font-weight: 300 !important;
}

/* OPRAVA: Pokud šablona generuje první li prázdné/skryté, zrušíme jeho lomítko */
#top .mod-breadcrumbs.breadcrumb li:first-child::after {
    display: none !important;
}

/* Deaktivace případných Bootstrap vestavěných separatorů pro jistotu */
#top .breadcrumb-item + .breadcrumb-item::before {
    display: none !important;
}


/* ==========================================================================
   7. ODSTRANĚNÍ MEZERY (SMRŠTĚNÍ PHOTOSWIPE)
   ========================================================================== */

#top .pswp[aria-hidden="true"] {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#top .tags.list-inline,
#top .pagenavigation {
    margin-top: 0.5rem !important;
}

/* ==========================================================================
   8. ŠTÍTKY ČLÁNKU (ELEGANTNÍ DYNAMICKÁ PILULKA V KORIDORU)
   ========================================================================== */

#top ul.tags.list-inline,
#top .com-content-article .tags,
#top .item-page .tags { 
    order: 5 !important; 
    display: flex !important;
    justify-content: flex-start !important;
    max-width: 720px !important;
    margin: 0rem auto !important; 
    padding: 0 clamp(1.25rem, 5vw, 0rem) !important;
    list-style: none !important;
}

#top ul.tags.list-inline li {
    margin: .25rem !important;
    padding: 0 !important;
}

#top .tags a,
#top .com-content-article .tags a,
#top .item-page .tags a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    height: 30px !important;
    padding: 0 1rem !important;
    border-radius: 50px !important;
    
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    
    background: transparent !important;
    color: var(--link-color) !important;
    border: 1px solid var(--link-color) !important; 
    box-shadow: none !important;
    transition: all 0.2s ease-in-out !important;
}

#top .tags a:hover,
#top .com-content-article .tags a:hover {
    background: var(--link-color) !important;
    color: var(--body-bg) !important;
}


/* ==========================================================================
   9. STRÁNKOVÁ NAVIGACE (Přitažení pod štítky a vynucený rozstřel šipek)
   ========================================================================== */

#top .pagenavigation,
#top .item-page .pagenavigation,
main .pagenavigation,
nav.pagenavigation { 
    order: 6 !important; 
    display: block !important;
    clear: both !important;
    width: 100% !important;     
    max-width: 100% !important; 
    margin: 0rem 0 0rem 0 !important; 
    padding: 0 2.5rem !important; 
    box-sizing: border-box !important;
}

/* VYNUCENÍ ROZSTŘELU: Vnitřní struktura navigace roztažená na 100 % */
#top .pagenavigation .pagination,
#top .item-page .pagenav,
#top .item-page .page-links,
#top nav.pagenavigation span.pagination {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* DEFINITIVNÍ ZNIČENÍ TLAČÍTEK A KRABIC: Čisté textové šipky podle referenčního vzhledu */
#top .pagenavigation .pagination a,
#top .pagenavigation .pagination a.btn,
#top .pagenavigation .pagination .btn-secondary,
#top .item-page [class*="navigation"] a,
#top .item-page [class*="navigation"] li,
#top .item-page .pagenav a,
#top .item-page .pagenav li,
#top .item-page .page-links a,
#top .item-page .page-links li,
#top .item-page [class*="navigation"] .btn,
#top .item-page .pagenav .btn {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0 !important; 
    margin: 0 !important;
    height: auto !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    font-size: 0.95rem !important; 
    font-weight: 600 !important;   
    color: var(--link-color) !important; 
    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    opacity: 0.85;
    transition: opacity 0.15s ease, color 0.15s ease !important;
}

/* Magnetické odtlačení pravého odkazu úplně doprava */
#top .pagenavigation .pagination a.next,
#top .item-page .pagination .next,
#top .item-page .page-links .next,
#top .item-page .pagination-next,
#top .item-page .pagenav .next {
    margin-left: auto !important;
}

/* Hover stav - čisté podtržení textové šipky */
#top .pagenavigation .pagination a:hover,
#top .pagenavigation .pagination a.btn:hover,
#top .item-page [class*="navigation"] a:hover,
#top .item-page .pagenav a:hover,
#top .item-page .page-links a:hover,
#top .item-page [class*="navigation"] .btn:hover {
    color: var(--link-hover-color) !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    text-decoration: underline !important;
}

/* Skrytí nechtěných elementů */
#top .pagenavigation .icon-chevron-left,
#top .pagenavigation .icon-chevron-right {
    color: inherit !important;
    font-size: 0.9rem !important;
}
#top .item-page .pagination li::after,
#top .item-page .page-links li::after,
#top .item-page .pagenav li::after {
    display: none !important;
}


/* ==========================================================================
   10. PANORAMATICKÁ MAPA (SUBTILNÍ MODERNÍ ZAOBLENÍ ROHŮ)
   ========================================================================== */

#top .leaflet-container,
#top .map-container,
#top [id*="map"],
#top .pg-photoswipe-gallery + div,
#top [itemprop="articleBody"] .map {
    max-width: 100% !important;
    width: 100% !important;
    height: 420px !important; 
    border-radius: 6px !important; 
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03) !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    margin: 3rem 0 0 0 !important; 
    padding: 0 !important;
    overflow: hidden !important; 
    z-index: 10 !important;
}

body#top {
    background-color: var(--body-bg) !important;
}

/* OVLÁDACÍ PRVKY MAPY */
#top .leaflet-bar, 
#top .leaflet-control-zoom, 
#top .leaflet-bar a {
    border: none !important;
    background: var(--body-bg) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    border-radius: 6px !important;
    color: var(--link-color) !important;
}
#top .leaflet-bar a:hover {
    background: var(--link-color) !important;
    color: var(--body-bg) !important;
}

/* ==========================================================================
   12. PHOCA GALLERY - VELKÝ OBRÁZEK & SPODNÍ NÁHLEDY
   ========================================================================== */

/* VELKÝ OBRÁZEK: Uzamčení do osy textu (720px) */
#top #pg-msnr-container-a119,
#top [id^="pg-msnr-container-"]:not(.pg-category-items-box) {
  column-count: 1 !important; 
  -webkit-column-count: 1 !important;
  -moz-column-count: 1 !important;
  
  max-width: 720px !important;
  width: 100% !important;
  margin: 0.1rem auto !important; 
  padding: 0 clamp(1.25rem, 5vw, 0rem) !important; 
  
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important; 
}

#top [id^="pg-msnr-container-"]:not(.pg-category-items-box) .pg-masonry-item,
#top [id^="pg-msnr-container-"]:not(.pg-category-items-box) img,
#top .pg-msnr-container-a119 img {
  width: 100% !important; 
  max-width: 100% !important;
  height: auto !important;       
  object-fit: cover !important;
  border-radius: 5px !important; 
  box-shadow: rgba(50, 50, 93, 0.4) 0px 6px 12px -2px, rgba(0, 0, 0, 0.7) 0px 3px 7px -3px !important;
  transition: transform 0.2s ease-in-out !important;
}

/* SPODNÍ NÁHLEDY: Roztažení na celou šířku */
#top .pg-category-items-box,
#top [class*="category-items-box"],
#top .pg-msnr-container.pg-category-items-box {
  column-count: auto !important;
  -webkit-column-count: auto !important;
  -moz-column-count: auto !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important; 
  
  max-width: 100% !important; 
  width: 100% !important;
  margin: 0.1rem auto !important;
}

#top .pg-category-items-box .pg-item-box,
#top [class*="category-items-box"] [class*="item-box"],
#top .pg-category-items-box figure,
#top .pg-category-items-box .pg-masonry-item,
#top .pg-category-items-box img,
#top [class*="category-items-box"] img {
  width: auto !important;
  max-width: 100% !important;
}

/* ==========================================================================
   13. VÝPIS ČLÁNKŮ / BLOG (Jednotný prémiový styl karet 3:2)
   ========================================================================== */

#top .blog-items,
#top .com-content-category-blog .blog-items,
#top div.com-content-category-blog div.blog-items,
#top .com-content-category-blog_items {
  display: flex !important;
  flex-direction: column !important;
  gap: 4rem !important; 
}

/* Hlavní karta blogu */
#top .blog-item,
#top .com-content-category-blog__item,
#top .com-content-category-blog .blog-items-items-leading,
#top div.com-content-category-blog div.blog-items div.blog-item,
#top .com-content-category-blog_items-item,
div.blog-item {
  background-color: var(--body-bg) !important;
  margin: 0 auto !important; 
  padding: 2.5rem !important; 
  max-width: 720px !important; 
  width: 100% !important;
  float: none !important;
  border-radius: 5px !important;
  box-shadow: rgba(149, 157, 165, 0.12) 0px 8px 30px !important;
  display: block !important;
  position: relative !important;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
}

/* Správa responzivního obrázku karty přes celou šířku (Formát 3:2) */
#top .blog-item figure,
#top .blog-item .left-item-image,
#top .blog-item .item-image,
#top .blog-item .item-image-left,
#top .com-content-category-blog__item .item-image,
#top .com-content-category-blog__item figure.left,
.left-item-image {
    float: none !important;
    display: block !important;
    position: relative !important;
    margin: -2.5rem -2.5rem 1.5rem -2.5rem !important; 
    width: calc(100% + 5rem) !important;
    max-width: calc(100% + 5rem) !important;
    border-radius: 5px 5px 0 0 !important;
    overflow: hidden !important;
    aspect-ratio: 3 / 2 !important; 
}

#top .blog-item figure a,
#top .blog-item .left-item-image a,
#top .blog-item .item-image a,
.left-item-image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#top .blog-item img,
#top .blog-item figure img,
#top .blog-item .left-item-image img,
#top .blog-item .item-image img,
#top .com-content-category-blog__item .item-image img,
.left-item-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important; 
    object-position: center !important;
    float: none !important;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Interaktivní mikro-zoom fotky */
#top .blog-item:hover img,
#top .com-content-category-blog__item:hover .item-image img,
#top .list-group-item.list-group-item-action:hover > a img {
  transform: scale(1.02); 
}

#top .blog-item .item-content {
    display: block !important;
    text-align: left !important;
    width: 100% !important;
    clear: both !important;
}

/* Nadpis vycentrovaný pod fotkou */
#top .blog-item h2.item-title,
#top .com-content-category-blog__item .page-header,
#top .com-content-category-blog .item-title {
  margin: 0 0 0.5rem 0 !important;
  text-align: center !important; 
  width: 100% !important;
}

#top .blog-item h2.item-title a,
#top .com-content-category-blog__item h2 a,
#top .com-content-category-blog .item-title a {
  font-size: clamp(1.4rem, 1.3rem + 0.4vw, 1.75rem) !important;
  font-weight: 700 !important;
  color: var(--body-color) !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
  display: inline-block !important;
  line-height: 1.25 !important;
}

#top .blog-item h2.item-title a:hover,
#top .com-content-category-blog__item h2 a:hover {
  color: var(--link-color) !important;
}

/* Vycentrované datum pod nadpisem */
#top .blog-item dl.article-info,
#top .com-content-category-blog__item .article-info-text-muted {
  margin: 0 0 1.5rem 0 !important;
  font-size: 0.85rem !important;
  text-align: center !important; 
  color: var(--body-color) !important;
  opacity: 0.6 !important;
  width: 100% !important;
}

/* Hlavní text s levým zarovnáním pro špičkovou čitelnost */
#top .blog-item p,
#top .com-content-category-blog__item .item-content,
#top .com-content-category-blog__item p,
#top .com-content-category-blog p {
  text-align: left !important;
  width: 100% !important;
  margin: 0 0 1.75rem 0 !important;
  line-height: 1.7 !important; 
  font-size: 1.05rem !important;
  color: var(--body-color) !important;
}

/* Spodní tagy */
#top .blog-item ul.tags,
#top .com-content-category-blog__item .tags-list-inline {
  margin: 0 !important;
  padding-left: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important; 
  gap: 0.5rem !important;
  list-style: none !important;
}


/* ==========================================================================
   14. HLAVNÍ NADPIS KATEGORIE / BLOGU / STRÁNKY ZNAČEK
   ========================================================================== */

#top .com-content-category-blog .category-desc + h1,
#top .com-content-category-blog h1,
#top .com-tags-tag h1,
#top .com-tags-tag .category-desc + h1 {
  text-align: center !important; 
  margin: 2.5rem auto 3rem auto !important; 
  max-width: 720px !important; 
  width: 100% !important;
  
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
  font-size: clamp(2rem, 1.5rem + 2vw, 3rem) !important; 
  font-weight: 800 !important; 
  letter-spacing: -0.03em !important; 
  color: var(--body-color) !important; 
  line-height: 1.15 !important;
}

/* Odstranění zbytečných prázdných elementů */
#top .com-content-category-blog .category-desc p:empty,
#top .com-content-category-blog p:has(br):empty {
  display: none !important;
}


/* ==========================================================================
   15. PREMIOVÝ CESTOVATELSKÝ ROZCESTNÍK (LUXUSNÍ UI)
   ========================================================================== */

#top .com-content-category-blog__children.cat-children {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important; 
  gap: 4px !important; 
  padding: 0 !important;
  margin: 0.25rem 0 2rem 0 !important; 
  max-width: none !important;
  width: 100% !important;
  overflow: hidden !important;
}

#top .com-content-category-blog__children.cat-children::before,
#top .com-content-category-blog__children.cat-children::after {
  display: none !important;
}

#top .com-content-category-blog__child {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 4px !important; 
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important; 
  transition: box-shadow 0.3s ease !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

#top .com-content-category-blog__child:nth-child(2n+1) { background-color: var(--headerbg) !important; }
#top .com-content-category-blog__child:nth-child(2n) { background-color: var(--link-color) !important; }

/* Plynulý a bezpečný zoom dlaždic */
#top .com-content-category-blog__child .page-header,
#top .com-content-category-blog__child h3.page-header__title {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

#top .com-content-category-blog__child:hover .page-header,
#top .com-content-category-blog__child:hover h3.page-header__title {
  transform: scale(1.06) !important; 
}

/* Typografie asymetricky v levém dolním rohu */
#top .com-content-category-blog__children.cat-children a,
#top .com-content-category-blog__child h3.page-header__title a,
#top .com-content-category-blog__child h3.page-header__title a:hover {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  text-align: left !important;
  padding: 0.85rem !important; 
  
  font-family: system-ui, -apple-system, sans-serif !important;
  font-size: 1rem !important; 
  font-weight: 700 !important;
  letter-spacing: -0.02em !important; 
  
  color: var(--btncolor) !important; 
  text-decoration: none !important; 
  border-bottom: none !important;
  box-shadow: none !important;
  position: relative !important;
  z-index: 3 !important; 
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6), 0 2px 8px rgba(0, 0, 0, 0.4) !important; 
}

#top .com-content-category-blog__child .badge,
#top .com-content-category-blog__child::before {
  display: none !important;
}

#top .com-content-category-blog__child:hover {
  z-index: 2 !important;
  box-shadow: inset 0 0 24px rgba(0, 0, 0, 0.45) !important; 
}

/* ==========================================================================
   16. VÝPIS ZNAČEK / TAGY (Seznam a prémiová karta)
   ========================================================================== */

#top .com-tags__items,
#top .com-tags_items {
    display: flex !important;
    flex-direction: column !important;
    padding-left: 0 !important;
    list-style: none !important;
}

#top .com-tags__items li.list-group-item,
#top .com-tags_items li.list-group-item {
    margin-bottom: 4rem !important; 
}
#top .com-tags__items li.list-group-item:last-child,
#top .com-tags_items li.list-group-item:last-child {
    margin-bottom: 0 !important;
}

/* Hlavní karta výpisu značek */
#top .list-group-item.list-group-item-action {
    background-color: var(--body-bg) !important;
    margin: 0 auto !important; 
    padding: 2.5rem !important; 
    max-width: 720px !important; 
    width: 100% !important;
    float: none !important;
    border-radius: 5px !important;
    border: none;
    box-shadow: rgba(149, 157, 165, 0.12) 0px 8px 30px !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    text-align: left !important;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
}

/* Obrázek karty (Pořadí 1) */
#top .list-group-item.list-group-item-action > a {
    order: 1 !important; 
    float: none !important;
    margin: -2.5rem -2.5rem 0.5rem -2.5rem !important; 
    width: calc(100% + 5rem) !important;
    max-width: none !important;
    border-radius: 5px 5px 0 0 !important;
    overflow: hidden !important;
    display: block !important;
    aspect-ratio: 3 / 2 !important; 
}

/* Nadpis pod obrázkem (Pořadí 2) */
#top .list-group-item.list-group-item-action h3 {
    order: 2 !important; 
    margin: 0rem 0 1rem 0 !important; 
    text-align: center !important; 
    width: 100% !important;
}

#top .list-group-item.list-group-item-action h3 a {
    font-size: clamp(1.4rem, 1.3rem + 0.4vw, 1.75rem) !important; 
    font-weight: 700 !important; 
    color: var(--body-color) !important;
    letter-spacing: -0.02em !important; 
    text-decoration: none !important;
    display: inline-block !important;
}

/* Text článku (Pořadí 3) */
#top .list-group-item.list-group-item-action .tag-body {
    order: 3 !important; 
    text-align: left !important; 
    width: 100% !important;
    display: block !important;
}


/* 1. Odstranění marginu u prázdného odstavce před videem */
#top .item-page p:has(+ .avPlayerWrapper),
#top .com-content-article__body p:has(+ .avPlayerWrapper) {
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

/* 2. Vynucení správného zobrazení kontejneru a videa uvnitř čtecího koridoru */
#top .avPlayerWrapper,
#top .avPlayerContainer,
#top .avPlayerBlock {
  max-width: 720px !important; /* Uzamčení do tvé šířky textu */
  width: 100% !important;
  display: block !important;
  height: auto !important;
}

/* 3. Oprava samotného HTML5 video tagu, aby respektoval kontejner */
#top .avPlayerWrapper video {
  width: 100% !important;
  height: auto !important;
  max-height: 450px !important; /* Ochrana proti vertikálnímu roztažení */
  object-fit: contain !important;
}

/* 2. Krok: Vynutíme, aby bylo původní SVG logo čistě bílé */
#top .brand-logo img {
  visibility: visible !important;
  filter: brightness(0) invert(1) !important;
}

/* 3. Krok: Vytvoříme barevný závoj, který se promítne POUZE do bílého loga */
#top .brand-logo::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  
  /* Klíčová změna: multiply obarví bílé logo a průhledné pozadí nechá průhledné */
  mix-blend-mode: multiply !important;
  pointer-events: none !important;
}

/* ==========================================================================
   RESPONSIVITA PRO MENŠÍ OBRAZOVKY
   ========================================================================= */
@media (max-width: 1200px) {
  #top .com-content-category-blog__children.cat-children { grid-template-columns: repeat(5, 1fr) !important; }
}
@media (max-width: 992px) {
  #top .com-content-category-blog__children.cat-children { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 576px) {
  #top .com-content-category-blog__children.cat-children {
    grid-template-columns: repeat(2, 1fr) !important; 
    gap: 3px !important;
  }
  #top .com-content-category-blog__child h3.page-header__title a {
    padding: 0.6rem !important;
    font-size: 0.9rem !important;
  }
}

/* ==========================================================================
   B. CENTROVÁNÍ A STYLOVÁNÍ PŘIHLAŠOVACÍ KARTY
   ========================================================================== */

.com-users-login.login {
    max-width: 420px;
    margin: 5rem auto !important;
    padding: 2.5rem !important;
    background-color: var(--body-bg, #ffffff) !important;
    border-radius: 5px !important;
    box-shadow: rgba(149, 157, 165, 0.12) 0px 8px 30px !important;
    border-top: 4px solid var(--headerbg) !important;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    box-sizing: border-box !important;
}

#com-users-login__form.well {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

.com-users-login__input .control-label label {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: var(--body-color) !important;
    margin-bottom: 0.5rem !important;
}

/* ==========================================================================
   C. VSTUPNÍ POLE A IKONA OKA (SPOJENÝ VZHLED)
   ========================================================================== */

/* Základní vzhled pro samostatné pole uživatelského jména */
.com-users-login__input input#username {
    width: 100% !important;
    padding: 12px !important;
    margin-bottom: 1.5rem !important;
    background-color: var(--body-bg, #ffffff) !important;
    color: var(--body-color) !important;
    border: 1px solid color-mix(in srgb, var(--body-color) 20%, transparent) !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* Aktivní a neplatný stav pro uživatelské jméno */
.com-users-login__input input#username:focus {
    border-color: var(--link-color) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--link-color) 15%, transparent) !important;
}

.com-users-login__input input#username.invalid,
.com-users-login__input .has-danger input#username {
    border-color: var(--link-color) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--link-color) 15%, transparent) !important;
}

/* --- SPOJENÉ POLE PRO HESLO --- */

/* Společný kontejner pro heslo a oko, který drží ucelené ohraničení */
.com-users-login__input .password-group .input-group {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100% !important;
    border: 1px solid color-mix(in srgb, var(--body-color) 20%, transparent) !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
    background-color: var(--body-bg, #ffffff) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* Vnitřní pole pro heslo – zcela bez vlastního rámečku a stínu */
.com-users-login__input .input-group input#password {
    flex: 1 !important;
    width: auto !important;
    padding: 12px !important;
    margin: 0 !important;
    background: transparent !important;
    color: var(--body-color) !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Vnitřní tlačítko oka – zcela bez vlastního rámečku a stínu */
.com-users-login__input .input-group .input-password-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 14px !important;
    margin: 0 !important;
    background: transparent !important;
    color: var(--body-color) !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    cursor: pointer !important;
}

/* Celkové ohraničení bloku hesla, pokud je pole aktivní nebo neplatné */
.com-users-login__input .password-group .input-group:focus-within,
.com-users-login__input .password-group .input-group:has(input:invalid),
.com-users-login__input .password-group .input-group:has(input.invalid) {
    border-color: var(--link-color) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--link-color) 15%, transparent) !important;
}

/* Spodní odsazení celého bloku s heslem */
.com-users-login__input .password-group {
    margin-bottom: 1.5rem !important;
}

/* Chybový text pod polem */
.form-control-feedback {
    color: var(--link-color) !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    margin-top: 4px !important;
    display: block !important;
}

/* ==========================================================================
   D. ZAŠKRTÁVACÍ POLE (Pamatuj si mě)
   ========================================================================== */

.com-users-login__remember {
    margin-bottom: 1.5rem !important;
}

.com-users-login__remember .form-check-label {
    color: var(--body-color) !important;
    font-size: 0.9rem !important;
    cursor: pointer !important;
}

.com-users-login__remember .form-check-input:checked {
    background-color: var(--link-color) !important;
    border-color: var(--link-color) !important;
}

/* ==========================================================================
   E. HLAVNÍ TLAČÍTKO PŘIHLÁSIT SE
   ========================================================================== */

.com-users-login__submit button.btn-primary {
    width: 100% !important;
    padding: 12px !important;
    background-color: var(--link-color) !important;
    color: var(--body-bg, #ffffff) !important;
    border: none !important;
    border-radius: 5px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease-in-out !important;
    box-shadow: none !important;
}

.com-users-login__submit button.btn-primary:hover {
    background-color: var(--link-hover-color) !important;
    color: var(--body-bg, #ffffff) !important;
}
/* ==========================================================================
   G. Skrytí odkazů na zapomenuté heslo a zapomenuté jméno
   ========================================================================== */
.com-users-login__options,
.com-users-login_options,
.list-group:has(.com-users-login__reset),
div[class*="login__options"] {
    display: none !important;
}

/* ==========================================================================
   F. MODERNÍ SYSTÉMOVÁ HLÁŠENÍ (Sjednocený čistý design - Oprava výšky a křížku)
   ========================================================================== */

/* Hlavní kontejner zprávy */
#system-message-container joomla-alert,
#system-message-container .alert-success,
#system-message-container .alert {
    max-width: 640px !important;       /* Sjednoceno s šířkou chybové/přihlašovací karty */
    margin: 2rem auto !important;      /* Vycentrování na střed a elegantní odstup shora */
    padding: 0 !important;             /* Vyčištění vnitřního polstrování */
    
    background-color: var(--body-bg, #ffffff) !important;
    color: var(--body-color, #181c24) !important;
    
    border: 1px solid color-mix(in srgb, var(--link-color) 12%, transparent) !important;
    border-left: 5px solid var(--link-color) !important; /* Výraznější levá azurová linka */
    border-radius: 6px !important;     /* Moderní zaoblení rohů */
    
    /* Luxusní jemný stín odpovídající kartám */
    box-shadow: rgba(149, 157, 165, 0.12) 0px 8px 30px !important; 
    
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;    /* KLÍČOVÁ ZMĚNA: Vynutí, aby levá kostka měla 100% výšku celého boxu */
    overflow: hidden !important;       /* Aby zaoblení rohů ořízlo i vnitřní čtverec */
    position: relative !important;     /* KLÍČOVÁ ZMĚNA: Nutné pro správné ukotvení křížku vpravo */
}

/* Obal pro text zprávy – přidáme prostor */
#system-message-container .alert-wrapper {
    padding: 18px 48px 18px 24px !important; /* Větší pravý padding, aby text nenarážel do křížku */
    flex-grow: 1 !important;
    display: flex !important;
    align-items: center !important;
}

/* Text samotné zprávy */
#system-message-container .alert-message {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    color: var(--body-color, #181c24) !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;       /* Polotučné moderní písmo */
    line-height: 1.4 !important;
}

/* Čtvercový box s ikonou na levé straně */
#system-message-container .alert-heading {
    background-color: var(--link-color) !important;
    background: var(--link-color) !important;
    width: 56px !important;            /* Fixní moderní šířka kostky */
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    height: auto !important;           /* Resetování pevné výšky z Bootstrapu */
}

/* Bílá ikona (fajfka) uvnitř azurové kostky */
#system-message-container .alert-heading span,
#system-message-container .alert-heading span::before,
#system-message-container .alert-heading ::before,
#system-message-container joomla-alert [class*="success"] {
    color: #ffffff !important;
    fill: #ffffff !important;
    font-size: 1.25rem !important;     /* Optimální velikost ikony */
    margin: 0 !important;
    display: inline-block !important;
}

/* Křížek pro zavření hlášení vpravo - Dokonalé vertikální centrování */
#system-message-container button.joomla-alert--close,
#system-message-container button.close,
#system-message-container .joomla-alert--close span {
    position: absolute !important;     
    top: 50% !important;               /* Posun na střed výšky */
    transform: translateY(-50%) !important; /* Přesné vycentrování křížku */
    right: 20px !important;            /* Zarovnání od pravého okraje */
    color: var(--body-color, #181c24) !important;
    opacity: 0.4 !important;           /* Lepší čitelnost křížku */
    background: transparent !important;
    border: none !important;
    font-size: 1.4rem !important;
    cursor: pointer !important;
    transition: all 0.15s ease-in-out !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hover efekt křížku při najetí myší */
#system-message-container button.joomla-alert--close:hover,
#system-message-container .joomla-alert--close span:hover {
    color: var(--link-color) !important;
    opacity: 1 !important;
    transform: translateY(-50%) scale(1.2) !important; /* Zachová vycentrování a jemně křížek zvětší */
}

/* ==========================================================================
   8. MODERNÍ COOKIE PODMÍNKY (Fixní tlačítko na okraji obrazovky)
   ========================================================================== */

/* Hlavní fixní tlačítko "Nastavení cookies" na pravé straně webu */
#top a.cc-trigger.cc-trigger-handle {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    font-size: 0.75rem !important; 
    font-weight: 600 !important;
    text-transform: uppercase !important; 
    letter-spacing: 0.08em !important; 
    
    background: var(--headerbg) !important; 
    color: var(--headercolor) !important; 
    
    border-radius: 0 !important; 
    border: none !important;
    padding: 0.8rem 1.2rem !important; 
    
    box-shadow: -2px 0 15px rgba(0, 0, 0, 0.1) !important;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}

#top a.cc-trigger.cc-trigger-handle:hover {
    background: var(--link-color) !important; 
    color: #ffffff !important; 
    text-decoration: none !important;
}

#top a.cc-trigger.cc-trigger-handle svg {
    fill: currentColor !important; 
    transition: fill 0.2s ease !important;
    margin-bottom: 4px !important; 
}


/* ==========================================================================
   9. MODERNÍ OKNO NASTAVENÍ SOUKROMÍ (Kompletní pročištění bez bublin)
   ========================================================================== */

/* Společný reset písma a absolutní zákaz zaoblení pro celý kontejner */
#s-cnt, #s-bl, #s-inr, #s-cnt * {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    border-radius: 0 !important; 
}

/* Hlavní kontejner celého okna */
#s-inr {
    border-radius: 0 !important;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.15) !important; 
}

/* Typografie - Hlavní velký nadpis "Nastavení soukromí" */
#s-cnt .c-tl {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #111111 !important;
}

/* Nadpisy rozbalovacích kategorií (Funkční cookies atd.) */
#s-cnt .b-tl {
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #333333 !important;
}

/* Rozbalovací řádky jednotlivých kategorií */
#s-cnt .c-b-ex {
    border-radius: 0 !important;
    border: 1px solid #e9ecef !important; 
    background: #ffffff !important;
    margin-bottom: 0.5rem !important;
}


/* --- DIGITÁLNÍ PŘEPÍNAČE (Totální vyčištění od šablonových prvků) --- */

/* Vnější obal přepínače */
#s-cnt .b-tl .c-tg,
#s-cnt .c-tg {
    border-radius: 0 !important; 
    width: 38px !important;
    height: 20px !important;
    background: transparent !important; 
    border: 1px solid rgba(0, 0, 0, 0.2) !important; 
    position: relative !important;
    display: inline-block !important;
    overflow: hidden !important; /* POJISTKA: Uřízne jakýkoliv prvek, který by chtěl lízt ven */
    transition: background 0.2s ease, border-color 0.2s ease !important;
}

/* Aktivní zapnutý stav přepínače */
#s-cnt .b-tl .c-tg[aria-checked="true"],
#s-cnt .b-tl .act .c-tg,
#s-cnt .c-tg[aria-checked="true"] {
    background: var(--link-color) !important; 
    border-color: var(--link-color) !important;
}

/* DEFINITIVNÍ ODSTRANĚNÍ BÍLÝCH KOLEČEK: Skryje všechny vnitřní prvky šablony (span, div, i, pseudo-elementy) */
#s-cnt .c-tg::after, 
#s-cnt .c-tg::before,
#s-cnt .c-tg *, 
#s-cnt .c-tg *::before, 
#s-cnt .c-tg *::after {
    display: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Vytvoření našeho vlastního, zcela nového čtverečku přímo na čistém obalu */
#s-cnt .b-tl .c-tg,
#s-cnt .c-tg {
    content: '' !important;
}

/* Nový vnitřní čtvereček, který nahrazuje původní rozbitý systém */
#s-cnt .b-tl .c-tg::before,
#s-cnt .c-tg::before {
    content: '' !important;
    display: block !important;
    border-radius: 0 !important; 
    width: 12px !important;
    height: 12px !important;
    position: absolute !important;
    top: 3px !important;
    left: 3px !important;
    background: #888888 !important; 
    transition: transform 0.2s ease, background-color 0.2s ease !important; 
}

/* Posun čtverečku doprava a změna na bílou při zapnutí */
#s-cnt .b-tl .c-tg[aria-checked="true"]::before,
#s-cnt .b-tl .act .c-tg::before,
#s-cnt .c-tg[aria-checked="true"]::before {
    display: block !important; /* Vynucení viditelnosti pro náš nový čtvereček */
    transform: translateX(18px) !important; 
    background: #ffffff !important; 
}


/* --- TLAČÍTKA SPODNÍ LIŠTY --- */

#s-cnt .c-bn {
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border-radius: 0 !important; 
    padding: 0.8rem 1.5rem !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

/* Tlačítko PŘIJMOUT VŠE */
#s-cnt #s-all-bn.c-bn {
    background: var(--headerbg) !important; 
    color: var(--headercolor) !important; 
}
#s-cnt #s-all-bn.c-bn:hover {
    background: var(--link-color) !important; 
    color: #ffffff !important;
}

/* Tlačítko ODMÍTNOUT VŠE */
#s-cnt #s-rall-bn.c-bn {
    background: #f1f3f5 !important;
    color: #495057 !important;
}
#s-cnt #s-rall-bn.c-bn:hover {
    background: var(--link-color) !important; 
    color: #ffffff !important;
}

/* Tlačítko ULOŽIT NASTAVENÍ */
#s-cnt #s-sv-bn.c-bn {
    background: transparent !important;
    color: #495057 !important;
    border: 1px solid #dee2e6 !important;
}
#s-cnt #s-sv-bn.c-bn:hover {
    background: var(--link-color) !important; 
    border-color: var(--link-color) !important; 
    color: #ffffff !important; 
}


/* --- OPRAVA KŘÍŽKU A DROBNOSTÍ --- */

#s-cnt button.c-x,
#s-cnt .c-x {
    border-radius: 0 !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    opacity: 0.6 !important;
    transition: opacity 0.2s ease !important;
}

#s-cnt button.c-x:hover,
#s-cnt .c-x:hover {
    opacity: 1 !important;
}

/* ==========================================================================
   10. MAPOVÉ POPUPY A IKONY V ELEGANTNÍM STYLU PILULEK (Absolutní čistota)
   ========================================================================== */

/* --- FIX NAČÍTÁNÍ: Vyčištění vnějšího posunu na obalu mapy --- */
#top .phocamaps-box,
#top div[id^="phocaMap"],
#top .leaflet-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}


/* --- A. VYŠKOCENÉ OKNO NA MAPĚ (Leaflet Popup ve tvaru pilulky) --- */

#top .leaflet-popup-content-wrapper {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    border-radius: 28px !important; 
    background: rgba(255, 255, 255, 0.96) !important; 
    border: 2px solid var(--link-color) !important; 
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06) !important; 
    padding: 8px 14px !important; 
}

#top .leaflet-popup-content {
    margin: 12px 35px 12px 16px !important; 
    color: #333333 !important; 
}

/* Hlavní tyrkysový nadpis v kapitálkách */
#top .leaflet-popup-content .pmMarkerTitle,
#top .leaflet-popup-content div {
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important; 
    letter-spacing: 0.08em !important;
    color: var(--link-color) !important; 
    margin-bottom: 4px !important;
}

/* Odkaz pod nadpisem - ABSOLUTNÍ ZÁKAZ JAKÉKOLIV LINKY ZA VŠECH OKOLNOSTÍ */
#top .leaflet-popup-content a,
#top .leaflet-popup-content a:link,
#top .leaflet-popup-content a:visited,
#top .leaflet-popup-content a:hover,
#top .leaflet-popup-content a:focus,
#top .leaflet-popup-content a:active {
    color: #555555 !important;
    font-size: 0.85rem !important; 
    font-weight: 500 !important;
    text-transform: none !important; 
    letter-spacing: normal !important;
    
    /* Vynucené vymazání všech možných způsobů podtržení */
    text-decoration: none !important; 
    border-bottom: none !important; 
    box-shadow: none !important;
    outline: none !important;
}

/* Úplné zrušení linek i přes pseudo-elementy odkazu (častý trik šablon) */
#top .leaflet-popup-content a::before,
#top .leaflet-popup-content a::after,
#top .leaflet-popup-content a:hover::before,
#top .leaflet-popup-content a:hover::after {
    display: none !important;
    content: none !important;
    border: none !important;
}

/* Pouze čistá změna barvy na hoveru, stále bez jakékoliv linky */
#top .leaflet-popup-content a:hover {
    color: var(--link-color) !important; 
    text-decoration: none !important;
    border-bottom: none !important;
}

#top .leaflet-popup-tip-container {
    display: none !important;
}

/* Křížek (X) - posunutý dál od krajů a přebarvený na tyrkysovou */
#top a.leaflet-popup-close-button {
    color: var(--link-color) !important; 
    opacity: 0.7 !important;
    position: absolute !important;
    right: 14px !important; 
    top: 12px !important; 
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: opacity 0.2s ease !important;
}

#top a.leaflet-popup-close-button:hover {
    opacity: 1 !important;
    color: var(--link-color) !important;
}


/* --- B. SAMOTNÉ IKONKY NA MAPĚ (Nádherné kapky se stabilní GPS pozicí) --- */

#top .leaflet-marker-pane .awesome-marker {
    background-image: none !important; 
    background-color: #ffffff !important; 
    border-radius: 16px 16px 4px 16px !important; 
    border: 2px solid var(--link-color) !important; 
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    
    margin-left: -16px !important;
    margin-top: -36px !important;
    width: 32px !important;
    height: 36px !important; 
    
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
}

#top .leaflet-marker-pane .awesome-marker.active,
#top .leaflet-marker-pane [class*="active"],
#top .leaflet-marker-pane .awesome-marker[style*="background-position"] {
    border-color: var(--headerbg) !important; 
    background-color: #ffffff !important;
    margin-left: -16px !important;
    margin-top: -36px !important;
}

#top .leaflet-marker-pane .awesome-marker i,
#top .leaflet-marker-pane .awesome-marker span {
    display: none !important; 
}

#top .leaflet-marker-pane .awesome-marker::before {
    content: '' !important;
    display: block !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important; 
    background: var(--link-color) !important; 
    position: absolute !important;
    top: 13px !important;
    left: 13px !important;
    transition: background-color 0.2s ease !important;
}

#top .leaflet-marker-pane .awesome-marker.active::before,
#top .leaflet-marker-pane [class*="active"]::before,
#top .leaflet-marker-pane .awesome-marker[style*="background-position"]::before {
    background: var(--headerbg) !important; 
}

#top .leaflet-marker-pane .awesome-marker:hover {
    background: var(--link-color) !important; 
    border-color: var(--link-color) !important;
    cursor: pointer !important;
}

#top .leaflet-marker-pane .awesome-marker:hover::before {
    background: #ffffff !important; 
}

#top .leaflet-shadow-pane .awesome-marker-shadow,
#top .leaflet-shadow-pane img {
    display: none !important;
}


/* --- C. TEXTY A ODKAZY S AUTORSKÝMI PRÁVY V ROHU MAPY (Attribution) --- */

#top .leaflet-control-attribution,
#top .leaflet-control-attribution a {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important;
    font-size: 10px !important; 
    color: var(--link-color) !important; 
    opacity: 0.7; 
    text-decoration: none !important;
    transition: opacity 0.2s ease !important;
}

#top .leaflet-control-attribution a:hover {
    opacity: 1 !important; 
    text-decoration: underline !important; 
}
