/* ==========================================================================
   Third-party integrations
   The site runs plugins whose stylesheets assume a light background. On this
   theme that renders text near-invisible. Everything here re-points those
   plugins at the design tokens. Nothing changes plugin behaviour.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Admin bar
   The header is fixed at top:0, which put it underneath WordPress's 32px
   admin bar — clipping the logo and pushing page titles behind the nav.
   -------------------------------------------------------------------------- */
body.admin-bar .header { top: 32px; }
body.admin-bar .menu   { top: 32px; height: calc(100% - 32px); }
@media screen and (max-width: 782px) {
  body.admin-bar .header { top: 46px; }
  body.admin-bar .menu   { top: 46px; height: calc(100% - 46px); }
}

/* The masthead must clear the fixed header on pages with no hero image. */
.masthead { padding-top: clamp(140px, 16vh, 220px); }
body.admin-bar .masthead { padding-top: clamp(172px, 18vh, 252px); }
.phero__inner { padding-top: clamp(40px, 6vh, 96px); }

/* --------------------------------------------------------------------------
   2. The Events Calendar
   -------------------------------------------------------------------------- */
.tribe-common,
.tribe-events,
.tribe-common .tribe-common-b1,
.tribe-common .tribe-common-b2,
.tribe-common .tribe-common-b3 {
  color: var(--ink);
  font-family: var(--sans);
}
.tribe-common h1, .tribe-common h2, .tribe-common h3,
.tribe-common .tribe-common-h1, .tribe-common .tribe-common-h2,
.tribe-common .tribe-common-h3, .tribe-common .tribe-common-h4,
.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events-calendar-list__month-separator-text {
  color: var(--ink) !important;
  font-family: var(--serif) !important;
  font-weight: 300 !important;
  letter-spacing: -0.01em;
}
.tribe-events .tribe-events-calendar-list__event-title a,
.tribe-events a.tribe-events-calendar-list__event-title-link,
.tribe-common a { color: var(--ink); }
.tribe-common a:hover { color: var(--gold); }

.tribe-events .tribe-events-calendar-list__event-datetime,
.tribe-events .tribe-events-calendar-list__event-description,
.tribe-events .tribe-events-calendar-list__event-venue,
.tribe-common .tribe-common-b2--min-medium,
.tribe-events-calendar-list__event-date-tag-weekday { color: var(--muted) !important; }

.tribe-events-calendar-list__event-date-tag-daynum { color: var(--gold) !important; }

/* Search bar and view switcher */
.tribe-events .tribe-events-header,
.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-c-events-bar__search-container,
.tribe-events .tribe-events-c-search__input-control,
.tribe-events-c-top-bar {
  background: transparent !important;
  border-color: var(--line) !important;
}
.tribe-events .tribe-events-c-search__input,
.tribe-events input[type="text"] {
  background: transparent !important;
  color: var(--ink) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 0 !important;
}
.tribe-events .tribe-events-c-search__input::placeholder { color: var(--muted) !important; }

.tribe-events .tribe-common-c-btn,
.tribe-events button.tribe-common-c-btn,
.tribe-events a.tribe-common-c-btn,
.tribe-events .tribe-events-c-search__button {
  background: var(--ink) !important;
  color: var(--deep) !important;
  border-radius: 999px !important;
  font-family: var(--sans) !important;
  letter-spacing: 0.03em;
  border: 0 !important;
}
.tribe-events .tribe-common-c-btn:hover { background: #fff !important; }

.tribe-events .tribe-events-c-view-switcher__list-item-link,
.tribe-events .tribe-events-c-top-bar__datepicker-button {
  color: var(--muted) !important;
  font-family: var(--sans) !important;
}
.tribe-events .tribe-events-c-view-switcher__list-item--active .tribe-events-c-view-switcher__list-item-link {
  color: var(--ink) !important;
  border-bottom-color: var(--gold) !important;
}
.tribe-events .tribe-events-c-top-bar__nav-link svg,
.tribe-events .tribe-common-c-svgicon { color: var(--muted); fill: var(--muted); }

/* Rows and separators */
.tribe-events .tribe-events-calendar-list__event-row { border-bottom: 1px solid var(--line); padding-bottom: var(--s4); }
.tribe-events .tribe-events-calendar-list__event-wrapper { background: transparent !important; }
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-date-tag { border-right: 1px solid var(--line); }
.tribe-events-calendar-list__month-separator::after { background: var(--line) !important; }
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper img { border-radius: var(--radius); }

/* Month grid */
.tribe-events .tribe-events-calendar-month__day,
.tribe-events .tribe-events-calendar-month__header-column {
  background: transparent !important;
  border-color: var(--line) !important;
}
.tribe-events .tribe-events-calendar-month__day-date-daynum,
.tribe-events .tribe-events-calendar-month__header-column-title-mobile,
.tribe-events .tribe-events-calendar-month__header-column-title-desktop { color: var(--muted) !important; }
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum { color: var(--gold) !important; }

/* Single event + ticket forms */
.tribe-events-single .tribe-events-event-meta,
.tribe-events-single .tribe-events-single-event-description,
.tribe-events-single { background: transparent !important; color: var(--ink) !important; }
.tribe-events-single .tribe-events-single-event-title { font-family: var(--serif) !important; font-weight: 300 !important; }
.tribe-events-meta-group .tribe-events-single-section-title { color: var(--gold) !important; font-family: var(--sans) !important; letter-spacing: 0.2em; text-transform: uppercase; font-size: 11px !important; }
.tribe-events-event-meta { border-color: var(--line) !important; }

.tribe-tickets__tickets-form,
.event-tickets .tribe-tickets__tickets-item {
  background: rgba(244,241,234,0.03) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius);
  color: var(--ink);
}
.tribe-tickets__tickets-item-content-title,
.tribe-tickets__tickets-item-content-description,
.tribe-tickets__tickets-item-extra-available { color: var(--ink) !important; }
.tribe-tickets__tickets-buy,
.tribe-common-c-btn--solid { background: var(--ink) !important; color: var(--deep) !important; border-radius: 999px !important; }

/* --------------------------------------------------------------------------
   3. Generic plugin output inside .prose
   Accordions, category filters and other plugin markup drop into page content
   with no theme classes. These rules stop them rendering as bare browser
   defaults on a dark background.
   -------------------------------------------------------------------------- */
.prose ul:not([class]) { padding-left: 1.15em; }
.prose ul:not([class]) li { margin-bottom: 8px; }
.prose a { color: var(--gold); text-underline-offset: 4px; }

.prose input[type="text"],
.prose input[type="email"],
.prose input[type="tel"],
.prose input[type="search"],
.prose input[type="url"],
.prose input[type="number"],
.prose select,
.prose textarea {
  background: transparent;
  color: var(--ink);
  border: 0;
  border-bottom: 1px solid rgba(244, 241, 234, 0.2);
  border-radius: 0;
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(17px, 1.4vw, 20px);
  padding: 6px 2px 12px;
  width: 100%;
}
.prose input:focus, .prose select:focus, .prose textarea:focus {
  outline: none;
  border-bottom-color: var(--gold);
}
.prose button,
.prose input[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 15px 32px; border: 0; border-radius: 999px;
  background: var(--ink); color: var(--deep);
  font-family: var(--sans); font-size: 13px; cursor: pointer;
}

/* Accordion-style FAQ lists from plugins */
.prose .accordion,
.prose [class*="faq"] > [class*="title"],
.prose [class*="accordion"] [class*="title"] {
  color: var(--ink);
  font-family: var(--serif);
}
