/* --- FIXNÍ NAVIGACE (jen pokud je to žádoucí globálně) --- */
/* Pokud ti fixed navigace rozhazuje hlavní stránku, změň 'fixed' na 'sticky' */
.top-navbar { 
    position: fixed; 
    top: 0; 
    width: 100%; 
    z-index: 1030; 
    background-color: #fff;
}

/* --- SPECIFICKÉ PROSTRANSTVÍ PRO TEXTOVÉ STRÁNKY --- */
/* Tato třída zajistí, že se nic nerozhodí na hlavní straně */
/* Tato třída obaluje celý obsah v page.php */
.dynamic-page-content {
    /* Pokud máš navigaci vysokou cca 70-80px, nastavíme padding tak, 
       aby text začal hned pod ní bez zbytečné bílé díry */
    padding-top: 20px; 
    min-height: 80vh;
}

/* Toto odstraní tu "neviditelnou" mezeru nad hlavním nadpisem */
.dynamic-page-wrapper h1 {
    margin-top: 0 !important;
    padding-top: 10px;
}

/* Pokud je ta mezera i pod nadpisem moc velká, zkratíme ji tady */
.dynamic-page-wrapper .lead {
    margin-bottom: 30px !important;
}

/* Zbytek tvých pěkných karet a patičky zůstává */
.content-section { padding: 50px 0; background-color: #f8f9fa; flex-grow: 1; }
.faq-card, .info-card { 
    background: #fff; 
    border-radius: 10px; 
    padding: 25px; 
    margin-bottom: 20px; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.05); 
    border-left: 5px solid var(--page-accent, #28a745); 
    transition: transform 0.2s ease;
}
/* Kontejner pro šipky a lištu */
.category-scroll-container {
    position: relative;
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 10px;
    padding: 0 10px;
}

/* Samotná lišta - schování scrollbaru */
.category-filter-bar {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    white-space: nowrap;
    -ms-overflow-style: none;  /* IE a Edge */
    scrollbar-width: none;     /* Firefox */
    padding: 15px 0;
    width: 100%;
    gap: 10px;
}

.category-filter-bar::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}

/* Styl šipek */
.scroll-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #ddd;
    border-radius: 50%;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.scroll-arrow:hover {
    background: #007bff;
    color: white;
    border-color: #007bff;
}

.left-arrow { left: -5px; }
.right-arrow { right: -5px; }

/* Schovat šipky na mobilu, kde funguje prst */
@media (max-width: 768px) {
    .scroll-arrow {
        display: none !important;
    }
}

/* Kontejner pro šipky a lištu */
.category-scroll-container {
    position: relative;
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 10px;
    padding: 0 5px; /* Mírně zmenšený padding pro více místa */
}

/* Samotná lišta - schování scrollbaru */
.category-filter-bar {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding: 15px 0;
    width: 100%;
    gap: 12px; /* Mezera mezi kategoriemi */
    
    /* Zajištění, že se položky nebudou kousat */
    flex-wrap: nowrap; 
}

.category-filter-bar::-webkit-scrollbar {
    display: none;
}

/* KLÍČOVÁ OPRAVA: Položky uvnitř lišty (pravděpodobně <a> nebo <div>) */
.category-filter-bar > * {
    flex: 0 0 auto; /* ZAKÁŽE SMRŠŤOVÁNÍ - položka si vezme tolik místa, kolik potřebuje text */
    display: inline-block;
}

/* Styl šipek - posunuty více ven, aby nepřekrývaly text */
.scroll-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    background: white;
    border: 1px solid #ddd;
    border-radius: 50%;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.12);
    transition: all 0.2s ease;
}

.scroll-arrow:hover {
    background: #007bff;
    color: white;
    transform: translateY(-50%) scale(1.1);
}

/* Šipky vytažené mírně mimo kontejner pro čistší vzhled */
.left-arrow { left: -15px; }
.right-arrow { right: -15px; }

/* Schovat šipky na mobilu */
@media (max-width: 768px) {
    .scroll-arrow {
        display: none !important;
    }
    .category-scroll-container {
        padding: 0;
    }
}

.faq-card:hover, .info-card:hover { transform: translateY(-3px); }

/* --- PATIČKA --- */
.footer-col h5::after { content: ''; display: block; width: 30px; height: 3px; background-color: var(--page-accent, #28a745); margin-top: 5px; }
.footer-col ul li a:hover { color: var(--page-accent, #28a745); }
.social-links a:hover { background-color: var(--page-accent, #28a745); }