.rumai-schedule {
    --rumai-time-width: 80px;
    --rumai-column-gap: 24px;
    --rumai-row-padding: 16px;
    width: 100%;
    line-height: 1.6;
}
.rumai-schedule .rumai-schedule__heading { margin: 0 0 20px; }
.rumai-schedule .rumai-schedule__list { list-style: none; padding: 0; margin: 0; }
/* Suppress theme-generated bullets on schedule rows, not rich-text lists. */
.rumai-schedule .rumai-schedule__list > .rumai-schedule__row::before {
    content: none !important;
    display: none !important;
}
.rumai-schedule .rumai-schedule__row {
    display: grid;
    grid-template-columns: minmax(0, min(var(--rumai-time-width), 35%)) minmax(0, 1fr);
    column-gap: var(--rumai-column-gap);
    align-items: start;
    padding: var(--rumai-row-padding) 0;
    margin: 0;
    border: 0;
}
.rumai-schedule .rumai-schedule__row:not(:last-child) { border-bottom: 1px dotted #c9c9c9; }
.rumai-schedule__time { font-variant-numeric: tabular-nums; }
.rumai-schedule__time, .rumai-schedule__description { min-width: 0; overflow-wrap: anywhere; }
.rumai-schedule__description > :first-child { margin-top: 0; }
.rumai-schedule__description > :last-child { margin-bottom: 0; }
.rumai-schedule__description p { margin: 0 0 .65em; }
.rumai-schedule__description img { max-width: 100%; height: auto; }
@media (max-width: 767px) {
    .rumai-schedule { --rumai-time-width: 64px; --rumai-column-gap: 12px; --rumai-row-padding: 12px; }
}
