.gcm-calendar-day {
    overflow: hidden;
    min-width: 0;
}

.gcm-calendar-venue,
.gcm-calendar-venue-fullname,
.gcm-calendar-venue-name,
.gcm-communal-name {
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
    min-width: 0;
}

.gcm-calendar-date div {
    width: 150px;

    @media (min-width: 1200px) { width: 30px; }
}
/* Spoust popoveru: v tabulkove bunce uz neni flexovou polozkou, ktera se sama blokovala,
   takze si blokovost musi rict sama - jinak by se z ni na desktopu stal inline box */
.communal_services_content .cal-main-com-tooltip {
    display: block;
    text-decoration: none !important;
    cursor: pointer;
}

.communal_services_content .cal-main-com-tooltip:hover .gcm-communal-name { text-decoration: underline !important; background-color: transparent; text-decoration-thickness: 0.13em !important; }

.calendar .cal-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.calendar .gcm-calendar__icon {
    fill: currentColor;
    height: 1.25rem;
    padding: 0 10px;
}

.calendar .gcm-calendar-button {
    display: inline-flex;
    align-items: center;
    padding: 0;
    margin: 0;
    font: inherit;
    line-height: 1;
    color: inherit;
    border: 0;
    background: none;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

.communal_services_content .communal_services__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem;
    margin-bottom: 0.5rem;
}

.communal_services_content .communal_services__nav-label {
    font-weight: bold;
    line-height: 42px;
}

.communal_services_content .communal_services__nav-month {
    margin-right: 0.5rem;
}

.communal_services_content .communal_services__nav-btn {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
}

.communal_services_content .communal_services__nav-btn--disabled {
    opacity: 0.4;
    pointer-events: none;
}

.communal_services_content .communal_services__nav-ico {
    height: 1rem;
    fill: currentColor;
}

.communal_services_content .communal_services__filter-active {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-left: 0.75rem;
    vertical-align: middle;
}

.communal_services_content .communal_services__filter-tag {
    padding: 0.125rem 0.625rem;
    line-height: 1.5;
    border: 1px solid currentColor;
    border-radius: 1rem;
}

/* Hlavni kalendar svozu: nad 1200 px skutecna tabulka, pod nim seznam dnu pod sebou.
   Layout patri sem, protoze skiny stejnou mrizku stylujou bootstrapimi utilitami
   (display/flex-direction s !important) na starych tridach - ty na elementech zustavaji
   kvuli barvam a ramecum. Modulove CSS se do <head> vklada za skinovy style.css
   (Assets: priorita 2000 vs. 0), takze staci prebit vyssi specificitou. */
.communal_services_content .communal_services__table {
    display: block;
    width: 100%;

    /* skiny stylujou vsechny tabulky: `table { color: #212529 }` prebiji barvu textu z body
       a `border-collapse: collapse` by scelil ramecky, ktere se ve flexu prekryvaly */
    color: inherit;
    border-collapse: separate;
    border-spacing: 0;
}

.communal_services_content .communal_services__head {
    display: none;
}

.communal_services_content .communal_services__body {
    display: block;
}

.communal_services_content .communal_services__row {
    display: flex;
    flex-direction: column;
}

/* Nazvy dnu jsou ted <th>: UA stylesheet je ztucni a skinove
   `table thead th { color: #000; background-color: ... }` jim zmeni barvy */
.communal_services_content .communal_services__cell--weekday {
    font-weight: inherit;
    text-align: inherit;
    color: inherit;
    background-color: transparent;
}

@media (min-width: 1200px) {
    .communal_services_content .communal_services__table {
        display: table;
        table-layout: fixed;
    }

    .communal_services_content .communal_services__head {
        display: table-header-group;
    }

    .communal_services_content .communal_services__body {
        display: table-row-group;
    }

    .communal_services_content .communal_services__table .communal_services__row {
        display: table-row !important;
    }

    /* Vyssi specificita prebije i .gcm-calendar-day.gcm-calendar-empty { display: block !important } */
    .communal_services_content .communal_services__table .communal_services__cell {
        display: table-cell !important;
        vertical-align: top;
    }
}
