/*****************************************************************************************************
* Events Module: General CSS
******************************************************************************************************/

/*
Events Archive
---------------------------------------------------------------------------------------------------- */

/* No-Events Message
--------------------------------------------- */

.bub-events-noevents__past-events-link a {
  margin-left: 5px;
  color: var(--theme1-color-def);
}

.bub-events-noevents__past-events-link a:hover {
  color: var(--theme1-color-acc);
}


/* Mixed
--------------------------------------------- */

/* Bugfix (FacetWP 3.6.x: If FacetWP has no results, it shows the archive
description and past events link again within the loop, */
.facetwp-template .archive-description,
.facetwp-template .bub-filters__past-events {
  display: none;
}


/*
Single Event Components
---------------------------------------------------------------------------------------------------- */

/* Event Info
--------------------------------------------- */

.bub-event-info {
  margin: 0.5rem 0 0;
}


/* Event Details
--------------------------------------------- */

/* Event Details: Common. Rows between light rules, the label in small grey
   capitals (2026-10-18). */

.bub-event-details {
  border-top: 1px solid var(--body-background-dk2);
  margin: 32px 0 25px;
}

.bub-event-details__item {
  border-bottom: 1px solid var(--body-background-dk2);
  display: flex;
  gap: 4px 20px;
  line-height: 1.45;
  padding: 13px 0 12px;
}

.bub-event-details__item-title {
  color: var(--body-color-acc);
  flex: 0 0 110px;
  font-size: 12px;
  letter-spacing: 0.14em;
  line-height: 1.45;
  margin: 0;
  padding: 2px 0 0;
  text-transform: uppercase;
}

@media screen and (max-width: 500px) {

  .bub-event-details__item {
    flex-direction: column;
  }

  .bub-event-details__item-title {
    flex-basis: auto;
  }
}

/* Event Details: Website */

.bub-event-details__website-value {
  /*max-width: 15em;*/
  /*overflow: hidden;*/
  /*text-overflow: ellipsis;*/
  /*white-space: nowrap;*/
}

/* Event Details: Tour Link */

.bub-event-details__tourlink {
  margin-left: 5px;
}

/* Event Details: Venue */

.bub-event-details__venue-note,
.bub-event-details__venue-maplink {
  display: block;
}

.bub-event-details__venue-country {
  display: none;
}

/* Event Details: Extras (Content Links) */

.bub-event-details__extras a:not(:last-child)::after {
  content: ',';
  margin-right: 1px; 
}


/* Google Map
--------------------------------------------- */

/* Map Containers: Common */

.bub-event-map__map {
  height: 400px;
  position: relative;
}

:where(.bub-event-map--has-placeholder) .bub-event-map__map {
  background: url('../../../media/placeholders/ph-event-map.jpg') no-repeat;
  background-size: cover;
}

.bub-event-map__map--embed,
.bub-event-map--js.map-loaded .bub-event-map__map {
  width: 100%;
}

.bub-event-map__wrap {
  filter: grayscale(100%);
  height: 100%;
  position: relative;
}

.bub-event-map.map-error .bub-event-map__wrap {
  background: #e5e5e5;
}

/* Map Containers: JS-API */

.bub-event-map--js {
  opacity: 0;
}

.bub-event-map--js.map-loaded,
.bub-event-map--js.map-error {
  transition: opacity 1000ms ease-in;
  opacity: 1;
}

/* Map Element: Common */

.bub-event-map__element {
  height: 100%;
  width: 100%;
}

/* Map Element: Embed-API */

.bub-event-map__embed-wrap {
  height: 100%;
}

.bub-event-map__embed-element {
  border: 0;
  height: 100%;
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
}

/* Map Error Message (only JS-API) */

.bub-event-map__error-message {
  color: #999;
  display: none;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
  padding: 15px;
  position: absolute;
    top: 50%;
  text-align: center;
  transform: translateY(-50%);
  width: 100%;
}

.bub-event-map.map-error .bub-event-map__error-message {
  display: initial;
}

/* Map Overlay */

.bub-event-map__overlay {
    font-size: 0.9rem;
    position: absolute;
      top: 50%;
    transform: translateY(-50%);
    width: 100%;
}

.bub-event-map__overlay-trigger {
  background: var(--theme2-background-def);
  border-radius: 0.6em;
  color: #fff;
  display: block;
  line-height: 1;
  margin: 0 auto;
  opacity: 0.85;
  padding: 0.8em 1.0em 0.7em;
  transition: all 200ms;
}

.bub-event-map__overlay-trigger:hover {
  opacity: 0.78;
}

.bub-event-map__overlay-note {
  font-size: 0.87rem;
  line-height: 1.35;
  margin: 10px auto 0;
  max-width: 22em;
  text-align: center;
}

.bub-event-map__overlay-note p {
  background: #fff;
  display: inline;
}

/* Map Caption */

.bub-event-map__caption {
  display: block;
  font-size: 0.8rem;
  line-height: 1;
  padding: 0px 0px 8px 0px;
}

.bub-event-map.map-error .bub-event-map__caption {
  display: none;
}

/* Complianz Plugin Fixes */

.bub-event-map .cmplz-blocked-content-container {
  filter: brightness(110%);
  height: 100%;
}


/*
Event Shortcodes
---------------------------------------------------------------------------------------------------- */

/* Event List Shortcode
--------------------------------------------- */

/* The default markup as the Termine list: one row per event between
   hairlines, the date in serif, the place in grey capitals, then the title
   (front page, 2026-10-18). The markup 'romi' has rows of its own. */

.bub-eventlist__list {
  border-top: 1px solid var(--body-background-dk2);
  margin-left: 0 !important;
  padding: 0;
}

.bub-eventlist__item {
  list-style-type: none !important;
}

.bub-eventlist__item:has(> a.bub-eventlist__date) {
  align-items: baseline;
  border-bottom: 1px solid var(--body-background-dk2);
  display: grid;
  gap: 4px 28px;
  grid-template-columns: 230px 150px minmax(0, 1fr);
  margin: 0;
  padding: 14px 0;
}

.bub-eventlist .bub-eventlist__element {
  color: inherit;
  text-decoration: none;
}

.bub-eventlist .bub-eventlist__element:hover {
  text-decoration: underline;
}

.bub-eventlist .bub-eventlist__date,
.bub-eventlist .bub-eventlist__title {
  font: var(--display-font-def);
  font-size: 21px;
  line-height: 1.25;
}

.bub-eventlist__date--short {
  display: none;
}

.bub-eventlist .bub-eventlist__town {
  color: var(--body-color-acc);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

@media screen and (max-width: 650px) {

  .bub-eventlist__item:has(> a.bub-eventlist__date) {
    gap: 2px;
    grid-template-columns: minmax(0, 1fr);
  }
}