/* ============================================================
   ALL 2GETHER — The Events Calendar + Event Tickets
   Dunkles Theming (Liste/Monat/Tag, Suchleiste, Single-Event,
   Ticket-Box / Tickets Commerce). Erbt Tokens aus style.css.
   Alles unter .tribe-* gescopet -> beeinflusst nur Kalender/Tickets.
   ============================================================ */

/* ---------- Tribe Custom Properties auf Dark umstellen ---------- */
.tribe-common,
.tribe-events,
#tribe-events,
.tribe-tickets {
  --tec-color-background: transparent;
  --tec-color-background-secondary: var(--surface);
  --tec-color-text-primary: var(--text);
  --tec-color-text-primary-light: var(--text);
  --tec-color-text-secondary: var(--muted);
  --tec-color-text-events-title: var(--text);
  --tec-color-border-primary: var(--line);
  --tec-color-border-secondary: var(--line-2);
  --tec-color-border-default: var(--line);
  --tec-color-accent-primary: var(--btn-bg);
  --tec-color-accent-primary-hover: var(--btn-bg-hover);
  --tec-color-accent-primary-active: var(--btn-bg-hover);
  --tec-color-accent-primary-background: var(--btn-bg);
  --tec-color-button-primary: var(--btn-bg);
  --tec-color-button-primary-hover: var(--btn-bg-hover);
  --tec-color-button-primary-active: var(--btn-bg-hover);
  --tec-color-link-primary: var(--gold);
  --tec-color-link-accent: var(--gold);
  --tec-color-link-accent-hover: var(--gold-soft);
  --tec-font-family-sans-serif: var(--font-body);
  color: var(--text);
}
.tribe-common .tribe-common-h1, .tribe-common .tribe-common-h2, .tribe-common .tribe-common-h3,
.tribe-common .tribe-common-h4, .tribe-common .tribe-common-h5, .tribe-common .tribe-common-h6 {
  color: var(--text);
}
.tribe-common a, .tribe-events a { color: var(--gold); }
.tribe-common a:hover, .tribe-events a:hover { color: var(--gold-soft); }

/* Container passt sich Theme-Breite an */
.tribe-events, .tribe-events-view, #tribe-events { background: transparent !important; }

/* ---------- Buttons (Suchen, Navigation, Abonnieren, Tickets) ---------- */
.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn,
.tribe-events .tribe-events-c-search__button,
.tribe-events-c-subscribe-dropdown__button,
.tribe-tickets__tickets-buy,
#tribe-tickets__tickets-submit,
.tribe-tickets__commerce-checkout-form-submit-button {
  background-color: var(--btn-bg) !important;
  color: var(--btn-text) !important;
  border: none !important;
  border-radius: 180px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  transition: background-color .2s, transform .2s;
}
.tribe-common .tribe-common-c-btn:hover,
.tribe-events .tribe-events-c-search__button:hover,
.tribe-events-c-subscribe-dropdown__button:hover,
.tribe-tickets__tickets-buy:hover {
  background-color: var(--btn-bg-hover) !important; color: var(--btn-text) !important; transform: translateY(-2px);
}
/* Sekundär-/Outline-Buttons (z. B. „Zum Kalender hinzufügen", Abonnieren) */
.tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button,
.tribe-common .tribe-common-c-btn-border {
  background: transparent !important; color: var(--text) !important; border: 1.5px solid var(--line) !important;
}
.tribe-events-c-subscribe-dropdown__button:hover { border-color: var(--text) !important; }

/* ---------- Obere Leiste: Suche + Ansichts-Umschalter ---------- */
.tribe-events-header, .tribe-events-c-events-bar, .tribe-events-c-top-bar {
  background: var(--surface) !important; border: 1px solid var(--line-2); border-radius: 10px;
}
.tribe-events-c-search__input-control-wrapper, .tribe-events-c-search__input {
  background: var(--bg-2) !important; color: var(--text) !important; border-color: var(--line) !important; border-radius: 6px;
}
.tribe-events-c-search__input::placeholder { color: var(--muted-2); }
.tribe-events-c-view-selector__button, .tribe-events-c-top-bar__datepicker-button {
  color: var(--text) !important;
}
.tribe-events-c-view-selector__list-item-text { color: var(--text); }
.tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-text { color: var(--gold); }
.tribe-events-c-top-bar__nav-list-item .tribe-common-c-btn-icon,
.tribe-events-c-nav__prev, .tribe-events-c-nav__next {
  color: var(--text) !important; background: transparent !important; border-color: var(--line) !important;
}
.tribe-events-c-top-bar__today-button { background: transparent !important; color: var(--text) !important; border: 1px solid var(--line) !important; border-radius: 40px; }

/* ---------- Listenansicht ---------- */
.tribe-events-calendar-list__month-separator,
.tribe-events-calendar-list__event-row { border-color: var(--line-2) !important; }
.tribe-events-calendar-list__month-separator-text { color: var(--muted); background: transparent; }
.tribe-events-calendar-list__event { border-bottom: 1px solid var(--line-2); }
.tribe-events-calendar-list__event-title-link,
.tribe-events-calendar-list__event-title { color: var(--text) !important; font-family: var(--font-display); text-transform: uppercase; }
.tribe-events-calendar-list__event-title-link:hover { color: var(--gold) !important; }
.tribe-events-calendar-list__event-datetime,
.tribe-events-calendar-list__event-description,
.tribe-events-calendar-list__event-description p { color: var(--muted) !important; }
.tribe-events-calendar-list__event-date-tag-datetime { color: var(--text); }
.tribe-events-calendar-list__event-date-tag-daynum { color: var(--gold); font-family: var(--font-display); }

/* ---------- Monats-/Tagesansicht ---------- */
.tribe-events-calendar-month__day, .tribe-events-calendar-month__header-column {
  background: transparent !important; border-color: var(--line-2) !important; color: var(--text);
}
.tribe-events-calendar-month__day--current { background: var(--surface) !important; }
.tribe-events-calendar-month__day-date, .tribe-events-calendar-month__header-column-title { color: var(--muted); }
.tribe-events-calendar-month__calendar-event-title-link { color: var(--text) !important; }
.tribe-events-calendar-month__mobile-events-icon--event { background-color: var(--gold); }
.tribe-events-calendar-day__event, .tribe-events-calendar-day__event-wrapper { background: var(--surface) !important; border: 1px solid var(--line-2); border-radius: 8px; }

/* Datepicker-Popup */
.tribe-events-c-top-bar__datepicker .datepicker { background: var(--surface); border: 1px solid var(--line); color: var(--text); }
.datepicker table tr td.day:hover { background: var(--btn-bg); color: var(--btn-text); }
.datepicker table tr td.active, .datepicker table tr td.today { background: var(--btn-bg) !important; color: var(--btn-text) !important; }

/* ---------- Einzel-Event (Tribe single) ---------- */
.tribe-events-single-event-title, .tribe-events-single .tribe-events-single-event-title {
  font-family: var(--font-display); text-transform: uppercase; color: var(--text);
}
.tribe-events-schedule, .tribe-events-schedule h2 { color: var(--gold) !important; }
.tribe-events-event-meta { background: var(--surface) !important; border: 1px solid var(--line-2); border-radius: 10px; color: var(--text); }
.tribe-events-event-meta .tribe-events-meta-group .tribe-events-single-section-title { color: var(--gold); }
.tribe-events-event-meta dt, .tribe-events-event-meta dd, .tribe-events-single p { color: var(--muted); }
.tribe-events-back a, .tribe-events-nav-pagination a { color: var(--gold); }
#tribe-events-content .tribe-events-sub-nav { border-color: var(--line-2); }

/* ---------- Ticket-Box (Event Tickets / Tickets Commerce) ---------- */
/* Genau EINE Karte (Formular/Checkout/RSVP) — kein verschachtelter Kasten */
.tribe-tickets__tickets-form,
.event-tickets .tribe-tickets__tickets-form,
.tribe-tickets__commerce-checkout,
.tribe-tickets__rsvp-wrapper {
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: 10px !important;
  color: var(--text) !important;
  box-shadow: none !important;
  padding: clamp(1.25rem, 3vw, 2rem) !important;
}
/* Äußerer Wrapper: transparent, kein zweiter Rahmen/kein Extra-Padding */
.tribe-tickets__tickets-wrapper,
.tribe-tickets {
  background: transparent !important; border: none !important; padding: 0 !important; box-shadow: none !important;
}
.tribe-tickets__tickets-title, .tribe-tickets h2, .tribe-tickets h3 {
  font-family: var(--font-display) !important; text-transform: uppercase; color: var(--text) !important;
}
/* Ticket-Zeile: keine eigene Box, nur Trennlinie + gleichmäßiges Padding */
.tribe-tickets .tribe-tickets__tickets-item {
  background: transparent !important; border: none !important;
  border-bottom: 1px solid var(--line-2) !important; border-radius: 0 !important;
  padding: 1.1rem 0 !important; margin: 0 !important;
}
.tribe-tickets .tribe-tickets__tickets-item:last-of-type { border-bottom: none !important; }
.tribe-tickets__tickets-item-content-title,
.tribe-tickets__tickets-item-content-subtitle,
.tribe-tickets__tickets-item-content-description,
.tribe-common-b1, .tribe-common-b2, .tribe-common-b3 { color: var(--text) !important; }
.tribe-tickets__tickets-item-content-description, .tribe-tickets__tickets-item-content-subtitle { color: var(--muted) !important; }
.tribe-tickets__tickets-item-details-title { color: var(--text) !important; }
.tribe-tickets__tickets-item-extra-available,
.tribe-tickets__tickets-item-extra-available-quantity { color: var(--muted) !important; }
.tribe-tickets__tickets-item-extra-price,
.tribe-tickets-price .tribe-amount,
.tribe-amount,
.tribe-tickets__tickets-footer-total .tribe-amount { color: var(--gold) !important; font-weight: 700; }

/* Mengen-Stepper */
.tribe-tickets__tickets-item-quantity,
.tribe-tickets-quantity, .tribe-common-form-control-quantity {
  background: var(--bg-2) !important; border: 1px solid var(--line) !important; border-radius: 6px !important;
}
.tribe-tickets__tickets-item-quantity input,
.tribe-tickets-quantity-number, .tribe-common-form-control-quantity__input {
  background: transparent !important; color: var(--text) !important; border: none !important;
}
.tribe-tickets__tickets-item-quantity-add,
.tribe-tickets__tickets-item-quantity-remove,
.tribe-common-form-control-quantity__button { color: var(--text) !important; background: transparent !important; }

/* Footer / Summe */
.tribe-tickets__tickets-footer, .tribe-tickets__footer {
  background: transparent !important; border-top: 1px solid var(--line-2) !important; color: var(--text) !important;
}
.tribe-tickets__tickets-footer-total-wrap, .tribe-tickets__footer-total { color: var(--text) !important; }

/* Formularfelder in Tickets/Checkout */
.tribe-tickets input[type="text"], .tribe-tickets input[type="email"], .tribe-tickets input[type="tel"],
.tribe-tickets select, .tribe-tickets textarea,
.tribe-common-form-control-text__input {
  background: var(--bg-2) !important; color: var(--text) !important; border: 1px solid var(--line) !important; border-radius: 6px !important;
}
.tribe-common-form-control-text__label, .tribe-tickets label { color: var(--muted) !important; }

/* Modal / Warenkorb-Overlay von Event Tickets */
.tribe-dialog__wrapper, .tribe-modal__wrapper, .tribe-tickets__modal {
  background: var(--surface) !important; color: var(--text) !important; border: 1px solid var(--line) !important; border-radius: 12px;
}
.tribe-modal__close-button, .tribe-dialog__close-button { color: var(--text) !important; }

/* ---------- Fix: weiße Flächen in der oberen Leiste / Ansichts-Umschalter ---------- */
.tribe-events-header,
.tribe-events-header__events-bar,
.tribe-events-c-events-bar,
.tribe-events-c-events-bar__search,
.tribe-events-c-events-bar__views,
.tribe-events-c-view-selector,
.tribe-events-c-view-selector__content,
.tribe-events-c-view-selector__list,
.tribe-events-c-view-selector__button,
.tribe-events-c-top-bar,
.tribe-events-c-top-bar__nav,
.tribe-events-c-top-bar__datepicker {
  background-color: transparent !important;
}
.tribe-events-header, .tribe-events-c-events-bar {
  background-color: var(--surface) !important; border: 1px solid var(--line-2) !important; border-radius: 10px;
}
.tribe-events-c-view-selector__button,
.tribe-events-c-view-selector__list-item-link,
.tribe-events-c-view-selector__list-item-text {
  color: var(--text) !important;
}
.tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-text,
.tribe-events-c-view-selector__button--active { color: var(--gold) !important; }
/* Such-Button bleibt blau, Feld dunkel */
.tribe-events-c-search__input { background: var(--bg-2) !important; color: var(--text) !important; }

/* ---------- Bilder in der Listenansicht anzeigen & im Stil ---------- */
.tribe-events-calendar-list__event-featured-image-wrapper,
.tribe-events-calendar-list__event-featured-image-link { display: block; }
.tribe-events-calendar-list__event-featured-image {
  width: 100%; height: 100%; object-fit: cover; border-radius: 8px; border: 1px solid var(--line-2);
}
.tribe-events-calendar-list__event-row { gap: 1.2rem; }
/* Auch Monats-Tooltip-Bild + Tagesansicht-Bild abrunden */
.tribe-events-calendar-month__event-featured-image,
.tribe-events-calendar-day__event-featured-image { border-radius: 8px; object-fit: cover; }

/* ---------- Single-Event: Beitragsbild als Hero mit Titel-Overlay (all2gether-Look) ---------- */
.single-tribe_events .tribe-events-event-image {
  position: relative;
  margin: 0 0 -6rem !important;
  height: clamp(300px, 46vh, 560px);
  border-radius: 12px;
  overflow: hidden;
}
.single-tribe_events .tribe-events-event-image a,
.single-tribe_events .tribe-events-event-image img {
  display: block; width: 100% !important; height: 100% !important; margin: 0 !important;
}
.single-tribe_events .tribe-events-event-image img { object-fit: cover !important; }
.single-tribe_events .tribe-events-event-image::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, var(--bg) 4%, rgba(0,0,0,.15) 55%, rgba(0,0,0,.5) 100%);
}
.single-tribe_events .tribe-events-single-event-title,
.single-tribe_events .tribe-events-schedule {
  position: relative; z-index: 3;
}
.single-tribe_events .tribe-events-single-event-title {
  text-shadow: 0 6px 30px rgba(0,0,0,.85); padding-inline: clamp(0px, 2vw, 1rem);
}
@media (max-width: 680px) {
  .single-tribe_events .tribe-events-event-image { margin-bottom: -3.5rem !important; height: clamp(210px, 38vh, 340px); }
}

/* ---------- Responsive Feinschliff ---------- */
@media (max-width: 680px) {
  .tribe-events-header, .tribe-events-c-events-bar { border-radius: 8px; }
  .tribe-tickets__tickets-form, .tribe-tickets .tribe-tickets__tickets-item { padding: 1rem !important; }
}

/* Injizierter Archiv-Hero (Events-Liste) */
.page-hero--tribe { margin-bottom: 2rem; }
