/* =============================================================================
   JLN – The Events Calendar – Branded Stylesheet
   Brand Reference:
     Navy    #003D6E   → primary action, headings
     Blue    #005596   → links, accents
     Orange  #D98429   → hover, highlight
     Gold    #FCAF17   → search bar background
     Light   #DBE0EE   → subtle fills
     Off-wh  #F7F9FC   → page/card backgrounds
     Dark    #1C1C1C
     Muted   #5A5A5A
     Border  #E8E0D4
   Fonts: 'DM Serif Display' (headings), 'DM Sans' (body/UI)
============================================================================= */

/* ── Font faces – DM Serif Display ──────────────────────────────────────── */

@font-face {
  font-family: 'DM Serif Display';
  font-style:  normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/dmserifdisplay/v16/-nFnOHM81r4j6k0gjALR8uVua8QEr6Wd4SYOaA.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Serif Display';
  font-style:  italic;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/dmserifdisplay/v16/-nFsOHM81r4j6k0gjALR8uVua8QEr6gd6ZimWaA.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── Font faces – DM Sans ────────────────────────────────────────────────── */

@font-face {
  font-family: 'DM Sans';
  font-style:  normal;
  font-weight: 300;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/dmsans/v15/rP2Hp2ywxg089UriCZa4ET-DNl0.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Sans';
  font-style:  normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/dmsans/v15/rP2Hp2ywxg089UriCZa4ET-DNl0.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Sans';
  font-style:  normal;
  font-weight: 500;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/dmsans/v15/rP2Hp2ywxg089UriCZa4ET-DNl0.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Sans';
  font-style:  normal;
  font-weight: 600;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/dmsans/v15/rP2Hp2ywxg089UriCZa4ET-DNl0.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Sans';
  font-style:  normal;
  font-weight: 700;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/dmsans/v15/rP2Hp2ywxg089UriCZa4ET-DNl0.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Sans';
  font-style:  italic;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/dmsans/v15/rP2Fp2ywxg089UriCZaw7B-9RY0.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* =============================================================================
   1. LIST-STYLE RESET
============================================================================= */
.tribe-common ul,
.tribe-common li,
.tribe-events-c-top-bar__nav-list,
.tribe-events-c-top-bar__nav-list li,
.tribe-events-c-view-selector__list,
.tribe-events-c-view-selector__list li,
.tribe-events-c-events-bar ul,
.tribe-events-c-events-bar ul li,
#tribe-events-pg-template ul,
#tribe-events-pg-template li,
#tribe-events-content ul,
#tribe-events-content li,
.tribe-events-sub-nav,
.tribe-events-sub-nav li,
.tribe-events-meta-list,
.tribe-events-meta-list li,
.tribe-events-c-subscribe-dropdown__list,
.tribe-events-c-subscribe-dropdown__list li {
  list-style:       none !important;
  list-style-type:  none !important;
  background-image: none !important;
  padding-left:     0    !important;
  margin-left:      0    !important;
}

.tribe-common ul li::before,
.tribe-common li::before,
.tribe-events-c-top-bar__nav-list li::before,
.tribe-events-c-view-selector__list li::before,
#tribe-events-pg-template ul li::before,
#tribe-events-content ul li::before,
.tribe-events-sub-nav li::before,
.tribe-events-meta-list li::before,
.tribe-events-c-subscribe-dropdown__list li::before {
  content: none !important;
  display: none !important;
}


/* =============================================================================
   2. SEARCH / EVENTS-BAR SECTION
============================================================================= */

.tribe-events .tribe-events-c-events-bar,
.tribe-events-header__events-bar {
  background-color: #003D6E !important;
  border:           none    !important;
  border-radius:    0       !important;
  padding:          14px 20px !important;
  box-shadow:       0 3px 16px rgba(0, 0, 0, .20) !important;
  display:          flex    !important;
  align-items:      center  !important;
  gap:              12px    !important;
}

.tribe-events .tribe-events-c-events-bar__search {
  background: #FCAF17 !important;
  padding:    6px 8px !important;
  flex:       1       !important;
  display:    flex    !important;
  align-items: center !important;
}

.tribe-events .tribe-events-c-search__input-control,
.tribe-events .tribe-common-form-control-text {
  position: relative !important;
  flex:     1        !important;
}

.tribe-events .tribe-events-c-search__input-control-icon-svg {
  position:       absolute !important;
  left:           12px     !important;
  top:            50%      !important;
  transform:      translateY(-50%) !important;
  width:          16px     !important;
  height:         16px     !important;
  pointer-events: none     !important;
  z-index:        1        !important;
}

.tribe-events .tribe-events-c-search__input-control-icon-svg path {
  fill: #003D6E !important;
}

.tribe-events .tribe-common-form-control-text__input,
.tribe-events .tribe-events-c-search__input {
  font-family:   'DM Sans', Lato, sans-serif !important;
  font-size:     15px    !important;
  font-weight:   400     !important;
  color:         #1C1C1C !important;
  background:    #fff    !important;
  border:        2px solid #003D6E !important;
  border-radius: 4px     !important;
  padding:       10px 14px 10px 42px !important;
  width:         100%    !important;
  box-sizing:    border-box !important;
  transition:    border-color .22s ease, box-shadow .22s ease !important;
}

.tribe-events .tribe-events-c-search__input::placeholder {
  color:      #5A5A5A !important;
  font-style: italic  !important;
  font-size:  14px    !important;
}

.tribe-events .tribe-events-c-search__input:focus {
  border-color: #003D6E                         !important;
  box-shadow:   0 0 0 3px rgba(0, 61, 110, .22) !important;
  outline:      none                            !important;
}

.tribe-events .tribe-common-form-control-text__label {
  font-family: 'DM Sans', Lato, sans-serif !important;
}

.tribe-events .tribe-events-c-search__button,
.tribe-events button.tribe-events-c-search__button {
  font-family:    'DM Sans', Lato, sans-serif !important;
  font-size:      14px      !important;
  font-weight:    700       !important;
  letter-spacing: .04em     !important;
  text-transform: uppercase !important;
  background:     #D98429   !important;
  color:          #fff      !important;
  border:         2px solid #D98429 !important;
  border-radius:  4px       !important;
  padding:        10px 22px !important;
  transition:     background .22s ease, border-color .22s ease, color .22s ease !important;
  cursor:         pointer   !important;
  white-space:    nowrap    !important;
}

.tribe-events .tribe-events-c-search__button:hover,
.tribe-events button.tribe-events-c-search__button:hover {
  background:   #FCAF17 !important;
  border-color: #FCAF17 !important;
  color:        #003D6E !important;
}

.tribe-events .tribe-events-c-events-bar__search-button {
  color: #FCAF17 !important;
}

.tribe-events .tribe-events-c-events-bar__search-button-icon-svg path {
  fill: #FCAF17 !important;
}

.tribe-events .tribe-events-c-events-bar h2,
.tribe-events .tribe-events-c-events-bar h3 {
  font-family: 'DM Sans', Lato, sans-serif !important;
  color:       #fff !important;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-header--has-event-search .tribe-events-header__top-bar {
  width:   100% !important;
  display: none !important;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-common-c-btn.tribe-events-c-search__button {
  flex:       none !important;
  margin-top: 0    !important;
  display:    none !important;
}


/* =============================================================================
   3. TOP BAR (datepicker row + nav)
============================================================================= */
.tribe-events .tribe-events-c-top-bar {
  background-color: #003D6E  !important;
  border-bottom:    none     !important;
  padding:          12px 20px !important;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button,
.tribe-events .tribe-events-c-top-bar__datepicker-button time {
  font-family: 'DM Sans', Lato, sans-serif !important;
  font-size:   15px          !important;
  font-weight: 600           !important;
  color:       #fff          !important;
  transition:  color .22s ease !important;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button:hover,
.tribe-events .tribe-events-c-top-bar__datepicker-button:hover time {
  color: #FCAF17 !important;
}

.tribe-events .tribe-events-c-top-bar__datepicker-button-icon-svg path {
  fill: rgba(255, 255, 255, .75) !important;
}

.tribe-events .tribe-events-c-top-bar__today-button {
  font-family:   'DM Sans', Lato, sans-serif !important;
  font-size:     13px    !important;
  font-weight:   600     !important;
  color:         #fff    !important;
  border:        2px solid rgba(255, 255, 255, .45) !important;
  border-radius: 4px     !important;
  padding:       5px 14px !important;
  transition:    border-color .22s ease, background .22s ease !important;
}

.tribe-events .tribe-events-c-top-bar__today-button:hover {
  background:   rgba(255, 255, 255, .12) !important;
  border-color: #fff !important;
}

.tribe-events .tribe-events-c-top-bar__nav-link {
  display:         inline-flex !important;
  align-items:     center      !important;
  justify-content: center      !important;
  width:           32px        !important;
  height:          32px        !important;
  border-radius:   50%         !important;
  background:      rgba(255, 255, 255, .15) !important;
  color:           #fff        !important;
  transition:      background .22s ease !important;
}

.tribe-events .tribe-events-c-top-bar__nav-link:hover {
  background: #D98429 !important;
}

.tribe-events .tribe-events-c-top-bar__nav-link-icon-svg path {
  fill: #fff !important;
}


/* =============================================================================
   4. VIEW SELECTOR (List / Month filters)
============================================================================= */

.tribe-events .tribe-events-c-view-selector__button {
  font-family:   'DM Sans', Lato, sans-serif !important;
  font-size:     15px    !important;
  font-weight:   600     !important;
  color:         #fff    !important;
  background:    rgba(255, 255, 255, .12) !important;
  border:        2px solid rgba(255, 255, 255, .30) !important;
  border-radius: 4px     !important;
  padding:       8px 14px !important;
  transition:    background .22s ease, border-color .22s ease !important;
}

.tribe-events .tribe-events-c-view-selector__button:hover {
  background:   rgba(255, 255, 255, .22) !important;
  border-color: #FCAF17 !important;
  color:        #FCAF17 !important;
}

.tribe-events .tribe-events-c-view-selector__button-icon-caret-svg path {
  fill: rgba(255, 255, 255, .75) !important;
}

.tribe-events .tribe-events-c-view-selector__content {
  background:    #fff     !important;
  border:        2px solid #DBE0EE !important;
  border-radius: 6px      !important;
  box-shadow:    0 8px 28px rgba(0, 0, 0, .18) !important;
}

/* All list items – kill any default borders/underlines */
.tribe-events .tribe-events-c-view-selector__list-item,
.tribe-events .tribe-events-c-view-selector__list-item::before,
.tribe-events .tribe-events-c-view-selector__list-item::after {
  border:        none !important;
  border-bottom: none !important;
  text-decoration: none !important;
}

.tribe-events .tribe-events-c-view-selector__list-item-link {
  font-family:     'DM Sans', Lato, sans-serif !important;
  font-size:       15px    !important;
  font-weight:     500     !important;
  color:           #003D6E !important;
  padding:         10px 16px !important;
  text-decoration: none    !important;
  border:          none    !important;
  border-bottom:   none    !important;
  outline:         none    !important;
  transition:      background .22s ease, color .22s ease !important;
}

.tribe-events .tribe-events-c-view-selector__list-item-link::before,
.tribe-events .tribe-events-c-view-selector__list-item-link::after {
  display:       none !important;
  content:       none !important;
  border:        none !important;
  border-bottom: none !important;
}

.tribe-events .tribe-events-c-view-selector__list-item-link:hover {
  background: #DBE0EE !important;
  color:      #003D6E !important;
}

/* Active item – remove every possible black line source, apply orange only */
.tribe-events .tribe-events-c-view-selector__list-item--active,
.tribe-events .tribe-events-c-view-selector__list-item--active::before,
.tribe-events .tribe-events-c-view-selector__list-item--active::after,
.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link,
.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link::before,
.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link::after,
.tribe-events .tribe-events-c-view-selector__list-item[aria-current="true"],
.tribe-events .tribe-events-c-view-selector__list-item a[aria-current="true"],
.tribe-events .tribe-events-c-view-selector__button[aria-current="true"] {
  border:        none !important;
  border-bottom: none !important;
  box-shadow:    none !important;
  outline:       none !important;
}

.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link {
  color:                     #D98429   !important;
  font-weight:               700       !important;
  text-decoration:           underline !important;
  text-decoration-color:     #D98429   !important;
  text-decoration-thickness: 2px       !important;
  text-underline-offset:     3px       !important;
}

.tribe-events .tribe-events-c-view-selector__list-item-icon-svg path,
.tribe-events .tribe-events-c-view-selector__button-icon-svg path {
  fill: currentColor !important;
}

.tribe-events .tribe-events-c-view-selector__button .tribe-events-c-view-selector__button-icon-svg path {
  fill: #fff !important;
}


/* =============================================================================
   5. MONTH-SEPARATOR HEADINGS
============================================================================= */
.tribe-events .tribe-events-calendar-list__month-separator time,
.tribe-events .tribe-events-calendar-list__month-separator-text {
  font-family:    'DM Serif Display', Georgia, serif !important;
  font-size:      22px    !important;
  font-weight:    400     !important;
  color:          #003D6E !important;
  letter-spacing: .01em   !important;
  border-bottom:  3px solid #FCAF17 !important;
  padding-bottom: 6px     !important;
  display:        block   !important;
}


/* =============================================================================
   6. EVENT LIST – DATE TAG
============================================================================= */
.tribe-events .tribe-events-calendar-list__event-date-tag {
  border-right:  3px solid #DBE0EE !important;
  padding-right: 16px !important;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-weekday {
  font-family:    'DM Sans', Lato, sans-serif !important;
  font-size:      13px      !important;
  font-weight:    700       !important;
  letter-spacing: .12em     !important;
  text-transform: uppercase !important;
  color:          #5A5A5A   !important;
  line-height:    1.2       !important;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-daynum {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size:   42px    !important;
  font-weight: 400     !important;
  color:       #003D6E !important;
  line-height: 1       !important;
}


/* =============================================================================
   7. EVENT CARD – TITLE & BODY
============================================================================= */
.tribe-events-view--list .tribe-events-calendar-list__event-title,
.tribe-events .tribe-events-calendar-list__event-title {
  font-family: 'DM Serif Display', Georgia, serif !important;
}

.tribe-events-view--list .tribe-events-calendar-list__event-title-link,
.tribe-events-view--list .tribe-events-calendar-list__event-title-link:visited {
  font-family:     'DM Serif Display', Georgia, serif !important;
  font-size:       22px    !important;
  font-weight:     400     !important;
  line-height:     1.3     !important;
  color:           #003D6E !important;
  text-decoration: none    !important;
  transition:      color .22s ease !important;
}

.tribe-common--breakpoint-medium.tribe-common .tribe-common-h6--min-medium {
  font-size:   24px !important;
  line-height: 1.3  !important;
}

.tribe-events-view--list .tribe-events-calendar-list__event-title-link:hover {
  color: #D98429 !important;
}

.tribe-events .tribe-events-calendar-list__event-datetime-wrapper,
.tribe-events .tribe-events-calendar-list__event-datetime {
  font-family: 'DM Sans', Lato, sans-serif !important;
  font-size:   14px    !important;
  font-weight: 500     !important;
  color:       #005596 !important;
}

.tribe-events .tribe-events-calendar-list__event-description,
.tribe-events-calendar-list__event-description p {
  font-family:        'DM Sans', Lato, sans-serif !important;
  font-size:          14px    !important;
  line-height:        1.7     !important;
  color:              #5A5A5A !important;
  display:            -webkit-box !important;
  -webkit-line-clamp: 11      !important;
  -webkit-box-orient: vertical !important;
  overflow:           hidden  !important;
  text-overflow:      ellipsis !important;
}

img.tribe-events-calendar-list__event-featured-image {
  width:           353px  !important;
  height:          369px  !important;
  object-fit:      cover  !important;
  object-position: center !important;
  border-radius:   4px    !important;
}

.tribe-events .tribe-events-calendar-list__event-row {
  transition:    box-shadow .22s ease !important;
  border-radius: 6px    !important;
  padding:       12px 0 !important;
}

.tribe-events .tribe-events-calendar-list__event-row:hover {
  box-shadow: 0 8px 28px rgba(0, 85, 150, .16) !important;
}

.tribe-events .tribe-events-calendar-latest-past__heading,
.tribe-events .tribe-events-single-event-title {
  font-family: 'DM Serif Display', Georgia, serif !important;
  color:       #003D6E !important;
}


/* =============================================================================
   8. BOTTOM NAVIGATION (Previous / Next) – Events Landing Page
   CHANGED: text-link style with arrow glyphs, no filled boxes
============================================================================= */
.tribe-events .tribe-events-c-nav {
  margin-top:      32px   !important;
  padding-top:     20px   !important;
  border-top:      2px solid #DBE0EE !important;
  display:         flex   !important;
  align-items:     center !important;
  justify-content: space-between !important;
  flex-wrap:       wrap   !important;
  gap:             12px   !important;
}

/* ── Previous link – text style with left arrow ──────────────────────────── */
.tribe-events .tribe-events-c-nav__prev {
  font-family:     'DM Sans', Lato, sans-serif !important;
  font-size:       14px    !important;
  font-weight:     600     !important;
  letter-spacing:  .02em   !important;
  color:           #003D6E !important;
  background:      transparent !important;
  border:          none    !important;
  padding:         0       !important;
  display:         inline-flex !important;
  align-items:     center  !important;
  gap:             6px     !important;
  text-decoration: none    !important;
  transition:      color .22s ease !important;
  position:        relative !important;
}

/* Persistent orange underline on prev */
.tribe-events .tribe-events-c-nav__prev::after {
  content:          '' !important;
  position:         absolute !important;
  bottom:           -2px !important;
  left:             0    !important;
  right:            0    !important;
  height:           2px  !important;
  background:       #D98429 !important;
  border-radius:    1px  !important;
  transition:       background .22s ease !important;
}

.tribe-events .tribe-events-c-nav__prev:hover {
  color: #D98429 !important;
}

/* Replace SVG arrow with CSS ← character */
.tribe-events .tribe-events-c-nav__prev-icon-svg {
  display: none !important;
}

.tribe-events .tribe-events-c-nav__prev::before {
  content:     '←' !important;
  font-size:   16px !important;
  line-height: 1    !important;
  color:       inherit !important;
  transition:  transform .22s ease !important;
}

.tribe-events .tribe-events-c-nav__prev:hover::before {
  transform: translateX(-3px) !important;
}

/* ── Next link – text style with right arrow ─────────────────────────────── */
.tribe-events .tribe-events-c-nav__next {
  font-family:     'DM Sans', Lato, sans-serif !important;
  font-size:       14px    !important;
  font-weight:     600     !important;
  letter-spacing:  .02em   !important;
  color:           #003D6E !important;
  background:      transparent !important;
  border:          none    !important;
  padding:         0       !important;
  display:         inline-flex !important;
  align-items:     center  !important;
  gap:             6px     !important;
  text-decoration: none    !important;
  transition:      color .22s ease !important;
  position:        relative !important;
}

/* Persistent navy underline on next */
.tribe-events .tribe-events-c-nav__next::after {
  content:          '' !important;
  position:         absolute !important;
  bottom:           -2px !important;
  left:             0    !important;
  right:            0    !important;
  height:           2px  !important;
  background:       #003D6E !important;
  border-radius:    1px   !important;
  transition:       background .22s ease !important;
}

.tribe-events .tribe-events-c-nav__next:hover {
  color: #D98429 !important;
}

.tribe-events .tribe-events-c-nav__next:hover::after {
  background: #D98429 !important;
}

/* Replace SVG arrow with CSS → character */
.tribe-events .tribe-events-c-nav__next-icon-svg {
  display: none !important;
}

.tribe-events .tribe-events-c-nav__next::after-arrow {
  display: none !important;
}

/* Append → via sibling text – use the label span instead */
.tribe-events .tribe-events-c-nav__next-label::after {
  content:    ' →' !important;
  font-size:  16px !important;
  transition: transform .22s ease !important;
  display:    inline-block !important;
}

.tribe-events .tribe-events-c-nav__next:hover .tribe-events-c-nav__next-label::after {
  transform: translateX(3px) !important;
}

/* Today link */
.tribe-events .tribe-events-c-nav__today {
  font-family:     'DM Sans', Lato, sans-serif !important;
  font-size:       13px    !important;
  font-weight:     500     !important;
  color:           #5A5A5A !important;
  text-decoration: none    !important;
  border:          1px solid #DBE0EE !important;
  border-radius:   4px     !important;
  padding:         5px 12px !important;
  transition:      color .22s ease, border-color .22s ease !important;
}

.tribe-events .tribe-events-c-nav__today:hover {
  color:        #D98429 !important;
  border-color: #D98429 !important;
}


/* =============================================================================
   9. SUBSCRIBE DROPDOWN (List page)
============================================================================= */
.tribe-events .tribe-events-c-subscribe-dropdown__button {
  font-family:   'DM Sans', Lato, sans-serif !important;
  font-size:     13px    !important;
  font-weight:   600     !important;
  color:         #003D6E !important;
  border:        2px solid #003D6E !important;
  border-radius: 4px     !important;
  padding:       8px 16px !important;
  transition:    background .22s ease, color .22s ease !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button[aria-expanded="true"] {
  background: #003D6E !important;
  color:      #fff    !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown__button-text {
  font-family: 'DM Sans', Lato, sans-serif !important;
  font-size:   13px !important;
  font-weight: 600  !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown__button-icon path {
  fill: currentColor !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown__content {
  background:    #fff     !important;
  border:        2px solid #DBE0EE !important;
  border-radius: 6px      !important;
  box-shadow:    0 8px 28px rgba(0, 85, 150, .16) !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown__list-item-link {
  font-family: 'DM Sans', Lato, sans-serif !important;
  font-size:   14px    !important;
  font-weight: 500     !important;
  color:       #003D6E !important;
  padding:     9px 16px !important;
  display:     block   !important;
  transition:  background .22s ease !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown__list-item-link:hover {
  background: #DBE0EE !important;
  color:      #003D6E !important;
}


/* =============================================================================
   10. GENERAL BUTTONS
============================================================================= */
.tribe-events .tribe-common-c-btn,
.tribe-events .tribe-common-c-btn-border,
.tribe-events .tribe-common-c-btn-border-small {
  font-family:    'DM Sans', Lato, sans-serif !important;
  font-size:      14px    !important;
  font-weight:    700     !important;
  letter-spacing: .04em   !important;
  background:     #003D6E !important;
  color:          #fff    !important;
  border:         2px solid #003D6E !important;
  border-radius:  4px     !important;
  padding:        9px 20px !important;
  transition:     background .22s ease, border-color .22s ease !important;
}

.tribe-events .tribe-common-c-btn:hover,
.tribe-events .tribe-common-c-btn-border:hover,
.tribe-events .tribe-common-c-btn-border-small:hover {
  background:   #D98429 !important;
  border-color: #D98429 !important;
  color:        #fff    !important;
}

.tribe-events .tribe-common-c-btn__clear {
  background: transparent !important;
  border:     none        !important;
  padding:    0           !important;
}


/* =============================================================================
   11. GLOBAL BODY TEXT & META
============================================================================= */
.tribe-events,
.tribe-events .tribe-events-calendar-list__event-datetime {
  font-family: 'DM Sans', Lato, sans-serif !important;
  color:       #1C1C1C !important;
}

.tribe-events .tribe-events-event-categories,
.tribe-events .tribe-events-c-messages__message--notice {
  font-family: 'DM Sans', Lato, sans-serif !important;
  font-size:   13px    !important;
  font-weight: 600     !important;
  color:       #D98429 !important;
}

.tribe-events .tribe-events-view-loader__text {
  font-family: 'DM Sans', Lato, sans-serif !important;
  color:       #003D6E !important;
}


/* =============================================================================
   12. SINGLE EVENT PAGE – LAYOUT, TITLE & CHROME
============================================================================= */

/* Full-width layout – override Divi right-sidebar */
body.single-tribe_events #page-container,
body.single-tribe_events #main-content,
body.single-tribe_events .container,
body.single-tribe_events #content-area,
body.single-tribe_events #left-area {
  width:     100% !important;
  max-width: 100% !important;
  float:     none !important;
  padding:   0    !important;
}

body.single-tribe_events #sidebar {
  display: none !important;
}

body.single-tribe_events #tribe-events-pg-template {
  max-width:  1100px !important;
  margin:     0 auto !important;
  padding:    0 28px !important;
  box-sizing: border-box !important;
}

body.single-tribe_events #tribe-events-content {
  width:     100% !important;
  max-width: 100% !important;
  float:     none !important;
  clear:     both !important;
  padding:   0    !important;
}

/* Featured image */
.tribe-events-single .tribe-events-event-image {
  width:        100% !important;
  margin-left:  0    !important;
  margin-right: 0    !important;
}

.tribe-events-single .tribe-events-event-image img {
  width:           100%  !important;
  height:          480px !important;
  object-fit:      cover !important;
  object-position: center !important;
  display:         block !important;
  border-radius:   6px   !important;
}

/* Event title */
#tribe-events-content .tribe-events-single-event-title {
  font-family:   'DM Serif Display', Georgia, serif !important;
  font-size:     30px    !important;
  font-weight:   400     !important;
  line-height:   1.28    !important;
  color:         #003D6E !important;
  margin-top:    28px    !important;
  margin-bottom: 4px     !important;
}

/* "This event has passed" notice */
#tribe-events-content .tribe-events-notices {
  background:    #FFF4DB  !important;
  border-left:   4px solid #FCAF17 !important;
  border-radius: 0 4px 4px 0 !important;
  padding:       10px 16px !important;
  margin-bottom: 16px !important;
}

#tribe-events-content .tribe-events-notices ul {
  list-style: none !important;
  margin:     0    !important;
  padding:    0    !important;
}

#tribe-events-content .tribe-events-notices ul li {
  font-family:      'DM Sans', Lato, sans-serif !important;
  font-size:        13px    !important;
  font-weight:      600     !important;
  color:            #D98429 !important;
  margin:           0       !important;
  padding:          0       !important;
  background-image: none    !important;
}

#tribe-events-content .tribe-events-notices ul li::before {
  display: none !important;
}

/* « All Events back link */
#tribe-events-content .tribe-events-back {
  margin-bottom: 12px !important;
  margin-top:    24px !important;
}

/* Hide the plugin-injected « arrow glyph */
#tribe-events-content .tribe-events-back a::before,
#tribe-events-content .tribe-events-back a .tribe-events-back__text-icon {
  display: none !important;
  content: none !important;
}

#tribe-events-content .tribe-events-back a {
  font-family:     'DM Sans', Lato, sans-serif !important;
  font-size:       13px    !important;
  font-weight:     600     !important;
  letter-spacing:  .04em   !important;
  text-transform:  uppercase !important;
  color:           #003D6E !important;
  text-decoration: none    !important;
  display:         inline-flex !important;
  align-items:     center  !important;
  gap:             4px     !important;
  transition:      color .22s ease !important;
}

#tribe-events-content .tribe-events-back a:hover {
  color: #D98429 !important;
}

/* ── Date + Time + Add to Calendar on one row ────────────────────────────── */
/* Wrap the schedule div and the subscribe dropdown in a flex row            */
#tribe-events-content .tribe-events-schedule,
#tribe-events-content .tribe-events-c-subscribe-dropdown__container {
  display: inline-flex !important;
  align-items: center  !important;
}

#tribe-events-content .tribe-events-schedule {
  font-family:  'DM Sans', Lato, sans-serif !important;
  font-size:    15px    !important;
  font-weight:  600     !important;
  color:        #005596 !important;
  margin-bottom: 0      !important;
  flex:         1       !important;
}

#tribe-events-content .tribe-events-schedule abbr,
#tribe-events-content .tribe-events-schedule span {
  font-family:     'DM Sans', Lato, sans-serif !important;
  color:           #005596 !important;
  text-decoration: none    !important;
}

/* Container that wraps both schedule + subscribe; create the flex row */
#tribe-events-content .tribe-events-single-event-description ~ .tribe-events,
#tribe-events-content .tribe-events-schedule ~ .tribe-events {
  display: inline-flex !important;
}

/* Direct flex row: schedule sits left, subscribe sits right on same line.
   Achieved by wrapping them in a positioned parent via CSS grid on the
   tribe-clearfix wrapper that contains .tribe-events-schedule               */
#tribe-events-content .tribe-events-schedule.tribe-clearfix,
#tribe-events-content .tribe-clearfix:has(.tribe-event-date-start) {
  display:         flex    !important;
  align-items:     center  !important;
  justify-content: space-between !important;
  flex-wrap:       wrap    !important;
  gap:             12px    !important;
  margin-bottom:   16px    !important;
}

/* Subscribe button – sized to sit neatly on the date line */
#tribe-events-content .tribe-events-c-subscribe-dropdown__button {
  font-family:   'DM Sans', Lato, sans-serif !important;
  font-size:     12px    !important;
  font-weight:   600     !important;
  color:         #003D6E !important;
  border:        2px solid #003D6E !important;
  border-radius: 4px     !important;
  padding:       6px 14px !important;
  background:    transparent !important;
  white-space:   nowrap  !important;
  transition:    background .22s ease, color .22s ease !important;
}

#tribe-events-content .tribe-events-c-subscribe-dropdown__button:hover,
#tribe-events-content .tribe-events-c-subscribe-dropdown__button[aria-expanded="true"] {
  background: #003D6E !important;
  color:      #fff    !important;
}

#tribe-events-content .tribe-events-c-subscribe-dropdown__button-text {
  font-family: 'DM Sans', Lato, sans-serif !important;
  font-size:   12px !important;
  font-weight: 600  !important;
}

#tribe-events-content .tribe-events-c-subscribe-dropdown__export-icon path,
#tribe-events-content .tribe-events-c-subscribe-dropdown__button-icon path {
  fill:   currentColor !important;
  stroke: currentColor !important;
}

#tribe-events-content .tribe-events-c-subscribe-dropdown__content {
  background:    #fff     !important;
  border:        2px solid #DBE0EE !important;
  border-radius: 6px      !important;
  box-shadow:    0 8px 28px rgba(0, 0, 0, .14) !important;
  z-index:       100      !important;
}

#tribe-events-content .tribe-events-c-subscribe-dropdown__list-item-link {
  font-family:     'DM Sans', Lato, sans-serif !important;
  font-size:       14px    !important;
  font-weight:     500     !important;
  color:           #003D6E !important;
  padding:         9px 16px !important;
  display:         block   !important;
  text-decoration: none    !important;
  transition:      background .22s ease !important;
}

#tribe-events-content .tribe-events-c-subscribe-dropdown__list-item-link:hover {
  background: #DBE0EE !important;
  color:      #003D6E !important;
}



/* =============================================================================
   13. SINGLE EVENT – SUB-NAV (Previous / Next)
   Shows only ← Previous and Next → labels — no post titles.
============================================================================= */

/* Nav row */
#tribe-events-header .tribe-events-sub-nav,
#tribe-events-footer .tribe-events-sub-nav {
  display:         flex !important;
  justify-content: space-between !important;
  align-items:     center !important;
  padding:         16px 0 !important;
  border-top:      2px solid #DBE0EE !important;
  border-bottom:   2px solid #DBE0EE !important;
  margin:          20px 0 !important;
  gap:             16px !important;
}

/* Li containers */
#tribe-events-header .tribe-events-nav-previous,
#tribe-events-footer .tribe-events-nav-previous,
#tribe-events-header .tribe-events-nav-next,
#tribe-events-footer .tribe-events-nav-next {
  flex:     0 0 auto !important;
  min-width: 0       !important;
}

/* Empty items collapse */
#tribe-events-header .tribe-events-nav-next:empty,
#tribe-events-footer .tribe-events-nav-next:empty,
#tribe-events-header .tribe-events-nav-previous:empty,
#tribe-events-footer .tribe-events-nav-previous:empty {
  flex: 0 !important;
}

/* Next li aligns right */
#tribe-events-header .tribe-events-nav-next,
#tribe-events-footer .tribe-events-nav-next {
  margin-left: auto !important;
}

/* ── Hide all injected text content (title + «» glyphs) ─────────────────── */
#tribe-events-header .tribe-events-nav-previous a span,
#tribe-events-footer .tribe-events-nav-previous a span,
#tribe-events-header .tribe-events-nav-next a span,
#tribe-events-footer .tribe-events-nav-next a span {
  display:    none     !important;
  visibility: hidden   !important;
  font-size:  0        !important;
  width:      0        !important;
  height:     0        !important;
  overflow:   hidden   !important;
  position:   absolute !important;
  clip:       rect(0,0,0,0) !important;
  white-space: nowrap  !important;
  color:      transparent !important;
}

/* Overwrite the glyph character itself via ::before on the span */
#tribe-events-header .tribe-events-nav-previous a span::before,
#tribe-events-footer .tribe-events-nav-previous a span::before,
#tribe-events-header .tribe-events-nav-next a span::before,
#tribe-events-footer .tribe-events-nav-next a span::before {
  content:  '' !important;
  display:  none !important;
}

#tribe-events-header .tribe-events-nav-previous a span::after,
#tribe-events-footer .tribe-events-nav-previous a span::after,
#tribe-events-header .tribe-events-nav-next a span::after,
#tribe-events-footer .tribe-events-nav-next a span::after {
  content:  '' !important;
  display:  none !important;
}

/* ── Base link – shared reset ───────────────────────────────────────────── */
#tribe-events-header .tribe-events-nav-previous a,
#tribe-events-footer .tribe-events-nav-previous a,
#tribe-events-header .tribe-events-nav-next a,
#tribe-events-footer .tribe-events-nav-next a {
  font-size:       0           !important;  /* kills raw text nodes         */
  color:           transparent !important;  /* hides any residual text      */
  text-decoration: none        !important;
  background:      transparent !important;
  border:          none        !important;
  display:         inline-block !important;
  line-height:     1.4         !important;
  transition:      none        !important;
}

/* ── PREVIOUS  ← Previous ───────────────────────────────────────────────── */
#tribe-events-header .tribe-events-nav-previous a::before,
#tribe-events-footer .tribe-events-nav-previous a::before {
  content:                   '← Previous'             !important;
  font-family:               'DM Sans', Lato, sans-serif !important;
  font-size:                 14px                     !important;
  font-weight:               600                      !important;
  color:                     #003D6E                  !important;
  display:                   inline                   !important;
  text-decoration:           underline                !important;
  text-decoration-color:     #D98429                  !important;
  text-decoration-thickness: 2px                      !important;
  text-underline-offset:     4px                      !important;
  letter-spacing:            .02em                    !important;
  transition:                color .22s ease, text-decoration-color .22s ease !important;
}

#tribe-events-header .tribe-events-nav-previous a::after,
#tribe-events-footer .tribe-events-nav-previous a::after {
  display: none !important;
  content: none !important;
}

#tribe-events-header .tribe-events-nav-previous a:hover::before,
#tribe-events-footer .tribe-events-nav-previous a:hover::before {
  color:                 #D98429 !important;
  text-decoration-color: #D98429 !important;
}

/* ── NEXT  Next → ────────────────────────────────────────────────────────── */
#tribe-events-header .tribe-events-nav-next a::before,
#tribe-events-footer .tribe-events-nav-next a::before {
  display: none !important;
  content: none !important;
}

#tribe-events-header .tribe-events-nav-next a::after,
#tribe-events-footer .tribe-events-nav-next a::after {
  content:                   'Next →'                 !important;
  font-family:               'DM Sans', Lato, sans-serif !important;
  font-size:                 14px                     !important;
  font-weight:               600                      !important;
  color:                     #003D6E                  !important;
  display:                   inline                   !important;
  text-decoration:           underline                !important;
  text-decoration-color:     #003D6E                  !important;
  text-decoration-thickness: 2px                      !important;
  text-underline-offset:     4px                      !important;
  letter-spacing:            .02em                    !important;
  position:                  static                   !important;
  width:                     auto                     !important;
  height:                    auto                     !important;
  background:                none                     !important;
  border:                    none                     !important;
  transition:                color .22s ease, text-decoration-color .22s ease !important;
}

#tribe-events-header .tribe-events-nav-next a:hover::after,
#tribe-events-footer .tribe-events-nav-next a:hover::after {
  color:                 #D98429 !important;
  text-decoration-color: #D98429 !important;
}

/* Mobile: stack vertically */
@media (max-width: 640px) {
  #tribe-events-header .tribe-events-sub-nav,
  #tribe-events-footer .tribe-events-sub-nav {
    flex-direction: column    !important;
    align-items:    flex-start !important;
    gap:            16px      !important;
  }

  #tribe-events-header .tribe-events-nav-next,
  #tribe-events-footer .tribe-events-nav-next {
    margin-left: 0 !important;
  }
}


/* =============================================================================
   14. SINGLE EVENT PAGE – CONTENT AREA
============================================================================= */

#tribe-events-content .tribe-events-single-event-description {
  font-family: 'DM Sans', Lato, sans-serif !important;
  font-size:   16px  !important;
  line-height: 1.75  !important;
  color:       #1C1C1C !important;
  width:       100%  !important;
  max-width:   100%  !important;
}

#tribe-events-content .tribe-events-single-event-description p {
  font-family:   'DM Sans', Lato, sans-serif !important;
  font-size:     16px    !important;
  line-height:   1.75    !important;
  color:         #1C1C1C !important;
  margin-bottom: 18px    !important;
}

#tribe-events-content .tribe-events-single-event-description h3 {
  font-family:    'DM Serif Display', Georgia, serif !important;
  font-size:      26px   !important;
  font-weight:    400    !important;
  line-height:    1.25   !important;
  color:          #003D6E !important;
  margin-top:     28px   !important;
  margin-bottom:  10px   !important;
  padding-bottom: 8px    !important;
  border-bottom:  2px solid #FCAF17 !important;
}

#tribe-events-content .tribe-events-single-event-description h4 {
  font-family:    'DM Sans', Lato, sans-serif !important;
  font-size:      14px      !important;
  font-weight:    700       !important;
  letter-spacing: .1em      !important;
  text-transform: uppercase !important;
  color:          #D98429   !important;
  margin-top:     28px      !important;
  margin-bottom:  8px       !important;
}

#tribe-events-content .tribe-events-single-event-description h5,
#tribe-events-content .tribe-events-single-event-description h6 {
  font-family:   'DM Sans', Lato, sans-serif !important;
  font-size:     15px    !important;
  font-weight:   700     !important;
  color:         #003D6E !important;
  margin-bottom: 6px     !important;
}

#tribe-events-content .tribe-events-single-event-description ul {
  list-style:    none  !important;
  padding-left:  0     !important;
  margin-bottom: 20px  !important;
}

#tribe-events-content .tribe-events-single-event-description ul li {
  font-family:      'DM Sans', Lato, sans-serif !important;
  font-size:        16px    !important;
  line-height:      1.7     !important;
  color:            #1C1C1C !important;
  padding-left:     22px    !important;
  position:         relative !important;
  margin-bottom:    10px    !important;
  list-style:       none    !important;
  background-image: none    !important;
}

#tribe-events-content .tribe-events-single-event-description ul li::before {
  content:       ''      !important;
  display:       block   !important;
  position:      absolute !important;
  left:          0       !important;
  top:           9px     !important;
  width:         7px     !important;
  height:        7px     !important;
  background:    #FCAF17 !important;
  border-radius: 1px     !important;
  flex-shrink:   0       !important;
}

#tribe-events-content .tribe-events-single-event-description ul li strong {
  font-weight: 700     !important;
  color:       #003D6E !important;
}

#tribe-events-content .tribe-events-single-event-description ol {
  padding-left:  24px  !important;
  margin-bottom: 20px  !important;
}

#tribe-events-content .tribe-events-single-event-description ol li {
  font-family:   'DM Sans', Lato, sans-serif !important;
  font-size:     16px    !important;
  line-height:   1.7     !important;
  color:         #1C1C1C !important;
  margin-bottom: 10px    !important;
  padding-left:  6px     !important;
}

#tribe-events-content .tribe-events-single-event-description strong,
#tribe-events-content .tribe-events-single-event-description b {
  font-weight: 700     !important;
  color:       inherit !important;
}

#tribe-events-content .tribe-events-single-event-description a {
  color:                 #005596   !important;
  font-weight:           600       !important;
  text-decoration:       underline !important;
  text-underline-offset: 2px       !important;
  transition:            color .22s ease !important;
}

#tribe-events-content .tribe-events-single-event-description a:hover {
  color:           #D98429 !important;
  text-decoration: none    !important;
}

#tribe-events-content .tribe-events-single-event-description blockquote {
  border-left:   4px solid #FCAF17 !important;
  padding:       12px 20px         !important;
  margin:        24px 0            !important;
  background:    #FFF4DB           !important;
  border-radius: 0 4px 4px 0       !important;
  font-style:    italic            !important;
  color:         #5A5A5A           !important;
}


/* =============================================================================
   15. SINGLE EVENT PAGE – META SECTION
============================================================================= */

#tribe-events-content .tribe-events-single-section {
  width:         100%      !important;
  max-width:     100%      !important;
  float:         none      !important;
  clear:         both      !important;
  box-sizing:    border-box !important;
  background:    #F7F9FC   !important;
  border-top:    3px solid #FCAF17 !important;
  border-bottom: 1px solid #DBE0EE !important;
  border-left:   none      !important;
  border-right:  none      !important;
  border-radius: 0         !important;
  padding:       24px 28px !important;
  margin-top:    32px      !important;
  margin-bottom: 0         !important;
  display:       flex      !important;
  flex-wrap:     wrap      !important;
  gap:           0 40px    !important;
  align-items:   flex-start !important;
}

#tribe-events-content .tribe-events-meta-group {
  flex:      1 1 220px !important;
  min-width: 180px     !important;
}

#tribe-events-content .tribe-events-single-section-title {
  font-family:    'DM Sans', Lato, sans-serif !important;
  font-size:      10px      !important;
  font-weight:    800       !important;
  letter-spacing: .16em     !important;
  text-transform: uppercase !important;
  color:          #D98429   !important;
  margin-top:     0         !important;
  margin-bottom:  12px      !important;
  padding-bottom: 8px       !important;
  border-bottom:  2px solid #DBE0EE !important;
}

#tribe-events-content .tribe-events-meta-list {
  list-style: none !important;
  padding:    0    !important;
  margin:     0    !important;
}

#tribe-events-content .tribe-events-meta-list li,
#tribe-events-content .tribe-events-meta-item {
  font-family:      'DM Sans', Lato, sans-serif !important;
  font-size:        14px     !important;
  line-height:      1.5      !important;
  color:            #1C1C1C  !important;
  padding:          7px 0    !important;
  border-bottom:    1px solid #E8E0D4 !important;
  list-style:       none     !important;
  background-image: none     !important;
  display:          flex     !important;
  align-items:      baseline !important;
  gap:              10px     !important;
  margin:           0        !important;
}

#tribe-events-content .tribe-events-meta-list li:last-child,
#tribe-events-content .tribe-events-meta-item:last-child {
  border-bottom: none !important;
}

#tribe-events-content .tribe-events-meta-label {
  font-family: 'DM Sans', Lato, sans-serif !important;
  font-size:   13px   !important;
  font-weight: 700    !important;
  color:       #003D6E !important;
  min-width:   80px   !important;
  flex-shrink: 0      !important;
  white-space: nowrap !important;
}

#tribe-events-content .tribe-events-meta-value,
#tribe-events-content .tribe-events-abbr {
  font-family:     'DM Sans', Lato, sans-serif !important;
  font-size:       14px    !important;
  font-weight:     400     !important;
  color:           #1C1C1C !important;
  text-decoration: none    !important;
}

#tribe-events-content .tribe-events-event-categories a {
  font-family:     'DM Sans', Lato, sans-serif !important;
  font-size:       13px    !important;
  font-weight:     600     !important;
  color:           #005596 !important;
  text-decoration: none    !important;
  transition:      color .22s ease !important;
}

#tribe-events-content .tribe-events-event-categories a:hover {
  color: #D98429 !important;
}

#tribe-events-content .tribe-venue {
  font-family:      'DM Sans', Lato, sans-serif !important;
  font-size:        14px    !important;
  font-weight:      500     !important;
  color:            #1C1C1C !important;
  list-style:       none    !important;
  background-image: none    !important;
  padding:          7px 0   !important;
  border-bottom:    none    !important;
  margin:           0       !important;
}

#tribe-events-content .tribe-venue a,
#tribe-events-content .tribe-venue-location a {
  color:                 #005596   !important;
  text-decoration:       underline !important;
  text-underline-offset: 2px       !important;
  transition:            color .22s ease !important;
}

#tribe-events-content .tribe-venue a:hover,
#tribe-events-content .tribe-venue-location a:hover {
  color: #D98429 !important;
}


/* =============================================================================
   16. ACCESSIBILITY – Screen-reader-only utility
============================================================================= */
.tribe-common-a11y-visual-hide {
  position:    absolute !important;
  width:       1px      !important;
  height:      1px      !important;
  overflow:    hidden   !important;
  clip:        rect(0, 0, 0, 0) !important;
  white-space: nowrap   !important;
}

/* =============================================================================
   17. MOBILE FIXES
============================================================================= */

/* ── A. Restore event description visibility on mobile ───────────────────── */
/* The plugin hides .tribe-events-calendar-list__event-description with the
   .tribe-common-a11y-hidden class at small breakpoints. Override that here. */
@media (max-width: 767px) {
  .tribe-events .tribe-events-calendar-list__event-description.tribe-common-a11y-hidden,
  .tribe-events .tribe-events-calendar-list__event-description {
    position:    static  !important;
    width:       auto    !important;
    height:      auto    !important;
    overflow:    hidden  !important;
    clip:        auto    !important;
    white-space: normal  !important;
    display:     -webkit-box !important;
    -webkit-line-clamp: 5   !important;
    -webkit-box-orient: vertical !important;
    text-overflow: ellipsis !important;
    font-family: 'DM Sans', Lato, sans-serif !important;
    font-size:   14px    !important;
    line-height: 1.7     !important;
    color:       #5A5A5A !important;
    margin-top:  8px     !important;
  }

  /* Also un-hide the description paragraph inside */
  .tribe-events .tribe-events-calendar-list__event-description p {
    display:            -webkit-box !important;
    -webkit-line-clamp: 5           !important;
    -webkit-box-orient: vertical    !important;
    overflow:           hidden      !important;
    text-overflow:      ellipsis    !important;
    white-space:        normal      !important;
    font-size:          14px        !important;
    line-height:        1.7         !important;
    color:              #5A5A5A     !important;
  }
}

/* ── B. Hide the top-bar (date range + nav) on mobile ───────────────────── */
/* On desktop the .tribe-common--breakpoint-medium class hides it; on mobile
   that class is absent so we hide it directly with a media query instead.   */
@media (max-width: 767px) {
  .tribe-events .tribe-events-c-top-bar {
    display: none !important;
  }
}


/* =============================================================================
   18. LATEST PAST EVENTS SECTION
   Pixel-perfect mirror of the upcoming events list (sections 5–7).
   The plugin uses tribe-events-calendar-latest-past__* class variants that
   are parallel to the main list classes — every rule here maps 1-to-1.
============================================================================= */

/* ── Section wrapper – separated from upcoming with a gold-ruled top ─────── */
.tribe-events .tribe-events-calendar-latest-past {
  margin-top:  48px !important;
  padding-top: 0    !important;
}

/* ── "Latest Past Events" heading – identical to month-separator style ───── */
.tribe-events .tribe-events-calendar-latest-past__heading {
  font-family:    'DM Serif Display', Georgia, serif !important;
  font-size:      22px    !important;
  font-weight:    400     !important;
  color:          #003D6E !important;
  letter-spacing: .01em   !important;
  border-bottom:  3px solid #FCAF17 !important;
  padding-bottom: 6px     !important;
  margin-top:     0       !important;
  margin-bottom:  20px    !important;
  display:        block   !important;
}

/* ── Event row – same spacing / hover shadow as upcoming cards ───────────── */
.tribe-events .tribe-events-calendar-latest-past__event-row,
.tribe-events .tribe-events-calendar-latest-past .tribe-events-calendar-list__event-row {
  transition:    box-shadow .22s ease !important;
  border-radius: 6px    !important;
  padding:       12px 0 !important;
}

.tribe-events .tribe-events-calendar-latest-past__event-row:hover,
.tribe-events .tribe-events-calendar-latest-past .tribe-events-calendar-list__event-row:hover {
  box-shadow: 0 8px 28px rgba(0, 85, 150, .16) !important;
}

/* ── Date tag – matches section 6 exactly ───────────────────────────────── */
.tribe-events .tribe-events-calendar-latest-past__event-date-tag {
  border-right:  3px solid #DBE0EE !important;
  padding-right: 16px !important;
}

/* Month abbreviation */
.tribe-events .tribe-events-calendar-latest-past__event-date-tag-month {
  font-family:    'DM Sans', Lato, sans-serif !important;
  font-size:      13px      !important;
  font-weight:    700       !important;
  letter-spacing: .12em     !important;
  text-transform: uppercase !important;
  color:          #5A5A5A   !important;
  line-height:    1.2       !important;
  display:        block     !important;
}

/* Day number */
.tribe-events .tribe-events-calendar-latest-past__event-date-tag-daynum {
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size:   42px    !important;
  font-weight: 400     !important;
  color:       #003D6E !important;
  line-height: 1       !important;
  display:     block   !important;
}

/* Year */
.tribe-events .tribe-events-calendar-latest-past__event-date-tag-year {
  font-family:    'DM Sans', Lato, sans-serif !important;
  font-size:      12px    !important;
  font-weight:    500     !important;
  color:          #5A5A5A !important;
  display:        block   !important;
  margin-top:     2px     !important;
}

/* ── Featured image – same size as upcoming ─────────────────────────────── */
.tribe-events .tribe-events-calendar-latest-past__event-featured-image,
img.tribe-events-calendar-latest-past__event-featured-image {
  width:           353px  !important;
  height:          369px  !important;
  object-fit:      cover  !important;
  object-position: center !important;
  border-radius:   4px    !important;
  display:         block  !important;
}

/* ── Event title link – identical to upcoming section 7 ─────────────────── */
.tribe-events .tribe-events-calendar-latest-past__event-title {
  font-family: 'DM Serif Display', Georgia, serif !important;
}

.tribe-events .tribe-events-calendar-latest-past__event-title-link,
.tribe-events .tribe-events-calendar-latest-past__event-title-link:visited {
  font-family:     'DM Serif Display', Georgia, serif !important;
  font-size:       22px    !important;
  font-weight:     400     !important;
  line-height:     1.3     !important;
  color:           #003D6E !important;
  text-decoration: none    !important;
  transition:      color .22s ease !important;
}

.tribe-events .tribe-events-calendar-latest-past__event-title-link:hover {
  color: #D98429 !important;
}

/* ── Date / time – same blue as upcoming ────────────────────────────────── */
.tribe-events .tribe-events-calendar-latest-past__event-datetime-wrapper,
.tribe-events .tribe-events-calendar-latest-past__event-datetime {
  font-family: 'DM Sans', Lato, sans-serif !important;
  font-size:   14px    !important;
  font-weight: 500     !important;
  color:       #005596 !important;
}

/* Venue line */
.tribe-events .tribe-events-calendar-latest-past__event-venue-title {
  font-family: 'DM Sans', Lato, sans-serif !important;
  font-size:   13px    !important;
  font-weight: 500     !important;
  color:       #5A5A5A !important;
  display:     block   !important;
  margin-top:  4px     !important;
}

/* ── Description – restore from a11y-hidden, clamp to 4 lines ───────────── */
.tribe-events .tribe-events-calendar-latest-past__event-description {
  position:    static  !important;
  width:       auto    !important;
  height:      auto    !important;
  clip:        auto    !important;
  white-space: normal  !important;
  overflow:    hidden  !important;
  font-family:        'DM Sans', Lato, sans-serif !important;
  font-size:          14px    !important;
  line-height:        1.7     !important;
  color:              #5A5A5A !important;
  display:            -webkit-box !important;
  -webkit-line-clamp: 4       !important;
  -webkit-box-orient: vertical !important;
  text-overflow:      ellipsis !important;
  margin-top:         8px     !important;
}

.tribe-events .tribe-events-calendar-latest-past__event-description p {
  font-family:        'DM Sans', Lato, sans-serif !important;
  font-size:          14px    !important;
  line-height:        1.7     !important;
  color:              #5A5A5A !important;
  display:            -webkit-box !important;
  -webkit-line-clamp: 4       !important;
  -webkit-box-orient: vertical !important;
  overflow:           hidden  !important;
  text-overflow:      ellipsis !important;
  white-space:        normal  !important;
}

/* ── Mobile ──────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .tribe-events .tribe-events-calendar-latest-past {
    margin-top: 32px !important;
  }

  .tribe-events .tribe-events-calendar-latest-past__heading {
    font-size:     18px !important;
    margin-bottom: 16px !important;
  }

  .tribe-events .tribe-events-calendar-latest-past__event-date-tag-daynum {
    font-size: 32px !important;
  }

  .tribe-events .tribe-events-calendar-latest-past__event-featured-image,
  img.tribe-events-calendar-latest-past__event-featured-image {
    width:  100%   !important;
    height: 200px  !important;
  }

  .tribe-events .tribe-events-calendar-latest-past__event-title-link {
    font-size: 18px !important;
  }

  .tribe-events .tribe-events-calendar-latest-past__event-description,
  .tribe-events .tribe-events-calendar-latest-past__event-description p {
    -webkit-line-clamp: 3 !important;
  }
}