/* Only the canonical HGM Calendar and its native cloned date previews. */
.hgm-events-calendar .em,
.hgm-calendar-preview.em {
    --font-family: inherit;
    --text-color-richer: var(--off-white, #fafaf9);
    --text-color-normal: var(--off-white, #fafaf9);
    --text-color-softer: #c5c5c5;
    --border-color: var(--charcoal, #3a3a3a);
    --border-color-softer: var(--charcoal, #3a3a3a);
    --background-color: var(--near-black, #1f1f1f);
    --background-color-softer: #292929;
    --accent-color: var(--teal-light, #66d1c6);
    --accent-color-hover: var(--off-white, #fafaf9);
    font-family: inherit;
}
.hgm-events-calendar .em.em-calendar {
    --nav-color: var(--teal-light, #66d1c6);
    --header-color: var(--off-white, #fafaf9);
    --header-border: 1px solid var(--charcoal, #3a3a3a);
    --calendar-background: var(--near-black, #1f1f1f);
    --date-box-border: 1px solid var(--charcoal, #3a3a3a);
    --date-color: var(--off-white, #fafaf9);
    --date-background: transparent;
    --date-border-color: var(--holden-teal, #00a69c);
    --date-today-color: var(--off-white, #fafaf9);
    --date-today-background: #294744;
    --date-today-border: 1px solid var(--teal-light, #66d1c6);
}
.hgm-events-calendar .em.em-calendar .em-cal-nav .month-nav .em-calnav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 4px;
}
.hgm-events-calendar .em.em-calendar .em-cal-nav .month { font-size: 1.25rem; color: var(--off-white, #fafaf9); }
.hgm-events-calendar .em.em-calendar .em-cal-nav .em-calnav svg { width: 22px; height: 22px; }
.hgm-events-calendar .em.em-calendar .em-cal-nav .em-calnav svg path { stroke: currentColor; }
.hgm-events-calendar .em.em-calendar .em-calnav:focus-visible,
.hgm-events-calendar .em.em-calendar a:focus-visible,
.hgm-calendar-preview.em a:focus-visible,
.hgm-calendar-preview.em button:focus-visible { outline: 2px solid var(--teal-light, #66d1c6) !important; outline-offset: 2px; }
.hgm-events-calendar .em.em-calendar .em-cal-body .em-cal-event { height: auto; --event-background-color: #294744 !important; --event-border-color: #3a6c65 !important; --event-text-color: #fafaf9 !important; }
.hgm-events-calendar .em.em-calendar .em-cal-body .em-cal-event > div { position: relative; width: 100%; height: auto; left: 0; white-space: normal; overflow-wrap: anywhere; padding: 0; }
.hgm-events-calendar .em.em-calendar .em-cal-body .em-cal-event > div a { display: block; min-height: 44px; padding: 8px; line-height: 1.4; }
.hgm-events-calendar .em.em-calendar .em-cal-body .em-cal-event > div a:hover { color: var(--teal-light, #66d1c6) !important; }
.hgm-events-calendar .em.em-calendar.size-small .em-cal-body .em-cal-day { min-width: 0; }
.hgm-events-calendar .em.em-calendar.size-small .em-cal-day-date a { min-height: 44px; min-width: 36px; }
.hgm-calendar-preview.em { color: var(--off-white, #fafaf9); background: var(--near-black, #1f1f1f); }
.hgm-calendar-preview.em a { color: var(--teal-light, #66d1c6); }
.hgm-calendar-preview.em .em-modal-content { background: var(--near-black, #1f1f1f); }
.hgm-calendar-preview.em .em-modal-popup { background-color: var(--near-black, #1f1f1f) !important; }
.hgm-calendar-preview.em .em-modal-popup header { color: var(--off-white, #fafaf9); border-color: var(--charcoal, #3a3a3a); padding: 14px 10px 14px 15px; }
.hgm-calendar-preview.em .em-modal-popup header .em-modal-title { padding-right: 54px !important; font-size: 1.25rem !important; }
.hgm-calendar-preview.em .em-modal-popup header a.em-close-modal { width: 44px; height: 44px; top: 4px !important; right: 4px !important; background: none; display: flex; align-items: center; justify-content: center; }
.hgm-calendar-preview.em .em-close-modal::before { content: ''; display: block; width: 24px; height: 24px; background-color: var(--teal-light, #66d1c6); mask: var(--icon-close) center / contain no-repeat; }
