/* Keep the existing schedule colours, typography and booking links. */
body .block--text_image.schedule.bbb-lesson-schedule .days-overview .item[data-bbb-lesson-info] {
 position: relative; display: grid; grid-template-columns: max-content 16px minmax(0, 1fr);
 align-items: center; column-gap: 24px; min-height: 44px; padding-right: 48px;
}
body .block--text_image.schedule.bbb-lesson-schedule .days-overview .item[data-bbb-lesson-info] .item--time {
 white-space: nowrap; padding-right: 0;
}
body .block--text_image.schedule.bbb-lesson-schedule .days-overview .item[data-bbb-lesson-info] .item--type {
 padding-right: 0; display: flex; align-items: center;
}
body .block--text_image.schedule.bbb-lesson-schedule .days-overview .item[data-bbb-lesson-info] .item--description {
 min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-transform: lowercase;
}
/* Honour the existing five-lesson collapsed state before applying the row layout. */
body .block--text_image.schedule.bbb-lesson-schedule:not(.bbb-expanded) .days-overview .item[data-bbb-lesson-info]:nth-child(n+6) {
 display: none;
}
.bbb-lesson-tooltip strong { display: block; margin-bottom: 4px; text-transform: lowercase; }
@media (max-width: 575.98px) {
 body .block--text_image.schedule.bbb-lesson-schedule .days-overview .item[data-bbb-lesson-info] {
  grid-template-columns: max-content 12px minmax(0, 1fr); column-gap: 8px; font-size: 14px;
 }
 body .block--text_image.schedule.bbb-lesson-schedule .days-overview .item[data-bbb-lesson-info] .item--type span { width: 12px; height: 12px; }
}
body .block--text_image.schedule.bbb-lesson-schedule .bbb-lesson-info {
 position: absolute; z-index: 3; right: 2px; top: 50%; transform: translateY(-50%);
 width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%;
 background: transparent; color: #423b36; font: inherit; font-weight: 600;
 cursor: pointer; text-align: center; touch-action: manipulation;
}
body .block--text_image.schedule.bbb-lesson-schedule .bbb-lesson-info::before {
 content: ''; position: absolute; width: 23px; height: 23px;
 border: 1px solid currentColor; border-radius: 50%; left: 10px; top: 10px;
}
body .block--text_image.schedule.bbb-lesson-schedule .bbb-lesson-info:hover, body .block--text_image.schedule.bbb-lesson-schedule .bbb-lesson-info[aria-expanded="true"] { background: #e6d9d1; }
body .block--text_image.schedule.bbb-lesson-schedule .bbb-lesson-info:focus-visible { outline: 2px solid #423b36; outline-offset: -3px; }
.bbb-lesson-tooltip {
 position: fixed; z-index: 100000; box-sizing: border-box;
 width: 300px; max-width: calc(100vw - 24px); padding: 14px 16px;
 border: 1px solid #d6c6ba; border-radius: 6px; background: #fffaf6; color: #332d29;
 font-family: inherit; font-size: 15px; line-height: 1.5; font-weight: 400;
 text-align: left; box-shadow: 0 4px 16px rgba(51,45,41,.16);
}
.bbb-lesson-tooltip[hidden] { display: none !important; }


/* Shared compact roster presentation on all location pages. */
body .block--text_image.schedule.bbb-lesson-schedule .schedule-inner {
 background: #f2eadf; border-radius: 18px; padding: 18px; overflow: hidden;
}
body .block--text_image.schedule.bbb-lesson-schedule .days-overview { max-height: none !important; }
body .block--text_image.schedule.bbb-lesson-schedule .days-overview > div:not(.current) { display: none !important; }
body .block--text_image.schedule.bbb-lesson-schedule .bbb-toggle {
 display: block; margin: 18px auto; padding: 13px 28px; background: #e9decd; color: #25211e;
 border: 0; cursor: pointer; border-radius: 14px; font: inherit; font-weight: 600;
}
body .block--text_image.schedule.bbb-lesson-schedule .bbb-toggle:hover { background: #ded0ba; }
body .block--text_image.schedule.bbb-lesson-schedule .bbb-toggle:focus-visible,
body .block--text_image.schedule.bbb-lesson-schedule .days .day:focus-visible { outline: 2px solid #423b36; outline-offset: 2px; }
