/* Only the calendar archive and its month/list/day views receive this sheet. */
.elysian-calendar-page #main { background: var(--elysian-pale); padding-block: 40px 64px; }
.elysian-calendar-page #main .tribe-events {
    --tec-font-family-sans-serif: Poppins, sans-serif;
    --tec-font-family-base: Poppins, sans-serif;
    --tec-color-text-primary: #1b1436;
    --tec-color-text-secondary: #655f75;
    --tec-color-accent-primary: #301c77;
    --tec-color-accent-primary-hover: #1b1436;
    --tec-color-border-default: #e2dfec;
    --tec-color-background: #fff;
    font-family: Poppins, sans-serif;
}
.elysian-calendar-page #main .tribe-events-l-container {
    min-height: 0; padding: 24px; margin: 0; width: 100%; max-width: none;
    border: 1px solid #e2dfec; border-radius: 20px; background: #fff;
    box-shadow: 0 12px 36px #1b14360a;
}
.elysian-calendar-page #main .tribe-events-header {
    padding: 20px; margin: 0 0 24px; border-radius: 14px;
    border-bottom: 4px solid var(--elysian-yellow);
    background: linear-gradient(115deg, var(--elysian-ink), var(--elysian-dark));
}
.elysian-calendar-page #main .tribe-events-header__top-bar { margin-bottom: 0; }
.elysian-calendar-page #main .tribe-events-c-top-bar__datepicker-button { color: #fff; font-family: inherit; font-weight: 600; font-size: clamp(18px, 2vw, 25px); }
.elysian-calendar-page #main .tribe-events-c-top-bar__datepicker-button-icon-svg { color: var(--elysian-yellow); fill: currentColor; }
.elysian-calendar-page #main .tribe-events-c-top-bar__nav-list { gap: 8px; }
.elysian-calendar-page #main .tribe-events-c-top-bar__nav { margin-inline-end: 16px; }
.elysian-calendar-page #main .tribe-events-c-top-bar__nav-list-item { padding: 0; }
.elysian-calendar-page #main .tribe-events-c-top-bar__nav-link {
    display: flex; align-items: center; justify-content: center; width: 40px; height: 40px;
    border: 1px solid #ffffff55; border-radius: 50%; color: #fff; background: #ffffff0d;
}
.elysian-calendar-page #main .tribe-events-c-top-bar__nav-link:hover { color: var(--elysian-ink); background: var(--elysian-yellow); border-color: var(--elysian-yellow); }
.elysian-calendar-page #main .tribe-events-c-top-bar__nav-link-icon-svg { color: inherit; fill: currentColor; width: 9px; }
.elysian-calendar-page #main .tribe-events-c-top-bar__nav-link-icon-svg path,
.elysian-calendar-page #main .tribe-events-c-top-bar__datepicker-button-icon-svg path { fill: currentColor; }
.elysian-calendar-page #main .tribe-events-c-top-bar__today-button {
    padding: 10px 16px; border: 1px solid var(--elysian-yellow); border-radius: 24px;
    color: var(--elysian-ink); background: var(--elysian-yellow); font-family: inherit; font-weight: 600;
}
.elysian-calendar-page #main .tribe-events-c-top-bar__today-button:hover { color: var(--elysian-ink); background: #fff; border-color: #fff; }
.elysian-calendar-page #main .tribe-events-c-view-selector__button { min-width: 44px; min-height: 44px; padding: 10px 12px; border: 1px solid #ffffff55; border-radius: 24px; color: #fff; background: #ffffff0d; }
.elysian-calendar-page #main .tribe-events-c-view-selector__button-icon { width: 20px; min-width: 20px; }
.elysian-calendar-page #main .tribe-events-c-view-selector__button-icon-svg { width: 20px; height: 20px; color: #fff; }
.elysian-calendar-page #main .tribe-events-c-view-selector__button-icon-svg path { fill: currentColor; }
.elysian-calendar-page #main .tribe-events-c-view-selector__content { border-radius: 12px; border-color: #e2dfec; box-shadow: 0 12px 30px #1b143624; }
.elysian-calendar-page #main .tribe-events-c-view-selector__list-item-link { color: var(--elysian-ink); }
.elysian-calendar-page #main .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link { background: var(--elysian-pale); }
.elysian-calendar-page #main .tribe-events-calendar-month__header-column { width: 100%; padding-block: 14px; background: var(--elysian-ink); }
.elysian-calendar-page #main .tribe-events-calendar-month__header-column:first-child { border-radius: 10px 0 0 0; }
.elysian-calendar-page #main .tribe-events-calendar-month__header-column:last-child { border-radius: 0 10px 0 0; }
.elysian-calendar-page #main .tribe-events-calendar-month__header-column-title { color: #fff; font-family: inherit; font-weight: 600; text-align: center; }
.elysian-calendar-page #main .tribe-events-calendar-month__day { border-color: #e2dfec; background: #fff; }
.elysian-calendar-page #main .tribe-events-calendar-month__day--other-month { background: #f8f7fb; }
.elysian-calendar-page #main .tribe-events-calendar-month__day-date { padding: 12px; color: var(--elysian-ink); font-family: inherit; font-size: 19px; font-weight: 600; }
.elysian-calendar-page #main .tribe-events-calendar-month__day--other-month .tribe-events-calendar-month__day-date { color: #817b90; }
.elysian-calendar-page #main .tribe-events-calendar-month__day-date-link { color: inherit; }
.elysian-calendar-page #main .tribe-events-calendar-month__day-date :is(time, a) { font-family: Poppins, sans-serif; }
.elysian-calendar-page #main .tribe-events-calendar-month__day--current { background: #fffef1; }
.elysian-calendar-page #main .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
.elysian-calendar-page #main .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link { color: var(--elysian-ink) !important; }
.elysian-calendar-page #main .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum {
    display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px;
    margin-block: -6px; border-radius: 50%; background: var(--elysian-yellow);
}
.elysian-calendar-page #main .tribe-events-calendar-month__calendar-event {
    margin: 4px 8px 10px; padding: 10px 9px; border-radius: 6px; border-left: 3px solid #b9aaec;
    background: var(--elysian-pale); transition: background 150ms, border-color 150ms;
}
.elysian-calendar-page #main .tribe-events-calendar-month__calendar-event:hover { background: #eeebfa; border-left-color: #301c77; }
.elysian-calendar-page #main .tribe-events-calendar-month__calendar-event-datetime { color: #625b73; font-size: 10px; line-height: 1.5; margin-bottom: 4px; }
.elysian-calendar-page #main .tribe-events-calendar-month__calendar-event-title { font-family: inherit; font-size: 12px; line-height: 1.5; font-weight: 600; }
.elysian-calendar-page #main .tribe-events-calendar-month__calendar-event-title-link { color: var(--elysian-ink); border: 0; }
.elysian-calendar-page #main .tribe-events-calendar-month__calendar-event-title-link:hover { color: #301c77; text-decoration: underline; text-underline-offset: 3px; }
.elysian-calendar-page #main .tribe-events-calendar-month__day-cell--selected { background: #eeebfa; box-shadow: inset 0 -3px #301c77; }
.elysian-calendar-page #main .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date { color: var(--elysian-ink); }
.elysian-calendar-page #main .tribe-events-calendar-month__mobile-events-icon--event { background: #301c77; }
.elysian-calendar-page #main .tribe-events-calendar-month-mobile-events__mobile-event,
.elysian-calendar-page #main .tribe-events-calendar-list__event-details,
.elysian-calendar-page #main .tribe-events-calendar-day__event-details {
    padding: 20px; border: 1px solid #e2dfec; border-left: 4px solid #b9aaec;
    border-radius: 10px; background: var(--elysian-pale);
}
.elysian-calendar-page #main .tribe-events-calendar-month-mobile-events__mobile-event-title { font-family: inherit; font-size: 18px; line-height: 1.5; }
.elysian-calendar-page #main .tribe-events-c-subscribe-dropdown__button {
    padding: 11px 18px; border: 1px solid var(--elysian-ink); border-radius: 28px;
    color: var(--elysian-ink); background: #fff; font-family: inherit;
}
.elysian-calendar-page #main .tribe-events-c-subscribe-dropdown__button:hover,
.elysian-calendar-page #main .tribe-events-c-subscribe-dropdown__button:focus-within { color: var(--elysian-ink); border-color: var(--elysian-yellow); background: var(--elysian-yellow); }
.elysian-calendar-page #main .tribe-events-c-subscribe-dropdown__list { border: 1px solid #e2dfec; border-radius: 12px; background: #fff; box-shadow: 0 10px 28px #1b143616; }
.elysian-calendar-page #main .tribe-events :is(a, button):focus-visible { outline: 3px solid #8665d1; outline-offset: 4px; }
.elysian-calendar-page #main .tribe-events-header :is(a, button):focus-visible { outline-color: var(--elysian-yellow); }
@media (max-width: 767px) {
    .elysian-calendar-page #main { padding-block: 24px 40px; }
    .elysian-calendar-page #main .tribe-events-l-container { padding: 12px; border-radius: 14px; }
    .elysian-calendar-page #main .tribe-events-header { padding: 14px 12px; margin-bottom: 16px; }
    .elysian-calendar-page #main .tribe-events-calendar-month__header-column { padding-block: 10px; }
    .elysian-calendar-page #main .tribe-events-calendar-month__day-date { padding: 7px 2px; font-size: 14px; }
    .elysian-calendar-page #main .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum { width: 28px; height: 28px; margin-block: -3px; }
    .elysian-calendar-page #main .tribe-events-calendar-month__day-cell--mobile { min-height: 58px; }
    .elysian-calendar-page #main .tribe-events-calendar-month-mobile-events__mobile-event { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .elysian-calendar-page #main .tribe-events-calendar-month__calendar-event { transition: none; }
}
