/* Calendar typography also applies to plugin search results and notices. */
.tribe-events.tribe-common {
    --tec-font-family-sans-serif: "Roc-Grotesk", sans-serif;
    --tec-font-family-base: "Roc-Grotesk", sans-serif;
    font-family: "Roc-Grotesk", sans-serif;
    color: var(--wood);
}
.tribe-events.tribe-common :is(input, button, time, address, .tribe-common-b1, .tribe-common-b2, .tribe-common-b3, .tribe-events-c-messages) {
    font-family: "Roc-Grotesk", sans-serif;
}
.tribe-events.tribe-common :is(.tribe-events-calendar-list__event-title-link, .tribe-events-calendar-latest-past__event-title-link) {
    font-family: "Formiga", sans-serif;
}
.tribe-events.tribe-common .sfn-agenda--empty .tribe-events-header::after { display: none; }
.tribe-events.tribe-common .sfn-agenda--empty .tribe-events-header__messages { display: none; }
.tribe-events.tribe-common .sfn-agenda--empty .tribe-events-header { margin-bottom: 24px; }
.tribe-events.tribe-common .sfn-agenda--empty .tribe-events-calendar-list:not(:has(li)) { display: none; }
.tribe-events.tribe-common .sfn-agenda-empty {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 40px;
    background: var(--sky);
    border-radius: 4px;
    margin-bottom: 64px;
}
.tribe-events.tribe-common .sfn-agenda-eyebrow {
    font: 500 14px/1.5 "Roc-Grotesk", sans-serif;
    margin: 0 0 10px;
    color: var(--forest);
}
html body .tribe-events.tribe-common :is(.sfn-agenda-empty h2, .sfn-agenda-past h2) {
    font: 400 clamp(26px, 2.8vw, 38px)/1.1 "Formiga", sans-serif;
    margin: 0 0 16px;
    padding: 0;
}
.tribe-events.tribe-common .sfn-agenda-empty p:last-child {
    font: 400 18px/1.5 "Roc-Grotesk", sans-serif;
    max-width: 680px;
    margin: 0;
}
html body .tribe-events.tribe-common .sfn-agenda-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 16px 24px;
    border-radius: 4px;
    background: var(--forest);
    color: white;
    font: 400 16px/1.5 "Roc-Grotesk", sans-serif;
    text-decoration: none;
    flex-shrink: 0;
}
html body .tribe-events.tribe-common .sfn-agenda-button:hover { background: var(--wood); }
.tribe-events.tribe-common .sfn-agenda-past-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}
html body .tribe-events.tribe-common .sfn-agenda-past-heading h2 { margin-bottom: 0; }
html body .tribe-events.tribe-common .sfn-agenda-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    color: var(--forest);
    text-decoration: none !important;
}
.tribe-events.tribe-common .sfn-agenda-text-link span:first-child { text-decoration: underline; text-underline-offset: .2em; }
.tribe-events.tribe-common .sfn-agenda-past-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
html body .tribe-events.tribe-common .sfn-agenda-card-link { display: flex; flex-direction: column; height: 100%; text-decoration: none !important; color: var(--wood); }
.tribe-events.tribe-common .sfn-agenda-card-image { position: relative; aspect-ratio: 3/2; border-radius: 4px; overflow: hidden; margin-bottom: 20px; }
.tribe-events.tribe-common .sfn-agenda-card-image img { display: block; height: 100%; width: 100%; object-fit: cover; }
.tribe-events.tribe-common .sfn-agenda-card-arrow { position: absolute; right: 14px; bottom: 14px; background: white; border-radius: 4px; width: 44px; height: 44px; display: grid; place-items: center; font-size: 28px; }
.tribe-events.tribe-common .sfn-agenda-card-meta { font: 400 15px/1.5 "Roc-Grotesk", sans-serif; margin: 0 0 12px; color: var(--forest); }
html body .tribe-events.tribe-common .sfn-agenda-past-card h3 { font: 400 clamp(24px, 2.2vw, 30px)/1.12 "Formiga", sans-serif; margin: 0 0 20px; padding: 0; overflow-wrap: normal; word-break: normal; hyphens: auto; }
.tribe-events.tribe-common .sfn-agenda-card-label { margin-top: auto; font: 400 16px/1.5 "Roc-Grotesk", sans-serif; text-decoration: underline; text-underline-offset: .2em; }
.tribe-events.tribe-common .sfn-agenda-card-link:hover .sfn-agenda-card-label { text-decoration-thickness: 2px; }
.tribe-events.tribe-common :is(.sfn-agenda-card-link, .sfn-agenda-text-link, .sfn-agenda-button):focus-visible { outline: 2px solid var(--wood); outline-offset: 5px; }
@media (max-width: 1000px) {
    .tribe-events.tribe-common .sfn-agenda-empty { align-items: flex-start; flex-direction: column; gap: 24px; }
}
@media (max-width: 767px) {
    .tribe-events.tribe-common .sfn-agenda-empty { padding: 28px 24px; margin-bottom: 40px; }
    .tribe-events.tribe-common .sfn-agenda-empty p:last-child { font-size: 16px; }
    .tribe-events.tribe-common .sfn-agenda-past-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
    .tribe-events.tribe-common .sfn-agenda-past-grid { grid-template-columns: 1fr; gap: 36px; }
    .tribe-events.tribe-common .sfn-agenda-button { max-width: 100%; flex-wrap: wrap; }
}
