/* Scoped to the preserved event pages; the existing card and hero styles remain. */
[data-rpb-events-root] [hidden],
[data-rpb-event-detail] [hidden] { display: none !important; }
[data-rpb-events-root] [role="tab"][aria-selected="true"] { color: #fff; background: #111; }
[data-rpb-events-root] [role="tab"][aria-selected="true"] .MuiButton-label { color: inherit; }
[data-rpb-events-root] [role="tab"][aria-selected="false"] { color: #111; background: #fff; }
[data-rpb-events-root] [role="tab"][aria-selected="false"] .MuiButton-label { color: inherit; }
[data-rpb-events-root] :is(a, button):focus-visible,
[data-rpb-event-detail] :is(a, button, input):focus-visible { outline: 3px solid #b58a50; outline-offset: 3px; }
.rpb-calendar-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem; margin: 1.5rem 0 .75rem; }
.rpb-calendar-controls h3 { margin: 0; min-width: 15ch; text-align: center; font-size: 1.65rem; }
.rpb-calendar-controls button { font: inherit; min-width: 44px; min-height: 44px; padding: .5rem .9rem; border: 1px solid currentColor; border-radius: 0; color: #fff; background: #111; cursor: pointer; }
.rpb-calendar-controls button:hover { color: #fff; background: #920611; }
.rpb-calendar-zone-note { margin: 0 0 1rem; font-size: .95rem; text-align: center; }
.rpb-calendar-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin-bottom: 2rem; }
.rpb-calendar-table th { padding: .7rem .35rem; font-weight: 600; text-align: center; border: 1px solid #787878; }
.rpb-calendar-table th abbr { border: 0; text-decoration: none; }
.rpb-calendar-table td { height: 7rem; vertical-align: top; padding: .4rem; border: 1px solid #787878; }
.rpb-calendar-table td > time { display: inline-flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; margin-bottom: .3rem; }
.rpb-calendar-table td.is-today > time { background: #920611; color: #fff; border-radius: 50%; }
.rpb-calendar-table .is-outside { opacity: .45; }
.rpb-calendar-event { display: block; padding: .55rem; margin: 0 0 .5rem; border: 1px solid #920611; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.rpb-calendar-event strong { display: block; font-size: .9rem; line-height: 1.4; }
.rpb-calendar-event span { display: block; font-size: .78rem; line-height: 1.45; margin-top: .25rem; }
.rpb-calendar-event:hover { background: #920611; color: #fff; text-decoration: none; }
.rpb-calendar-event.is-past { border-color: #787878; }
.rpb-calendar-event.is-cancelled strong { text-decoration: line-through; }
.rpb-event-past-label { font-style: italic; }
.rpb-calendar-agenda { display: none; }
.rpb-event-empty { padding: 2rem 0; text-align: center; }
.rpb-event-information { margin: 1rem 0 1.5rem; }
.rpb-event-information p { margin: 0 0 .5rem; }
.rpb-event-information, .rpb-event-information p,
[data-rpb-calendar-panel], [data-rpb-calendar-panel] :is(h3,h4,p,th,td,a) { color: #f7f6f6; }
.rpb-calendar-download-note { font-size: .9rem; }
[data-rpb-event-share-url] { display: block; width: 100%; padding: .75rem; margin: .75rem 0; font: inherit; color: #111; background: #fff; }
[data-rpb-event-download]:disabled { opacity: .55; cursor: default; }
@media (max-width: 767px) {
  .rpb-calendar-table { display: none; }
  .rpb-calendar-agenda { display: block; }
  .rpb-calendar-agenda section { margin: 1.75rem 0; }
  .rpb-calendar-agenda h4 { font-size: 1.2rem; margin: 0 0 .75rem; }
  .rpb-calendar-agenda .rpb-calendar-event { padding: .8rem; }
  .rpb-calendar-agenda .rpb-calendar-event strong { font-size: 1rem; }
  .rpb-calendar-agenda .rpb-calendar-event span { font-size: .9rem; }
  .rpb-calendar-controls { gap: .55rem; }
  .rpb-calendar-controls h3 { min-width: 12ch; font-size: 1.3rem; }
  .rpb-calendar-controls [data-rpb-month="today"] { flex-basis: 100%; max-width: 8rem; }
}
.rpb-events .pm-calendar-event-pic,.pm-calendar-event-pic{object-fit:contain!important}
