/* ICS Calendar uses the same restrained Lockwood colors as the rest of the site. */
.pace-calendar .ics-calendar {
  --r34ics--element--month--background: var(--pace-card);
  --r34ics--element--month--day--background: var(--pace-card);
  --r34ics--element--month--day--color: var(--pace-muted);
  --r34ics--element--month--off--background: var(--pace-cream);
  --r34ics--element--month--th--background: var(--pace-sage);
  --r34ics--element--month--th--color: var(--pace-ink);
  --r34ics--element--month--th-td--border-color: var(--pace-border);
  --r34ics--element--month--events-li--border-bottom-color: var(--pace-border);
  --r34ics--element--month--today-day--background: var(--pace-ink);
  --r34ics--element--month--today-day--color: var(--pace-card);
  --r34ics--element--events--color: var(--pace-ink);
  --r34ics--element--events--accent--background: var(--pace-sage);
  --r34ics--element--events--accent--border-color: var(--pace-green);
  --r34ics--element--events--accent--color: var(--pace-ink);
  --r34ics--element--events--color--link: var(--pace-ink);
  --r34ics--element--events--color--link-hover: var(--pace-blue-dark);
  --r34ics--element--select--background: var(--pace-card);
  --r34ics--element--select--color: var(--pace-ink);
  --r34ics--element--button--background: var(--pace-ink);
  --r34ics--element--button--background-hover: var(--pace-blue-dark);
  --r34ics--element--button--border-color: var(--pace-ink);
  --r34ics--element--button--border-color-hover: var(--pace-blue-dark);
  --r34ics--element--button--border-radius: 8px;
  --r34ics--element--hover-block--background: var(--pace-card);
  --r34ics--element--hover-block--border-color: var(--pace-border);
  font-family: "Segoe UI", Aptos, sans-serif;
  color: var(--pace-ink);
  margin: 0;
}
.pace-calendar-intro { max-width: 850px; margin-bottom: 28px; }
.pace-calendar-intro .pace-calendar-note { font-size: 13px; color: var(--pace-muted); margin-top: 22px; }
.pace-calendar {
  padding: 28px; background: var(--pace-card);
  border: 1px solid var(--pace-border); border-radius: var(--pace-radius);
}
.pace-calendar .ics-calendar .ics-calendar-label {
  color: var(--pace-ink); font-family: Georgia, serif;
  font-size: 34px; letter-spacing: -.035em; font-weight: 500;
}
.pace-calendar .ics-calendar-select {
  border: 1px solid var(--pace-border); border-radius: 8px;
  padding: 10px 14px; min-height: 44px; max-width: 100%; font: inherit;
}
.pace-calendar .ics-calendar-arrow-nav { gap: 12px; }
.pace-calendar .ics-calendar-arrow-nav a {
  color: var(--pace-ink); font-size: 14px; font-weight: 650;
  border: 1px solid var(--pace-border); border-radius: 8px;
  padding: 10px 14px; min-height: 44px; text-decoration: none;
}
.pace-calendar .ics-calendar-arrow-nav a:hover { background: var(--pace-sage); }
.pace-calendar .ics-calendar-month-grid { table-layout: fixed; border-collapse: collapse; }
.pace-calendar .ics-calendar-month-grid th { font-size: 12px; letter-spacing: .06em; padding: 14px 6px; }
.pace-calendar .ics-calendar-month-grid .day { font-size: 13px; padding: 8px 10px; }
.pace-calendar .ics-calendar-month-grid .events { padding: 6px; }
.pace-calendar .ics-calendar-month-grid .events .title {
  font-size: 13px; font-weight: 650; line-height: 1.4; color: var(--pace-ink);
}
.pace-calendar .ics-calendar-month-grid .events .time { font-size: 12px; color: var(--pace-muted); }
.pace-calendar .ics-calendar-month-grid .events li { padding: 10px 6px; overflow-wrap: anywhere; }
.pace-calendar .ics-calendar-month-grid td.today { box-shadow: inset 0 0 0 2px var(--pace-green); }
.pace-calendar-help { margin-top: 32px; max-width: 850px; }
.pace-calendar-help h3 { font-family: Georgia, serif; font-size: 28px; font-weight: 500; }
.pace-calendar-help p { color: var(--pace-muted); font-size: 15px; }
.pace-calendar-help details { padding: 20px; border: 1px solid var(--pace-border); border-radius: 12px; background: var(--pace-card); }
.pace-calendar-help summary { cursor: pointer; font-size: 16px; font-weight: 650; }
#calendar-subscribe { scroll-margin-top: 100px; }
.r34ics_lightbox {
  --r34ics--element--lightbox-content--background: var(--pace-card);
  --r34ics--element--lightbox-content--color: var(--pace-ink);
  --r34ics--element--lightbox-close--background: var(--pace-ink);
}
.r34ics_lightbox .r34ics_lightbox_inner { max-width: 680px; max-height: 520px; }
.r34ics_lightbox .r34ics_lightbox_content { border-radius: var(--pace-radius); padding: 32px; font-family: "Segoe UI", Aptos, sans-serif; }
.r34ics_lightbox .title_in_hover_block { font-family: Georgia, serif; color: var(--pace-ink); }
.r34ics_lightbox .r34ics_lightbox_close:focus-visible { outline: 3px solid var(--pace-green); outline-offset: 4px; }
.pace-calendar [role="button"]:focus-visible { outline: 2px solid var(--pace-ink); outline-offset: 3px; }
@media (max-width: 782px) {
  /* The plugin hides continuation titles for desktop spanning bars; keep them readable in phone lists. */
  .pace-calendar .ics-calendar.combinemultiday:not([data-month-table-list-toggle=list]) td:not(:first-child):not(.d_01) :is(.multiday_middle, .multiday_last) > .title {
    color: var(--pace-ink) !important;
  }
  .pace-calendar { padding: 16px; }
  .pace-calendar .ics-calendar .ics-calendar-label { font-size: 28px; }
  .pace-calendar .ics-calendar-month-grid .day { padding: 12px; font-size: 14px; }
  .pace-calendar .ics-calendar-month-grid .events li { padding: 14px 6px; }
  .pace-calendar .ics-calendar-month-grid .events .title { font-size: 16px; }
  .pace-calendar .ics-calendar-arrow-nav a { padding: 10px; font-size: 12px; }
  .pace-calendar .ics-calendar-month-grid { table-layout: auto; }
}
