.elementor-32818 .elementor-element.elementor-element-d1608c2{--spacer-size:50px;}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );background-color:var( --e-global-color-accent );}.elementor-32818 .elementor-element.elementor-element-7275ea7 .elementor-button-content-wrapper{flex-direction:row;}.elementor-32818 .elementor-element.elementor-element-7275ea7 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-32818 .elementor-element.elementor-element-7275ea7 .elementor-button{font-family:"Inter", Sans-serif;font-size:20px;font-weight:400;text-decoration:underline;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );background-color:#FFFFFF00;border-style:none;}.elementor-32818 .elementor-element.elementor-element-7275ea7 .elementor-button:hover, .elementor-32818 .elementor-element.elementor-element-7275ea7 .elementor-button:focus{color:var( --e-global-color-secondary );background-color:#FFFFFF03;}.elementor-32818 .elementor-element.elementor-element-7275ea7 .elementor-button:hover svg, .elementor-32818 .elementor-element.elementor-element-7275ea7 .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-32818 .elementor-element.elementor-element-7275ea7 > .elementor-widget-container{margin:0px 0px 0px -21px;padding:0px 0px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-7275ea7{z-index:1;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-32818 .elementor-element.elementor-element-371db33 img{width:472px;}.elementor-32818 .elementor-element.elementor-element-371db33:hover img{filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-32818 .elementor-element.elementor-element-371db33 > .elementor-widget-container{margin:-103px 0px -430px -300px;}.elementor-32818 .elementor-element.elementor-element-40de4a0{--spacer-size:30px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-32818 .elementor-element.elementor-element-8231b63 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:50px;font-weight:600;}.elementor-32818 .elementor-element.elementor-element-d45c823 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-weight:400;}.elementor-32818 .elementor-element.elementor-element-6419dff{--spacer-size:50px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-32818 .elementor-element.elementor-element-0c3d5d9{font-family:"Inter", Sans-serif;font-size:14px;font-weight:400;}.elementor-32818 .elementor-element.elementor-element-0c3d5d9 > .elementor-widget-container{margin:-26px 0px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-f93a386{width:initial;max-width:initial;}.elementor-32818 .elementor-element.elementor-element-e1cd92a{width:var( --container-widget-width, 687px );max-width:687px;--container-widget-width:687px;--container-widget-flex-grow:0;}.elementor-32818 .elementor-element.elementor-element-ff81821{--spacer-size:50px;}.elementor-32818 .elementor-element.elementor-element-00691b5{width:initial;max-width:initial;}.elementor-32818 .elementor-element.elementor-element-9827142{--spacer-size:50px;}.elementor-32818 .elementor-element.elementor-element-28c9201{width:initial;max-width:initial;}.elementor-32818 .elementor-element.elementor-element-e729783 a:hover{color:var( --e-global-color-accent );}.elementor-32818 .elementor-element.elementor-element-e729783{margin-top:-0px;margin-bottom:0px;}.elementor-32818 .elementor-element.elementor-element-46c00ef{text-align:left;}.elementor-32818 .elementor-element.elementor-element-46c00ef img{width:245px;height:228px;}.elementor-32818 .elementor-element.elementor-element-859bce9{text-align:right;font-family:"Inter", Sans-serif;font-size:13px;font-weight:400;}.elementor-32818 .elementor-element.elementor-element-859bce9 > .elementor-widget-container{margin:-15px 21px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-8bfbaa9{color:#DC005D;}.elementor-32818 .elementor-element.elementor-element-8bfbaa9 > .elementor-widget-container{margin:-28px 0px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-c1568b9{color:#000000;}.elementor-32818 .elementor-element.elementor-element-c1568b9 > .elementor-widget-container{margin:-26px 0px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-a645bec .elementor-button-content-wrapper{flex-direction:row;}.elementor-32818 .elementor-element.elementor-element-a645bec .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-32818 .elementor-element.elementor-element-a645bec .elementor-button{font-family:"Inter", Sans-serif;font-size:20px;font-weight:400;text-decoration:underline;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );background-color:#FFFFFF00;border-style:none;}.elementor-32818 .elementor-element.elementor-element-a645bec .elementor-button:hover, .elementor-32818 .elementor-element.elementor-element-a645bec .elementor-button:focus{color:var( --e-global-color-primary );background-color:#FFFFFF03;}.elementor-32818 .elementor-element.elementor-element-a645bec .elementor-button:hover svg, .elementor-32818 .elementor-element.elementor-element-a645bec .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-32818 .elementor-element.elementor-element-a645bec > .elementor-widget-container{margin:0px 0px 0px -21px;padding:0px 0px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-a645bec{z-index:1;}.elementor-32818 .elementor-element.elementor-element-46bb1a0{text-align:left;}.elementor-32818 .elementor-element.elementor-element-46bb1a0 img{width:245px;height:228px;}.elementor-32818 .elementor-element.elementor-element-88a3f4a{text-align:right;font-family:"Inter", Sans-serif;font-size:13px;font-weight:400;}.elementor-32818 .elementor-element.elementor-element-88a3f4a > .elementor-widget-container{margin:-15px 21px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-d1ece63{color:#DC005D;}.elementor-32818 .elementor-element.elementor-element-d1ece63 > .elementor-widget-container{margin:-28px 0px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-3bc91ec{color:#000000;}.elementor-32818 .elementor-element.elementor-element-3bc91ec > .elementor-widget-container{margin:-26px 0px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-6d93618 .elementor-button-content-wrapper{flex-direction:row;}.elementor-32818 .elementor-element.elementor-element-6d93618 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-32818 .elementor-element.elementor-element-6d93618 .elementor-button{font-family:"Inter", Sans-serif;font-size:20px;font-weight:400;text-decoration:underline;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );background-color:#FFFFFF00;border-style:none;}.elementor-32818 .elementor-element.elementor-element-6d93618 .elementor-button:hover, .elementor-32818 .elementor-element.elementor-element-6d93618 .elementor-button:focus{color:var( --e-global-color-secondary );background-color:#FFFFFF03;}.elementor-32818 .elementor-element.elementor-element-6d93618 .elementor-button:hover svg, .elementor-32818 .elementor-element.elementor-element-6d93618 .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-32818 .elementor-element.elementor-element-6d93618 > .elementor-widget-container{margin:0px 0px 0px -21px;padding:0px 0px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-6d93618{z-index:1;}.elementor-32818 .elementor-element.elementor-element-4b3a8db{--spacer-size:30px;}.elementor-32818 .elementor-element.elementor-element-72a4157 .elementor-button-content-wrapper{flex-direction:row;}.elementor-32818 .elementor-element.elementor-element-72a4157 .elementor-button .elementor-button-content-wrapper{gap:14px;}.elementor-32818 .elementor-element.elementor-element-72a4157 .elementor-button{font-family:"Inter", Sans-serif;font-size:20px;font-weight:400;text-decoration:underline;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );background-color:#FFFFFF00;border-style:none;}.elementor-32818 .elementor-element.elementor-element-72a4157 .elementor-button:hover, .elementor-32818 .elementor-element.elementor-element-72a4157 .elementor-button:focus{color:var( --e-global-color-secondary );background-color:#FFFFFF03;}.elementor-32818 .elementor-element.elementor-element-72a4157 .elementor-button:hover svg, .elementor-32818 .elementor-element.elementor-element-72a4157 .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-32818 .elementor-element.elementor-element-72a4157 > .elementor-widget-container{margin:0px 0px 0px -21px;padding:0px 0px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-72a4157{z-index:1;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-32818 .elementor-element.elementor-element-71868df{width:50%;}.elementor-32818 .elementor-element.elementor-element-17847a7{width:50%;}}@media(max-width:1024px){.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}@media(max-width:767px){.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-32818 .elementor-element.elementor-element-6419dff{--spacer-size:25px;}.elementor-32818 .elementor-element.elementor-element-0c3d5d9{font-size:13px;}.elementor-32818 .elementor-element.elementor-element-0c3d5d9 > .elementor-widget-container{margin:-29px 0px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-46c00ef{text-align:left;}.elementor-32818 .elementor-element.elementor-element-46c00ef img{width:100%;height:100%;}.elementor-32818 .elementor-element.elementor-element-859bce9{text-align:center;}.elementor-32818 .elementor-element.elementor-element-859bce9 > .elementor-widget-container{margin:-13px 0px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-8bfbaa9{text-align:center;}.elementor-32818 .elementor-element.elementor-element-c1568b9{text-align:center;}.elementor-32818 .elementor-element.elementor-element-a645bec .elementor-button{font-size:16px;}.elementor-32818 .elementor-element.elementor-element-46bb1a0{text-align:left;}.elementor-32818 .elementor-element.elementor-element-46bb1a0 img{width:100%;height:100%;}.elementor-32818 .elementor-element.elementor-element-88a3f4a{text-align:center;}.elementor-32818 .elementor-element.elementor-element-88a3f4a > .elementor-widget-container{margin:-13px 0px 0px 0px;}.elementor-32818 .elementor-element.elementor-element-d1ece63{text-align:center;}.elementor-32818 .elementor-element.elementor-element-3bc91ec{text-align:center;}.elementor-32818 .elementor-element.elementor-element-6d93618 .elementor-button{font-size:16px;}}/* Start custom CSS for section, class: .elementor-element-e729783 *//* ====================
   Steuerung des Layouts in der Event-Section
   ==================== */

/* Globale Definition für Abstand vor "Details"
   → HIER den Wert ändern (z. B. 1px, 10px, 100px) */
:root {
  --details-gap: 0px; /* Standardabstand, frei änderbar */
}

/* Spaltenreihe: sorgt für gleiche Höhe pro Reihe */
.events-row {
  align-items: stretch;
}

/* Spalte als Flex-Spalte */
.event-card > .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Inhalt oben */
.event-content {}

/* Fixer Abstand vor "Details":
   exakt so groß wie --details-gap */
.event-spacer {
  flex: 0 0 auto;
  height: var(--details-gap);
}

/* "Details" immer ganz unten */
.event-footer {
  margin-top: auto;
}/* End custom CSS */
/* Start custom CSS *//* ==================== DEIN ORIGINALES CSS ==================== */

/* Container für rechtsbündige Ausrichtung */
.align-right-block {
    display: flex;
    justify-content: flex-end;
}

/* Gemeinsame Bild- und Balkenstruktur */
.custom-bottom-border {
    position: relative;
    display: inline-block;
}
.custom-bottom-border img {
    display: block;
    width: 100%;
    height: auto;
}
.custom-bottom-border::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 18px;
    background-color: #DC005C;
}
/* Responsive Anpassung der Balkenhöhe */
@media (max-width: 768px) {
    .custom-bottom-border::after { height: 14px; }
}

/* Hover-Container für Spezialbilder mit Overlay-Effekt */
.hover-overlay-effect {
    position: relative;
    display: block;
    overflow: hidden;
    text-decoration: none;
}
.hover-overlay-effect img {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1;
}
/* fester unterer Balken */
.hover-overlay-effect::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 245px;
    height: 8px;
    background-color: #DC005C;
    z-index: 2;
}
/* Overlay */
.hover-overlay-effect::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 245px;
    height: 100%;
    background: var(--hover-color, #DC005D33);
    transition: transform 0.5s ease-in-out;
    transform: translateY(100%);
    z-index: 3;
    pointer-events: none;
}
.hover-overlay-effect:hover::after,
.hover-overlay-effect.hover-active::after {
    transform: translateY(0);
    background: #DC005D4D;
}


/* ==================== ERGÄNZUNG AUS ZWEITEM CSS ==================== */

.event-hover-effect {
    position: relative;
    display: block;
    overflow: hidden;
    text-decoration: none;
    line-height: 0;
    width: 245px;
}
.event-hover-effect img {
    display: block;
    width: 245px;
    height: auto;
    position: relative;
    z-index: 1;
    vertical-align: bottom;
}
.event-hover-effect::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 245px;
    height: 8px;
    background-color: #DC005C;
    z-index: 2;
}
.event-hover-effect::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 245px;
    height: 100%;
    background: var(--hover-color, #DC005D33);
    transition: transform 0.5s ease-in-out;
    transform: translateY(100%);
    z-index: 3;
    pointer-events: none;
}
.event-hover-effect:hover::after,
.event-hover-effect.hover-active::after {
    transform: translateY(0);
    background: #DC005D4D;
}
/* Hover-Effekt auch beim Link mit Klasse hover-trigger */
.hover-trigger:hover ~ .event-hover-effect::after {
    transform: translateY(0);
    background: #DC005D4D;
}

/* Bild mit nur rotem Balken */
.event-redbar {
    position: relative;
    display: block;
    overflow: hidden;
    line-height: 0;
    width: 245px;
}
.event-redbar img {
    display: block;
    width: 245px;
    height: auto;
    position: relative;
    z-index: 1;
    vertical-align: bottom;
}
.event-redbar::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 245px;
    height: 8px;
    background-color: #DC005C;
    z-index: 2;
}

/* Feste Breite für Event-Blocks */
.event-block-width { width: 245px !important; }

/* Feste Höhen ab 768px */
@media (min-width: 768px) {
  .event-block-h200 { min-height: 200px; }
  .event-block-h215 { min-height: 215px; }
  .event-block-h245 { min-height: 245px; }
  .event-block-h300 { min-height: 300px; }
}

/* Linkabstand mobil */
@media (max-width: 767px) {
  .details-link-mobile {
    margin-top: -14px;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
  }
}
/* Volle Breite mobil */
@media (max-width: 767px) {
  .event-block-width,
  .event-redbar,
  .event-hover-effect,
  .event-redbar img,
  .event-hover-effect img,
  .event-redbar::before,
  .event-hover-effect::before,
  .event-hover-effect::after {
    width: 100% !important;
  }
}


/* ==================== EVENT-CARDS: FLEX-LAYOUT + FOOTER ==================== */

.events-row .event-card > .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  --widgets-spacing: 0px; /* Elementor-Spacing aus */
}

/* Footer („Details“) immer unten */
.events-row .event-card .event-footer {
  margin-top: auto !important;
  margin-bottom: 0 !important;
}

/* Einheitlicher Abstand unter Text-Widgets */
.events-row .event-card > .elementor-widget-wrap > .elementor-widget-heading,
.events-row .event-card > .elementor-widget-wrap > .elementor-widget-text-editor {
  margin: 0 0 10px 0 !important; /* Grundabstand */
}

/* Kein Extra-Abstand beim letzten Text-Widget */
.events-row .event-card > .elementor-widget-wrap > .elementor-widget-heading:last-of-type,
.events-row .event-card > .elementor-widget-wrap > .elementor-widget-text-editor:last-of-type {
  margin-bottom: 0 !important;
}

/* Bild mit eigenem Abstand nach unten */
.events-row .event-card > .elementor-widget-wrap > .elementor-widget-image {
  margin: 0 0 12px 0 !important;
}

/* Spacer-Widget am Desktop neutralisieren (falls noch vorhanden) */
@media (min-width: 768px) {
  .events-row .event-card > .elementor-widget-wrap > .elementor-widget-spacer {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}


/* ==================== DIVIDER-STEUEURUNG ==================== */

/* Desktop & Tablet: Divider neutralisieren */
@media (min-width: 768px) {
  .event-divider-widget {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .event-divider {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    flex: 0 0 0 !important;
  }
}

/* Mobile: Divider sichtbar */
@media (max-width: 767px) {
  .event-divider-widget {
    display: block !important;
    margin: 40px 0 60px 0;
    padding: 0 !important;
  }
  .event-divider {
    display: block;
    width: 80px;
    height: 1px;
    background: #999;
    margin: 0 auto;
  }
}/* End custom CSS */