/*------------------------------------*\

    Events Archive (The Events Calendar)

    Layout.................Container and list overrides
    Search Bar.............Event search / filter bar
    Top Bar................Date picker and view controls
    Month Group............Month heading + card grid
    Event Cards............Individual event cards
    Featured Event.........Featured event highlight
    Date Tag...............Day / weekday badge
    Details................Title, venue, description
    Navigation.............Prev / Next / Today
    Subscribe..............Calendar subscribe dropdown
    Responsive.............Tablet and mobile adjustments

\*------------------------------------*/


/* ==========================================================================
   Layout
   ========================================================================== */

.tribe-events {
    max-width: var(--container-max-width);
    margin: 0 auto;
    padding: 0 var(--container-padding-left) var(--section-margins) var(--container-padding-right);
    font-family: var(--font-family-body);
}

.tribe-events .tribe-events-calendar-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--push-large);
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row {
    margin: 0;
    height: 100%;
}


/* ==========================================================================
   Events Bar -- container
   ========================================================================== */

.tribe-events .tribe-events-c-events-bar {
    margin-bottom: var(--push-medium);
    background: var(--color-white);
    border: 1px solid var(--color-secondary-20);
    border-radius: 20px;
    padding: 16px 20px;
    box-shadow: 0 4px 20px rgba(0, 40, 85, 0.06);
}

.tribe-events .tribe-events-c-events-bar.tribe-events-c-events-bar--border {
    border-bottom: 1px solid var(--color-secondary-20);
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar {
    border: 1px solid var(--color-secondary-20);
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 12px 12px 20px;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-top-bar__nav {
    margin-right: 15px;
}

/* ==========================================================================
   Events Bar -- search form
   ========================================================================== */

.tribe-events .tribe-events-c-events-bar__search-container {
    flex: 1;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search {
    gap: 12px;
}

.tribe-events .tribe-events-c-search__input-control {
    border: 1px solid var(--color-secondary-20);
    border-radius: var(--btn-border-radius);
    background: var(--bg-off-white);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.tribe-events .tribe-events-c-search__input-control:focus-within {
    border-color: var(--color-secondary);
    box-shadow: 0 0 0 3px var(--color-secondary-20);
    background: var(--color-white);
}

.tribe-events .tribe-events-c-search__input {
    font-family: var(--font-family-body);
    font-size: var(--font-size-input);
    color: var(--color-paragraph);
}

.tribe-events .tribe-events-c-search__input::placeholder {
    color: var(--color-light-gray);
}

.tribe-events .tribe-events-c-search__input-control-icon-svg {
    color: var(--color-light-gray);
}

.tribe-events .tribe-events-c-search__button {
    background: linear-gradient(180deg, var(--color-quaternary) 0%, var(--color-tertiary) 100%);
    border: none;
    border-radius: var(--btn-border-radius);
    color: var(--color-primary);
    font-family: var(--font-family-button);
    font-weight: var(--font-weight-bold);
    font-size: var(--button-font-size);
    letter-spacing: var(--letter-spacing-button);
    text-transform: uppercase;
    cursor: pointer;
    padding: 12px 28px;
    white-space: nowrap;
    transition: opacity 0.2s ease, transform 0.15s ease;
}

.tribe-events .tribe-events-c-search__button:hover {
    opacity: 0.88;
    transform: translateY(-1px);
}


/* ==========================================================================
   Events Bar -- view selector tabs (List / Month / Day)
   ========================================================================== */

.tribe-events .tribe-events-c-events-bar__views {
    display: none;
}

.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content {
    position: static;
    background: none;
    border: none;
    box-shadow: none;
    padding: 0;
}

.tribe-events .tribe-events-c-view-selector__list {
    display: flex;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    background: var(--bg-off-white);
    border-radius: var(--btn-border-radius);
    overflow: hidden;
    border: 1px solid var(--color-secondary-20);
}

.tribe-events .tribe-events-c-view-selector__list-item {
    flex: 1;
    margin: 0;
    padding: 0;
    display: block;
}

.tribe-events .tribe-events-c-view-selector__list-item::before {
    content: none;
}

.tribe-events .tribe-events-c-view-selector__list-item-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 18px;
    font-family: var(--font-family-button);
    font-size: var(--button-font-size);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-button);
    text-transform: uppercase;
    text-decoration: none;
    color: var(--color-secondary);
    background: transparent;
    border: none;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.tribe-events .tribe-events-c-view-selector__list-item-link:hover {
    background: var(--color-secondary-20);
    color: var(--color-primary);
}

.tribe-events .tribe-events-c-view-selector__list-item-link::after {
    content: none;
    display: none;
}

.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link {
    background: linear-gradient(180deg, var(--color-secondary) 0%, var(--color-primary) 100%);
    color: var(--color-white);
}

.tribe-events .tribe-events-c-view-selector__list-item-text {
    color: inherit;
}

.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-text {
    color: var(--color-white);
}

.tribe-events .tribe-events-c-view-selector__list-item-icon {
    display: none;
}

.tribe-events .tribe-events-c-view-selector__list-item-icon-svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.tribe-events .tribe-events-c-view-selector__list-item-icon-svg .tribe-common-c-svgicon__svg-fill {
    fill: currentColor;
}

/* stylelint-disable declaration-no-important -- TEC skeleton uses !important for breakpoint display toggles */
.tribe-events .tribe-events-c-view-selector__button {
    display: none !important;
}
/* stylelint-enable declaration-no-important */

/* stylelint-disable declaration-no-important -- override TEC's breakpoint JS toggling */
.tribe-events .tribe-events-c-view-selector__content {
    display: block !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: none !important;
    overflow: visible;
    border: none;
    box-shadow: none;
    background: none;
    padding: 0;
    margin: 0;
}
/* stylelint-enable declaration-no-important */

.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item a:after,
.tribe-events-c-view-selector ul li:before,
.tribe-events-c-top-bar__nav-list li:before {
    content: none;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item a {
    padding-left: 8px;
    padding-right: 8px;
    outline: none;
    border: none;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item {
    padding: 0;
}

.tribe-events-c-view-selector__list li.tribe-events-c-view-selector__list-item--active > a .tribe-events-c-view-selector__list-item-text {
    color: #fff;
}


/* ==========================================================================
   Top Bar -- date picker, prev/next, today
   ========================================================================== */

.tribe-events .tribe-events-c-top-bar {
    margin-bottom: var(--push-medium);
    padding: 0;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    color: var(--color-heading);
    font-size: var(--font-size-h5);
    letter-spacing: var(--letter-spacing-heading);
    text-transform: uppercase;
    line-height: 1.2;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button .tribe-events-c-top-bar__datepicker-button-text {
    border-bottom: 2px solid var(--color-secondary-20);
    padding-bottom: 2px;
    transition: border-color 0.2s ease;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button:hover .tribe-events-c-top-bar__datepicker-button-text {
    border-bottom-color: var(--color-secondary);
}

.tribe-events .tribe-events-c-top-bar__datepicker-button svg {
    color: var(--color-secondary);
}

.tribe-events .tribe-events-c-top-bar__nav-list {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.tribe-events .tribe-events-c-top-bar__nav-list li::before {
    content: none;
}

.tribe-events .tribe-events-c-top-bar__nav-list-item {
    margin: 0;
    padding: 0;
}

.tribe-events .tribe-events-c-top-bar__nav-list .tribe-common-c-btn-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-secondary-20);
    border-radius: 50%;
    background: var(--color-white);
    color: var(--color-secondary);
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.tribe-events .tribe-events-c-top-bar__nav-list .tribe-common-c-btn-icon:hover {
    background: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-white);
}

.tribe-events .tribe-events-c-top-bar__nav-list .tribe-common-c-btn-icon svg {
    width: 10px;
    height: 10px;
    color: inherit;
}

.tribe-events .tribe-events-c-top-bar__today-button {
    font-family: var(--font-family-button);
    font-size: var(--button-font-size);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-button);
    text-transform: uppercase;
    color: var(--color-secondary);
    border: 1px solid var(--color-secondary-20);
    border-radius: var(--btn-border-radius);
    background: var(--color-white);
    padding: 8px 20px;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.tribe-events .tribe-events-c-top-bar__today-button:hover {
    background: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-white);
}


/* ==========================================================================
   Datepicker Dropdown (bootstrap-datepicker calendar popup)

   Scoped under `html body .datepicker.datepicker-dropdown.dropdown-menu`
   to guarantee we outrank the vendor bootstrap-datepicker CSS whose
   heaviest selectors reach ~0,5,4 specificity.
   ========================================================================== */

html body .datepicker.datepicker-dropdown.dropdown-menu {
    background: var(--color-white);
    border: 1px solid var(--color-secondary-20);
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0, 40, 85, 0.12);
    padding: 20px;
    font-family: var(--font-family-body);
    min-width: 700px;
    color: var(--color-paragraph);
    font-size: 14px;
    line-height: 1.4;
}

html body .datepicker.datepicker-dropdown::before,
html body .datepicker.datepicker-dropdown::after {
    display: none;
}

html body .datepicker.datepicker-dropdown table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 2px;
    margin: 0;
}

html body .datepicker.datepicker-dropdown table thead tr th {
    padding: 4px;
    text-align: center;
    background: none;
}

html body .datepicker.datepicker-dropdown table thead tr th > button.datepicker-switch {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-h6);
    color: var(--color-heading);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-heading);
    padding: 6px 0;
    cursor: pointer;
    background: none;
    border: none;
    width: auto;
}

html body .datepicker.datepicker-dropdown table thead tr th > button.datepicker-switch:hover {
    color: var(--color-secondary);
    background: none;
}

html body .datepicker.datepicker-dropdown table thead tr th > button.prev,
html body .datepicker.datepicker-dropdown table thead tr th > button.next {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    color: var(--color-secondary);
    transition: color 0.2s ease;
    width: auto;
    height: auto;
}

html body .datepicker.datepicker-dropdown table thead tr th > button.prev:hover,
html body .datepicker.datepicker-dropdown table thead tr th > button.next:hover {
    color: var(--color-primary);
    background: var(--bg-off-white);
    border-radius: 50%;
}

html body .datepicker.datepicker-dropdown table thead tr th > button.prev svg,
html body .datepicker.datepicker-dropdown table thead tr th > button.next svg {
    width: 10px;
    height: 14px;
    display: block;
}

html body .datepicker.datepicker-dropdown table thead tr th > button.prev svg path,
html body .datepicker.datepicker-dropdown table thead tr th > button.next svg path {
    fill: currentColor;
}

html body .datepicker.datepicker-dropdown table thead tr th.dow {
    font-family: var(--font-family-body);
    font-size: 13px;
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 10px 0 8px;
    border-bottom: 1px solid var(--color-secondary-20);
}

html body .datepicker.datepicker-dropdown table thead tr th.dow abbr,
html body .datepicker.datepicker-dropdown table thead tr th.dow abbr[title] {
    color: inherit;
    text-decoration: none;
    border-bottom: none;
    cursor: default;
}

html body .datepicker.datepicker-dropdown table tbody td {
    text-align: center;
    padding: 2px;
    background: none;
}

html body .datepicker.datepicker-dropdown table tr td > button,
html body .datepicker.datepicker-dropdown table tr td > button.day {
    font-family: var(--font-family-body);
    font-size: 14px;
    font-weight: var(--font-weight-regular);
    color: var(--color-paragraph);
    background: none;
    background-image: none;
    background-color: transparent;
    border: none;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    padding: 0;
    cursor: pointer;
    text-shadow: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

html body .datepicker.datepicker-dropdown table tr td > button.day:hover,
html body .datepicker.datepicker-dropdown table tr td > button.day.focused {
    background: var(--bg-off-white);
    background-image: none;
    color: var(--color-secondary);
}

html body .datepicker.datepicker-dropdown table tr td > button.day.active,
html body .datepicker.datepicker-dropdown table tr td > button.day.active:hover,
html body .datepicker.datepicker-dropdown table tr td > button.day.active.current,
html body .datepicker.datepicker-dropdown table tr td > button.day.active.disabled,
html body .datepicker.datepicker-dropdown table tr td > button.day.active.disabled:hover,
html body .datepicker.datepicker-dropdown table tr td > button.day.active:active,
html body .datepicker.datepicker-dropdown table tr td > button.day.active[disabled] {
    background: linear-gradient(180deg, var(--color-secondary) 0%, var(--color-primary) 100%);
    background-image: none;
    background-color: var(--color-secondary);
    background: linear-gradient(180deg, var(--color-secondary) 0%, var(--color-primary) 100%);
    color: var(--color-white);
    font-weight: var(--font-weight-bold);
    text-shadow: none;
    border-color: transparent;
}

html body .datepicker.datepicker-dropdown table tr td > button.day.active:hover {
    opacity: 0.9;
}

html body .datepicker.datepicker-dropdown table tr td > button.day.current:not(.active) {
    background: var(--color-secondary-20);
    background-image: none;
    color: var(--color-primary);
    font-weight: var(--font-weight-bold);
}

html body .datepicker.datepicker-dropdown table tr td > button.day.past {
    color: var(--color-light-gray);
}

html body .datepicker.datepicker-dropdown table tr td > button.day.old,
html body .datepicker.datepicker-dropdown table tr td > button.day.new {
    color: var(--color-light-gray);
    opacity: 0.4;
}

html body .datepicker.datepicker-dropdown table tr td > button.day.old:hover,
html body .datepicker.datepicker-dropdown table tr td > button.day.new:hover {
    opacity: 0.7;
    color: var(--color-secondary);
    background: var(--bg-off-white);
}

html body .datepicker.datepicker-dropdown table tr td > button.day.today,
html body .datepicker.datepicker-dropdown table tr td > button.day.today:hover,
html body .datepicker.datepicker-dropdown table tr td > button.day.today.disabled,
html body .datepicker.datepicker-dropdown table tr td > button.day.today.disabled:hover {
    background-color: transparent;
    background-image: none;
    background: none;
    color: var(--color-secondary);
    font-weight: var(--font-weight-bold);
    border: 2px solid var(--color-secondary);
    border-radius: 50%;
    text-shadow: none;
}

html body .datepicker.datepicker-dropdown .datepicker-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
}

html body .datepicker.datepicker-dropdown .datepicker-grid > button {
    font-family: var(--font-family-body);
    font-size: 14px;
    color: var(--color-paragraph);
    background: none;
    background-image: none;
    border: none;
    border-radius: 8px;
    padding: 10px 8px;
    cursor: pointer;
    text-shadow: none;
    min-height: 40px;
    transition: background-color 0.15s ease, color 0.15s ease;
}

html body .datepicker.datepicker-dropdown .datepicker-grid > button:hover,
html body .datepicker.datepicker-dropdown .datepicker-grid > button.focused {
    background: var(--bg-off-white);
    background-image: none;
    color: var(--color-secondary);
}

html body .datepicker.datepicker-dropdown .datepicker-grid > button.active,
html body .datepicker.datepicker-dropdown .datepicker-grid > button.active:hover,
html body .datepicker.datepicker-dropdown .datepicker-grid > button.active.disabled,
html body .datepicker.datepicker-dropdown .datepicker-grid > button.active:active,
html body .datepicker.datepicker-dropdown .datepicker-grid > button.active[disabled] {
    background: linear-gradient(180deg, var(--color-secondary) 0%, var(--color-primary) 100%);
    color: var(--color-white);
    font-weight: var(--font-weight-bold);
    text-shadow: none;
    border-color: transparent;
}

html body .datepicker.datepicker-dropdown .datepicker-grid > button.active:hover {
    opacity: 0.9;
}

html body .datepicker.datepicker-dropdown .datepicker-grid > button.current:not(.active) {
    background: var(--color-secondary-20);
    background-image: none;
    color: var(--color-primary);
    font-weight: var(--font-weight-bold);
}

html body .datepicker.datepicker-dropdown .datepicker-grid > button.past,
html body .datepicker.datepicker-dropdown .datepicker-grid > button.old {
    color: var(--color-light-gray);
}

html body .datepicker.datepicker-dropdown .datepicker-grid > button.new {
    color: var(--color-light-gray);
    opacity: 0.4;
}

html body .datepicker.datepicker-dropdown table tfoot tr th > button.today,
html body .datepicker.datepicker-dropdown table tfoot tr th > button.today:hover {
    font-family: var(--font-family-button);
    font-size: var(--button-font-size);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-button);
    color: var(--color-secondary);
    background: none;
    background-image: none;
    border: none;
    cursor: pointer;
    padding: 8px 0;
    text-shadow: none;
}

html body .datepicker.datepicker-dropdown table tfoot tr th > button.today:hover {
    color: var(--color-primary);
}

html body .datepicker.datepicker-dropdown table tfoot tr th:hover {
    background: none;
}


/* ==========================================================================
   Month Group -- heading + card grid container
   ========================================================================== */

.tribe-events .tribe-events-calendar-list .tribe-events-calendar-list__month-separator {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    text-align: left;
}

.tribe-events .tribe-events-calendar-list .tribe-events-calendar-list__month-separator::before {
    content: none;
    display: none;
}

.tribe-events .tribe-events-calendar-list__month-separator > h3 {
    margin: 0 0 var(--push-small);
    order: -1;
    text-align: left;
}

.tribe-events .tribe-events-calendar-list__month-separator > h3 > time,
.tribe-events .tribe-events-calendar-list__month-separator-text.tribe-common-h7,
.tribe-events .tribe-events-calendar-list__month-separator-text.tribe-common-h--alt,
.tribe-events .tribe-events-calendar-list__month-separator-text {
    font-family: var(--font-family-heading);
    font-size: 22px;
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-sub-heading);
    padding-bottom: 12px;
    border-bottom: 2px solid var(--color-secondary-20);
    display: block;
    line-height: 1.2;
    visibility: visible;
    opacity: 1;
    clip: auto;
    width: auto;
    height: auto;
    overflow: visible;
    position: static;
}

.tribe-events .tribe-events-calendar-list__month-group {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}


/* ==========================================================================
   Event Cards
   ========================================================================== */

.tribe-events .tribe-events-calendar-list__event-row {
    background: var(--color-white);
    border: 1px solid var(--color-secondary-20);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.tribe-events .tribe-events-calendar-list__event-row:hover {
    box-shadow: 0 12px 40px rgba(0, 40, 85, 0.12);
    transform: translateY(-4px);
}

.tribe-events .tribe-events-calendar-list__event-wrapper.tribe-common-g-col {
    display: flex;
    align-items: stretch;
    flex: 1;
    min-width: 0;
}

.tribe-events .tribe-events-calendar-list__event.tribe-common-g-row,
.tribe-events .tribe-events-calendar-list__event.tribe-common-g-row--gutters {
    display: flex;
    flex-direction: column;
    flex: 1;
    margin: 0;
    padding: 0;
}

.tribe-common--breakpoint-medium.tribe-common .tribe-common-g-row--gutters>.tribe-common-g-col {
    padding-left: 0;
    padding-right: 0;
    align-items: self-start;
    justify-content: start;
    height: 250px;
    overflow: hidden;
}


.tribe-events .tribe-events-calendar-list__month-separator:after {
    border: none;
    content: none;
    display: none;
}

.tribe-events .tribe-events-calendar-list-nav {
    border: none;
}

.tribe-events-calendar-list__event-wrapper.tribe-common-g-col {
    padding: 0 !important;
}

.tribe-events-calendar-list__event-details.tribe-common-g-col {
    padding: 20px !important;
}

/* ==========================================================================
   Featured Event
   ========================================================================== */

.tribe-events .tribe-events-calendar-list__event-row--featured {
    border-color: var(--color-tertiary);
    background: linear-gradient(135deg, var(--color-white) 0%, var(--bg-off-white) 100%);
    position: relative;
}

.tribe-events .tribe-events-calendar-list__event-row--featured::before {
    content: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--color-quaternary) 0%, var(--color-tertiary) 100%);
    border-radius: 20px 20px 0 0;
    z-index: 1;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-date-tag-datetime:after {
    display: none;
}

.tribe-events .tribe-events-calendar-list__event-row--featured:hover {
    box-shadow: 0 12px 40px rgba(0, 40, 85, 0.16), 0 0 20px rgba(68, 214, 44, 0.15);
}

.tribe-events .tribe-events-calendar-list__event-datetime-featured-text {
    font-family: var(--font-family-button);
    font-size: 11px;
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-sub-heading);
    text-transform: uppercase;
    background: linear-gradient(90deg, var(--color-quaternary) 0%, var(--color-tertiary) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.tribe-events .tribe-events-calendar-list__event-datetime-featured-icon svg {
    color: var(--color-quaternary);
}


/* ==========================================================================
   Date Tag
   ========================================================================== */

.tribe-events .tribe-events-calendar-list__event-date-tag.tribe-common-g-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 80px;
    padding: 20px 14px;
    background: linear-gradient(180deg, var(--color-secondary) 0%, var(--color-primary) 100%);
    color: var(--color-white);
    text-align: center;
    flex-shrink: 0;
    float: none;
    width: auto;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-weekday {
    font-family: var(--font-family-body);
    font-size: 11px;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-sub-heading);
    color: var(--color-tertiary-medium);
    margin-bottom: 4px;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-daynum.tribe-common-h5,
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum.tribe-common-h4--min-medium,
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
    font-family: var(--font-family-heading);
    font-size: 28px;
    font-weight: var(--font-weight-bold);
    line-height: 1;
    color: var(--color-white);
}


/* ==========================================================================
   Details -- title, datetime, venue, description
   ========================================================================== */

.tribe-events .tribe-events-calendar-list__event-details.tribe-common-g-col {
    flex: 1;
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    float: none;
    width: auto;
}

.tribe-events .tribe-events-calendar-list__event-header {
    margin: 0;
}

.tribe-events .tribe-events-calendar-list__event-title {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-h6);
    font-weight: var(--font-weight-bold);
    color: var(--color-heading);
    line-height: 1.3;
    margin: 0;
}

.tribe-events .tribe-events-calendar-list__event-title-link {
    color: var(--color-heading);
    text-decoration: none;
    transition: color 0.2s ease;
}

.tribe-events .tribe-events-calendar-list__event-title-link:hover {
    color: var(--color-secondary);
    outline: none;
    border: none;
}

.tribe-events .tribe-events-calendar-list__event-datetime-wrapper {
    font-family: var(--font-family-body);
    font-size: 13px;
    color: var(--color-paragraph-light);
}

.tribe-events .tribe-events-calendar-list__event-venue {
    font-family: var(--font-family-body);
    font-size: 13px;
    color: var(--color-paragraph-light);
}

.tribe-events .tribe-events-calendar-list__event-venue-title {
    color: var(--color-secondary);
    font-weight: var(--font-weight-bold);
}

.tribe-events .tribe-events-calendar-list__event-description {
    font-family: var(--font-family-body);
    font-size: 14px;
    color: var(--color-paragraph);
    line-height: var(--line-height-body);
    margin-top: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tribe-events .tribe-events-calendar-list__event-description p {
    margin: 0;
}

/* Cost / Price tag */
.tribe-events .tribe-events-calendar-list__event-cost {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
}

.tribe-events .tribe-events-c-small-cta__label {
    font-family: var(--font-family-body);
    font-size: 12px;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-sub-heading);
    color: var(--color-paragraph-light);
}

.tribe-events .tribe-events-c-small-cta__price {
    font-family: var(--font-family-heading);
    font-size: 14px;
    font-weight: var(--font-weight-bold);
    color: var(--color-secondary);
}


/* ==========================================================================
   Navigation -- Prev / Today / Next
   ========================================================================== */

.tribe-events .tribe-events-c-nav__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
    list-style: none;
    padding: var(--push-medium) 0 0;
    margin: 0;
}

.tribe-events .tribe-events-c-nav__list-item,
.tribe-events .tribe-events-c-nav__list-item--prev,
.tribe-events .tribe-events-c-nav__list-item--next,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__list-item {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    text-align: center;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-nav__list-item--today {
    display: flex;
    visibility: visible;
}

.tribe-events .tribe-events-c-nav__list-item::before {
    content: none;
}

.tribe-events .tribe-events-c-nav__prev,
.tribe-events .tribe-events-c-nav__next,
.tribe-events .tribe-events-c-nav__today {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 24px;
    border: 1px solid var(--color-secondary-20);
    border-radius: var(--btn-border-radius);
    font-family: var(--font-family-button);
    font-size: var(--button-font-size);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-button);
    text-transform: uppercase;
    text-decoration: none;
    color: var(--color-secondary);
    background: var(--color-white);
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}

.tribe-events .tribe-events-c-nav__prev:hover,
.tribe-events .tribe-events-c-nav__next:hover,
.tribe-events .tribe-events-c-nav__today:hover {
    background: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-white);
}

.tribe-events .tribe-events-c-nav__prev:hover svg,
.tribe-events .tribe-events-c-nav__next:hover svg {
    color: var(--color-white);
}

.tribe-events .tribe-events-c-nav__prev svg,
.tribe-events .tribe-events-c-nav__next svg {
    width: 12px;
    height: 12px;
    color: var(--color-secondary);
    transition: color 0.2s ease;
}


/* ==========================================================================
   Subscribe Dropdown
   ========================================================================== */

.tribe-events .tribe-events-c-subscribe-dropdown__button {
    border: 1px solid var(--color-secondary-20);
    border-radius: var(--btn-border-radius);
    font-family: var(--font-family-button);
    font-size: var(--button-font-size);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-button);
    text-transform: uppercase;
    color: var(--color-secondary);
    background: var(--color-white);
    transition: background-color 0.2s ease, color 0.2s ease;
    padding: 8px 20px;
}

.tribe-events .tribe-events-c-subscribe-dropdown__button:hover {
    background: var(--color-secondary);
    color: var(--color-white);
}

.tribe-events .tribe-events-c-subscribe-dropdown__content {
    background: var(--color-white);
    border: 1px solid var(--color-secondary-20);
    border-radius: 15px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.10);
    overflow: hidden;
}

.tribe-events .tribe-events-c-subscribe-dropdown__list-item-link {
    font-family: var(--font-family-body);
    font-size: var(--font-size-paragraph);
    color: var(--color-paragraph);
    text-decoration: none;
    padding: 10px 20px;
    display: block;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.tribe-events .tribe-events-c-subscribe-dropdown__list-item-link:hover {
    background: var(--bg-off-white);
    color: var(--color-secondary);
}


/* ==========================================================================
   View Selector -- mobile dropdown button (narrow screens only)
   ========================================================================== */

.tribe-events .tribe-common-c-btn-border-small {
    border: 1px solid var(--color-secondary-20);
    border-radius: var(--btn-border-radius);
    font-family: var(--font-family-button);
    font-size: var(--button-font-size);
    color: var(--color-secondary);
    background: var(--color-white);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.tribe-events .tribe-common-c-btn-border-small:hover {
    background: var(--color-secondary);
    color: var(--color-white);
}

body .tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
    padding-bottom: 155px;
}

body .tribe-common {
    padding-bottom: 0;
}


/* ==========================================================================
   Single Event Page
   ========================================================================== */

.single-tribe_events #tribe-events-pg-template {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

.single-tribe_events .tribe-events-single {
    max-width: 820px;
    margin: 0 auto;
}

/* Back link -- hidden per design */
.single-tribe_events .tribe-events-back {
    display: none;
}

/* Title -- hidden, shown in masthead instead */
.single-tribe_events .tribe-events-single-event-title {
    display: none;
}

/* Schedule / date-time bar */
.single-tribe_events .tribe-events-schedule {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 16px 24px;
    background: linear-gradient(180deg, var(--color-secondary) 0%, var(--color-primary) 100%);
    border-radius: 12px;
    margin-bottom: var(--push-medium);
    color: var(--color-white);
    font-family: var(--font-family-body);
    font-size: 15px;
}

.single-tribe_events .tribe-events-schedule .tribe-events-cost {
    margin-left: auto;
    font-weight: var(--font-weight-bold);
    background: var(--color-tertiary);
    color: var(--color-primary);
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 13px;
}

/* Prev / Next event navigation */
.single-tribe_events .tribe-events-sub-nav {
    list-style: none;
    display: flex;
    justify-content: space-between;
    padding: 0;
    margin: 0 0 var(--push-medium);
    gap: 12px;
}

.single-tribe_events .tribe-events-sub-nav li {
    margin: 0;
    padding: 0;
}

.single-tribe_events .tribe-events-sub-nav li::before {
    content: none;
}

.single-tribe_events .tribe-events-sub-nav a {
    font-family: var(--font-family-button);
    font-size: 13px;
    font-weight: var(--font-weight-bold);
    color: var(--color-secondary);
    text-decoration: none;
    letter-spacing: var(--letter-spacing-button);
    transition: color 0.2s ease;
}

.single-tribe_events .tribe-events-sub-nav a:hover {
    color: var(--color-primary);
}

/* Featured image */
.single-tribe_events .tribe-events-event-image {
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: var(--push-medium);
}

.single-tribe_events .tribe-events-event-image img {
    display: block;
    width: 100%;
    height: auto;
}

/* Event description / content */
.single-tribe_events .tribe-events-single-event-description {
    font-family: var(--font-family-body);
    font-size: var(--font-size-body);
    color: var(--color-paragraph);
    line-height: var(--line-height-body);
    margin-bottom: var(--push-medium);
}

.single-tribe_events .tribe-events-single-event-description p {
    margin-bottom: 1em;
}

/* Subscribe / Add to Calendar dropdown */
.single-tribe_events .tribe-events-c-subscribe-dropdown__button {
    font-family: var(--font-family-button);
    font-size: var(--button-font-size);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-button);
    color: var(--color-secondary);
    border: 1px solid var(--color-secondary-20);
    border-radius: var(--btn-border-radius);
    padding: 10px 20px;
    background: var(--color-white);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button:hover {
    background: var(--color-secondary);
    color: var(--color-white);
}

/* Remove unnecessary borders between subscribe and meta */
.single-tribe_events .tribe-events-single .tribe-events-cal-links,
.single-tribe_events .tribe-events-single .tribe-clearfix::after {
    border: none;
}

.single-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown {
    border: none;
    text-align: center;
    margin: 0;
}

.single-tribe_events .tribe-events-event-meta.primary {
    border-top: none;
}

.single-tribe_events .tribe-events-event-meta::before,
.single-tribe_events .tribe-events-event-meta ~ div:not(.tribe-events-event-meta, .event-tickets) {
    border-top: none !important;
}

.single-tribe_events .tribe-events-content a {
    border-bottom: none;
}

.single-tribe_events .tribe-events-content a:hover,
.single-tribe_events .tribe-events-content a:focus,
.single-tribe_events .tribe-events-content a:active {
    border-bottom: none;
}

.single-tribe_events .tribe-events-notices {
    border-bottom: none;
}

/* Event meta: 3-column grid (Details / Venue / Organizer) */
.single-tribe_events .tribe-events-single-section.tribe-events-event-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    border-top: none;
    border-bottom: none;
    padding: 0;
    margin-top: var(--push-small);
    flex: 1;
}

.single-tribe_events .tribe-events-single-section-title {
    font-family: var(--font-family-heading);
    font-size: var(--font-size-h5);
    font-weight: var(--font-weight-bold);
    color: var(--color-heading);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-sub-heading);
    margin: 0 0 var(--push-small);
    padding-bottom: 10px;
    border-bottom: 2px solid var(--color-secondary-20);
}

.single-tribe_events .tribe-events-meta-group {
    margin-bottom: 0;
    margin-right: 0 !important;
    width: 100%;
    max-width: 100%;
}

.single-tribe_events .tribe-events-meta-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.single-tribe_events .tribe-events-meta-list li {
    padding: 0;
    margin: 15px 0 0;
}

.single-tribe_events .tribe-events-meta-list li::before {
    content: none;
    display: none;
}

.single-tribe_events .tribe-events-meta-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 0;
    border-bottom: 1px solid var(--color-off-white);
}

.single-tribe_events .tribe-events-meta-item:last-child {
    border-bottom: none;
}

.single-tribe_events .tribe-events-meta-label {
    font-family: var(--font-family-body);
    font-size: 12px;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-sub-heading);
    color: var(--color-paragraph-light);
}

.single-tribe_events .tribe-events-meta-value {
    font-family: var(--font-family-body);
    font-size: 15px;
    color: var(--color-paragraph);
}

.single-tribe_events .tribe-venue-url a,
.single-tribe_events .tribe-venue a,
.single-tribe_events .tribe-organizer-url a,
.single-tribe_events .tribe-events-event-meta a {
    color: var(--color-secondary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.single-tribe_events .tribe-venue-url a:hover,
.single-tribe_events .tribe-venue a:hover,
.single-tribe_events .tribe-organizer-url a:hover,
.single-tribe_events .tribe-events-event-meta a:hover {
    color: var(--color-primary);
    text-decoration: underline;
}

/* Footer navigation */
#tribe-events-footer {
    margin-top: var(--push-large);
    padding-top: var(--push-medium);
    border-top: 2px solid var(--color-secondary-20);
}

div#tribe-events-footer {
    margin-top: 0;
    padding-bottom: 200px;
}

.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a, .tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a {
    background: none;
}

/* Responsive: stack meta columns on mobile */
@media (max-width: 767px) {
    .single-tribe_events .tribe-events-single-section.tribe-events-event-meta {
        grid-template-columns: 1fr;
        gap: var(--push-medium);
    }

    .single-tribe_events .tribe-events-single {
        padding: 0 16px;
    }

    div#tribe-events-footer {
        margin-top: 0;
        padding-bottom: 200px;
    }
}


/* ==========================================================================
   TEC Grid Overrides -- reset tribe-common grid within our card layout
   ========================================================================== */

.tribe-events .tribe-events-calendar-list__event-row .tribe-common-g-col {
    grid-column: unset;
    width: 100%;
}

.tribe-events .tribe-events-calendar-list__event-row .tribe-common-g-row {
    display: flex;
    grid-template-columns: unset;
    grid-gap: unset;
}

.tribe-common .tribe-common-form-control-text__input:focus {
    border-bottom-color: initial;
    outline: none;
    border: none;
    box-shadow: none;
}

.tribe-events-single-event-description.tribe-events-content ul li::marker {
    content: none;
}

.events-calendar-block__header + .tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
    padding-top: 35px;
}

body .events-calendar-block .tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
    padding-bottom: 0;
}

.tribe-events .tribe-events-calendar-list__event-featured-image {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

div#tribe-events-c-subscribe-dropdown-content ul li:before {
    content: none;
}

div#tribe-events-c-subscribe-dropdown-content ul li a {
    padding-left: 0;
}

div#tribe-events-c-subscribe-dropdown-content ul li a:hover {
    background: linear-gradient(90deg,var(--color-primary) 0%,var(--color-secondary) 3%,var(--color-tertiary) 8%,var(--color-quaternary) 35%,var(--color-quaternary) 100%);
}

div#tribe-events-c-subscribe-dropdown-content ul {
    border: none;
    margin-bottom: 20px;
}

/* ==========================================================================
   Responsive -- Mobile (<768px)
   ========================================================================== */

@media (max-width: 767px) {

    .tribe-events {
        padding-left: 16px;
        padding-right: 16px;
    }

    .tribe-events .tribe-common-l-container.tribe-events-l-container {
        padding-left: 0;
        padding-right: 0;
    }

    /* Calendar datepicker: viewport-width container, scrollable inner content */
    html body .datepicker.datepicker-dropdown.dropdown-menu {
        min-width: 0;
        width: calc(100vw - 32px);
        max-width: 700px;
        padding: 14px;
        left: 0 !important;
        right: auto;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    html body .datepicker.datepicker-dropdown.dropdown-menu table.table-condensed {
        min-width: 700px;
    }

    html body .datepicker.datepicker-dropdown table tr td > button,
    html body .datepicker.datepicker-dropdown table tr td > button.day {
        width: 32px;
        height: 32px;
        line-height: 32px;
        font-size: 13px;
    }

    html body .datepicker.datepicker-dropdown table thead tr th.dow {
        font-size: 11px;
        padding: 8px 0 6px;
    }

    /* Event grid: single column on mobile */
    .tribe-events .tribe-events-calendar-list__month-group {
        grid-template-columns: 1fr !important;
        gap: 16px;
    }

    /* Event card: horizontal row (date tag left, details right) */
    .tribe-events .tribe-events-calendar-list__event-row {
        flex-direction: row;
        border-radius: 16px;
        margin: 0 !important;
    }

    .tribe-events .tribe-events-calendar-list__event-wrapper.tribe-common-g-col {
        min-width: 0;
        width: auto;
    }

    .tribe-events .tribe-events-calendar-list__event.tribe-common-g-row,
    .tribe-events .tribe-events-calendar-list__event.tribe-common-g-row--gutters {
        flex-direction: column;
    }

    .tribe-events .tribe-events-calendar-list__event-date-tag.tribe-common-g-col {
        min-width: 64px;
        max-width: 80px;
        padding: 16px 10px;
        border-radius: 16px 0 0 16px;
    }

    .tribe-events .tribe-events-calendar-list__event-date-tag-daynum.tribe-common-h5,
    .tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
        font-size: 22px;
    }

    .tribe-events .tribe-events-calendar-list__event-date-tag-weekday {
        font-size: 10px;
    }

    .tribe-events .tribe-events-calendar-list__event-details.tribe-common-g-col {
        padding: 14px 16px;
    }

    .tribe-events .tribe-events-calendar-list__event-title {
        font-size: 16px;
        line-height: 1.3;
    }

    .tribe-events .tribe-events-calendar-list__event-description {
        -webkit-line-clamp: 2;
        line-clamp: 2;
        font-size: 13px;
    }

    /* Events bar: stack search input + button */
    .tribe-events .tribe-events-c-events-bar {
        border-radius: 16px;
        padding: 12px 14px;
        flex-direction: column;
    }

    .tribe-events .tribe-events-c-events-bar__search-container {
        width: 100%;
    }

    .tribe-events .tribe-events-c-search {
        flex-direction: column;
        gap: 10px;
    }

    .tribe-events .tribe-events-c-search__input-group {
        width: 100%;
    }

    .tribe-events .tribe-events-c-search__button {
        padding: 10px 20px;
        font-size: 12px;
        width: 100%;
    }

    /* Month heading */
    .tribe-events .tribe-events-calendar-list__month-separator > h3 > time,
    .tribe-events .tribe-events-calendar-list__month-separator-text.tribe-common-h7,
    .tribe-events .tribe-events-calendar-list__month-separator-text {
        font-size: 18px;
        padding-bottom: 8px;
    }

    .tribe-events .tribe-events-calendar-list {
        gap: var(--push-medium);
    }

    .tribe-events .tribe-events-c-top-bar__datepicker-button {
        font-size: 16px;
        white-space: nowrap;
    }

    .tribe-events .tribe-events-c-top-bar__nav {
        flex-shrink: 0;
    }

    .tribe-events .tribe-events-c-top-bar__datepicker {
        flex-shrink: 0;
    }

    .tribe-events .tribe-events-c-top-bar__today-button {
        flex-shrink: 0;
    }

    /* Nav buttons: compact on mobile */
    .tribe-events .tribe-events-c-nav__prev,
    .tribe-events .tribe-events-c-nav__next,
    .tribe-events .tribe-events-c-nav__today {
        padding: 8px 16px;
        font-size: 11px;
    }

    .tribe-events .tribe-events-c-nav__list {
        gap: 8px;
        padding-top: var(--push-small);
    }

    /* Subscribe button */
    .tribe-events .tribe-events-c-subscribe-dropdown__button {
        font-size: 11px;
        padding: 6px 14px;
    }

    /* Featured badge: smaller on mobile */
    .tribe-events .tribe-events-calendar-list__event-row--featured {
        border-width: 2px;
    }

    .tribe-events .tribe-events-calendar-list__event-row--featured .tribe-events-calendar-list__event-featured-image-link {
        display: none;
    }

    body:not(.single-tribe_events) .tribe-common {
        padding-bottom: 100px;
    }
}


/* ==========================================================================
   Responsive -- Tablet (768px+)
   ========================================================================== */

@media (min-width: 768px) {

    .tribe-events .tribe-events-calendar-list__month-group {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

    .tribe-events .tribe-events-calendar-list__event-row {
        flex-direction: column;
    }

    .tribe-events .tribe-events-calendar-list__event-date-tag.tribe-common-g-col {
        min-width: unset;
        flex-direction: row;
        gap: 8px;
        padding: 14px 20px;
    }

    .tribe-events .tribe-events-calendar-list__event-date-tag-daynum.tribe-common-h5,
    .tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
        font-size: 24px;
    }

    .tribe-events .tribe-events-calendar-list__event-details.tribe-common-g-col {
        padding: 20px;
    }

    .tribe-events .tribe-events-calendar-list__month-separator > h3 > time,
    .tribe-events .tribe-events-calendar-list__month-separator-text.tribe-common-h7,
    .tribe-events .tribe-events-calendar-list__month-separator-text {
        font-size: 26px;
    }

}


/* ==========================================================================
   Responsive -- Desktop (1025px+)
   ========================================================================== */

@media (min-width: 1025px) {

    .tribe-events .tribe-events-calendar-list__month-group {
        grid-template-columns: repeat(3, 1fr);
    }

}


/* ==========================================================================
   Responsive -- Large Desktop (1367px+)
   ========================================================================== */

@media (min-width: 1367px) {

    .tribe-events .tribe-events-calendar-list__month-group {
        grid-template-columns: repeat(3, 1fr);
    }

    .tribe-events .tribe-events-calendar-list__month-separator > h3 > time,
    .tribe-events .tribe-events-calendar-list__month-separator-text.tribe-common-h7,
    .tribe-events .tribe-events-calendar-list__month-separator-text {
        font-size: 30px;
    }

}
