       /* --- CUSTOM ÚPRAVY NAD RÁMEC BOOTSTRAPU --- */
        :root {
            --primary-bg: #124981;
            --primary-blue: #062f5d;
            /* --primary-footer: #092f5c;*/
            --primary-footer: #fff;
            --primary-gallery: #ffffff;
            --primary-bg-light: #c2d4e8;
            --accent-orange: #ef6502;
            --accent-hover: #f7cc0c;
            --accent-hover-blue: #062f5d;
            --accent-yellow: #fbcf0c;
            --text-white:#ffffff;
        }



        body {
            font-family: 'Roboto', sans-serif;
            /* Tmavé "taktické" pozadí */
            background-color: var(--primary-bg);
            /*background-image: 
                linear-gradient(rgba(26, 37, 47, 0.9), rgba(26, 37, 47, 0.95)),
                repeating-linear-gradient(45deg, #2c3e50 0, #2c3e50 1px, transparent 0, transparent 50%);
            background-size: 100% 100%, 100px 100px;
            background-attachment: fixed;*/
            color: var(--text-white)
        }

        h1.text-primary {
            color: var(--primary-blue) !important;
        }


        /* Obrázky pozadí */
        .pozadi_img {
            background-image: url('../Pict/Hlavicka_420.png');
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            border-radius: 2px;
            max-width: 1296px;
            box-shadow: 0 8px 20px rgba(0,0,0,0.3);
        }
        .vyska_500 { height: 420px; }


        /* Navigace */
        .navbar {
            background-color: var(--primary-blue);
            border-bottom: 2px solid var(--accent-orange);
            box-shadow: 0 4px 10px rgba(0,0,0,0.3);
        }
        .navbar-brand { font-weight: 700; text-transform: uppercase; font-size: 1.2rem; }
        .nav-link { text-transform: uppercase; font-weight: 500; font-size: 0.95rem; color: #ecf0f1 !important; transition: color 0.3s; }
        .nav-link:hover, .nav-link.active { color: var(--accent-yellow) !important; }

        /* Hero Sekce */
        .hero-section {
            /* padding-top: 10px;
            padding-bottom: 10px; /* Extra padding dole pro efekt překrytí */ 
            color: white;
            text-align: center;
            margin-top: 1rem !important;
            margin-bottom: 1rem !important;
        }
        .hero-title { font-weight: 900; letter-spacing: 1px; text-shadow: 0 2px 10px rgba(0,0,0,0.5); }
        .hero-date {
            background: rgba(230, 126, 34, 0.2);
            border: 1px solid var(--accent-orange);
            color: #fff;
            padding: 5px 15px;
            border-radius: 4px;
            display: inline-block;
            margin-top: 15px;
        }

        /* Hlavní karty (Overlap efekt) */
        .main-card {
            border: none;
            border-radius: 2px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
            margin-bottom: 1rem !important;
            margin-bottom: 1rem !important;
        }
        
        .section-overlap {
            margin-top: 0px; /* Klíčové pro překrytí */
            position: relative;
            z-index: 10;
            /* background-color: var(--primary-bg-light)*/
        }

        /* Nadpisy sekcí */
        .section-title {
            text-transform: uppercase;
            font-weight: 700;
            color: var(--primary-bg);
            margin-bottom: 2rem;
            position: relative;
            display: inline-block;
        }
        .section-title::after {
            content: '';
            display: block;
            width: 50%;
            height: 3px;
            background: var(--accent-orange);
            margin: 10px auto 0;
        }
        .section-title-footer {
            text-transform: uppercase;
            font-weight: 700;
            color: var(--primary-bg);
            margin-bottom: 2rem;
            position: relative;
            display: inline-block;
        }
        .section-title-footer::after {
            content: '';
            display: block;
            width: 50%;
            height: 3px;
            background: var(--accent-yellow);
            margin: 10px auto 0;
        }        
        /* Soubory ke stažení */
        .file-card {
            transition: transform 0.3s, border-color 0.3s;
            border: 1px solid #dee2e6;
            cursor: pointer;
            background-color: var(--accent-yellow);
        }
        .file-card:hover {
            transform: translateY(-5px);
            border-color: var(--accent-orange);
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        }
        .file-icon { font-size: 2.5rem; margin-bottom: 1rem; }
        .fa-file-pdf { color: #e74c3c; }
        .fa-file-word { color: #3498db; }
        .fa-file-excel { color: #27ae60; }
        .btn-link-custom { background-color: var(--accent-orange);color: var(--text-white); text-decoration: none; font-size: 0.9rem;
                    font-weight: 700;
            padding: 12px 30px;
            border: none;
            text-transform: uppercase;
            transition: background 0.3s;
            margin-top: 10px;
         }
        .btn-link-custom:hover { background-color: var(--accent-hover-blue); color: var(--text-white); }

        /* Custom Tlačítko */
        .btn-orange {
            background-color: var(--accent-orange);
            color: var(--text-white);
            font-weight: 700;
            padding: 12px 30px;
            border: none;
            text-transform: uppercase;
            transition: background 0.3s;
        }
        .btn-orange:hover { background-color: var(--accent-hover-blue); color: var(--text-white); }

        /* Galerie */
        .gallery-img-wrapper {
            position: relative;
            overflow: hidden;
            border-radius: 4px;
            aspect-ratio: 4/3;
        }
        .gallery-img-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s;
        }
        .gallery-img-wrapper:hover img { transform: scale(1.1); }
        .gallery-overlay {
            position: absolute;
            inset: 0;
            background: rgba(0,0,0,0.4);
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.3s;
        }
        .gallery-img-wrapper:hover .gallery-overlay { opacity: 1; }

        /* Mapa a Kontakt */
        .contact-icon { width: 30px; color: var(--accent-orange); font-size: 1.2rem; text-align: center; }

        /* Footer */
        footer { background-color: var(--primary-footer); color: var(--primary-bg); border-top: 1px solid #2c3e50; }
        .sponsor-logo { 
            max-height: 50px; 
            /*filter: grayscale(100%); 
            opacity: 0.5; 
            transition: all 0.3s; */
            margin: 0 15px;
        }
        .sponsor-logo:hover { filter: grayscale(0); opacity: 1; }

        /* Responsivní úpravy */
        @media (max-width: 768px) {
            .hero-title { font-size: 2rem; }
            .section-overlap { margin-top: -40px; }
            .hero-section { padding-bottom: 80px; }
        }


        .date {
        color: #ffffff; /* White */
        font-size: 3.5em;
        font-weight: bold;
        margin-bottom: 0;
    }

    .title {
        color: #ffcc00; /* Yellow/Gold */
        font-size: 5em;
        font-weight: bold;
        text-transform: uppercase;
        line-height: 1.1;
        margin: 0.2em 0 1em 0;
    }

    .logo-section {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .logo-image {
        width: 60px;
        height: auto;
        margin-right: 15px;
        /* Note: Replace with the actual path to the Město Benešov coat of arms image */
        content: url('path/to/your/logo-benesov.png');
    }

    .logo-text {
        color: #ffffff; /* White */
        font-size: 2em;
        font-weight: bold;
    }
        /* --- STYLY NAVIGACE --- */
        
        /* 1. Pozadí přes celou šířku */
        .navbar-custom {
            background-color: var(--primary-blue);
            padding: 10px 0;
            border-bottom: 3px solid var(--accent-yellow);
        }

        /* 2. Omezení šířky obsahu na 1296px a vycentrování */
        .container-custom {
            max-width: 1296px;
            width: 100%;
            margin: 0 auto; /* Vycentrování */
        }

        /* --- BRANDING (LEVO) --- */
        .brand-container {
            display: flex;
            align-items: center;
            color: var(--text-white);
            text-decoration: none;
        }
        
        .brand-container:hover { color: var(--text-white); }

        .city-logo-img {
            height: 45px;
            width: auto;
            margin-right: 10px;
        }

        .city-text {
            display: flex;
            flex-direction: column;
            font-weight: 700;
            line-height: 1.2;
            font-size: 15px;
            text-transform: none;
        }

        /* Svislá čára */
        .brand-divider {
            height: 40px;
            width: 1px;
            background-color: rgba(255,255,255, 0.3);
            margin: 0 15px;
        }

        .event-title {
            font-family: 'Roboto Condensed', sans-serif;
            font-weight: 700;
            color: var(--accent-yellow);
            text-transform: uppercase;
            line-height: 1;
            font-size: 20px;
            display: flex;
            flex-direction: column;
        }

        /* --- MENU (VPRAVO) --- */
        .navbar-nav .nav-link {
            color: var(--text-white) !important;
            font-weight: 700;
            text-transform: uppercase;
            font-size: 14px;
            padding: 10px 15px;
            position: relative;
            transition: color 0.3s;
        }

        .navbar-nav .nav-link:hover { color: var(--accent-yellow) !important; }

        .navbar-nav .nav-link i {
            font-size: 10px;
            margin-left: 5px;
            vertical-align: middle;
            opacity: 0.7;
        }

        /* Aktivní položka - žlutě */
        .navbar-nav .nav-link.active { color: var(--accent-yellow) !important; }

        /* Podtržítko jen na velkých obrazovkách */
        @media (min-width: 992px) {
            .navbar-nav .nav-link.active::after {
                content: '';
                display: block;
                width: 100%;
                height: 3px;
                background-color: var(--accent-yellow);
                position: absolute;
                bottom: 0;
                left: 0;
            }
            .navbar-nav { margin-left: auto; } /* Zarovnání doprava */
        }

        /* Hamburger styl */
        .navbar-toggler { border-color: rgba(255,255,255,0.5); }
        .navbar-toggler-icon {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
        }

        /* Mobilní úpravy */
        @media (max-width: 991px) {
            .brand-divider { display: none; }
            .brand-container { flex-wrap: wrap; }
            .event-title { font-size: 16px; margin-top: 5px; width: 100%; }
            .navbar-collapse { margin-top: 15px; border-top: 1px solid rgba(255,255,255,0.1); }
        }    

        .d-block {
            text-align: left;
        }

        a.text-muted{
            text-align: left;
            color: var(--primary-bg) !important;
        }

        .label-column {
            font-weight: bold;
            color: #2c3e50;
        }
        .section-row {
            border-bottom: 1px solid #eee;
            padding-bottom: 1rem;
            margin-bottom: 1rem;
        }
        .last-row {
            border-bottom: none;
        }
        .archive-link {
            text-decoration: none;
            margin-right: 10px;
            display: inline-block;
            margin-bottom: 5px;
        }
        .archive-link:hover {
            text-decoration: underline;
        }
        .year-badge {
            font-size: 0.9rem;
            width: 60px;
            display: inline-block;
            text-align: center;
        }
        /* Jemné podbarvení řádků při najetí myší */
        .table-hover tbody tr:hover {
            background-color: rgba(0, 0, 0, 0.02);
        }
        .sponsor-item {
            border-bottom: 1px solid #eee;
            transition: background-color 0.3s ease;
        }
        .sponsor-item:last-child {
            border-bottom: none;
        }
        .sponsor-item:hover {
            background-color: #f8f9fa;
        }
        .sponsor-logo-container {
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100px;
        }
        .sponsor-logo {
            max-width: 150px;
            max-height: 100px;
            height: auto;
            width: auto;
            object-fit: contain;
        }
        .sponsor-link {
            text-decoration: none;
            color: var(--primary-blue);
            font-weight: 600;
        }
        .sponsor-link:hover {
            text-decoration: underline;
        }
        .gallery-link {
            text-decoration: none;
            margin-right: 15px;
            display: inline-block;
        }
        .gallery-link:hover {
            text-decoration: underline;
        }
        .year-badge {
            font-size: 0.9rem;
            width: 60px;
            display: inline-block;
            text-align: center;
        }
        .photographer-label {
            font-weight: 600;
            color: #555;
            margin-right: 5px;
        }

        /* --- STYLY GALERIE --- */
        .gallery-section {
            background-color: var(--primary-gallery);
            padding: 60px 0;
            text-align: center;
            margin-bottom: 1rem !important;
            margin-bottom: 1rem !important;            
        }

        .gallery-title {
            font-size: 2rem;
            letter-spacing: 1px;
            text-transform: uppercase;
            font-weight: 700;
            color: var(--primary-bg);
            margin-bottom: 2rem;
            position: relative;
            display: inline-block;
        }

        .gallery-title::after {
            content: '';
            display: block;
            width: 50%;
            height: 3px;
            background: var(--accent-orange);
            margin: 10px auto 0;
        }        

        .photo-frame {
            display: block;
            border: 2px solid var(--accent-yellow);
            padding: 8px;
            border-radius: 4px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            background-color: var(--primary-blue);
            cursor: pointer;
            height: 100%;
        }

        .photo-frame:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.3);
        }

        .photo-frame img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            border: 2px solid #ffffff;
            display: block;
        }

        .btn-gallery {
            background-color: var(--accent-yellow);
            color: #000;
            font-weight: 700;
            padding: 12px 30px;
            border-radius: 5px;
            text-decoration: none;
            display: inline-block;
            margin-top: 40px;
            text-transform: none;
            border: none;
            transition: background-color 0.3s;
        }

        .btn-gallery:hover {
            background-color: #e6b800;
            color: #000;
        }

        /* --- LIGHTBOX STYLY --- */
        .lightbox {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.9);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 9999;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .lightbox.active {
            display: flex;
            opacity: 1;
        }

        .lightbox-content {
            position: relative;
            max-width: 90%;
            max-height: 90%;
        }

        .lightbox-img {
            max-width: 100%;
            max-height: 90vh; /* Aby se vešla na výšku */
            border: 3px solid #fff;
            box-shadow: 0 0 20px rgba(0,0,0,0.5);
        }

        .lightbox-close {
            position: absolute;
            top: -40px;
            right: 0;
            color: #fff;
            font-size: 40px;
            cursor: pointer;
            transition: color 0.3s;
            z-index: 10001;
        }

        .lightbox-close:hover { color: var(--accent-yellow); }

        /* --- NAVIGAČNÍ ŠIPKY --- */
        .lightbox-nav {
            cursor: pointer;
            position: absolute;
            top: 50%;
            width: auto;
            padding: 16px;
            margin-top: -50px;
            color: white;
            font-weight: bold;
            font-size: 50px; /* Větší šipky */
            transition: 0.3s ease;
            user-select: none;
            text-decoration: none;
            z-index: 10000;
        }

        .lightbox-nav:hover {
            color: var(--accent-yellow);
            background-color: rgba(0,0,0,0.5); /* Lehké ztmavení pozadí pod šipkou */
            border-radius: 3px;
        }

        .prev { left: 20px; }
        .next { right: 20px; }

        /* Mobilní úprava šipek */
        @media (max-width: 768px) {
            .lightbox-nav { font-size: 30px; padding: 10px; }
            .prev { left: 5px; }
            .next { right: 5px; }
        }        

        .posun-20 {
            margin-top: 20px;
        }