/* Zajištění, že při skoku na kotvu nebude nadpis schovaný pod horní lištou */
html {
    scroll-padding-top: 12ex;
}

/* --- Hlavní sekce --- */
section.vyuka, section.uvod {
    width : 100%;
    margin : 4ex 0em 4ex 0em;
    }
section.uvod p {
    margin : 0ex 0em 0.75ex 0em;
    text-align : justify;
    /* text-wrap: balance;  nedává moc pěkný výsledek, moc velké mezery */
    }

/* --- Rozcestník --- */
div.rozcestnik {
    position: sticky;
    top: 24px; /* Podle výšky fixní hlavičky, aby nezajíždělo pod ni */
    z-index: 20; /* Zajistí, že bude překrývat text při rolování */
    background-color: #ffffff; /* Podklad, aby pod ním text neprosvítal */
    padding: 1.5ex 0; /* Vnitřní odsazení pro hezčí efekt při přilepení */
    box-shadow: 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* Jemný stín pod přilepenou lištou */
    display : flex;
    box-sizing: border-box;
    width : 100%;
    justify-content: space-between;
    align-items: center;
    font-size : 100%;
    font-family: monospace;
    margin : 3ex auto 4ex auto;
    gap : 1ex;
    }

div.rozcestnik a {
    display : block;
    flex: 1; /* Rozvrhne dlaždice rovnoměrně na celou šířku */
    text-align : center;
    background-color: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 1ex 1ex;
    text-decoration: none;
    color: #1e293b;
    transition: all 0.2s ease;
    }

div.rozcestnik a:hover {
    background-color: #f1f5f9;
    border-color: #94a3b8;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    text-decoration: none;
    }

div.rozcestnik a:active {
    transform: translateY(0);
    background-color: #e2e8f0;
    box-shadow: none;
    }

/* --- Skupiny kurzů --- */
h3 {
    font-size : 3ex;
    color : var(--subtitle-color);
    border-top : 2px solid var(--subtitle-color);
    padding-top : 1ex;
    margin-top : 6ex;
    margin-bottom : 2ex;
    }

/* --- Karta kurzu --- */
section.kurz {
    font-size : 1.6ex;
    font-weight : normal;
    width : 100%;
    margin : 6ex 0em 8ex 0em;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;  /* ořízne podklad nadpisu podle zaoblených rohů karty */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    }

h4 {
    font-size : 125%;
    font-weight : bold;
    color : var(--subtitle-color);
    margin : 0;
    padding : 1ex 0.5em;
    background-color: #e2e8f0;
    border-bottom: 1px solid #cbd5e1;
    letter-spacing: 0.02em;
    }

section.kurz img {
    width : 100%;
    display: block;
    margin : 0px;
    }

div.anotace {
    margin : 2ex 1.5ex;
    }

div.anotace p {
    margin : 0.5ex 0em;
    text-align : justify;
    }

div.anotace p.autor {
    margin-bottom : 1.5ex;
    text-align : start;
    font-weight : bold;
    }

div.odkazy {
    display : flex;
    box-sizing: border-box;
    width : calc(100% - 3ex);
    justify-content: center; 
    align-items: center;
    font-size : 90%;
    font-family: monospace;
    margin : 1.5ex auto 1ex auto;
    gap : 1em;
    background: transparent; 
    padding: 0.5ex 0;
    }

div.odkazy a {
    display : block;
    width : 10em;
    text-align : center;
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 0.5ex 0.5ex;
    text-decoration: none;
    color: #1e293b;
    transition: all 0.2s ease;
    }

div.odkazy a:hover {
    background-color: #f1f5f9;
    border-color: #94a3b8;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    text-decoration: none;
    }

div.odkazy a:active {
    transform: translateY(0);
    background-color: #e2e8f0;
    box-shadow: none;
    }


/* Hlavní seznam i všechny vnořené seznamy se chovají jako plynulý text */
ul.seznam-prednasek {
    list-style: none;
    margin : 0.5ex 0em;
    padding: 0;
    text-align : justify;
}

/* Položky seznamu jsou inline prvky */
ul.seznam-prednasek li {
    display: inline;
}

/* Čárka se doplní za každou položku, která není na své úrovni poslední */
ul.seznam-prednasek li:not(:last-child)::after {
    content: ", ";
}
/* Tečka za poslední položkou hlavního seznamu */
ul.seznam-prednasek>li:last-child::after {
    content: ".";
}

/* Vnořený seznam je inline */
ul.seznam-prednasek ul {
    display: inline;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Vnořený seznam (podseznam) se automaticky uzavře do závorek */
ul.seznam-prednasek ul::before {
    content: " (";
}

ul.seznam-prednasek ul::after {
    content: ")";
}


span.cyklus {
    font-style: italic;
    }

span.nbsp {
    white-space: nowrap;
    }