/* com_events site: event box, calendar, upcoming module. Theme with the --oui-event-* variables. */
.oui-event, .oui-events-calendar, .oui-events-upcoming {
    --oui-event-accent: var(--oui-accent, #1f6f43);
    --oui-event-accent-text: #fff;
    --oui-event-border: rgba(0, 0, 0, .14);
    --oui-event-muted: rgba(0, 0, 0, .6);
    --oui-event-bg: rgba(0, 0, 0, .03);
    --oui-event-radius: 6px;
}

/* Event box */
.oui-event { margin: 2rem 0; padding: 1.25rem 1.5rem; border: 1px solid var(--oui-event-border); border-radius: var(--oui-event-radius); background: var(--oui-event-bg); }
.oui-event p { margin: 0 0 .6rem; }
.oui-event__when { font-weight: 700; font-size: 1.1em; }
.oui-event__icon { margin-right: .25rem; }
.oui-event__count { color: var(--oui-event-muted); }
.oui-event__links { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 0 !important; }
.oui-event__links:empty { display: none; }
.oui-event__btn { display: inline-block; padding: .55em 1.1em; border: 2px solid var(--oui-event-accent); border-radius: var(--oui-event-radius); font: inherit; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer; }
.oui-event__btn--primary { background: var(--oui-event-accent); color: var(--oui-event-accent-text); }
.oui-event__btn--outline { background: transparent; color: inherit; }
.oui-event__btn:hover, .oui-event__btn:focus-visible { filter: brightness(1.08); text-decoration: none; }
.oui-event__form { margin-top: 1rem; }
.oui-event__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: .9rem 1rem; margin: .75rem 0 1rem; }
.oui-event__field { display: flex; flex-direction: column; gap: .3rem; margin: 0; font-weight: 600; }
.oui-event__field.is-wide, .oui-event__choice { grid-column: 1 / -1; }
.oui-event__field input, .oui-event__field select, .oui-event__field textarea { width: 100%; padding: .5em .65em; border: 1px solid var(--oui-event-border); border-radius: 4px; font: inherit; font-weight: 400; background: #fff; color: #222; }
.oui-event__choice { border: 0; padding: 0; }
.oui-event__choice legend { font-size: inherit; font-weight: 600; margin-bottom: .3rem; float: none; width: auto; }
.oui-event__choice label { display: inline-flex; align-items: center; gap: .35rem; margin: 0 1.2rem .3rem 0; font-weight: 400; }
.oui-event__choice input { width: auto; }
.oui-event__status { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-top: .75rem; }
.oui-event__status.is-ok { padding: .75rem 1rem; border-left: 4px solid var(--oui-event-accent); background: #fff; }
.oui-event__status.is-ok p { margin: 0; }
.oui-event__status.is-off { color: var(--oui-event-muted); font-weight: 600; }
.oui-event__entrants { margin-top: 1rem; }
.oui-event__entrants summary { cursor: pointer; font-weight: 600; }
.oui-event__entrants ol { margin: .5rem 0 0; columns: 2 16rem; }
.oui-event__entrants span { color: var(--oui-event-muted); }

/* Calendar */
.oui-cal__nav { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.oui-cal__title { margin: 0; min-width: 11ch; text-align: center; font-size: 1.5rem; }
.oui-cal__step { display: inline-grid; place-items: center; width: 2.4rem; height: 2.4rem; border: 1px solid var(--oui-event-border); border-radius: 50%; font-size: 1.4rem; line-height: 1; text-decoration: none; color: inherit; }
.oui-cal__today { margin-left: auto; font-weight: 600; }
.oui-cal__grid { width: 100%; table-layout: fixed; border-collapse: collapse; }
.oui-cal__grid th { padding: .4rem; text-align: center; font-size: .85em; text-transform: uppercase; color: var(--oui-event-muted); }
.oui-cal__grid td { height: 6.5rem; padding: .3rem; vertical-align: top; border: 1px solid var(--oui-event-border); }
.oui-cal__grid td.is-other { background: var(--oui-event-bg); color: var(--oui-event-muted); }
.oui-cal__grid td.is-today .oui-cal__day { background: var(--oui-event-accent); color: var(--oui-event-accent-text); }
.oui-cal__day { display: inline-grid; place-items: center; min-width: 1.8em; height: 1.8em; border-radius: 50%; font-size: .9em; font-weight: 700; }
.oui-cal__event { display: block; margin-top: .2rem; padding: .15rem .35rem; border-left: 3px solid var(--oui-event-accent); background: #fff; font-size: .82em; line-height: 1.25; text-decoration: none; color: inherit; overflow-wrap: anywhere; }
.oui-cal__event:hover { background: var(--oui-event-bg); }
.oui-cal__list { display: none; list-style: none; margin: 0; padding: 0; }
.oui-cal__list li { display: grid; grid-template-columns: 4rem 1fr; gap: 0 .75rem; padding: .7rem 0; border-bottom: 1px solid var(--oui-event-border); }
.oui-cal__date { grid-row: span 2; text-align: center; color: var(--oui-event-muted); font-size: .85em; text-transform: uppercase; }
.oui-cal__dnum { display: block; font-size: 1.6em; font-weight: 700; color: var(--oui-event-accent); line-height: 1; }
.oui-cal__list a { font-weight: 700; }
.oui-cal__meta { color: var(--oui-event-muted); font-size: .9em; }
.oui-cal__empty { display: block !important; color: var(--oui-event-muted); }
.oui-cal__subscribe { margin-top: 1.25rem; }
@media (max-width: 767.98px) {
    .oui-cal__grid { display: none; }
    .oui-cal__list { display: block; }
}

/* Upcoming module */
.oui-up__list { list-style: none; margin: 0; padding: 0; }
.oui-up__item { display: flex; gap: .85rem; padding: .7rem 0; border-bottom: 1px solid var(--oui-event-border); }
.oui-up__item:last-child { border-bottom: 0; }
.oui-up__date { flex: 0 0 3.4rem; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: .35rem 0; border-radius: var(--oui-event-radius); background: var(--oui-event-accent); color: var(--oui-event-accent-text); line-height: 1.1; }
.oui-up__day { font-size: 1.4em; font-weight: 800; }
.oui-up__month { font-size: .75em; text-transform: uppercase; }
.oui-up__body { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.oui-up__title { font-weight: 700; }
.oui-up__meta { color: var(--oui-event-muted); font-size: .9em; }
.oui-up__book { align-self: flex-start; font-size: .85em; font-weight: 700; }
.oui-up__empty { color: var(--oui-event-muted); }
.oui-up__more { margin: .75rem 0 0; font-weight: 600; }
