/**
 * PLGC Events Calendar & Tickets — v11 (production)
 * WCAG 2.1 AA compliant. @since 1.7.9
 */

/* === 1. TOKENS === */
:root,.tribe-common,.tribe-events,.tribe-tickets,#tribe-events,#tribe-events-content{
  --tec-color-accent-primary:#567915;--tec-color-accent-primary-hover:#2D5032;
  --tec-color-accent-primary-active:#233C26;--tec-color-accent-secondary:#FFAE40;
  --tec-color-link-primary:#567915;--tec-color-link-accent:#567915;
  --tribe-color-accent:#567915;--tribe-color-accent-background:#E5F0D0;
  --tribe-color-accent-hover:#2D5032;--tribe-color-accent-text-color:#FFF;
  --tribe-color-secondary:#567915;--tribe-color-secondary-background:#E5F0D0;
  --tribe-border-color:#E7E4E4;--tribe-color-divider-main:#E7E4E4;
  --tribe-color-text:#000;--tribe-color-base-text:#000;--tribe-color-base-background:#FFF;
  --tribe-font-family-sans-serif:'Open Sans',sans-serif;
  --tribe-font-family-serif:'Libre Baskerville',Georgia,serif;
  --tribe-color-button-background:#FFAE40;--tribe-color-button-text:#000;
  --tribe-color-button-background-hover:#FDBC69;--tribe-color-button-border-color:#FFAE40;
  --g:#567915;--gd:#2D5032;--gp:#233C26;--gl:#E5F0D0;--gm:#8C9B5A;
  --y:#FFAE40;--yl:#FDBC69;--fl:#F2F2F2;--bd:#E7E4E4;
  --bk:#000;--wh:#FFF;
  --ff:'Open Sans',sans-serif;--fh:'Libre Baskerville',Georgia,serif;
  --focus:0 0 0 3px rgba(86,121,21,.4);
}
.tribe-common-c-svgicon__svg-fill{fill:currentColor}
.tribe-common-c-loader .tribe-common-c-svgicon--dot{fill:var(--g)!important}

/* === 2. BUTTONS === */
.tribe-common-c-btn,a.tribe-common-c-btn,button.tribe-common-c-btn{
  background:var(--y)!important;color:var(--bk)!important;border:none!important;
  border-radius:6.25rem!important;font-family:var(--ff)!important;font-weight:600!important;
  font-size:.9375rem!important;padding:.75rem 1.5rem!important;min-height:2.75rem!important;
  min-width:44px!important;cursor:pointer!important;text-decoration:none!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  transition:background .15s ease!important;
}
.tribe-common-c-btn:hover,a.tribe-common-c-btn:hover{background:var(--yl)!important;text-decoration:underline!important}
.tribe-common-c-btn:focus-visible{outline:none!important;box-shadow:var(--focus)!important}

/* === 3. TYPOGRAPHY === */
.tribe-common,.tribe-events{font-family:var(--ff);color:var(--bk)}
.tribe-events-content a,.tribe-events-single .tribe-events-content a{
  color:var(--g)!important;border-bottom:1px solid var(--g)!important;text-decoration:none!important;
}
.tribe-events-content a:hover{color:var(--gd)!important;border-bottom-color:var(--gd)!important}
.tribe-events abbr,#tribe-events-content abbr{text-decoration:none!important;cursor:default}

/* === 4. EVENTS BAR === */
.tribe-events-header{margin-bottom:.75rem}
.tribe-events-c-events-bar{background:var(--wh);border:1px solid var(--bd);border-radius:0;padding:.5rem;gap:.5rem;align-items:center}
.tribe-events-c-search__input-control--location{display:none!important}
.tribe-common-form-control-text__input{
  font-family:var(--ff);font-size:1rem;border:1px solid var(--bd);border-radius:0;
  padding:.625rem .75rem;min-height:2.75rem;color:var(--bk);background:var(--wh);
}
.tribe-common-form-control-text__input:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(86,121,21,.25);outline:none}
.tribe-events-c-events-bar__search-button{
  color:var(--g);min-width:44px;min-height:44px;display:inline-flex;align-items:center;
  justify-content:center;border-radius:0;background:none;border:none;cursor:pointer;
}
.tribe-events-c-events-bar__search-button:hover{background:var(--gl)}
.tribe-events-c-events-bar__search-button:focus-visible{outline:none;box-shadow:var(--focus)}

/* === 5. VIEW SELECTOR TABS — grey active, solid line, NO border-radius === */
.tribe-events-c-view-selector--labels .tribe-events-c-view-selector__content{
  position:static!important;background:transparent!important;border:none!important;
  box-shadow:none!important;padding:0!important;min-width:0!important;display:block!important;
}
.tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list{
  display:flex!important;gap:0;list-style:none;padding:0;margin:0;align-items:stretch;
}
.tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item{border-radius:0!important;transition:background .15s ease;position:relative}
.tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item:hover{background:var(--fl)}
/* Link — force border-radius:0 to kill the rounded bottom line */
.tribe-events .tribe-events-c-view-selector__list-item-link,
.tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item-link{
  font-family:var(--ff)!important;font-size:.9375rem!important;font-weight:600!important;color:var(--bk)!important;
  padding:.5rem 1rem!important;min-height:2.75rem!important;min-width:44px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  text-decoration:none!important;background:transparent!important;
  border:none!important;border-bottom:2px solid transparent!important;
  border-radius:0!important;position:relative;
}
.tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item-link:hover{color:var(--gd)!important}
/* Active tab */
.tribe-events .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item--active,
.tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item--active{background:var(--fl)!important;border-radius:0!important}
.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link,
.tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link{
  color:var(--bk)!important;border-bottom:2px solid var(--bk)!important;border-radius:0!important;
}
/* Kill ALL TEC pseudo-element pill indicators */
.tribe-events-c-view-selector__list-item-link::after,
.tribe-events-c-view-selector__list-item-link::before,
.tribe-events-c-view-selector__list-item::after,
.tribe-events-c-view-selector__list-item::before,
.tribe-events .tribe-events-c-view-selector__list-item-link::after,
.tribe-events .tribe-events-c-view-selector__list-item-link::before{
  display:none!important;content:''!important;width:0!important;height:0!important;background:none!important;border:none!important;opacity:0!important;
}
.tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item-link:focus-visible{outline:none;box-shadow:var(--focus);background:var(--fl)}
.tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item-icon{display:none}

/* === 6. TOP BAR + SUBSCRIBE INLINE === */
.tribe-events-c-top-bar{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;margin-bottom:.75rem;flex-wrap:wrap}
.tribe-events-c-top-bar__datepicker-button{
  font-family:var(--fh);font-weight:400;font-size:1.5rem;color:var(--bk);
  background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:.375rem;min-height:44px;
}
.tribe-events-c-top-bar__datepicker-button:hover{color:var(--g)}
.tribe-events-c-top-bar__datepicker-button:focus-visible{outline:none;box-shadow:var(--focus)}
.tribe-events-c-top-bar__today-button{color:var(--g)!important;border-color:var(--g)!important}
.tribe-events-c-top-bar__today-button:hover{background-color:var(--gl)!important}
.tribe-events-c-top-bar__today-button:focus-visible{outline:none!important;box-shadow:var(--focus)!important}
.tribe-events-c-top-bar__nav-link{
  color:var(--g);border:1px solid var(--bd);border-radius:50%;width:2.75rem;height:2.75rem;
  min-width:2.75rem;display:inline-flex;align-items:center;justify-content:center;
  background:none;cursor:pointer;transition:background .15s ease,border-color .15s ease;
}
.tribe-events-c-top-bar__nav-link:hover:not([disabled]){background:var(--gl);border-color:var(--g)}
.tribe-events-c-top-bar__nav-link[disabled]{opacity:.3;cursor:not-allowed}
.tribe-events-c-top-bar__nav-link:focus-visible{outline:none;box-shadow:var(--focus);border-color:var(--g)}
.tribe-events-c-top-bar__nav-link-icon-svg path{fill:currentColor}
.tribe-events-c-top-bar__nav-list{display:flex;gap:.25rem;list-style:none;padding:0;margin:0;align-items:center}
.tribe-events-c-subscribe-dropdown{margin-left:auto!important}

/* === 7. LIST VIEW — 3-COL CARD GRID === */
.tribe-events-calendar-list{list-style:none;padding:0;margin:0}
.tribe-events-calendar-list__month-separator{list-style:none;padding:0;margin:1rem 0 .75rem}
.tribe-events-calendar-list__month-separator:first-child{margin-top:0}
.tribe-events-calendar-list__month-separator h3{margin:0;padding:0;border:none}
.tribe-events-calendar-list__month-separator-text{
  font-family:var(--ff)!important;font-weight:700!important;font-size:.6875rem!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--g)!important;
  display:flex!important;align-items:center;gap:.625rem;padding-bottom:.5rem;border-bottom:2px solid var(--gl);
}
.tribe-events-calendar-list__month-separator-text::before{content:'';display:inline-block;width:1.25rem;height:2px;background:var(--g);flex-shrink:0}
/* Grid */
.tribe-events .tribe-events-calendar-list,.tribe-events-calendar-list{
  display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:1.25rem!important;align-items:start!important;
}
.tribe-events-calendar-list__month-separator{grid-column:1/-1}
/* Kill TEC row margins */
.tribe-events-calendar-list__event-row,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row,
.tribe-common--breakpoint-medium .tribe-events-calendar-list__event-row,
.tribe-events .tribe-events-calendar-list__event-row{
  list-style:none!important;margin:0!important;padding:0!important;display:contents!important;
}
.tribe-events-calendar-list__event-date-tag{display:none!important}
.tribe-events-calendar-list__event-wrapper,
.tribe-common--breakpoint-medium .tribe-events-calendar-list__event-wrapper{
  display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;
}
/* Card */
.tribe-events-calendar-list__event,
.tribe-common--breakpoint-medium .tribe-events-calendar-list__event{
  background:var(--wh)!important;border:1px solid var(--bd)!important;overflow:hidden!important;
  position:relative!important;height:100%!important;display:flex!important;flex-direction:column!important;
  border-radius:0!important;transition:box-shadow .2s ease,border-color .2s ease;margin:0!important;padding:0!important;
}
.tribe-events-calendar-list__event.tribe-common-g-row,
.tribe-events-calendar-list__event.tribe-common-g-row--gutters{
  display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;margin:0!important;
}
.tribe-events-calendar-list__event .tribe-common-g-col{flex:none!important;width:100%!important;max-width:100%!important;padding:0!important;margin:0!important}
.tribe-events-calendar-list__event:hover{box-shadow:0 2px 8px rgba(0,0,0,.06);border-color:var(--gm)!important}
.tribe-events-calendar-list__event-title-link::after{content:'';position:absolute;inset:0;z-index:1}
/* Image */
.tribe-events-calendar-list__event-featured-image-wrapper,
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper{
  width:100%!important;overflow:hidden!important;background:var(--fl)!important;flex-shrink:0!important;
  aspect-ratio:unset!important;border-radius:0!important;margin:0!important;padding:0!important;
}
.tribe-events-calendar-list__event-featured-image,
.tribe-events .tribe-events-calendar-list__event-featured-image,
.tribe-events-calendar-list__event-featured-image-wrapper img{
  display:block!important;width:100%!important;height:auto!important;transition:transform .3s ease;border-radius:0!important;margin:0!important;
}
.tribe-events-calendar-list__event:hover .tribe-events-calendar-list__event-featured-image{transform:scale(1.02)}
/* Card details — padded */
.tribe-events-calendar-list__event-details,
.tribe-events-calendar-list__event-details.tribe-common-g-col,
.tribe-common--breakpoint-medium .tribe-events-calendar-list__event-details,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-details{
  padding:1.25rem 1rem!important;display:flex!important;flex-direction:column!important;
  gap:.5rem!important;flex:1!important;background:var(--fl)!important;text-align:center!important;margin:0!important;
}
.tribe-events-calendar-list__event-header{display:flex;flex-direction:column;gap:.375rem;align-items:center}
.tribe-events-calendar-list__event-datetime-wrapper{margin:0!important;padding:0!important;order:-1}
.tribe-events-calendar-list__event-datetime,.tribe-events-calendar-list__event-datetime *{
  font-family:var(--ff)!important;font-size:.8125rem!important;font-weight:700!important;color:var(--g)!important;line-height:1.3!important;
}
.tribe-events-calendar-list__event-title{font-family:var(--ff)!important;font-size:1rem!important;font-weight:600!important;line-height:1.35!important;margin:0!important;color:var(--bk)!important}
.tribe-events-calendar-list__event-title-link{color:var(--bk)!important;text-decoration:none!important}
.tribe-events-calendar-list__event-title-link:hover{color:var(--g)!important}
.tribe-events-calendar-list__event-title-link:focus-visible{outline:none;text-decoration:underline!important;color:var(--g)!important}
/* Hide excerpts, series, venue */
.tribe-events-calendar-list__event-description,.tribe-events .tribe-events-calendar-list__event-description{
  display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;
}
.tribe-events-calendar-list .tribe-events-calendar-series-archive__container,.tribe-events-calendar-list .tec_series_marker__title{display:none!important}
.tribe-events-calendar-list__event-venue{display:none!important}
/* Card action link */
.plgc-card-action{font-family:var(--ff);font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:none;color:var(--bk);text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.25rem;margin-top:auto;padding-top:.375rem;transition:color .15s ease;position:relative;z-index:2}
.plgc-card-action:hover{color:var(--g);text-decoration:underline}
.plgc-card-action:focus-visible{outline:none;box-shadow:var(--focus);border-radius:.125rem}
.plgc-card-action--tickets{color:var(--g)}

/* === 8. LIST PAGINATION — yellow pills === */
.tribe-events-c-nav{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--bd)}
.tribe-events-c-nav__list{list-style:none;padding:0;margin:0;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;justify-content:center;gap:1rem}
.tribe-events-c-nav__list-item{display:inline-flex!important}
.tribe-events-c-nav__prev,.tribe-events-c-nav__next{
  font-family:var(--ff)!important;font-weight:600!important;font-size:.9375rem!important;
  color:var(--bk)!important;background:var(--y)!important;border:none!important;
  border-radius:6.25rem!important;padding:.75rem 1.75rem!important;
  min-height:2.75rem;min-width:44px;cursor:pointer;display:inline-flex!important;align-items:center;gap:.375rem;
  transition:background .15s ease!important;text-decoration:none!important;
}
.tribe-events-c-nav__prev:hover:not([disabled]),.tribe-events-c-nav__next:hover:not([disabled]){background:var(--yl)!important;text-decoration:underline!important}
.tribe-events-c-nav__prev[disabled],.tribe-events-c-nav__next[disabled]{opacity:.35;cursor:not-allowed;background:var(--bd)!important;color:#888!important}
.tribe-events-c-nav__prev:focus-visible,.tribe-events-c-nav__next:focus-visible{outline:none;box-shadow:var(--focus)}
.tribe-events-c-nav__prev-icon-svg path,.tribe-events-c-nav__next-icon-svg path{fill:var(--bk)!important}
.tribe-events-c-nav__today{font-family:var(--ff);font-size:.875rem;font-weight:600;color:var(--bk);text-decoration:underline;min-height:44px;display:inline-flex;align-items:center;padding:.375rem .75rem;background:none;border:none;cursor:pointer}
.tribe-events-c-nav__today:hover{color:var(--g)}
.tribe-events-c-nav__today:focus-visible{outline:none;box-shadow:var(--focus)}

/* === 9. SUBSCRIBE TO CALENDAR — dropdown position fix === */
.tribe-events-c-subscribe-dropdown__container{position:relative}
.tribe-common .tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border,
.tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border{
  border:1px solid var(--bd)!important;border-radius:0!important;background:var(--wh)!important;
  display:inline-flex!important;align-items:center!important;gap:.375rem!important;
  padding:0 .75rem 0 .875rem!important;min-height:2.75rem!important;
}
.tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border:hover{border-color:var(--g)!important}
/* Focus — outline on the BUTTON CONTAINER only, not the text */
.tribe-events-c-subscribe-dropdown .tribe-common-c-btn-border:focus-visible{
  outline:3px solid rgba(86,121,21,.5)!important;outline-offset:2px!important;box-shadow:none!important;
}
.tribe-events-c-subscribe-dropdown__button-text,
button.tribe-events-c-subscribe-dropdown__button-text{
  background:none!important;color:var(--bk)!important;border:none!important;
  font-family:var(--ff)!important;font-size:.875rem!important;font-weight:600!important;
  padding:0!important;cursor:pointer;display:inline;white-space:nowrap;outline:none!important;
}
/* Remove focus from text element — parent button handles it */
.tribe-events-c-subscribe-dropdown__button-text:focus,.tribe-events-c-subscribe-dropdown__button-text:focus-visible{
  outline:none!important;box-shadow:none!important;
}
.tribe-events-c-subscribe-dropdown__export-icon{color:var(--g);width:1rem;height:1rem;flex-shrink:0}
.tribe-events-c-subscribe-dropdown__button-icon .tribe-common-c-svgicon__svg-fill{fill:var(--bk)!important}
/* Dropdown panel — absolute so it overlays, container is position:relative */
.tribe-events-c-subscribe-dropdown__content{
  background:var(--wh);border:1px solid var(--bd);box-shadow:0 2px 8px rgba(0,0,0,.08);
  padding:0;min-width:12rem;z-index:200;overflow:hidden;
  position:absolute!important;left:auto;right:0;margin-top:.125rem;
}
.tribe-events-c-subscribe-dropdown__list{list-style:none;padding:0;margin:0}
.tribe-events-c-subscribe-dropdown__list-item-link,
.tribe-events .tribe-events-c-subscribe-dropdown__list-item-link{
  font-family:var(--ff);font-size:.875rem;color:var(--bk)!important;text-decoration:none!important;
  padding:.5rem 1rem!important;display:flex!important;align-items:center!important;
  min-height:2.75rem;transition:background .15s ease;background:transparent!important;
}
.tribe-events-c-subscribe-dropdown__list-item-link:hover{background:var(--fl)!important}
.tribe-events-c-subscribe-dropdown__list-item-link:focus-visible{outline:none;box-shadow:inset 0 0 0 3px rgba(86,121,21,.4)}

/* === 10. DATEPICKER === */
.tribe-events .datepicker .day.active,.tribe-events .datepicker .month.active,.tribe-events .datepicker .year.active{background:var(--g)!important;color:var(--wh)!important;font-weight:700!important}

/* === 11. MONTH VIEW === */
.tribe-events-calendar-month__header-column{font-family:var(--ff);font-size:.75rem;font-weight:600;color:var(--g);padding:.75rem .5rem;text-align:center;border-bottom:2px solid var(--gl)}
.tribe-events-calendar-month__calendar-event-col{border:1px solid var(--bd);min-height:5.5rem;padding:.25rem;background:var(--wh);vertical-align:top;position:relative}
.tribe-events-calendar-month__calendar-event-col--today{background:#F8FBF2}
.tribe-events-calendar-month__calendar-event-col--today .tribe-events-calendar-month__calendar-event-date{background:var(--g);color:var(--wh);border-radius:50%;width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center}
.tribe-events-calendar-month__calendar-event-date{font-family:var(--ff);font-size:.875rem;font-weight:600;color:var(--bk);padding:.25rem;display:inline-block;line-height:1}
.tribe-events-calendar-month__calendar-event-col--other-month{background:#F9F9F9}
.tribe-events-calendar-month__calendar-event-col--other-month .tribe-events-calendar-month__calendar-event-date{color:#BBB}
.tribe-events-calendar-month__calendar-event-link,a.tribe-events-calendar-month__calendar-event-link{display:block;font-family:var(--ff);font-size:.75rem;font-weight:600;color:var(--wh)!important;background:var(--g)!important;border-radius:.125rem;padding:.125rem .375rem;margin:.125rem 0;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5;min-height:1.5rem}
.tribe-events-calendar-month__calendar-event-link:hover{background:var(--gd)!important}
.tribe-events-calendar-month__calendar-event-link:focus-visible{outline:none;box-shadow:var(--focus)}
.tribe-events-calendar-month__multiday-event-bar-inner,.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner{background:var(--g)!important}
.tribe-events-calendar-month__multiday-event-bar-title{color:var(--wh)!important}
.tribe-events-calendar-series-archive__icon rect,.tribe-events-calendar-series-archive__icon path,.tribe-common-c-svgicon--series rect,.tribe-common-c-svgicon--series path{stroke:var(--g)!important;fill:none!important}
.tribe-events-calendar-month__calendar-event-col-count-button{font-family:var(--ff);font-size:.75rem;font-weight:600;color:var(--g)!important;background:none;border:none;cursor:pointer;text-decoration:underline;min-height:44px;display:flex;align-items:center}
.tribe-events-calendar-month__calendar-event-tooltip{background:var(--wh);border:1px solid var(--bd);box-shadow:none!important;padding:1rem;max-width:18rem;z-index:100}
.tribe-events-calendar-month__calendar-event-tooltip-featured-image img{width:100%;height:9rem;object-fit:cover;object-position:center 20%;display:block;margin-bottom:.625rem}
.tribe-events-calendar-month__calendar-event-tooltip-title{font-family:var(--fh);font-size:1rem;font-weight:400;color:var(--bk);margin:0 0 .25rem;line-height:1.3}
.tribe-events-calendar-month__calendar-event-tooltip-title a{color:var(--bk);text-decoration:none}
.tribe-events-calendar-month__calendar-event-tooltip-title a:hover{color:var(--g)}
.tribe-events-calendar-month__calendar-event-tooltip-date{font-family:var(--ff);font-size:.8125rem;font-weight:600;color:var(--g);margin:0 0 .5rem}

/* === 12. SINGLE EVENT === */
#tribe-events-content.tribe-events-single{max-width:72rem;margin:0 auto;padding:0 1.5rem 3rem}
.tribe-events-back{margin-bottom:.5rem!important}
.tribe-events-back a{font-family:var(--ff);font-size:.875rem;font-weight:600;color:var(--g);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;min-height:44px;padding:.375rem 0}
.tribe-events-back a:hover{color:var(--gd);text-decoration:underline}
.tribe-events-back a:focus-visible{outline:none;box-shadow:var(--focus)}
.tribe-events-single .tribe-events-event-series,.plgc-single-event .tribe-events-event-series,.tribe-events-single .tribe-events-series-label{display:none!important}
.plgc-event-hero{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;align-items:start}
.plgc-event-hero__image{overflow:hidden;background:var(--fl)}
.plgc-event-hero__image img{display:block;width:100%;height:auto}
.plgc-event-hero__details{display:flex;flex-direction:column;gap:.625rem;padding-top:.25rem}
.plgc-event-hero .tribe-events-single-event-title,.tribe-events-single-event-title{font-family:var(--fh)!important;font-size:2rem!important;font-weight:400!important;line-height:1.25!important;color:var(--bk)!important;margin:0!important;padding:0!important}
.plgc-event-hero__schedule,.plgc-event-hero .tribe-events-schedule,.tribe-events-schedule{font-family:var(--ff)!important;font-size:1rem!important;font-weight:600!important;color:var(--g)!important;margin:0!important;padding:0!important;border:none!important;display:block!important}
.tribe-events-schedule h2{display:none!important}
.plgc-event-hero__venue{font-family:var(--ff);font-size:.9375rem;color:var(--bk);line-height:1.4;display:flex;align-items:center;gap:.375rem}
.plgc-event-hero__venue-svg{flex-shrink:0}
.plgc-event-hero__actions{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:flex-start}
/* Event CTA buttons — yellow pill, matches .plgc-btn brand token */
.plgc-event-cta{display:inline-flex;align-items:center;justify-content:center;background:#FFAE40;color:#000;font-family:var(--ff);font-size:.875rem;font-weight:600;line-height:1;text-decoration:none;border-radius:6.25rem;padding:.375rem 1.125rem;min-height:44px;min-width:44px;border:2px solid transparent;transition:background .2s ease;white-space:nowrap}
.plgc-event-cta:hover,.plgc-event-cta:focus-visible{background:#FDBC69;color:#000;text-decoration:underline}
.plgc-event-cta:focus-visible{outline:3px solid #233C26;outline-offset:3px}
/* TEC Add to Calendar — left-align within the hero details column, spacing below */
.plgc-event-hero__details .tribe-events-c-subscribe-dropdown__container,.plgc-event-hero__details .tribe-events-cal-links{text-align:left;display:flex;justify-content:flex-start;margin-top:.25rem;margin-bottom:.25rem}
/* Add to Calendar — single focus ring on outer wrapper only (WCAG 2.4.7) */
.tribe-events-c-subscribe-dropdown__button{margin:0}
.tribe-events-c-subscribe-dropdown__button-text:focus{outline:none!important;box-shadow:none!important}
.tribe-events-c-subscribe-dropdown__button-text:focus-visible{outline:none!important;box-shadow:none!important}
.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button:focus-within{outline:3px solid #233C26!important;outline-offset:2px!important;border-radius:4px}
/* Dropdown — fix clipping. Ensure ALL ancestors allow overflow */
.tribe-events-c-subscribe-dropdown__container,.tribe-events-c-subscribe-dropdown{position:relative!important;overflow:visible!important}
.plgc-event-hero__details{overflow:visible!important}
.tribe-events-c-subscribe-dropdown__content{overflow:visible!important;max-height:none!important;position:absolute!important;z-index:100!important;top:100%!important;left:0!important;background:#fff;border:1px solid var(--bd);border-radius:4px;box-shadow:0 4px 16px rgba(0,0,0,.12);min-width:200px}
.tribe-events-c-subscribe-dropdown__list{list-style:none;padding:.5rem 0;margin:0}
.tribe-events-c-subscribe-dropdown__list-item-link{display:block;padding:.5rem 1rem;font-family:var(--ff);font-size:.875rem;color:var(--bk);text-decoration:none;transition:background .15s ease}
.tribe-events-c-subscribe-dropdown__list-item-link:hover{background:var(--fl);color:var(--g)}
.tribe-events-c-subscribe-dropdown__list-item-link:focus-visible{outline:2px solid #233C26;outline-offset:-2px}
.plgc-event-hero__details .tribe-events-single-event-description{font-family:var(--ff);font-size:.9375rem;line-height:1.8;color:var(--bk);margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--bd)}
.plgc-event-hero__details .tribe-tickets{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--bd)}
.tribe-events-event-image{margin-bottom:1.5rem;overflow:hidden;background:var(--fl)}
.tribe-events-event-image img{display:block;width:100%;height:auto}
.tribe-events-content [class*="font-feature-"],.tribe-events-content [class*="a_GcMg"],.tribe-events-content [class*="cvGsUA"],.tribe-events-content [class*="direction-ltr"],.tribe-events-content [class*="para-style"]{font-family:inherit!important;font-size:inherit!important;color:inherit!important;display:inline}
/* Hide TEC default meta */
.tribe-events-single-section.tribe-events-event-meta.primary,.tribe-events-single-section.tribe-events-event-meta.secondary{display:none!important}

/* === 12b. VENUE/ORGANIZER/MAP GRID === */
.plgc-meta-grid{background:var(--fl);padding:1.5rem;margin-bottom:1.5rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;align-items:start}
.plgc-meta-grid__title{font-family:var(--ff)!important;font-size:.875rem!important;font-weight:700!important;color:var(--bk)!important;margin:0 0 .75rem!important;padding-bottom:.5rem;border-bottom:1px solid var(--bd);line-height:1;text-transform:none!important;letter-spacing:normal!important}
.plgc-meta-grid__address{font-family:var(--ff);font-size:.9375rem;color:var(--bk);line-height:1.6;font-style:normal;margin:0 0 .5rem}
.plgc-meta-grid__map-link{font-family:var(--ff);font-size:.875rem;font-weight:600;color:var(--g)!important;text-decoration:underline!important;border-bottom:none!important;display:inline-flex;align-items:center;min-height:44px}
.plgc-meta-grid__map-link:hover{color:var(--gd)!important}
.plgc-meta-grid__map-link:focus-visible{outline:none;box-shadow:var(--focus)}
.plgc-meta-grid__field{margin-top:.5rem;font-family:var(--ff);font-size:.9375rem;color:var(--bk);line-height:1.6}
.plgc-meta-grid__field strong{font-weight:700}
.plgc-meta-grid__field a{color:var(--g)!important;text-decoration:underline!important;border-bottom:none!important;display:inline-flex;align-items:center;min-height:44px;transition:color .15s ease}
.plgc-meta-grid__field a:hover{color:var(--gd)!important}
.plgc-meta-grid__field a:focus-visible{outline:none;box-shadow:var(--focus)}
.plgc-meta-grid__org-name{font-family:var(--ff);font-size:.9375rem;color:var(--bk);line-height:1.6;display:block;margin-bottom:.25rem}
.plgc-meta-grid__map{min-width:0;overflow:hidden}
.plgc-meta-grid__map iframe{width:100%;height:100%;min-height:12rem;border:0;display:block}

/* Single event prev/next — TEC default styling, just brand the colors */
#tribe-events-footer{margin:1.5rem 0}
.tribe-events-sub-nav{list-style:none;padding:0;margin:0;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.tribe-events-nav-previous a,.tribe-events-nav-next a{
  font-family:var(--ff);font-size:.875rem;font-weight:600;color:var(--bk);
  display:inline-flex;align-items:center;gap:.375rem;min-height:44px;padding:.5rem 0;
  text-decoration:none;transition:color .15s ease;
}
.tribe-events-nav-previous a:hover,.tribe-events-nav-next a:hover{color:var(--g);text-decoration:underline}
.tribe-events-nav-previous a:focus-visible,.tribe-events-nav-next a:focus-visible{outline:none;box-shadow:var(--focus)}
/* Hide TEC's default document/calendar pseudo-element icons in prev/next nav */
.tribe-events-nav-previous img,.tribe-events-nav-next img,.tribe-events-nav-previous svg,.tribe-events-nav-next svg{display:none!important}
.tribe-events-sub-nav li::before,.tribe-events-sub-nav li::after,
.tribe-events-nav-previous::before,.tribe-events-nav-previous::after,
.tribe-events-nav-next::before,.tribe-events-nav-next::after,
.tribe-events-nav-previous a::before,.tribe-events-nav-previous a::after,
.tribe-events-nav-next a::before,.tribe-events-nav-next a::after{content:none!important;display:none!important;background:none!important}
.tribe-events-meta-item:has(.tribe-events-event-categories-label){display:none!important}

/* === 13. RELATED EVENTS — rendered explicitly in full-width section below article === */
/* Hide any TEC auto-rendered related events inside the article (duplicates of our explicit section) */
.plgc-single-event .tribe-related-events,
.plgc-single-event .tribe-events-related-events-title,
article.plgc-single-event .tribe-related-events-title:not(.plgc-related-events-full .tribe-events-related-events-title){display:none!important}

/* Full-width related events section */
.plgc-related-events-full{margin:1.5rem 0 2rem;padding-top:1.5rem;border-top:1px solid var(--bd)}
.plgc-related-events-full .tribe-events-related-events-title{
  font-family:var(--fh);font-size:1.5rem;font-weight:400;color:var(--bk);
  margin:0 0 1rem;padding:0;line-height:1.3;border:none;
}
.plgc-related-events-full .tribe-related-events{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.plgc-related-events-full .tribe-related-events>li{background:var(--fl);border:1px solid var(--bd);overflow:hidden;position:relative;transition:box-shadow .2s ease;display:flex;flex-direction:column;border-radius:4px}
.plgc-related-events-full .tribe-related-events>li:hover{box-shadow:0 2px 8px rgba(0,0,0,.06);border-color:var(--gm)}
/* Thumbnail — fixed aspect ratio, no bad crops */
.plgc-related-events-full .tribe-related-events-thumbnail{
  overflow:hidden!important;background:var(--fl)!important;margin:0!important;padding:0!important;width:100%!important;
  aspect-ratio:1/1;position:relative!important;
}
.plgc-related-events-full .plgc-related-thumb-link{
  display:block!important;width:100%!important;height:100%!important;
  background-size:cover!important;background-position:top center!important;background-repeat:no-repeat!important;
}
/* Hide any img that might still sneak in from caching */
.plgc-related-events-full .tribe-related-events-thumbnail img{display:none!important}
/* No hover transform — causes rendering bug with aspect-ratio containers */
/* Info block */
.plgc-related-events-full .tribe-related-event-info{
  padding:.75rem!important;background:var(--fl);flex:1;display:block!important;margin:0!important;
  font-family:var(--ff);font-size:.75rem;font-weight:600;color:var(--g);line-height:1.4;
}
.plgc-related-events-full .tribe-related-events-title{
  font-family:var(--ff)!important;font-size:.875rem!important;font-weight:600!important;line-height:1.35!important;
  margin:0 0 .25rem!important;border:none!important;padding:0!important;color:var(--bk)!important;text-transform:none!important;
  display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;
}
.plgc-related-events-full .tribe-related-events-title a{color:var(--bk)!important;text-decoration:none!important;border-bottom:none!important}
.plgc-related-events-full .tribe-related-events-title a::after{content:'';position:absolute;inset:0;z-index:1}
.plgc-related-events-full .tribe-related-events-title a:hover{color:var(--g)!important}
.plgc-related-events-full .tribe-related-events-title a:focus-visible{outline:3px solid var(--g);outline-offset:2px;border-radius:2px}
/* Date/time inline */
.plgc-related-events-full .tribe-event-date-start,.plgc-related-events-full .tribe-event-time{font-family:var(--ff);font-size:.75rem;font-weight:600;color:var(--g);line-height:1.4}
/* Mobile: 1 column */
@media(max-width:767px){
  .plgc-related-events-full .tribe-related-events{grid-template-columns:1fr}
}
/* Tablet: 2 columns */
@media(min-width:768px) and (max-width:1024px){
  .plgc-related-events-full .tribe-related-events{grid-template-columns:repeat(2,1fr)}
}

/* (Old unscoped related events rules removed — TEC's auto-rendered duplicates
   inside the article are hidden via display:none. All styling is now scoped
   under .plgc-related-events-full above.) */

/* === 14. EVENT TICKETS PLUS === */
.tribe-tickets{margin-top:1rem;padding-top:1rem;border-top:2px solid var(--gl)}
.tribe-tickets h2,.tribe-tickets__header-title{font-family:var(--fh);font-size:1.25rem;font-weight:400;color:var(--bk);margin:0 0 1rem;line-height:1.3}
.tribe-ticket,.tribe-tickets__item{border:1px solid var(--bd);padding:1rem 1.25rem;margin-bottom:.75rem;background:var(--wh)}
.tribe-ticket:hover,.tribe-tickets__item:hover{border-color:var(--gm)}
.tribe-tickets__item-title,.tribe-ticket__title{font-family:var(--ff);font-weight:700;font-size:1rem;color:var(--bk);margin:0 0 .25rem}
.tribe-tickets__item-price,.tribe-ticket__price{font-family:var(--ff);font-weight:700;font-size:1.125rem;color:var(--bk)}
.tribe-tickets__item-quantity-input,input[name*="quantity_ticket"]{font-family:var(--ff);font-size:1rem;border:1px solid var(--bd);padding:.5rem;min-height:2.75rem;text-align:center;width:4rem}
.tribe-tickets__item-quantity-input:focus,input[name*="quantity_ticket"]:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(86,121,21,.25);outline:none}
.tribe-tickets .tribe-common-c-btn,.tribe-tickets-footer__quantity-submit,#tribe-tickets .tribe-tickets-btn{
  background:var(--y)!important;color:var(--bk)!important;border:none!important;border-radius:6.25rem!important;
  font-family:var(--ff)!important;font-weight:600!important;font-size:.9375rem!important;
  padding:.9375rem 1.5rem!important;min-height:2.75rem!important;min-width:44px!important;
  cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
}
.tribe-tickets .tribe-common-c-btn:hover{background:var(--yl)!important}
.tribe-tickets .tribe-common-c-btn:focus-visible{outline:none!important;box-shadow:var(--focus)!important}

/* === 15. RESPONSIVE === */

/* ── 15a. Events container — prevent horizontal overflow at ALL sizes ── */
.tribe-events,
.tribe-events-view,
#tribe-events,
#tribe-events-content {
  max-width: 100%;
  overflow-x: hidden;     /* kill horizontal scroll from any oversized child */
  box-sizing: border-box;
}

/* ── 15b. Tablet (≤960px) ── */
@media (max-width: 60rem) {
  .tribe-events .tribe-events-calendar-list,
  .tribe-events-calendar-list {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.25rem !important;
  }
  .tribe-events-single-event-title { font-size: 1.75rem !important; }
  .plgc-event-hero { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
  .tribe-related-events { grid-template-columns: repeat(3, 1fr) !important; }
  .plgc-meta-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
}

/* ── 15c. Small tablet / large mobile (≤768px) ── */
@media (max-width: 48rem) {
  .plgc-event-hero { grid-template-columns: 1fr; gap: 1rem; }
  .tribe-related-events { grid-template-columns: repeat(2, 1fr) !important; }
  .plgc-meta-grid { grid-template-columns: 1fr; gap: 1rem; }

  /* --- Events header: single flex row on mobile ---
     With search, datepicker, nav arrows, and today all hidden,
     the only visible children are:
     - .tribe-events-c-events-bar (contains List/Month tabs)
     - .tribe-events-c-top-bar (contains subscribe dropdown)
     Put them on one row: subscribe left, tabs right. */
  .tribe-events-header {
    display: flex !important;
    flex-direction: row-reverse !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .5rem !important;
    margin-bottom: .5rem !important;
  }

  /* H1 screen-reader title and H2 visual-hide — full width so they don't disrupt flex */
  .tribe-events-header__content-title,
  .tribe-events-header > h2 {
    flex-basis: 100% !important;
    width: 100% !important;
  }

  /* --- Events bar: inline, just holds the tabs now --- */
  .tribe-events-c-events-bar {
    flex-direction: row !important;
    align-items: center !important;
    padding: 0 !important;
    gap: 0 !important;
    border: none !important;
    flex: 0 0 auto !important;
    order: 1 !important;
    margin: 0 !important;
  }

  /* Hide search elements (already hidden, reinforce) */
  .tribe-events-c-events-bar__search-button { display: none !important; }
  .tribe-events-c-events-bar__search-container { display: none !important; }
  .tribe-events-c-view-selector__button { display: none !important; }

  /* Force tabs visible */
  .tribe-events-c-view-selector__content {
    display: block !important;
  }

  /* --- Views wrapper: inline, no extra spacing --- */
  .tribe-events-c-events-bar__views {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    width: auto !important;
  }
  .tribe-events-c-view-selector,
  .tribe-events-c-view-selector--labels,
  .tribe-events-c-view-selector--tabs {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__content {
    width: auto !important;
  }
  .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list {
    flex-wrap: nowrap !important;
    width: auto !important;
  }

  /* --- Top bar: inline, just holds subscribe now --- */
  .tribe-events-c-top-bar {
    flex-wrap: nowrap !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    order: 2 !important;
  }

  /* Hide everything in top bar except subscribe */
  .tribe-events-c-top-bar__datepicker { display: none !important; }
  .tribe-events-c-top-bar__nav { display: none !important; }
  .tribe-events-c-top-bar__today-button { display: none !important; }
  .tribe-events-c-top-bar__actions { display: none !important; }

  /* Subscribe: compact, no forced full-width */
  .tribe-events-c-subscribe-dropdown {
    margin: 0 !important;
    flex-basis: auto !important;
  }

  /* --- Month separator: tighten top gap on mobile --- */
  .tribe-events-calendar-list__month-separator {
    margin-top: .5rem !important;
    margin-bottom: .5rem !important;
  }
  .tribe-events-calendar-list__month-separator:first-child {
    margin-top: 0 !important;
  }

  /* --- Datepicker dropdown: contain within viewport --- */
  .tribe-events .datepicker,
  .tribe-events-c-top-bar .datepicker {
    max-width: calc(100vw - 2rem) !important;
    left: 0 !important;
    right: auto !important;
    font-size: .875rem !important;
  }
  .tribe-events .datepicker table {
    width: 100% !important;
  }
  .tribe-events .datepicker td,
  .tribe-events .datepicker th {
    padding: .375rem !important;
    width: auto !important;
  }

  /* --- Month view: contain the calendar table --- */
  .tribe-events-calendar-month {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    overflow-x: hidden !important;
  }
  .tribe-events-calendar-month__header-column {
    padding: .5rem .25rem !important;
    font-size: .6875rem !important;
  }
  .tribe-events-calendar-month__calendar-event-col {
    padding: .125rem !important;
    min-height: 3.5rem !important;
    word-break: break-word;
    overflow: hidden;
  }
  .tribe-events-calendar-month__calendar-event-date {
    font-size: .75rem !important;
    padding: .125rem !important;
  }
  /* Event pills in month cells: truncate to prevent overflow */
  .tribe-events-calendar-month__calendar-event-link,
  a.tribe-events-calendar-month__calendar-event-link {
    font-size: .625rem !important;
    padding: .0625rem .25rem !important;
    line-height: 1.3 !important;
  }
  /* Multi-day bars */
  .tribe-events-calendar-month__multiday-event-bar-inner {
    font-size: .625rem !important;
  }
  .tribe-events-calendar-month__multiday-event-bar-title {
    font-size: .625rem !important;
  }

  /* --- Month view mobile event list (below calendar) --- */
  .tribe-events-calendar-month-mobile-events {
    max-width: 100% !important;
    overflow: hidden;
  }
  .tribe-events-calendar-month-mobile-events__mobile-event {
    padding: .75rem !important;
  }

  /* --- Month/List nav (< Apr / This Month / Jun >) --- */
  .tribe-events-c-nav__list {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: .5rem !important;
  }
  .tribe-events-c-nav__prev,
  .tribe-events-c-nav__next {
    font-size: .875rem !important;
    padding: .625rem 1.25rem !important;
    white-space: nowrap;
  }
  /* Today link sits between prev/next — center in its own row if wrapping */
  .tribe-events-c-nav__list-item--today {
    flex-basis: 100% !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    order: 3 !important;
  }
  .tribe-events-c-nav__list-item--prev {
    order: 1 !important;
  }
  .tribe-events-c-nav__list-item--next {
    order: 2 !important;
  }
}

/* ── 15d. Mobile (≤500px) ── */
@media (max-width: 31.25rem) {
  .tribe-events .tribe-events-calendar-list,
  .tribe-events-calendar-list {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  #tribe-events-content.tribe-events-single { padding: 0 1rem 2rem; }
  .tribe-events-single-event-title { font-size: 1.375rem !important; }
  .tribe-related-events { grid-template-columns: 1fr !important; }

  /* --- Events bar: tighten padding --- */
  .tribe-events-c-events-bar {
    padding: .375rem !important;
    border: none !important;
  }

  /* --- Search input: full width --- */
  .tribe-events-c-search__input-control {
    width: 100% !important;
  }
  .tribe-common-form-control-text__input {
    width: 100% !important;
    min-height: 2.75rem !important;
  }

  /* --- View selector: compact on small screens --- */
  .tribe-events-c-view-selector--labels .tribe-events-c-view-selector__list-item-link {
    padding: .375rem .625rem !important;
    font-size: .8125rem !important;
    min-height: 2.75rem !important;
    min-width: 2.75rem !important;
  }

  /* --- Top bar date picker --- */
  .tribe-events-c-top-bar__datepicker-button {
    font-size: 1.125rem !important;
  }

  /* --- Subscribe dropdown: center and constrain --- */
  .tribe-events-c-subscribe-dropdown__content {
    min-width: 10rem;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%);
  }

  /* --- Month view: even tighter for phones --- */
  .tribe-events-calendar-month__header-column {
    padding: .375rem .125rem !important;
    font-size: .625rem !important;
  }
  .tribe-events-calendar-month__calendar-event-col {
    min-height: 2.75rem !important;
    padding: .0625rem !important;
  }
  .tribe-events-calendar-month__calendar-event-date {
    font-size: .6875rem !important;
  }
  /* Hide individual event text in cells on very small screens — use dots only */
  .tribe-events-calendar-month__calendar-event-link,
  a.tribe-events-calendar-month__calendar-event-link {
    font-size: 0 !important;
    height: .375rem !important;
    min-height: .375rem !important;
    line-height: 0 !important;
    padding: 0 !important;
    margin: .0625rem auto !important;
    width: .375rem !important;
    border-radius: 50% !important;
    display: block !important;
  }
  /* Multi-day bars: also collapse to dots */
  .tribe-events-calendar-month__multiday-event-bar {
    height: .375rem !important;
    min-height: .375rem !important;
  }
  .tribe-events-calendar-month__multiday-event-bar-inner {
    border-radius: .1875rem !important;
    height: .375rem !important;
  }
  .tribe-events-calendar-month__multiday-event-bar-title {
    font-size: 0 !important;
    line-height: 0 !important;
  }

  /* --- "More events" count button in month cells --- */
  .tribe-events-calendar-month__calendar-event-col-count-button {
    font-size: .625rem !important;
    min-height: 2rem !important;
    padding: .125rem !important;
  }

  /* --- Month view tooltip: full-width overlay on mobile --- */
  .tribe-events-calendar-month__calendar-event-tooltip {
    position: fixed !important;
    left: 1rem !important;
    right: 1rem !important;
    top: auto !important;
    bottom: 1rem !important;
    max-width: none !important;
    width: auto !important;
    z-index: 9999 !important;
    border-radius: .25rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .15) !important;
  }

  /* --- Event card details: more compact --- */
  .tribe-events-calendar-list__event-details,
  .tribe-events-calendar-list__event-details.tribe-common-g-col,
  .tribe-common--breakpoint-medium .tribe-events-calendar-list__event-details,
  .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-details {
    padding: 1rem .75rem !important;
  }
}

/* ── 15e. WCAG contrast enforcement for mobile ──
   TEC's breakpoint classes can cause color inheritance issues on mobile.
   Ensure all text/background combos meet 4.5:1 for normal text, 3:1 for large. */

/* Month view: today cell — white text on dark green, not brand green.
   #567915 on white = 5.07:1 (passes), but black on #567915 = 4.14:1 (fails normal).
   Force white text when any element sits on the accent green background.
   TEC V2 uses two different markup patterns for the date number:
   - Desktop grid: .tribe-events-calendar-month__calendar-event-date
   - V2 day cells: .tribe-events-calendar-month__day-date-daynum (inside h3.tribe-events-calendar-month__day-date)
   Both need white text when they're inside the "today" cell. */
.tribe-events-calendar-month__calendar-event-col--today
  .tribe-events-calendar-month__calendar-event-date {
  color: var(--wh, #FFF) !important;
}

/* V2 month view: today's AND selected day — white text on green background.
   TEC adds --current for today, --selected when user taps a different date.
   Both states get the green background circle, both need white text. */
.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum,
.tribe-events-calendar-month__day--current .tribe-common-h6,
.tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date,
.tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date-daynum,
.tribe-events-calendar-month__day-cell--selected .tribe-common-h6,
[data-js="tribe-events-month-grid-cell-header-today"] .tribe-events-calendar-month__day-date-daynum {
  color: var(--wh, #FFF) !important;
}

/* Event pills: white on green — already set, reinforce for specificity */
.tribe-events-calendar-month__calendar-event-link,
a.tribe-events-calendar-month__calendar-event-link {
  color: var(--wh, #FFF) !important;
}

/* Mobile event list under month calendar — ensure black text on white bg */
.tribe-events-calendar-month-mobile-events__mobile-event-title a {
  color: var(--bk, #000) !important;
}
.tribe-events-calendar-month-mobile-events__mobile-event-date {
  color: var(--g, #567915) !important;
}

/* Series icon stroke: ensure it's visible against its background */
.tribe-events-calendar-series-archive__icon rect,
.tribe-events-calendar-series-archive__icon path {
  stroke: var(--g, #567915) !important;
}

/* Subscribe dropdown button text: black on white — always readable */
.tribe-events-c-subscribe-dropdown__button-text {
  color: var(--bk, #000) !important;
}

/* ── 15f. Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .tribe-events-calendar-list__event,
  .tribe-events-calendar-list__event-featured-image,
  .tribe-related-events > li,
  .tribe-related-events-thumbnail img,
  .tribe-events-c-nav__prev,
  .tribe-events-c-nav__next,
  .tribe-common-c-btn { transition: none !important; }
}

/* ── 15g. Filtered view (shortcode categories) ── */
.tribe-events-view.plgc-filtered .tribe-events-c-events-bar__views,
.tribe-events-view.plgc-filtered .tribe-events-c-view-selector {
  display: none !important;
}

