body {
    margin: 0; /* Změněno z 1 na 0 pro lepší zobrazení na mobilech */
    display: flex;
    justify-content: center; 
    align-items: flex-start; 
    min-height: 10vh;
    width: 100%; /* KLÍČOVÉ: Aby tělo stránky správně reagovalo na šířku displeje */
    max-width: 800px;
    background-color: #888888;
}

table {
    width: 100%;
    table-layout: fixed; /* Správně vynucuje pevné rozdělení sloupců */
    background-color: #e1e1e1;
    font-family: Helvetica, Arial, sans-serif;
    border-collapse: collapse; /* Odstraní zdvojené rámečky */
    min-width: 0;
}

td {
    min-width: 0;
    word-wrap: break-word; /* Zalomí text, pokud by byl delší než buňka */
    overflow: hidden;
}

/* NOVÉ: Tyto 2 vlastnosti zajistí, že obsah nezablokuje zúžení tabulky */
td img {
    max-width: 100%; /* Obrázek se automaticky zmenší podle šířky buňky */
    height: auto;    /* Zachová poměr stran obrázku */
    display: block;
    margin: 0 auto 5px auto; /* Vycentruje obrázek a přidá mezeru pod něj */
}

audio {
    width: 100%;     /* Přizpůsobí přehrávač šířce buňky na mobilech */
    max-width: 80%;
    min-width: 0;
    display: block;
    align: center;
}

.cely_radek {
    vertical-align: top;
    text-align: center; 
    padding: 0 5 0 5;
}

.ramecek {
    border: 3px solid #ff9e3e;
    font-size: 26px;
    font-weight: bold;
}

.oddelovac {
    height: 8px;
    background-color: #ff9e3e;
}

.text {
    vertical-align: top;
    text-align: left;
    font-size: 18px;
    padding: 0 10 0 10;
    line-height: 1.6;
}

.mezera {
    height: 5px;
    font-size: 5px;
}