﻿:root {
    /* hlavni barvy */
    --blue-color: #03319f; /* #3b2a98 - what? */
    --hover-color: #a79ecd;
    --black-color: #1f1b20;
    --white-color: #fff;
    /* podkladove barvy */
    --bg-color: #e7e9f5;
    --bg-article-color: #f1f2f9;
    --bg-preview-color: #e8f1ff;
    /* doplnkove barvy */
    --green-color: #009846;
    --red-color: #e31e24;
    /* ostatni barvy */
    --light-blue-color: #4a90e2;
    --gray-color: #f8f9fa;
    --yellow-color: #ff0;
    --light-purple-color: #d8d5ea;
    --light-hover-color: #c9c3df;
    /* linky */
    --link-color: #03319f;
    --link-hover-color: #a79ecd;
    --link-active-color: #03319f;
    --link-visited-color: #03319f;
    /* ramecky */
    --border-color: #666;
    --border-gray-color: #ddd;
}

html {
    font-size: 16px; /* zakladni velikost pisma, od ktere se odviji vsechny rem hodnoty */
}

body {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
    background-color: var(--bg-color);
    font-family: Calibri, Arial, Helvetica, sans-serif;
    font-size: clamp(0.875rem, 1vw + 0.5rem, 1.125rem);
    line-height: 1;
}

.hidden-back {
    display: none !important;
}

.page-wrapper {
    max-width: 1400px;
    margin: 0 auto;
}

    .page-wrapper.content-spacing {
        padding-left: 1.75rem;
        padding-right: 1.75rem;
        padding-top: 1.75rem;
        padding-bottom: 0;
    }

        .page-wrapper.content-spacing.heading {
            padding-top: 1rem;
        }

        .page-wrapper.content-spacing.heading2 {
            padding-top: 1.5rem;
        }

.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

.navbar.custom-navbar {
    background-color: var(--blue-color);
    padding: 0;
    margin: 0;
}

.navbar-nav {
    flex-grow: 1;
}

.nav-item.nav-fixed {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
    max-width: 20%;
}

.navbar .dropdown-menu {
    min-width: 250px;
    background-color: var(--blue-color);
    border: 0;
    border-radius: 0;
    padding: 0;
    line-height: 1.5;
}

    .navbar .dropdown-menu.show {
        margin-top: 0 !important;
        transform: none !important;
        border-top: 1px solid var(--light-purple-color);
    }

    .navbar .dropdown-menu a.dropdown-item {
        color: var(--white-color);
        border-bottom: 1px solid var(--white-color);
    }

        .navbar .dropdown-menu a.dropdown-item.active {
            background-color: var(--hover-color) !important;
            color: var(--black-color);
        }

        .navbar .dropdown-menu a.dropdown-item:hover {
            background-color: var(--hover-color) !important;
            color: var(--black-color);
            transition: background-color 0.3s ease, color 0.3s ease;
        }

    .navbar .dropdown-menu li:last-child a.dropdown-item {
        border-bottom: none;
    }

/* DROPDOWN - dlazdicove menu pro mobily - start */
.mobile-tiles-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-submenu {
    padding-left: 1rem;
    background-color: var(--white-color);
}

    .mobile-submenu li:last-child {
        border-bottom: 1px solid var(--border-gray-color);
    }

.tile-main-link {
    font-size: 1.0rem !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}

.tile-sub-link {
    font-size: 0.9rem !important;
    padding-top: 0.6rem !important;
    padding-bottom: 0.6rem !important;
}

/* Výchozí styl šipky */
.tile-main-link[data-has-subitems="true"]::after {
    content: "";
    display: inline-block;
    margin-left: 8px;
    width: 0;
    height: 0;
    vertical-align: middle;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 6px solid var(--white-color);
    transition: transform 0.3s ease;
}

/* Černá šipka při hoveru nebo aktivní stav (nebo otevřený aktivní) */
.tile-main-link[data-has-subitems="true"]:hover::after,
.tile-main-link[data-has-subitems="true"].active::after,
.tile-main-link[data-has-subitems="true"].active.open::after {
    border-top-color: var(--black-color);
}

/* Speciální případ – otevřený rodič, ale není aktivní, a je právě hover nad subpoložkou */
.mobile-tile-item:has(.tile-sub-link:hover):has(.tile-main-link.open):not(:has(.tile-main-link.active)) > .tile-main-link::after {
    border-top-color: var(--white-color);
}

/* Potlačí černou šipku u otevřeného, neaktivního rodiče, když na něm není hover */
.tile-main-link[data-has-subitems="true"].open:not(.active):not(:hover)::after {
    border-top-color: var(--white-color);
}

.tile-sub-link[data-has-subitems="true"]::after {
    content: "";
    display: inline-block;
    margin-left: 6px;
    width: 0;
    height: 0;
    vertical-align: middle;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 6px solid var(--white-color);
    transition: transform 0.3s ease;
}

.tile-sub-link[data-has-subitems="true"]:hover::after,
.tile-sub-link[data-has-subitems="true"].active::after,
.tile-sub-link[data-has-subitems="true"].active.open::after {
    border-top-color: var(--black-color);
}

.tile-sub-link[data-has-subitems="true"].open:not(.active):not(:hover)::after {
    border-top-color: var(--white-color);
}
/* DROPDOWN - dlazdicove menu pro mobily - end */

.navbar-dark .navbar-nav > .nav-item {
    margin: 0;
    /* margin: 0 0.5rem; vodorovná mezera mezi položkami */
    font-weight: 600;
    font-size: 1.1rem;
}

/* Základní odkazy v horní navigaci */
.navbar-dark .navbar-nav .nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: normal;
    height: 100%;
    padding: 1.25rem 0.5rem;
    color: var(--white-color) !important;
}

    /* Hover a active stav */
    .navbar-dark .navbar-nav .nav-link:hover,
    .navbar-dark .navbar-nav .nav-link:focus,
    .navbar-dark .navbar-nav .nav-link.active {
        background-color: var(--hover-color) !important;
        color: var(--black-color) !important;
        transition: background-color 0.3s ease, color 0.3s ease;
    }

    /* Hover vzhled submenu – zachování barvy pro .nav-link při otevřeném dropdownu */
    .navbar-dark .navbar-nav .nav-link.hover-highlight {
        background-color: var(--hover-color) !important;
        color: var(--black-color) !important;
        transition: background-color 0.3s ease, color 0.3s ease;
    }

.navbar-dark .navbar-nav .nav-item.domu {
    width: 100px;
}

    .navbar-dark .navbar-nav .nav-item.domu .nav-link {
        margin: 0 auto;
    }

        /*
        .navbar-dark .navbar-nav .nav-item.domu .nav-link:hover,
        .navbar-dark .navbar-nav .nav-item.domu .nav-link:focus,
        .navbar-dark .navbar-nav .nav-item.domu .nav-link:active {
            background-color: var(--blue-color) !important;
            cursor: default;
        }
        */

/* Carousel */
.hero-carousel {
    height: var(--carousel-height, 400px); /* fallback na 400px */
    position: relative;
    overflow: hidden;
}

.carousel-slide {
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
    position: relative;
    transition: background-image 0.5s ease-in-out;
}

/* Obsah uvnitř carouselu */
.carousel-content {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 100px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent);
    z-index: 2;
}


/* DLAZDICE */
.tiles-menu {
    display: flex;
    justify-content: flex-start; /* flex-end */
    flex-wrap: nowrap;
}

    .tiles-menu a {
        flex: 1;
        display: flex;
        max-width: 200px;
        align-items: center;
        justify-content: center;
        background-color: var(--blue-color);
        color: var(--white-color);
        font-weight: bold;
        font-size: 1.25rem;
        text-decoration: none;
        border: none;
        height: 100%;
        border-right: 1px solid var(--white-color);
        text-align: center;
        padding: 0.75rem 1.5rem;
        box-sizing: border-box;
    }

        .tiles-menu a:last-child {
            border-right: none;
        }

        .tiles-menu a.active,
        .mobile-tiles-menu a.active {
            background-color: var(--hover-color);
            color: var(--black-color);
            font-weight: bold;
        }

/* Nadpis vpravo */
.hero-caption-box {
    width: 30%;
    color: var(--white-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-transform: uppercase;
    /* padding-right: 1rem; */
}

    .hero-caption-box h1 {
        font-size: 2.2rem;
        margin: 0 0 8px 0;
        text-shadow: 0 0 6px rgba(0,0,0,0.6);
        padding: 0 1rem;
    }


.carousel-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
}

    .carousel-dots .dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background-color: var(--white-color);
        opacity: 0.6;
        cursor: pointer;
    }

        .carousel-dots .dot.active {
            background-color: var(--green-color);
            opacity: 1;
        }

/* Styl tlačítka Menu */
.mobile-menu-toggle {
    background: none;
    border: none;
    border-radius: 0;
    color: var(--white-color);
    font-size: 1.1rem;
    font-weight: 600;
    width: 100%;
    text-align: center;
    padding: 0.75rem;
    outline: none;
}

    .mobile-menu-toggle.left {
        text-align: left;
        /* padding-left: 0; */
    }

    .mobile-menu-toggle:focus {
        outline: none;
        box-shadow: none;
    }

#mainNav,
#tileMenuCollapse {
    border-top: 1px solid var(--hover-color);
}

/* Mobilní menu – odkazy */
.mobile-tiles-menu {
    width: 100%;
}

    .mobile-tiles-menu a {
        display: block;
        width: 100%;
        padding: 0.85rem 1rem;
        color: var(--white-color);
        font-weight: 600;
        font-size: 1.1rem;
        text-decoration: none;
        border-bottom: 1px solid var(--white-color);
        background-color: var(--blue-color);
        text-align: left;
        box-sizing: border-box;
    }

        /* Poslední položka bez borderu */
        .mobile-tiles-menu a:last-child {
            border-bottom: none;
        }

        .tiles-menu a:hover,
        .mobile-tiles-menu a:hover {
            background-color: var(--hover-color);
            color: var(--black-color);
            transition: background-color 0.3s ease, color 0.3s ease;
        }

/* Odstraní poslední mezery i u collapse */
#tileMenuCollapse {
    padding: 0;
    margin: 0;
}

/* LOGO */
/* Držák loga mezi položkami menu */
.logo-holder {
    width: 200px;
    background-color: var(--white-color);
    min-height: 40px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    top: -3.5rem;
    visibility: hidden; /* kvuli updateLogoOffset() */
}

.logo-wrapper {
    position: absolute;
    /* top: 40px; -> nove resi JS: updateLogoOffset() */
    left: 0;
    z-index: 5;
    background: var(--white-color);
    padding-bottom: 4px;
}

.navbar-logo-img {
    width: 200px;
    object-fit: contain;
    height: auto;
    padding-top: 3.3rem;
    background-color: var(--white-color);
}

/* Mobilní logo v levém horním rohu karuselu */
.mobile-logo {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 5;
    background-color: var(--white-color);
    padding: 0.25rem 0.1rem;
    border-radius: 0.5rem;
}

    .mobile-logo img {
        width: 150px;
        height: auto;
    }

/* SEARCH */
[role="search"] {
    flex: 0 0 auto;
    margin: 0 0.6rem;
}

    [role="search"] .form-control {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        border-radius: 0;
    }

    [role="search"] .btn {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        border-radius: 0;
    }

    [role="search"] .form-control:focus {
        outline: none;
        box-shadow: none;
        border-color: var(--white-color);
    }

/* AKTUALITY */
#obsah {
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    background-color: var(--bg-color);
    padding: 0;
}

.section-heading {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.2rem;
    color: var(--black-color);
}

.aktualita-box {
    height: 120px;
    overflow: hidden;
    background-color: var(--white-color);
    border: 1px solid var(--border-gray-color);
    /*
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.3s ease;
    */
}

    /*
    .aktualita-box:hover {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }
    */

.aktualita-text {
    flex: 1;
    min-width: 0;
    padding-top: 0.75rem !important;
    /* font-size: 1rem; */
}

    .aktualita-text h3 {
        font-size: 1.125rem;
        font-weight: 700;
    }

    .aktualita-text span {
        font-size: 0.875rem;
        color: var(--border-color);
    }

    .aktualita-text p {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.aktualita-img {
    width: 25%;
    min-width: 150px;
    object-fit: cover;
    background-color: var(--bg-article-color);
}

.aktualita-nadpis {
    display: inline-block;
    max-width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1;
}

.datum-aktuality {
    white-space: nowrap;
    font-size: 0.875rem;
    color: var(--border-color);
}

.dokument-box {
    display: flex;
    height: 120px;
    background-color: var(--white-color);
    border: 1px solid var(--border-gray-color);
}

.dokument-img-wrapper {
    width: 25%;
    min-width: 150px;
    height: 100%;
    flex-shrink: 0;
}

.dokument-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: var(--bg-article-color);
}

.dokument-text {
    flex: 1;
    min-width: 0;
    padding-top: 0.75rem !important;
}

    .dokument-text h3 {
        font-size: 1.125rem;
        font-weight: 700;
    }

    .dokument-text span {
        font-size: 0.875rem;
        color: var(--border-color);
    }

    .dokument-text p {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-bottom: 0;
    }

.dokument-nadpis {
    display: inline-block;
    max-width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1;
}

.dokument-datum {
    white-space: nowrap;
    font-size: 0.875rem;
    color: var(--border-color);
}

.bg-preview {
    background-color: var(--bg-preview-color);
}

.info-box {
    min-height: auto;
    background-color: var(--bg-article-color);
    border: 1px solid var(--border-gray-color);
    /*
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.3s ease;
    */
}

    /*
    .info-box:hover {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }
    */

.vhd-heading {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vhd-text {
    color: #333;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1;
}

.dot-red, .dot-green, .dot-yellow {
    width: 15px;
    height: 15px;
    border-radius: 50%;
}

.dot-red {
    background-color: var(--red-color);
}

.dot-green {
    background-color: var(--green-color);
}

.dot-yellow {
    background-color: var(--yellow-color);
}

/* Tlacitka */
.custom-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 242px;
    max-width: 242px;
    font-size: 1rem;
    /* font-weight: bold; */
    text-align: left;
    background-color: var(--blue-color);
    color: var(--white-color);
    text-decoration: none;
    overflow-wrap: anywhere;
    white-space: normal;
    padding: 0.6rem 1rem 0.5rem 1rem;
    border: none;
    border-bottom: 2px solid var(--bg-preview-color);
    transition: background-color 0.3s, color 0.3s;
}

    .custom-button + .submenu {
        margin-top: 0.25rem;
        margin-bottom: 0.75rem;
    }

    .custom-button.no-arrow::after {
        display: none;
    }

    /* Výřez (špička) vpravo nahoře */
    .custom-button::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 16px 17px 0;
        border-color: transparent var(--light-purple-color) transparent transparent;
    }

    /* Hover efekt – barva pozadí a textu */
    .custom-button:hover {
        background-color: var(--hover-color);
        color: var(--black-color);
    }

    .custom-button.active {
        background-color: var(--hover-color);
        color: var(--black-color);
        font-weight: bold;
    }

        /* Aktivní varianta – červená špička */
        .custom-button.active::after {
            border-color: transparent var(--red-color) transparent transparent;
        }

.has-submenu {
    /* margin-bottom: 0.2rem; */
}

.submenu {
    display: none;
}

    .submenu.open {
        display: block;
        animation: fadeIn 0.3s ease-in-out;
        margin-left: 1.5rem;
        border-left: 3px solid var(--hover-color);
        padding-left: 0.25rem;
    }

    .submenu li a.custom-button {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        white-space: normal;
        overflow-wrap: anywhere;
        font-size: 1rem;
        line-height: 1.3;
        padding: 0.5rem 1rem;
        min-height: 2.5rem;
        background-color: var(--light-purple-color);
        color: var(--black-color);
        text-align: left;
        width: 100%;
        font-weight: normal;
    }

        .submenu li a.custom-button.active {
            background-color: var(--light-hover-color);
            color: var(--black-color);
            font-weight: bold;
        }

        .submenu li a.custom-button::after {
            content: none;
        }

        .submenu li a.custom-button:hover {
            background-color: var(--light-hover-color);
            color: var(--black-color);
        }

/* PATICKA */
.footer {
    background-color: var(--blue-color);
    color: var(--white-color);
    font-size: 0.95rem;
    line-height: 1.25;
}

.footer-logo {
    max-width: 100%;
    height: auto;
    width: 125px;
    margin: 0;
}

.footer a.footer-link {
    color: var(--white-color);
    text-decoration: underline;
    font-weight: 500;
    margin-bottom: 0.25rem;
}

    .footer a.footer-link:hover {
        color: var(--hover-color);
        transition: color 0.3s ease;
    }

.footer-social {
    display: flex;
    align-items: center;
    margin-top: 0.5rem;
    font-size: 0;
}

    .footer-social a {
        display: inline-flex;
        align-items: center;
        font-size: 1rem;
    }

.footer-icon {
    width: 25px;
    height: 25px;
    object-fit: contain;
    transition: opacity 0.3s ease;
}

    .footer-icon:hover {
        opacity: 0.75;
    }

/* MAPA */
/* Sekce mapy */
#mapa {
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    background-color: var(--bg-color);
    padding: 0;
}

/*
.mapa-box {
    width: 100%;
    height: 320px;
    border: none;
    background-color: var(--white-color);
    border: 1px solid #ccc;
    padding: 0.5rem;
    overflow: hidden;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
}

.mapa-iframe {
    width: 100%;
    height: 100%;
    border: none;
}
*/

.mapa {
    width: 100%;
    text-align: center;
}

.mapauzemi {
    position: relative;
    width: 90%;
    top: -3rem;
}

/* interaktivni mapy */
.map-info {
    display: grid;
    /* 1. sloupec je stabilni: min 11ch, max 16ch, nejvyse 28 % sirky */
    grid-template-columns: clamp(11ch, 28%, 16ch) 1fr;
    gap: 4px 12px;
    margin: 0;
    align-items: start; /* zarovnani nahoru */
}

    /* stitky */
    .map-info dt {
        margin: 0;
        font-weight: 600;
        color: #333;
    }

    /* hodnoty */
    .map-info dd {
        margin: 0 0 6px 0;
        overflow-wrap: break-word; /* nelame slova zbytecne (narozdil od anywhere) */
        hyphens: auto; /* s lang='cs' se deli hezkeji */
    }

    /* vzhled hodnot */
    .map-info em {
        font-style: normal;
        color: #222;
    }

    /* cisla – nelamat, stejna sirka cislic */
    .map-info .num {
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }

/* LINKY */
a.link {
    color: var(--link-color);
    text-decoration: underline;
    transition: color 0.3s ease;
}

    a.link:hover,
    a.link:focus,
    a.link:visited:hover,
    a.link:visited:focus {
        color: var(--link-hover-color);
        text-decoration: underline;
    }

    a.link:active {
        color: var(--link-active-color);
    }

    a.link:visited {
        color: var(--link-visited-color);
    }

    a.link.active {
        color: rgba(33, 37, 41, 0.75);
    }

/* MIMORADNE */
.emergency-banner {
    background-color: mistyrose;
    padding: 1rem;
    font-size: 1rem;
}

    .emergency-banner p {
        margin: 0; /* radkovani: margin: 0 0 0.5rem 0; */
        display: inline; /* radkovani: block */
    }

/* TUNEL */
.tunnel-link {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

    .tunnel-link:hover,
    .tunnel-link:focus {
        text-decoration: none;
        color: inherit;
        outline: none;
    }

/* CLANKY */
.pbdown {
    padding-bottom: 1.75rem;
}

.pbdownbig {
    padding-bottom: 5rem;
}

.article-header-box {
    background-color: var(--blue-color);
    color: var(--white-color);
    padding: 0.75rem 1.5rem;
}

    .article-header-box h2 {
        margin: 0;
        font-size: 1.25rem;
        font-weight: bold;
    }

.article-content {
    padding: 1.75rem;
}

.article-meta {
    font-size: 0.875rem;
    color: var(--border-color);
}

.article-figure {
    width: 33%;
    max-width: 250px;
    margin-left: 1.75rem;
}

.article-image-frame {
    border: 1px solid var(--border-gray-color);
    padding: 0.25rem;
    background-color: var(--white-color);
    display: inline-block;
    width: 100%;
}

.article-image {
    background-color: var(--bg-article-color);
}

.gallery-image-frame {
    border: 1px solid var(--border-gray-color);
    padding: 0.25rem;
    background-color: var(--white-color);
    width: 100%;
    margin-bottom: 1rem;
}

.gallery-image-inner {
    display: block;
    object-fit: cover;
    background-color: var(--bg-article-color);
    width: 100%;
    aspect-ratio: 4 / 3;
}

.box-side {
    background-color: var(--bg-article-color);
    border: 1px solid var(--border-gray-color);
    padding-bottom: 0;
}

.box-side-header {
    background-color: var(--bg-preview-color);
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid var(--border-gray-color);
}

    .box-side-header h2 {
        margin: 0;
        font-size: 1.25rem;
        font-weight: bold;
    }

.box-side-text {
    padding: 1rem;
    padding-bottom: 0;
}

.box-article {
    background-color: var(--white-color);
    border: 1px solid var(--border-gray-color);
    border-radius: 0;
}

.box-bordered {
    border: 1px solid var(--border-gray-color);
    border-radius: 0;
    padding: 0;
}

.bg-article {
    background-color: var(--bg-article-color);
}

/* LEVA SEKCE */
.left-menu .custom-button {
    width: 100%;
    position: relative;
}

    /* Výchozí výřez: špička vpravo dole (bez .newwindow) */
    .left-menu .custom-button:not(.newwindow)::after {
        content: '';
        position: absolute;
        top: auto;
        bottom: 0;
        right: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 17px 16px;
        border-color: transparent transparent var(--light-purple-color) transparent;
    }

    /* Výřez: špička vpravo nahoře (pouze .newwindow) */
    .left-menu .custom-button.newwindow::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 16px 17px 0;
        border-color: transparent var(--light-purple-color) transparent transparent;
    }

    /* Hover pro NE-newwindow (mění jen dolní špičku) */
    .left-menu .custom-button:not(.newwindow):hover::after {
        border-color: transparent transparent var(--light-purple-color) transparent;
    }

    /* Hover pro newwindow */
    .left-menu .custom-button.newwindow:hover::after {
        border-color: transparent var(--light-purple-color) transparent transparent;
    }

    /* Active stav pro NE-newwindow */
    .left-menu .custom-button:not(.newwindow).active::after,
    .left-menu .custom-button:not(.newwindow).active:hover::after {
        border-color: transparent transparent var(--red-color) transparent;
    }

    /* Active stav pro newwindow */
    .left-menu .custom-button.newwindow:active::after,
    .left-menu .custom-button.newwindow.active::after,
    .left-menu .custom-button.newwindow.active:hover::after {
        border-color: transparent var(--red-color) transparent transparent;
    }

/* Odstranění spodního okraje u poslední položky */
.left-menu li:last-child .custom-button {
    border-bottom: none;
}


.nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.4);
    border: none;
    color: white;
    font-size: 2rem;
    padding: 0.25rem 0.75rem;
    z-index: 1055;
    transition: background-color 0.2s ease;
}

    .nav-arrow:hover {
        background-color: rgba(0, 0, 0, 0.6);
    }

.left-arrow {
    left: 1rem;
}

.right-arrow {
    right: 1rem;
}

.caption {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.modal-image {
    max-height: 85vh;
    object-fit: contain;
    width: 100%;
}


/* DROBECKOVA NAVIGACE */
.breadcrumb-item {
    display: inline-flex;
    align-items: center;
    font-size: 1rem;
    margin: 0;
}

    .breadcrumb-item:not(:has(a)),
    .breadcrumb-item.active {
        color: var(--link-color);
        text-decoration: none;
    }

    .breadcrumb-item a.link.active {
        color: var(--link-color);
    }

        .breadcrumb-item a.link.active:hover {
            color: var(--link-hover-color);
        }

    .breadcrumb-item + .breadcrumb-item::before {
        content: "\203A";
        color: var(--link-hover-color);
        display: inline-block;
    }

/* MAPA STRANEK */
/* 1. uroven v ramci sloupce – bez odrazek */
.sitemap-root {
    list-style: none;
    padding-left: 0;
}

    /* (A) – zvýraznění první úrovně a mezery mezi nimi */
    .sitemap-root > li {
        margin-bottom: 0.75rem; /* mezera mezi hlavními bloky */
    }

        .sitemap-root > li > a,
        .sitemap-root > li > .sitemap-parent {
            font-weight: 700; /* tučné hlavní položky */
            display: block; /* každý hlavní název na vlastní řádku */
        }


        /* 2. uroven (deti rodicu) – kolecko */
        .sitemap-root > li > ul.sitemap-children {
            list-style: circle;
            padding-left: 1.4rem;
            margin-top: 0.25rem; /* (B) menší mezera pod hlavní položkou */
            font-size: 0.96rem;
        }

            /* 3. uroven – ctverecek */
            .sitemap-root > li > ul.sitemap-children > li > ul.sitemap-children {
                list-style: square;
                padding-left: 1.4rem;
                font-size: 0.93rem;
            }

                /* 4. uroven – pomlcka s hezkym zarovnanim */
                .sitemap-root > li > ul.sitemap-children > li > ul.sitemap-children > li > ul.sitemap-children {
                    list-style: none;
                    padding-left: 1.4rem;
                }

                    .sitemap-root > li > ul.sitemap-children > li > ul.sitemap-children > li > ul.sitemap-children > li,
                    .sitemap-news .sitemap-root > li > ul.sitemap-children > li {
                        position: relative;
                        padding-left: 0.8rem;
                        font-size: 0.9rem;
                        font-style: italic;
                    }

                        .sitemap-root > li > ul.sitemap-children > li > ul.sitemap-children > li > ul.sitemap-children > li::before,
                        .sitemap-news .sitemap-root > li > ul.sitemap-children > li::before {
                            content: "-";
                            position: absolute;
                            left: 0;
                        }

/* výjimka: novinky – seznam článků (druhá úroveň) jako kurzíva s pomlčkou */
.sitemap-news .sitemap-root > li > ul.sitemap-children {
    list-style: none !important;
    padding-left: 0 !important;
}

/* Mobilní úpravy */
/* >576, >768, >992, >1200, >1400  */
@media (min-width: 768px) {
    .mapa-menu {
        flex-direction: column;
    }
}

@media (min-width: 992px) {
    .map-info {
        grid-template-columns: 1fr;
    }

        .map-info dt {
            margin-top: 6px;
        }
}

@media (max-width: 1199px) {
    /* pri zmenseni zmensit i vyhledavaci pole */
    [role="search"] .input-group {
        width: 150px;
    }

    .custom-button {
        font-size: 0.95rem;
        padding-left: 0.75rem;
        padding-right: 1.25rem;
    }

    .navbar-dark .navbar-nav > .nav-item {
        font-size: 1rem;
    }

    .navbar-dark .navbar-nav .nav-link {
        padding: 1.25rem 0.5rem;
    }

    .logo-holder {
        width: 150px !important;
    }

    .navbar-logo-img {
        width: 150px !important;
    }

    .tiles-menu a {
        font-size: 1.125rem;
    }

    .hero-caption-box h1 {
        font-size: 1.8rem;
        margin: 0 0 6px 0;
    }

    .mapauzemi {
        top: -2rem;
    }
}

@media (max-width: 991px) {
    .info-box {
        min-height: auto !important;
    }

    .navbar-nav {
        flex-direction: column;
    }

    .nav-item.nav-fixed {
        flex: unset;
        max-width: unset;
        width: 100%;
    }

    .navbar-dark .navbar-nav .nav-link {
        justify-content: flex-start;
        padding: 0.75rem 1rem;
        text-align: left;
    }

    [role="search"] {
        margin: 1rem;
    }

        [role="search"] .input-group {
            width: 100%;
        }

    .navbar .dropdown-menu a.dropdown-item {
        border-bottom: none;
    }

    .navbar .dropdown-menu li:last-child a.dropdown-item {
        /* border-bottom: 1px solid var(--white-color); */
    }

    .tiles-menu a {
        font-size: 1rem;
        font-weight: normal;
    }

    .hero-caption-box {
        width: 100%;
        margin-top: 1rem;
        text-align: center;
    }

        .hero-caption-box h1 {
            font-size: 2.2rem;
            margin: 0 0 2px 0;
        }

    .section-heading {
        font-size: 1.75rem;
    }

    .mapauzemi {
        top: -1rem;
    }

    /*
    .box-side {
        margin-top: 1.5rem;
    }
    */
}

@media (max-width: 767px) {
    .hero-caption-box h1 {
        font-size: 1.8rem;
        margin: 0 0 6px 0;
    }

    .mapa-menu {
        max-width: 500px;
        margin: 0 auto;
        justify-content: center;
    }

        .mapa-menu li {
            width: calc(50% - 0.25rem);
            margin-bottom: 0.5rem;
        }

    .article-figure {
        display: none;
    }

    .mapauzemi {
        margin: 1rem 0;
        position: static;
    }
}

@media (max-width: 575px) {
    .page-wrapper.content-spacing {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .row.gx-5 {
        --bs-gutter-x: 1rem;
    }
}