/* ==================================================
   Anna Core – Veranstaltungen auf der Startseite
================================================== */

.anna-startseite-veranstaltungen {
  width: 100%;
  margin: 0;
  padding: 0;
}

.anna-startseite-veranstaltungen__liste,
.anna-startseite-veranstaltungen__flyer {
  display: flex;
  flex-direction: column;
}

.anna-startseite-veranstaltungen__liste {
  gap: 0 !important;
  margin-top: -1.25rem;
}

/* Abstand zwischen einzelnen Terminen bewusst selbst steuern. */
.anna-startseite-veranstaltungen__termin + .anna-startseite-veranstaltungen__termin {
  margin-top: 1.15rem !important;
}

/* Fallback: Nachträglich durch wpautop()/Theme eingefügte Umbrüche dürfen
   die Terminabstände nicht beeinflussen. */
.anna-startseite-veranstaltungen__liste > br,
.anna-startseite-veranstaltungen__termin > br {
  display: none !important;
}

.anna-startseite-veranstaltungen__termin,
.anna-startseite-veranstaltungen__flyer-bild,
.anna-startseite-veranstaltungen__weiterlesen a,
.anna-startseite-veranstaltungen__alle a {
  text-decoration: none !important;
}

/* ==================================================
   Terminliste
================================================== */

.anna-startseite-veranstaltungen__termin {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  margin: 0 !important;
  padding: 0;
  color: #ffffff !important;
  box-sizing: border-box;
  transition: color 0.2s ease;
}


.anna-startseite-veranstaltungen__datum {
  display: block;
  font-size: 1.05rem;
  line-height: 1.2;
  opacity: 1;
}

.anna-startseite-veranstaltungen__titel {
  display: block;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.2;
}

.anna-startseite-veranstaltungen__termin:link,
.anna-startseite-veranstaltungen__termin:visited,
.anna-startseite-veranstaltungen__termin .anna-startseite-veranstaltungen__datum,
.anna-startseite-veranstaltungen__termin .anna-startseite-veranstaltungen__titel {
  color: #ffffff !important;
}

.anna-startseite-veranstaltungen__termin:hover,
.anna-startseite-veranstaltungen__termin:focus-visible,
.anna-startseite-veranstaltungen__termin:hover .anna-startseite-veranstaltungen__datum,
.anna-startseite-veranstaltungen__termin:hover .anna-startseite-veranstaltungen__titel,
.anna-startseite-veranstaltungen__termin:focus-visible .anna-startseite-veranstaltungen__datum,
.anna-startseite-veranstaltungen__termin:focus-visible .anna-startseite-veranstaltungen__titel {
  color: #9b9b9b !important;
}


/*
 * Mobil bewusst ohne Flexbox: Einige Theme-Regeln verteilen bei schmalen
 * Displays freien Platz innerhalb von Flex-Containern. Im normalen Blockfluss
 * werden die Abstände ausschließlich von Anna Core bestimmt.
 */
@media screen and (max-width: 782px) {
  .anna-startseite-veranstaltungen .anna-startseite-veranstaltungen__termine,
  .anna-startseite-veranstaltungen .anna-startseite-veranstaltungen__liste {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
  }

  .anna-startseite-veranstaltungen .anna-startseite-veranstaltungen__liste {
    margin-top: -2rem !important;
  }

  .anna-startseite-veranstaltungen .anna-startseite-veranstaltungen__termin {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .anna-startseite-veranstaltungen .anna-startseite-veranstaltungen__termin + .anna-startseite-veranstaltungen__termin {
    margin-top: 0.7rem !important;
  }

  .anna-startseite-veranstaltungen .anna-startseite-veranstaltungen__datum,
  .anna-startseite-veranstaltungen .anna-startseite-veranstaltungen__titel {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.15 !important;
  }
}

/* Der Link behält bewusst sein bisheriges Erscheinungsbild. */
.anna-startseite-veranstaltungen__alle {
  margin: 1rem 0 0;
}

.anna-startseite-veranstaltungen__alle a {
  color: inherit;
  transition: opacity 0.2s ease;
}

.anna-startseite-veranstaltungen__alle a:hover,
.anna-startseite-veranstaltungen__alle a:focus-visible {
  opacity: 0.75;
}

/* ==================================================
   Flyer-Veranstaltungen
================================================== */

.anna-startseite-veranstaltungen__flyer {
  gap: 1.5rem;
  margin-top: 2rem;
}

.anna-startseite-veranstaltungen__flyer-karte {
  display: block;
  width: 100%;
}

.anna-startseite-veranstaltungen__flyer-bild {
  display: inline-block;
  width: 60%;
  max-width: 22rem;
  overflow: visible;
  box-sizing: border-box;
  transition: opacity 0.2s ease;
}

.anna-startseite-veranstaltungen__flyer-bild img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border: 2px solid var(--anna-border-blue-solid, #5681ec);
  box-sizing: border-box;
}

.anna-startseite-veranstaltungen__flyer-bild:hover,
.anna-startseite-veranstaltungen__flyer-bild:focus-visible {
  opacity: 0.75;
}

.anna-startseite-veranstaltungen__flyer-auszug {
  display: block;
  margin: 0.75rem 0 0;
  font-size: 1rem;
  line-height: 1.45;
}

.anna-startseite-veranstaltungen__flyer-zeile-1 {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.anna-startseite-veranstaltungen__flyer-zeile-2 {
  display: -webkit-box;
  overflow: hidden;
  margin-top: 0;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.anna-startseite-veranstaltungen__weiterlesen {
  margin: 0.35rem 0 0;
}

.anna-startseite-veranstaltungen__weiterlesen a {
  color: inherit;
  transition: opacity 0.2s ease;
}

.anna-startseite-veranstaltungen__weiterlesen a:hover,
.anna-startseite-veranstaltungen__weiterlesen a:focus-visible {
  opacity: 0.75;
}
