/**
 * Big Dudes Music — tec-overrides.css
 * Dark-theme overrides for The Events Calendar (V2 Views / Skeleton Styles).
 * Loaded after TEC's own stylesheets via inc/events-calendar.php.
 */

/* ── Override TEC's own CSS custom properties (set in tec-variables-full.css)
      so accent-coloured elements (carets, links) inherit red instead of blue. */
:root {
    --tec-color-accent-primary:         var(--bdm-red) !important;
    --tec-color-accent-primary-hover:   var(--bdm-red-dark) !important;
    --tec-color-accent-primary-active:  var(--bdm-red-dark) !important;
    --tec-color-accent-secondary:       var(--bdm-red) !important;
}

/* ════════════════════════════════════════════════════════════════════
   1. BASE WRAPPERS & PAGE BACKGROUND
   ════════════════════════════════════════════════════════════════════ */
.tribe-block,
.tribe-events-pg-template,
.tribe-events-single,
#tribe-events-content,
.tribe-common-l-container,
.tribe-events-l-container,
.tribe-events-before-html,
.tribe-events-after-html,
.tribe-common.tribe-events,
.tribe-events-view {
    background: var(--bdm-black) !important;
    color: var(--bdm-white) !important;
}

/* SVG fill — TEC icons use fill="currentColor" pattern */
.tribe-common-c-svgicon__svg-fill,
.tribe-common-c-svgicon path,
.tribe-common-c-svgicon circle {
    fill: currentColor !important;
}

/* ════════════════════════════════════════════════════════════════════
   2. EVENTS BAR (search + view selector)
   ════════════════════════════════════════════════════════════════════ */
.tribe-events-header,
.tribe-events-c-events-bar {
    background: var(--bdm-dark) !important;
    border-color: var(--bdm-border) !important;
}
.tribe-events-c-events-bar--border {
    border-color: var(--bdm-border) !important;
}

/* Search magnifier button */
.tribe-events-c-events-bar__search-button {
    color: var(--bdm-muted) !important;
    background: transparent !important;
    border: none !important;
}
.tribe-events-c-events-bar__search-button:hover {
    color: var(--bdm-white) !important;
}

/* Search container */
.tribe-events-c-events-bar__search-container {
    background: var(--bdm-dark) !important;
    border-color: var(--bdm-border) !important;
}

/* Keyword input */
.tribe-common-form-control-text__label {
    color: var(--bdm-muted) !important;
}
.tribe-common-form-control-text__input,
.tribe-events-c-search__input {
    background: var(--bdm-card) !important;
    border-color: var(--bdm-border) !important;
    color: var(--bdm-white) !important;
}
.tribe-common-form-control-text__input:focus,
.tribe-events-c-search__input:focus {
    border-color: var(--bdm-red) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(230,48,48,.25) !important;
}
.tribe-common-form-control-text__input::placeholder {
    color: var(--bdm-muted) !important;
}

/* "Find Events" submit button */
.tribe-events-c-search__button,
.tribe-common-c-btn,
.tribe-common-c-btn-main {
    background: var(--bdm-red) !important;
    border-color: var(--bdm-red) !important;
    color: var(--bdm-white) !important;
    font-family: var(--bdm-font-heading) !important;
    font-weight: 600 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}
.tribe-events-c-search__button:hover,
.tribe-common-c-btn:hover,
.tribe-common-c-btn-main:hover {
    background: var(--bdm-red-dark) !important;
    border-color: var(--bdm-red-dark) !important;
}

/* View selector tabs (List / Month / Day) */
.tribe-events-c-view-selector__button {
    background: transparent !important;
    color: var(--bdm-muted) !important;
    border: none !important;
}
.tribe-events-c-view-selector__button:hover,
.tribe-events-c-view-selector__button[aria-current="true"] {
    color: var(--bdm-white) !important;
}
.tribe-events-c-view-selector__content {
    background: var(--bdm-card) !important;
    border-color: var(--bdm-border) !important;
}

/* Target the text span directly — TEC sets color on __list-item-text, not just the
   parent link, so the span needs its own !important rule to beat TEC's body CSS. */
.tribe-events-c-view-selector__list-item-link,
.tribe-events-c-view-selector__list-item-text {
    color: #aaaaaa !important;
}
.tribe-events-c-view-selector__list-item:hover,
.tribe-events-c-view-selector__list-item-link:hover {
    background-color: var(--bdm-card-2) !important;
}
.tribe-events-c-view-selector__list-item-link:hover,
.tribe-events-c-view-selector__list-item-link:hover .tribe-events-c-view-selector__list-item-text {
    color: var(--bdm-white) !important;
}
.tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link,
.tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-text {
    color: var(--bdm-white) !important;
}

/* ════════════════════════════════════════════════════════════════════
   3. TOP BAR (Upcoming / prev arrow / next arrow / Today / datepicker)
   ════════════════════════════════════════════════════════════════════ */
.tribe-events-c-top-bar {
    background: var(--bdm-black) !important;
    border-color: var(--bdm-border) !important;
}

/* Prev/Next caret icon buttons — top bar and bottom nav */
.tribe-common-c-btn-icon,
.tribe-events-c-top-bar__nav-link,
.tribe-events-c-top-bar__nav-link--prev,
.tribe-events-c-top-bar__nav-link--next,
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next {
    color: var(--bdm-red) !important;
    background: transparent !important;
    border: none !important;
}
.tribe-common-c-btn-icon:hover:not([disabled]),
.tribe-events-c-top-bar__nav-link:hover:not([disabled]),
.tribe-events-c-nav__prev:hover:not([disabled]),
.tribe-events-c-nav__next:hover:not([disabled]) {
    color: var(--bdm-red-dark) !important;
}
.tribe-common-c-btn-icon[disabled],
.tribe-events-c-top-bar__nav-link[disabled],
.tribe-events-c-nav__prev[disabled],
.tribe-events-c-nav__next[disabled] {
    color: var(--bdm-red) !important;
    opacity: .35 !important;
}

/* Today button + bordered small button */
.tribe-common-c-btn-border-small,
.tribe-events-c-top-bar__today-button,
.tribe-events-c-nav__today {
    color: var(--bdm-off-white) !important;
    border-color: var(--bdm-border-2) !important;
    background: transparent !important;
}
.tribe-common-c-btn-border-small:hover,
.tribe-events-c-top-bar__today-button:hover,
.tribe-events-c-nav__today:hover {
    color: var(--bdm-red) !important;
    border-color: var(--bdm-red) !important;
}

/* Datepicker toggle (shows "Upcoming" label) */
.tribe-events-c-top-bar__datepicker-button {
    color: var(--bdm-white) !important;
    background: transparent !important;
    border: none !important;
}

/* ════════════════════════════════════════════════════════════════════
   4. LIST VIEW — month separators & event rows
   ════════════════════════════════════════════════════════════════════ */
.tribe-events-calendar-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Month heading (e.g. "June 2026") */
.tribe-events-calendar-list__month-separator {
    border-bottom: 1px solid var(--bdm-border) !important;
    padding: .75rem 0 .5rem !important;
    margin-bottom: .5rem !important;
    background: transparent !important;
}
.tribe-events-calendar-list__month-separator-text,
.tribe-events-calendar-list__month-separator h3 {
    color: var(--bdm-red) !important;
    font-family: var(--bdm-font-heading) !important;
    font-size: .8rem !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
}

/* Each event row <li> */
.tribe-events-calendar-list__event-row {
    border-bottom: 1px solid var(--bdm-border) !important;
    padding: 1rem 0 !important;
}

/* Date tag: weekday name + day number */
.tribe-events-calendar-list__event-date-tag {
    text-align: center !important;
    color: var(--bdm-white) !important;
}
.tribe-events-calendar-list__event-date-tag-weekday {
    display: block !important;
    font-family: var(--bdm-font-heading) !important;
    font-size: .65rem !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    color: var(--bdm-muted) !important;
}
.tribe-events-calendar-list__event-date-tag-daynum {
    display: block !important;
    font-family: var(--bdm-font-heading) !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: var(--bdm-white) !important;
}

/* Event article */
.tribe-events-calendar-list__event {
    background: transparent !important;
    border: none !important;
}

/* Event title */
.tribe-events-calendar-list__event-title {
    margin-top: 0 !important;
    margin-bottom: .25rem !important;
}
.tribe-events-calendar-list__event-title-link,
.tribe-common-anchor-thin {
    color: var(--bdm-white) !important;
    text-decoration: none !important;
    font-family: var(--bdm-font-heading) !important;
    font-weight: 600 !important;
    letter-spacing: .02em !important;
}
.tribe-events-calendar-list__event-title-link:hover {
    color: var(--bdm-red) !important;
}

/* Date + time */
.tribe-events-calendar-list__event-datetime-wrapper,
.tribe-events-calendar-list__event-datetime,
.tribe-event-date-start,
.tribe-event-time {
    color: var(--bdm-muted) !important;
    font-size: .8rem !important;
}

/* Venue */
.tribe-events-calendar-list__event-venue {
    color: var(--bdm-muted) !important;
    font-size: .8rem !important;
    font-style: normal !important;
}
.tribe-events-calendar-list__event-venue-title {
    color: var(--bdm-off-white) !important;
    font-weight: 600 !important;
}
.tribe-events-calendar-list__event-venue-address {
    color: var(--bdm-muted) !important;
}

/* Event description excerpt */
.tribe-events-calendar-list__event-description {
    color: var(--bdm-muted) !important;
    font-size: .875rem !important;
}

/* ════════════════════════════════════════════════════════════════════
   5. BOTTOM PAGINATION NAV
   ════════════════════════════════════════════════════════════════════ */
.tribe-events-c-nav,
.tribe-events-calendar-list-nav {
    border-top: 1px solid var(--bdm-border) !important;
    background: transparent !important;
}
/* caret colors handled in section 3 above */

/* ════════════════════════════════════════════════════════════════════
   6. SUBSCRIBE / EXPORT DROPDOWN
   ════════════════════════════════════════════════════════════════════ */
.tribe-events-c-subscribe-dropdown__container {
    background: transparent !important;
}
.tribe-common-c-btn-border,
.tribe-events-c-subscribe-dropdown__button {
    background: transparent !important;
    border-color: var(--bdm-border-2) !important;
    color: var(--bdm-off-white) !important;
}
.tribe-common-c-btn-border:hover {
    border-color: var(--bdm-red) !important;
    color: var(--bdm-white) !important;
}
.tribe-events-c-subscribe-dropdown__button-text {
    color: var(--bdm-off-white) !important;
    background: transparent !important;
    border: none !important;
}
/* ID selector (specificity 1,0,0) beats TEC's class-based body CSS */
#tribe-events-c-subscribe-dropdown-content,
.tribe-events-c-subscribe-dropdown__content {
    background: #808080 !important;
    border: 1px solid #666 !important;
    border-radius: 4px !important;
}
.tribe-events-c-subscribe-dropdown__list-item-link {
    color: #111111 !important;
    display: block !important;
    padding: .35rem .75rem !important;
}
.tribe-events-c-subscribe-dropdown__list-item-link:hover {
    color: #000000 !important;
    background: #707070 !important;
}

/* ════════════════════════════════════════════════════════════════════
   7. SINGLE EVENT PAGE
   ════════════════════════════════════════════════════════════════════ */

/* "← All Events" back link */
.tribe-events-back a {
    color: var(--bdm-muted) !important;
    font-size: .8rem !important;
    text-decoration: none !important;
    letter-spacing: .04em !important;
}
.tribe-events-back a:hover { color: var(--bdm-red) !important; }

/* H1 event title */
.tribe-events-single-event-title {
    color: var(--bdm-white) !important;
    font-family: var(--bdm-font-heading) !important;
    font-size: clamp(1.5rem, 3vw, 2.5rem) !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    margin-bottom: .5rem !important;
}

/* Date/time line below the title */
.tribe-events-schedule {
    color: var(--bdm-muted) !important;
    font-size: .875rem !important;
    margin-bottom: 1.5rem !important;
}
.tribe-events-schedule .tribe-event-date-start,
.tribe-events-schedule .tribe-event-time {
    color: var(--bdm-muted) !important;
}

/* Prev / Next event navigation */
.tribe-events-nav-pagination { background: transparent !important; }
.tribe-events-sub-nav {
    list-style: none !important;
    padding: 0 !important;
    display: flex !important;
    gap: 1rem !important;
    border-color: var(--bdm-border) !important;
    background: transparent !important;
}
.tribe-events-sub-nav a {
    color: var(--bdm-muted) !important;
    font-size: .8rem !important;
    text-decoration: none !important;
}
.tribe-events-sub-nav a:hover { color: var(--bdm-red) !important; }

/* Event body content */
.tribe-events-single-event-description,
.tribe-events-content {
    color: var(--bdm-off-white) !important;
    line-height: 1.7 !important;
}
.tribe-events-single-event-description a {
    color: var(--bdm-red) !important;
}
.tribe-events-single-event-description a:hover {
    color: var(--bdm-red-dark) !important;
}

/* ── Meta section (Details + Venue boxes) ────────────────────── */
.tribe-events-single-section,
.tribe-events-event-meta {
    background: var(--bdm-dark) !important;
    border-color: var(--bdm-border) !important;
    border-radius: 4px !important;
    padding: 1.5rem !important;
    margin-top: 1.5rem !important;
}
.tribe-events-meta-group { background: transparent !important; }

.tribe-events-single-section-title {
    color: var(--bdm-red) !important;
    font-family: var(--bdm-font-heading) !important;
    font-size: .75rem !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    border-bottom: 1px solid var(--bdm-border) !important;
    padding-bottom: .5rem !important;
    margin-bottom: .75rem !important;
}

.tribe-events-meta-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.tribe-events-meta-item {
    color: var(--bdm-off-white) !important;
    padding: .35rem 0 !important;
    border-bottom: 1px solid var(--bdm-border) !important;
    font-size: .875rem !important;
}
.tribe-events-meta-item:last-child { border-bottom: none !important; }

.tribe-events-meta-label {
    color: var(--bdm-muted) !important;
    font-weight: 600 !important;
    margin-right: .5rem !important;
}
.tribe-events-meta-value,
.tribe-events-abbr {
    color: var(--bdm-off-white) !important;
}
.tribe-events-meta-value a {
    color: var(--bdm-red) !important;
    text-decoration: none !important;
}
.tribe-events-meta-value a:hover { color: var(--bdm-red-dark) !important; }

/* Venue fields */
.tribe-venue,
.tribe-venue-location,
.tribe-events-address,
.tribe-address,
.tribe-street-address,
.tribe-locality,
.tribe-region,
.tribe-postal-code,
.tribe-country-name,
.tribe-delimiter { color: var(--bdm-off-white) !important; }
.tribe-venue-tel,
.tribe-venue-tel-label { color: var(--bdm-muted) !important; }
.tribe-events-gmap {
    color: var(--bdm-red) !important;
    font-size: .8rem !important;
    text-decoration: none !important;
}
.tribe-events-gmap:hover { color: var(--bdm-red-dark) !important; }

/* Google Map iframe — dark-mode invert trick */
.tribe-events-venue-map {
    margin-top: .75rem !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    border: 1px solid var(--bdm-border) !important;
}
.tribe-events-venue-map iframe {
    display: block !important;
    filter: invert(.9) hue-rotate(180deg) !important;
}

/* Event category link */
.tribe-events-event-categories a {
    color: var(--bdm-red) !important;
    text-decoration: none !important;
}
.tribe-events-event-categories a:hover { color: var(--bdm-red-dark) !important; }

/* ════════════════════════════════════════════════════════════════════
   8. MONTH CALENDAR VIEW
   ════════════════════════════════════════════════════════════════════ */
.tribe-events-calendar-month__body-cell {
    background: var(--bdm-dark) !important;
    border-color: var(--bdm-border) !important;
}
.tribe-events-calendar-month__body-cell--current {
    background: var(--bdm-card) !important;
}
.tribe-events-calendar-month__body-cell-today {
    background: rgba(230,48,48,.1) !important;
}
/* Day number (the <time> element inside each cell) */
.tribe-events-calendar-month__day-date-daynum {
    color: var(--bdm-off-white) !important;
}
.tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date-daynum {
    color: var(--bdm-muted) !important;
}
.tribe-events-calendar-month__day--other-month .tribe-events-calendar-month__day-date-daynum,
.tribe-events-calendar-month__day--next-month .tribe-events-calendar-month__day-date-daynum {
    color: var(--bdm-border-2) !important;
}
.tribe-events-calendar-month__body-cell-today .tribe-events-calendar-month__day-date-daynum {
    color: var(--bdm-red) !important;
}

/* Day number as a link (clickable days with events) */
.tribe-events-calendar-month__day-date-link {
    color: var(--bdm-off-white) !important;
    text-decoration: none !important;
}
.tribe-events-calendar-month__day-date-link:hover {
    color: var(--bdm-red) !important;
}

.tribe-events-calendar-month__calendar-event-title a {
    color: var(--bdm-white) !important;
    font-size: .75rem !important;
}
.tribe-events-calendar-month__calendar-event-title a:hover {
    color: var(--bdm-red) !important;
}
.tribe-events-calendar-month__header-cell,
.tribe-events-calendar-month__grid-header-column {
    background: var(--bdm-dark) !important;
    color: var(--bdm-muted) !important;
    border-color: var(--bdm-border) !important;
}

/* Mobile: day marker heading ("July 11") shown below calendar when a day is tapped */
.tribe-events-c-day-marker__date {
    color: var(--bdm-off-white) !important;
}

/* Mobile: "There are no events on this day." notice (JS-injected, no class) */
[data-key="no-events-in-day"] {
    color: var(--bdm-muted) !important;
}

/* Mobile: event list shown below calendar for selected day */
.tribe-events-calendar-month-mobile-events__mobile-event-title-link,
.tribe-common-anchor {
    color: var(--bdm-white) !important;
    text-decoration: none !important;
}
.tribe-events-calendar-month-mobile-events__mobile-event-title-link:hover,
.tribe-common-anchor:hover {
    color: var(--bdm-red) !important;
}
.tribe-events-calendar-month-mobile-events__mobile-event-datetime {
    color: var(--bdm-muted) !important;
}

/* ════════════════════════════════════════════════════════════════════
   9. BOOTSTRAP DATEPICKER
   ════════════════════════════════════════════════════════════════════ */
.datepicker-dropdown,
.datepicker table {
    background: #808080 !important;
    border-color: #666 !important;
    color: #111 !important;
}
.datepicker table tr td,
.datepicker table tr th { color: #111 !important; }
.datepicker table tr td:hover,
.datepicker table tr th:hover {
    background: #909090 !important;
    color: #000 !important;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover {
    background: var(--bdm-red) !important;
    color: var(--bdm-white) !important;
}
.datepicker table tr td.old,
.datepicker table tr td.new { color: #555 !important; }
.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next { color: #111 !important; }
.datepicker .prev:hover,
.datepicker .next:hover { background: #909090 !important; }

/* ════════════════════════════════════════════════════════════════════
   10. DAY VIEW
   ════════════════════════════════════════════════════════════════════ */

/* Time separator heading ("6:00 pm") */
.tribe-events-calendar-day__time-separator-heading {
    color: var(--bdm-red) !important;
    font-family: var(--bdm-font-heading) !important;
    font-size: .8rem !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid var(--bdm-border) !important;
}

/* Event article */
.tribe-events-calendar-day__event {
    background: transparent !important;
    border-bottom: 1px solid var(--bdm-border) !important;
}

/* Event title */
.tribe-events-calendar-day__event-title-link {
    color: var(--bdm-white) !important;
    text-decoration: none !important;
    font-family: var(--bdm-font-heading) !important;
    font-weight: 600 !important;
}
.tribe-events-calendar-day__event-title-link:hover {
    color: var(--bdm-red) !important;
}

/* Venue block */
.tribe-events-calendar-day__event-venue {
    color: var(--bdm-muted) !important;
    font-style: normal !important;
}
.tribe-events-calendar-day__event-venue-title {
    color: var(--bdm-off-white) !important;
    display: block !important;
}
.tribe-events-calendar-day__event-venue-address {
    color: var(--bdm-muted) !important;
}

/* ════════════════════════════════════════════════════════════════════
   11. NOTICES / MESSAGES (Day view empty state, etc.)
   ════════════════════════════════════════════════════════════════════ */
.tribe-events-c-messages__message {
    color: var(--bdm-muted) !important;
    background: transparent !important;
}
.tribe-events-c-messages__message-icon-svg {
    color: var(--bdm-muted) !important;
    fill: var(--bdm-muted) !important;
}
.tribe-events-c-messages__message-list-item-link,
.tribe-common-anchor-thin-alt {
    color: var(--bdm-red) !important;
    text-decoration: none !important;
}
.tribe-events-c-messages__message-list-item-link:hover,
.tribe-common-anchor-thin-alt:hover {
    color: var(--bdm-red-dark) !important;
    text-decoration: underline !important;
}

/* ════════════════════════════════════════════════════════════════════
   12. LOADING SPINNER
   ════════════════════════════════════════════════════════════════════ */
.tribe-common-c-loader__dot { fill: var(--bdm-red) !important; }
