body, html {
    background: white !important;
    color: black !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
}

#main-header,
.et_slide_in_menu_container,
#main-footer,
.user-menu,
.school-menu,
.mobile_menu_bar,
#et-top-navigation,
link[href*="divi-critical.footer.css"],
script {
    display: none !important;
}

#page-container,
#et-main-area,
#main-content,
#main-content > .container,
#content-area,
#content-area > .main-content,
article {
    display: block !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    float: none !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: white !important;
    color: black !important;
}

article {
    display: flex !important;
    flex-direction: column-reverse !important;
}

article > *,
.rad-shadow.meeting-card,
.show-more,
.location,
.timeslot-list {
    display: none !important;
}

.print-only {
    display: block !important;
}

article > .left-part,
article > .right-part {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 10mm !important;
    border: none !important;
    box-shadow: none !important;
    background: white !important;
    color: black !important;
    height: auto !important;
    max-height: none !important; /* Umožní obsahu přetékat na další stránky */
    text-align: left !important;
    max-width: 100% !important;
}

.left-part {
    text-shadow: none !important;
    background-image: none !important;
    margin-bottom: 5mm !important;
}

/* Klíčová úprava pro barvu textu a pozadí uvnitř .left-part */
.left-part *,
.left-part *:before,
.left-part *:after {
    visibility: visible !important;
    color: black !important; /* Vynutí černou barvu textu pro všechny potomky */
    background-color: transparent !important; /* Zajistí průhledné pozadí pro potomky */
    text-shadow: none !important; /* Odstraní stíny textu i u potomků */
    box-shadow: none !important; /* Odstraní stíny boxů i u potomků */
}

.left-part .slots-wrap {
    display: flex !important;
    flex-wrap: wrap !important; /* Umožní zalamování slotů */
    gap: 4px !important;       /* Malá mezera mezi sloty */
}

.left-part .time-slot {
    border: 1px solid #999 !important;
    padding: 2px 4px !important;
    margin: 0 !important; /* Mezery řeší `gap` na .slots-wrap */
    text-align: left !important;
    background-color: white !important;
    min-width: 30% !important; /* Pokud chcete zachovat cca 3 sloupce */
    height: auto !important; /* Původně bylo 50px, auto je flexibilnější */
    min-height: 30px; /* Minimální výška pro konzistenci, pokud je potřeba */
    height: 40px !important;
}

.left-part .time-slot.booked {
    background-color: #e0e0e0 !important;
    font-weight: bold;
}

.left-part .time-slot[tooltip]::after,
.left-part .time-slot[tooltip]::before,
.left-part .timeslot-list .time-slot,
.current-registrations,
.et-l.et-l--post .et_pb_section_first,
.badge {
    display: none !important;
}