/**
 * Bigwave Events System — Lincs Inspire brand overrides
 *
 * Brand values taken from lincsinspire.com (Total theme + bigwave-media child
 * theme, verified Nov 2026):
 *   Ink (primary)      #262626   --wpex / --bigwave-primary on the live site
 *   Lime (accent)      #c2d82d   --wpex-accent-alt / --bigwave-secondary
 *   Text on lime       #0a0a0a   --wpex-on-accent-alt (black, not white)
 *   Light grey         #ededed   filter / neutral button fill
 *   Body font          'Work Sans' (Google Fonts, loaded by the theme)
 *   Corners            square — --wpex-btn-border-radius: 0; tags use 3px
 *   Card shadow        0 5px 24px -5px rgba(46, 55, 77, .4)
 *
 * Plugin settings this file expects (Events → Settings → Color Scheme):
 *   Primary #262626 · Accent #c2d82d · Button text #ffffff · Card bg #ffffff
 * The plugin writes those as --bigwave-* custom properties; this file reads
 * them with brand fallbacks rather than overriding them, so the settings page
 * keeps working.
 *
 * Specificity: the plugin's CSS is injected by its JS bundle at runtime, so it
 * always comes AFTER this stylesheet and wins any tie. Every rule here is
 * prefixed `.bigwave-events-grid .bigwave-events` (two classes) to out-rank
 * the plugin's single-class + [data-v] rules. `!important` is used only on
 * the deeply nested vue-multiselect rules, where the plugin's own selectors
 * are five classes deep.
 */

/* ========================================
   TOKENS
   ======================================== */
.bigwave-events-grid,
.bigwave-events-slider {
  --li-ink: var(--bigwave-primary, #262626);
  --li-ink-hover: #0a0a0a;
  --li-lime: var(--bigwave-secondary, #c2d82d);
  --li-lime-hover: #b1c621;
  --li-on-lime: #0a0a0a;
  --li-on-ink: var(--bigwave-button-text, #ffffff);
  --li-grey: #ededed;
  --li-grey-hover: #e0e0e0;
  --li-text: #262626;
  --li-text-muted: #666666;
  --li-line: rgba(0, 0, 0, 0.1);
  --li-white: #ffffff;
  --li-radius: 0;
  --li-radius-badge: 3px;
  --li-shadow: 0 5px 24px -5px rgba(46, 55, 77, 0.4);
  --li-shadow-hover: 0 6px 32px -8px rgba(46, 55, 77, 0.6);
  --li-font: 'Work Sans', 'Roboto', Arial, sans-serif;
}

.bigwave-events-grid .bigwave-events,
.bigwave-events-slider .bigwave-events {
  font-family: var(--li-font);
  color: var(--li-text);
}

/* ========================================
   FILTER PANEL (dropdowns row)
   ======================================== */
.bigwave-events-grid .bigwave-events .filter-bar__dropdowns {
  background: var(--li-ink);
  border-radius: var(--li-radius);
  padding: 20px 24px;
}

/* Icons sit on the ink panel, so they take the lime */
.bigwave-events-grid .bigwave-events .filter-dropdown > svg,
.bigwave-events-grid .bigwave-events .filter-dropdown > .fa-icon,
.bigwave-events-grid .bigwave-events .search-filter__icon,
.bigwave-events-grid .bigwave-events .filter-bar__age-icon {
  color: var(--li-lime) !important;
}

/* White fields, square corners */
.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect,
.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect__tags,
.bigwave-events-grid .bigwave-events .search-filter__field,
.bigwave-events-grid .bigwave-events .age-range-filter {
  background: var(--li-white) !important;
  border-radius: var(--li-radius) !important;
}

.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect__placeholder,
.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect__single,
.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect__input,
.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect__input::placeholder,
.bigwave-events-grid .bigwave-events .search-filter__input,
.bigwave-events-grid .bigwave-events .search-filter__input::placeholder,
.bigwave-events-grid .bigwave-events .age-range-filter__readout,
.bigwave-events-grid .bigwave-events .age-range-filter__label {
  color: var(--li-text) !important;
  font-family: var(--li-font);
  font-weight: 700;
}

/* Selected-value chips shown while a multiselect is open */
.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect--active .multiselect__tag {
  background: var(--li-ink) !important;
  color: var(--li-on-ink) !important;
  border-radius: var(--li-radius-badge) !important;
}

/* Open dropdown list */
.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect__content-wrapper {
  border: 1px solid var(--li-line) !important;
  border-radius: var(--li-radius) !important;
  box-shadow: var(--li-shadow);
}

.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect__option {
  color: var(--li-text) !important;
  border-radius: var(--li-radius) !important;
  font-family: var(--li-font);
}

.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect__option:hover:not(.multiselect__option--selected),
.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect__option--highlight:not(.multiselect__option--selected) {
  background: rgba(194, 216, 45, 0.25) !important;
  color: var(--li-text) !important;
}

.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect__option--selected,
.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect__option--selected.multiselect__option--highlight {
  background: var(--li-ink) !important;
  color: var(--li-on-ink) !important;
}

.bigwave-events-grid .bigwave-events .filter-dropdown .multiselect__option--selected:hover {
  background: var(--li-ink-hover) !important;
}

/* Age range slider: lime active track, ink thumbs */
.bigwave-events-grid .bigwave-events .age-range-filter__track {
  background: var(--li-grey);
}

.bigwave-events-grid .bigwave-events .age-range-filter__track--active {
  background: var(--li-lime);
}

.bigwave-events-grid .bigwave-events .age-range-filter__thumb::-webkit-slider-thumb {
  border-color: var(--li-ink);
}

.bigwave-events-grid .bigwave-events .age-range-filter__thumb::-moz-range-thumb {
  border-color: var(--li-ink);
}

/* Clear (x) buttons inside the search / age fields */
.bigwave-events-grid .bigwave-events .search-filter__clear,
.bigwave-events-grid .bigwave-events .age-range-filter__clear {
  color: var(--li-text-muted);
}

.bigwave-events-grid .bigwave-events .search-filter__clear:hover,
.bigwave-events-grid .bigwave-events .age-range-filter__clear:hover {
  color: var(--li-ink);
}

/* Reset Filters: white → lime on hover, black text on lime */
.bigwave-events-grid .bigwave-events .reset-filters-btn {
  background: var(--li-white);
  color: var(--li-text);
  border: 2px solid var(--li-white);
  border-radius: var(--li-radius);
  font-family: var(--li-font);
  font-weight: 700;
}

.bigwave-events-grid .bigwave-events .reset-filters-btn:hover,
.bigwave-events-grid .bigwave-events .reset-filters-btn:focus-visible {
  background: var(--li-lime);
  border-color: var(--li-lime);
  color: var(--li-on-lime);
}

/* ========================================
   BUTTONS ROW (summary + toggles)
   ======================================== */

/* "Showing all events …" */
.bigwave-events-grid .bigwave-events .filter-summary {
  background: var(--li-lime);
  border-radius: var(--li-radius);
}

.bigwave-events-grid .bigwave-events .filter-summary__text {
  color: var(--li-on-lime);
  font-family: var(--li-font);
  font-weight: 700;
}

/* Free / Favourites / Popular toggles: grey with an ink outline, ink when
   active, lime on hover — mirrors the existing Lincs Inspire filter buttons */
.bigwave-events-grid .bigwave-events .free-events-filter__button .simple-btn,
.bigwave-events-grid .bigwave-events .favorites-filter__button .simple-btn,
.bigwave-events-grid .bigwave-events .popular-events-filter__button .simple-btn {
  background: var(--li-grey) !important;
  color: var(--li-text) !important;
  border: 2px solid var(--li-ink) !important;
  border-radius: var(--li-radius) !important;
  font-family: var(--li-font);
  font-weight: 700;
  box-shadow: none !important;
}

.bigwave-events-grid .bigwave-events .free-events-filter__button .simple-btn svg,
.bigwave-events-grid .bigwave-events .favorites-filter__button .simple-btn svg,
.bigwave-events-grid .bigwave-events .popular-events-filter__button .simple-btn svg {
  color: var(--li-text) !important;
}

.bigwave-events-grid .bigwave-events .free-events-filter__button .simple-btn:hover,
.bigwave-events-grid .bigwave-events .favorites-filter__button .simple-btn:hover,
.bigwave-events-grid .bigwave-events .popular-events-filter__button .simple-btn:hover {
  background: var(--li-lime) !important;
  border-color: var(--li-lime) !important;
  color: var(--li-on-lime) !important;
}

.bigwave-events-grid .bigwave-events .free-events-filter__button .simple-btn--active,
.bigwave-events-grid .bigwave-events .favorites-filter__button .simple-btn--active,
.bigwave-events-grid .bigwave-events .popular-events-filter__button .simple-btn--active {
  background: var(--li-ink) !important;
  border-color: var(--li-ink) !important;
  color: var(--li-on-ink) !important;
}

.bigwave-events-grid .bigwave-events .free-events-filter__button .simple-btn--active svg,
.bigwave-events-grid .bigwave-events .favorites-filter__button .simple-btn--active svg,
.bigwave-events-grid .bigwave-events .popular-events-filter__button .simple-btn--active svg {
  color: var(--li-on-ink) !important;
}

/* Custom link button (custom_link_url / custom_link_text) */
.bigwave-events-grid .bigwave-events .filter-bar__buttons_right .simple-btn--recurring-events {
  background: var(--li-ink) !important;
  color: var(--li-on-ink) !important;
  border: 2px solid var(--li-ink) !important;
  border-radius: var(--li-radius) !important;
  font-family: var(--li-font);
  font-weight: 700;
}

.bigwave-events-grid .bigwave-events .filter-bar__buttons_right .simple-btn--recurring-events:hover {
  background: var(--li-lime) !important;
  border-color: var(--li-lime) !important;
  color: var(--li-on-lime) !important;
}

/* ========================================
   EVENT CARDS
   ======================================== */
.bigwave-events-grid .bigwave-events .events-grid__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.bigwave-events-grid .bigwave-events .card.event-card {
  background: var(--li-white);
  border: 1px solid var(--li-line);
  border-radius: var(--li-radius);
  box-shadow: var(--li-shadow);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bigwave-events-grid .bigwave-events .card.event-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--li-shadow-hover);
  overflow: visible;
  z-index: 999;
}

.bigwave-events-grid .bigwave-events .card.event-card .card__body,
.bigwave-events-grid .bigwave-events .card.event-card .card__content,
.bigwave-events-grid .bigwave-events .card.event-card .card__footer {
  background: var(--li-white);
}

.bigwave-events-grid .bigwave-events .card.event-card .card__footer {
  border-top: 1px solid var(--li-line);
}

.bigwave-events-grid .bigwave-events .card__image {
    border-radius: 0;
}

.bigwave-events-grid .bigwave-events .event-card__image {
  height: 200px;
  background: var(--li-grey);
}

.bigwave-events-grid .bigwave-events .event-card__image-placeholder {
  background: var(--li-grey);
  color: var(--li-text-muted);
}

/* Title */
.bigwave-events-grid .bigwave-events .event-card__title {
  font-family: var(--li-font);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--li-text);
}

.bigwave-events-grid .bigwave-events .event-card__title a {
  color: var(--li-text);
  text-decoration: none;
}

.bigwave-events-grid .bigwave-events .event-card__title a:hover {
  color: var(--li-ink);
  text-decoration: underline;
  text-decoration-color: var(--li-lime);
  text-decoration-thickness: 3px;
  text-underline-offset: 3px;
}

/* Meta rows (date / time / location) */
.bigwave-events-grid .bigwave-events .event-card__meta,
.bigwave-events-grid .bigwave-events .event-card__date-text,
.bigwave-events-grid .bigwave-events .event-card__time-text,
.bigwave-events-grid .bigwave-events .recurring-instances__date-text,
.bigwave-events-grid .bigwave-events .recurring-instances__time-text,
.bigwave-events-grid .bigwave-events .recurring-instances__location-text {
  color: var(--li-text);
  font-weight: 600;
}

.bigwave-events-grid .bigwave-events .event-card__icon,
.bigwave-events-grid .bigwave-events .recurring-instances__icon,
.bigwave-events-grid .bigwave-events .recurring-instances__instance-icon {
  color: var(--li-lime);
}

.bigwave-events-grid .bigwave-events .event-card__location-link,
.bigwave-events-grid .bigwave-events .recurring-instances__location-link {
  color: var(--li-text);
  font-weight: 700;
  text-decoration: none;
}

.bigwave-events-grid .bigwave-events .event-card__location-link:hover,
.bigwave-events-grid .bigwave-events .recurring-instances__location-link:hover {
  color: var(--li-ink);
  text-decoration: underline;
  text-decoration-color: var(--li-lime);
}

/* "+N more dates/times" toggle */
.bigwave-events-grid .bigwave-events .recurring-instances__toggle-button {
  color: var(--li-text) !important;
  background: transparent !important;
  border: none !important;
  border-radius: var(--li-radius) !important;
  text-decoration: underline;
  text-decoration-color: var(--li-lime);
  font-weight: 700;
}

.bigwave-events-grid .bigwave-events .recurring-instances__toggle-button:hover {
  color: var(--li-ink) !important;
  text-decoration-thickness: 2px;
}

/* Favourite heart */
.bigwave-events-grid .bigwave-events .event-card__favorite-button {
  background: var(--li-white);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.bigwave-events-grid .bigwave-events .event-card__favorite-button svg {
  color: var(--li-text-muted);
}

.bigwave-events-grid .bigwave-events .event-card__favorite-button--active svg,
.bigwave-events-grid .bigwave-events .event-card__favorite-button:hover svg {
  color: var(--li-lime);
}

/* Badges */
.bigwave-events-grid .bigwave-events .event-card__featured-badge {
  background: var(--li-lime);
  color: var(--li-on-lime);
  border-radius: var(--li-radius-badge);
  font-family: var(--li-font);
  font-weight: 700;
}

.bigwave-events-grid .bigwave-events .event-card__cancelled-badge,
.bigwave-events-grid .bigwave-events .recurring-instances__cancelled-badge {
  background: #dc3232;
  color: var(--li-white);
  border-radius: var(--li-radius-badge);
  font-weight: 700;
}

/* Info button on the card */
.bigwave-events-grid .bigwave-events .event-card__view-button {
  background: var(--li-ink);
  color: var(--li-on-ink);
  border: 2px solid var(--li-ink);
  border-radius: var(--li-radius);
  font-family: var(--li-font);
  font-weight: 700;
  width: 100%;
  justify-content: center;
  transition: background-color 0.2s linear, color 0.2s linear, border-color 0.2s linear;
}

.bigwave-events-grid .bigwave-events .event-card__view-button svg {
  color: inherit;
}

.bigwave-events-grid .bigwave-events .event-card__view-button:hover,
.bigwave-events-grid .bigwave-events .event-card__view-button:focus-visible {
  background: var(--li-lime);
  border-color: var(--li-lime);
  color: var(--li-on-lime);
}

/* Book Now (EventActions) — same treatment as Info */
.bigwave-events-grid .bigwave-events .event-actions__right .simple-btn--primary {
  background: var(--li-ink) !important;
  color: var(--li-on-ink) !important;
  border: 2px solid var(--li-ink) !important;
  border-radius: var(--li-radius) !important;
  font-family: var(--li-font);
  font-weight: 700;
}

.bigwave-events-grid .bigwave-events .event-actions__right .simple-btn--primary:hover {
  background: var(--li-lime) !important;
  border-color: var(--li-lime) !important;
  color: var(--li-on-lime) !important;
}

/* Share / favourite ghost buttons in the card footer */
.bigwave-events-grid .bigwave-events .event-actions__left .simple-btn--ghost {
  color: var(--li-text) !important;
  border-radius: var(--li-radius) !important;
}

.bigwave-events-grid .bigwave-events .event-actions__left .simple-btn--ghost:hover {
  color: var(--li-ink) !important;
  background: rgba(194, 216, 45, 0.25) !important;
}

/* ========================================
   LOAD MORE / PAGINATION / EMPTY STATE
   ======================================== */
.bigwave-events-grid .bigwave-events .events-grid__load-more .simple-btn--primary {
  background: var(--li-ink) !important;
  color: var(--li-on-ink) !important;
  border: 2px solid var(--li-ink) !important;
  border-radius: var(--li-radius) !important;
  font-family: var(--li-font);
  font-weight: 700;
  padding: 14px 48px;
}

.bigwave-events-grid .bigwave-events .events-grid__load-more .simple-btn--primary:hover:not(:disabled) {
  background: var(--li-lime) !important;
  border-color: var(--li-lime) !important;
  color: var(--li-on-lime) !important;
}

.bigwave-events-grid .bigwave-events .events-grid__load-more .simple-btn--primary:disabled {
  background: var(--li-grey) !important;
  border-color: var(--li-grey) !important;
  color: var(--li-text-muted) !important;
}

.bigwave-events-grid .bigwave-events .events-grid__pagination-info p {
  background: var(--li-grey);
  color: var(--li-text-muted);
  border-radius: var(--li-radius);
  font-family: var(--li-font);
}

.bigwave-events-grid .bigwave-events .bigwave-events-no-events {
  background: var(--li-grey);
  border-radius: var(--li-radius);
  border-left: 6px solid var(--li-lime);
}

.bigwave-events-grid .bigwave-events .bigwave-events-no-events p {
  color: var(--li-text);
  font-family: var(--li-font);
}

/* ========================================
   SLIDER SHORTCODE — same card language
   ======================================== */
.bigwave-events-slider .bigwave-events .event-card-slider {
  background: var(--li-white);
  border: 1px solid var(--li-line);
  border-radius: var(--li-radius);
  box-shadow: var(--li-shadow);
}

.bigwave-events-slider .bigwave-events .event-card-slider__icon {
  color: var(--li-lime);
}

.bigwave-events-slider .bigwave-events .event-card-slider__title,
.bigwave-events-slider .bigwave-events .event-card-slider__title a {
  color: var(--li-text);
  font-family: var(--li-font);
  font-weight: 700;
}

.bigwave-events-slider .bigwave-events .simple-btn--primary {
  background: var(--li-ink) !important;
  color: var(--li-on-ink) !important;
  border: 2px solid var(--li-ink) !important;
  border-radius: var(--li-radius) !important;
}

.bigwave-events-slider .bigwave-events .simple-btn--primary:hover {
  background: var(--li-lime) !important;
  border-color: var(--li-lime) !important;
  color: var(--li-on-lime) !important;
}

/* ========================================
   RESPONSIVE — column counts only; the plugin
   already stacks the filter bar below 768px
   ======================================== */
@media (min-width: 992px) and (max-width: 1199px) {
  .bigwave-events-grid .bigwave-events .events-grid__list {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .bigwave-events-grid .bigwave-events .events-grid__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 767px) {
  .bigwave-events-grid .bigwave-events .events-grid__list {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .bigwave-events-grid .bigwave-events .filter-bar__dropdowns {
    padding: 16px;
  }

  .bigwave-events-grid .bigwave-events .event-card__image {
    height: 180px;
  }
}

/* ========================================
   REDUCED MOTION
   ======================================== */
@media (prefers-reduced-motion: reduce) {
  .bigwave-events-grid .bigwave-events .card.event-card,
  .bigwave-events-grid .bigwave-events .card.event-card:hover {
    transform: none;
    transition: none;
  }
}


/* ========================================================================
   SINGLE EVENT TEMPLATE
   Styles the PHP badge/section shortcodes used on single-bigwave_event
   pages ([event_date] [event_time] [event_location] [event_age_range]
   [event_favorite_button] [event_book_button] [event_dates_times]
   [event_pricing] [event_contact] [event_accessibility]).

   The plugin's shortcodes.css is enqueued at default priority and this file
   at 999, so a tie on specificity goes to this file. Every rule is prefixed
   with the body class `.single-bigwave_event` to out-rank the plugin's
   single-class rules and to keep this scoped to event pages.

   The PHP emits two kinds of INLINE colour that a stylesheet can only beat
   with !important: `style="color: #ffffff"` on badges (contrast text for
   the ink background — fine as-is, except on hover) and hard-coded
   `style="color: #a7317b"` / `#10b981` on the Contact and Accessibility
   section icons. Those are the only !important colours below.
   ======================================================================== */

.single-bigwave_event {
  --li-ink: var(--bigwave-primary, #262626);
  --li-ink-hover: #0a0a0a;
  --li-lime: var(--bigwave-secondary, #c2d82d);
  --li-on-lime: #0a0a0a;
  --li-on-ink: var(--bigwave-button-text, #ffffff);
  --li-grey: #ededed;
  --li-grey-hover: #e0e0e0;
  --li-text: #262626;
  --li-text-muted: #666666;
  --li-line: rgba(0, 0, 0, 0.1);
  --li-white: #ffffff;
  --li-red: #dc3232;
  --li-radius: 0;
  --li-radius-badge: 3px;
  --li-shadow: 0 5px 24px -5px rgba(46, 55, 77, 0.4);
  --li-font: 'Work Sans', 'Roboto', Arial, sans-serif;
}

/* ---------- Badges: date / time / location / age ---------- */
.single-bigwave_event .event-badge {
  background-color: var(--li-ink);
  border-radius: var(--li-radius);
  font-family: var(--li-font);
  font-weight: 700;
  font-size: 15px;
  padding: 10px 16px;
  margin: 0;
}

.single-bigwave_event .event-badge i,
.single-bigwave_event .event-badge .event-badge__icon {
  color: var(--li-lime);
}

.single-bigwave_event .event-badge--collapsible:hover,
.single-bigwave_event .event-badge--collapsible:focus-visible {
  background-color: var(--li-lime);
  color: var(--li-on-lime) !important; /* beats the inline white */
  transform: none;
  box-shadow: none;
}

.single-bigwave_event .event-badge--collapsible:hover i,
.single-bigwave_event .event-badge--collapsible:focus-visible i {
  color: var(--li-on-lime);
}

.single-bigwave_event .event-badge--collapsible:focus,
.single-bigwave_event .event-badge--collapsible:focus-visible {
  outline: 2px solid var(--li-ink);
  outline-offset: 2px;
}

.single-bigwave_event .event-badge .event-location-link:hover {
  text-decoration-color: var(--li-lime);
  text-decoration-thickness: 2px;
}

/* ---------- Favourite heart + Book Now ---------- */
.single-bigwave_event .event-favorite-button {
  background: var(--li-white);
  border: 2px solid var(--li-ink);
  color: var(--li-ink);
  width: 44px;
  height: 44px;
}

.single-bigwave_event .event-favorite-button:hover {
  background: var(--li-lime);
  border-color: var(--li-lime);
  color: var(--li-on-lime);
  transform: none;
  box-shadow: none;
}

.single-bigwave_event .event-favorite-button.favorited {
  background: var(--li-ink);
  border-color: var(--li-ink);
  color: var(--li-lime);
}

.single-bigwave_event .event-book-button,
.single-bigwave_event .event-book-button:visited {
  background: var(--li-ink);
  color: var(--li-on-ink);
  border: 2px solid var(--li-ink);
  border-radius: var(--li-radius);
  font-family: var(--li-font);
  font-weight: 700;
  font-size: 16px;
  padding: 10px 24px;
  transition: background-color 0.2s linear, color 0.2s linear, border-color 0.2s linear;
}

.single-bigwave_event .event-book-button:hover,
.single-bigwave_event .event-book-button:focus-visible {
  background: var(--li-lime);
  border-color: var(--li-lime);
  color: var(--li-on-lime);
  transform: none;
  box-shadow: none;
}

.single-bigwave_event .event-book-button:focus {
  outline: 2px solid var(--li-ink);
  outline-offset: 2px;
}

/* ---------- Shared section card look ---------- */
.single-bigwave_event .event-dates-times,
.single-bigwave_event .event-contact,
.single-bigwave_event .event-accessibility,
.single-bigwave_event .event-pricing-list,
.single-bigwave_event .event-pricing-single,
.single-bigwave_event .event-shortcode__header {
  background: var(--li-white);
  border: 1px solid var(--li-line);
  border-radius: var(--li-radius);
  box-shadow: var(--li-shadow);
  font-family: var(--li-font);
  color: var(--li-text);
}

.single-bigwave_event .event-shortcode--collapsible {
  border-radius: var(--li-radius);
}

.single-bigwave_event .event-shortcode--collapsible:hover {
  transform: none;
}

.single-bigwave_event .event-shortcode__header {
  margin: 15px 0;
  padding: 15px 18px;
  border-left: 6px solid var(--li-lime);
}

.single-bigwave_event .event-shortcode__header:focus,
.single-bigwave_event .event-shortcode__header:focus-visible {
  outline: 2px solid var(--li-ink);
  outline-offset: 2px;
  box-shadow: var(--li-shadow);
}

.single-bigwave_event .event-shortcode__icon-title {
  color: var(--li-text);
  font-family: var(--li-font);
  font-weight: 700;
}

/* Section icons carry a hard-coded inline purple/green from the PHP */
.single-bigwave_event .event-shortcode__icon-title i {
  color: var(--li-ink) !important;
}

.single-bigwave_event .event-shortcode__toggle-icon {
  color: var(--li-ink);
}

/* Section titles when rendered non-collapsible */
.single-bigwave_event .event-dates-times__title,
.single-bigwave_event .event-contact__title,
.single-bigwave_event .event-accessibility__title,
.single-bigwave_event .event-pricing-list__title {
  color: var(--li-text);
  font-family: var(--li-font);
  font-weight: 700;
  border-bottom: 2px solid var(--li-lime);
}

.single-bigwave_event .event-dates-times__title i,
.single-bigwave_event .event-contact__title i,
.single-bigwave_event .event-accessibility__title i,
.single-bigwave_event .event-pricing-list__title i {
  color: var(--li-ink);
}

/* ---------- Dates & Times ---------- */
.single-bigwave_event .event-dates-times {
  padding: 18px;
}

.single-bigwave_event .event-dates-times__date-header {
  background: var(--li-grey);
  border-radius: var(--li-radius);
  padding: 8px 12px;
}

.single-bigwave_event .event-dates-times__date-header:hover {
  background: var(--li-grey-hover);
}

.single-bigwave_event .event-dates-times__date-title,
.single-bigwave_event .event-dates-times__date-header:hover .event-dates-times__date-title {
  color: var(--li-text);
  font-family: var(--li-font);
  font-weight: 700;
}

.single-bigwave_event .event-dates-times__toggle {
  color: var(--li-ink);
}

.single-bigwave_event .event-dates-times__date-content.expanded,
.single-bigwave_event .event-dates-times__single .event-dates-times__date-content {
  border-radius: var(--li-radius);
  background: var(--li-white);
}

.single-bigwave_event .event-dates-times__instance {
  border-bottom: 1px solid var(--li-line);
}

.single-bigwave_event .event-dates-times__time,
.single-bigwave_event .event-dates-times__location {
  color: var(--li-text);
  font-weight: 600;
}

.single-bigwave_event .event-dates-times__time i,
.single-bigwave_event .event-dates-times__location i {
  color: var(--li-lime);
}

.single-bigwave_event .event-dates-times__location .event-location-link:hover {
  color: var(--li-ink);
  text-decoration: underline;
  text-decoration-color: var(--li-lime);
  text-decoration-thickness: 2px;
}

.single-bigwave_event .event-dates-times__location .event-location-link:focus {
  outline-color: var(--li-ink);
}

/* Book / Add to calendar per instance */
.single-bigwave_event .event-dates-times__book-btn,
.single-bigwave_event .event-dates-times__load-more {
  background: var(--li-ink);
  color: var(--li-on-ink);
  border: 2px solid var(--li-ink);
  border-radius: var(--li-radius);
  font-family: var(--li-font);
  font-weight: 700;
}

.single-bigwave_event .event-dates-times__book-btn:hover,
.single-bigwave_event .event-dates-times__load-more:hover {
  background: var(--li-lime);
  border-color: var(--li-lime);
  color: var(--li-on-lime);
  transform: none;
  box-shadow: none;
}

.single-bigwave_event .event-dates-times__calendar-btn {
  background: var(--li-grey);
  color: var(--li-text);
  border: 2px solid var(--li-ink);
  border-radius: var(--li-radius);
  font-family: var(--li-font);
  font-weight: 700;
}

.single-bigwave_event .event-dates-times__calendar-btn:hover {
  background: var(--li-ink);
  color: var(--li-on-ink);
  transform: none;
  box-shadow: none;
}

.single-bigwave_event .event-dates-times__calendar-dropdown {
  border: 1px solid var(--li-line);
  border-radius: var(--li-radius);
  box-shadow: var(--li-shadow);
}

.single-bigwave_event .event-dates-times__calendar-option {
  color: var(--li-text);
  font-family: var(--li-font);
  border-radius: var(--li-radius);
}

.single-bigwave_event .event-dates-times__calendar-option:hover {
  background: rgba(194, 216, 45, 0.25);
}

.single-bigwave_event .event-dates-times__cancelled-badge,
.single-bigwave_event .event-dates-times__cancelled-instance {
  background: var(--li-red);
  border-radius: var(--li-radius-badge);
  font-family: var(--li-font);
  font-weight: 700;
}

.single-bigwave_event .event-dates-times__no-dates {
  color: var(--li-text-muted);
  font-family: var(--li-font);
}

/* ---------- Contact / Accessibility rows ---------- */
.single-bigwave_event .event-contact__item,
.single-bigwave_event .event-accessibility__item {
  border: 1px solid var(--li-line);
  border-radius: var(--li-radius);
  color: var(--li-text);
  font-family: var(--li-font);
  font-weight: 600;
}

/* Icon squares: lime with black glyphs (the plugin forces white glyphs) */
.single-bigwave_event .event-contact__item i,
.single-bigwave_event .event-accessibility__item i {
  background: var(--li-lime);
  color: var(--li-on-lime) !important;
  border-radius: var(--li-radius);
}

.single-bigwave_event .event-contact__value,
.single-bigwave_event .event-contact__link {
  color: var(--li-text);
  font-weight: 600;
}

.single-bigwave_event .event-contact__link:hover {
  color: var(--li-ink);
  text-decoration: underline;
  text-decoration-color: var(--li-lime);
  text-decoration-thickness: 2px;
}

.single-bigwave_event .event-contact__link:focus {
  outline-color: var(--li-ink);
}

.single-bigwave_event .event-accessibility__badge {
  background: var(--li-lime);
  color: var(--li-on-lime);
  border-radius: var(--li-radius-badge);
  font-family: var(--li-font);
  font-weight: 700;
  box-shadow: none;
}

.single-bigwave_event .event-accessibility__badge:hover {
  background: var(--li-ink);
  color: var(--li-on-ink);
  transform: none;
  box-shadow: none;
}

/* ---------- Pricing ----------
   The PHP emits __item-title / __item-price / __price-amount / __free-badge /
   __note, which the plugin stylesheet doesn't cover, so these are the first
   rules those elements get. */
.single-bigwave_event .event-pricing-list__item {
  border: 1px solid var(--li-line);
  border-radius: var(--li-radius);
  padding: 12px 14px;
}

.single-bigwave_event .event-pricing-list__item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.single-bigwave_event .event-pricing-list__item-title {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--li-text);
  font-family: var(--li-font);
  font-size: 16px;
  font-weight: 600;
}

.single-bigwave_event .event-pricing-list__item-title i,
.single-bigwave_event .event-pricing-list__category i {
  background: var(--li-lime);
  color: var(--li-on-lime) !important;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--li-radius);
  flex-shrink: 0;
  font-size: 16px;
}

.single-bigwave_event .event-pricing-list__item-price,
.single-bigwave_event .event-pricing-list__price-amount,
.single-bigwave_event .event-pricing-list__price,
.single-bigwave_event .event-pricing-single__price {
  color: var(--li-text);
  font-family: var(--li-font);
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
}

.single-bigwave_event .event-pricing-list__free-badge,
.single-bigwave_event .event-pricing-list__price.free,
.single-bigwave_event .event-pricing-single__price.free {
  display: inline-block;
  background: var(--li-lime);
  color: var(--li-on-lime);
  border-radius: var(--li-radius-badge);
  padding: 4px 10px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.single-bigwave_event .event-pricing-list__note {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  color: var(--li-text-muted);
  font-family: var(--li-font);
  font-size: 14px;
}

.single-bigwave_event .event-pricing-list__note i {
  color: var(--li-ink);
}

.single-bigwave_event .event-pricing-single__label {
  color: var(--li-text-muted);
  font-family: var(--li-font);
}

/* ---------- Focus ring colour for the plugin's global focus rules ---------- */
.single-bigwave_event button:focus-visible,
.single-bigwave_event [role="button"]:focus-visible,
.single-bigwave_event a:focus-visible {
  outline-color: var(--li-ink);
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  /* The plugin recolours badge text to the primary colour on mobile, which
     on an ink background would be invisible; keep the contrast text */
  .single-bigwave_event .event-badge {
    color: var(--li-on-ink);
  }

  .single-bigwave_event .event-dates-times,
  .single-bigwave_event .event-contact,
  .single-bigwave_event .event-accessibility,
  .single-bigwave_event .event-pricing-list {
    padding: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .single-bigwave_event .event-book-button,
  .single-bigwave_event .event-favorite-button,
  .single-bigwave_event .event-badge--collapsible {
    transition: none;
  }
}
