/* Globální styly */
* { box-sizing: border-box; }
body { font-family: 'Segoe UI', Tahoma, sans-serif; line-height: 1.6; margin: 0; background: #f4f4f4; color: #333; }

/* Hlavička a menu */
header { background: #2c3e50; color: #fff; padding: 1rem 0; }
nav { max-width: 960px; margin: auto; display: flex; justify-content: space-between; align-items: center; padding: 0 20px; }
nav ul { display: flex; list-style: none; margin: 0; padding: 0; }
nav ul li { margin-left: 20px; }
nav a { color: #fff; text-decoration: none; font-weight: bold; }
nav a.active { color: #3498db; border-bottom: 2px solid #3498db; }

/* Hlavní obsah */
main { max-width: 960px; margin: 20px auto; padding: 20px; background: #fff; border-radius: 8px; }

/* Obrázky */
.profil-foto { width: 150px; border-radius: 50%; float: left; margin-right: 20px; border: 3px solid #2c3e50; }

@media (max-width: 600px) {
    nav { flex-direction: column; }
    .profil-foto { float: none; display: block; margin: 0 auto 20px; }
}

/* Definice nadpisů */
h1, h2 {
    color: #2c3e50; /* Barva stejná jako u hlavičky pro sjednocení */
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

h1 {
    font-size: 2.5rem; /* Velikost nadpisu 1 */
    border-bottom: 2px solid #3498db; /* Podtržení pro zvýraznění */
    padding-bottom: 10px;
}

h2 {
    font-size: 1.5rem; /* Velikost nadpisu 2 */
}

h3 {
    font-size: 1.2rem; /* Velikost nadpisu 3 */
}

/* Úprava pro logo v hlavičce */
header img {
    height: 50px; /* Uprav si podle velikosti loga, aby bylo v menu hezky vidět */
    width: auto;
    display: block;
}

/* Styl pro kontejner mapy */
.mapa {
    margin-top: 20px;
    border-radius: 8px;
    overflow: hidden; /* Aby mapa „nepřetékala“ přes kulaté rohy */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Pokud by se logo na mobilu zdálo moc velké, přidáme toto do @media */
@media (max-width: 600px) {
    header img { height: 40px; margin-bottom: 10px; }
}

/* Skryjeme tlačítko na desktopu */
.menu-toggle { display: none; background: none; border: none; color: white; font-size: 2rem; cursor: pointer; }

@media (max-width: 600px) {
    nav { flex-direction: column; align-items: stretch; }
    .nav-container { display: flex; justify-content: space-between; align-items: center; width: 100%; }
    .menu-toggle { display: block; } /* Zobrazíme hamburger na mobilu */

    #nav-list { display: none; flex-direction: column; width: 100%; }
    #nav-list.active { display: flex; } /* Zobrazí se po kliknutí */

    nav ul li { margin: 10px 0; text-align: center; }
}
