.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --reab-body:Source Sans 3; --reab-dark-red:#9B0600; --reab-gray:#565655; --reab-heading:Barlow Semi Condensed; --reab-ink:#292928; --reab-line:#DADAD6; --reab-mid-gray:#868786; --reab-orange:#EB7B00; --reab-red:#9C1006; --reab-surface:#F4F4F2; --reab-white:#fff; --reab-hover-red:#E4012B; --DUP_reab-body:Source Sans 3; --DUP_reab-red:#9C1006; --DUP_reab-heading:Barlow Semi Condensed; --DUP_reab-ink:#292928; --DUP_reab-gray:#565655; --DUP_reab-white:#fff; --reab-event-label-size:0.875rem; --reab-event-label-size-mobile:0.75rem; }
/* Start custom CSS *//* REAB NIEDERSACHSEN – ZENTRALES CUSTOM CSS
 * Elementor > Website-Einstellungen > Individuelles CSS
 *
 * Farben/Schriften: Globale Variablen (reab-red, reab-heading, reab-body …).
 * Baustein-Layout: Globale Klassen direkt im Elementor-Editor.
 * Dieses CSS: nur übergreifende Regeln und Plugin-Anpassungen.
 * Ally hat einen eigenen Shadow DOM; dessen Design bleibt in Code 851.
 */
/* 01 Grundlagen und Wortumbrüche / Karten-Plugin */
body { hyphens: none; word-break: normal; overflow-wrap: normal; }
h1, h2, h3, h4, h5, h6, li, .elementor .elementor-icon-list-text { white-space: normal !important; hyphens: none !important; word-break: normal !important; overflow-wrap: break-word !important; min-width: 0; }
/* Inhalte dürfen innerhalb von Flex-/Grid-Containern schrumpfen */
.elementor .e-con > * { min-width: 0; }
/* Interactive Geo Maps – Tooltip korrigieren */
.igm-tooltip .reab-kommune { display: block !important; height: auto !important; min-height: 0 !important; }
/* Interactive Geo Maps – Tooltip-Abstände korrigieren */
.imapsInnerTooltip { height: auto !important; min-height: 0 !important; line-height: 1.5 !important; }
/* Absätze kompakt darstellen */
.imapsInnerTooltip p { margin: 0 0 6px 0 !important; padding: 0 !important; line-height: 1.5 !important; }
/* Überschrift */
.imapsInnerTooltip h3 { margin: 0 0 12px 0 !important; padding: 0 !important; line-height: 1.3 !important; }
/* Icons nicht verschieben */
.imapsInnerTooltip i { display: inline !important; position: static !important; float: none !important; margin: 0 6px 0 0 !important; padding: 0 !important; line-height: inherit !important; vertical-align: baseline !important; }

/* 02 Textlinks – animierter roter Unterstrich */
.elementor :is(.e-paragraph-base, .e-heading-base, .elementor-heading-title):has(> a[href]) { text-decoration:none!important; }
.elementor a[href]:not(:where(.e-button-base, .elementor-button, [role="button"], [role="tab"], [aria-disabled="true"], .page-numbers, .elementor-pagination a, .reab-bereichslabel, .reab-menu-trigger, .reab-event-registration, .elementor-icon, .elementor-social-icon, .dialog-close-button, .skip-link)):not(:has(img, svg, > div, > article, > section, > h1, > h2, > h3, > p)), .elementor :is(a.e-paragraph-link-base, a.e-heading-link-base, .reab-module-bottom-note a, .reab-team-kontakt a) { position:relative; text-decoration:none!important; background-image:none!important; padding-bottom:.12em; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.elementor .reab-team-kontakt a > span { background-image:none!important; }
.elementor a[href]:not(:where(.e-button-base, .elementor-button, [role="button"], [role="tab"], [aria-disabled="true"], .page-numbers, .elementor-pagination a, .reab-bereichslabel, .reab-menu-trigger, .reab-event-registration, .elementor-icon, .elementor-social-icon, .dialog-close-button, .skip-link)):not(:has(img, svg, > div, > article, > section, > h1, > h2, > h3, > p))::after, .elementor :is(a.e-paragraph-link-base, a.e-heading-link-base, .reab-module-bottom-note a, .reab-team-kontakt a)::after { content:""; position:absolute; left:0; right:0; bottom:-.12em; height:2px; background-color:var(--reab-red,#9C1006); transform:scaleX(0); transform-origin:left; transition:transform .22s ease; pointer-events:none; }
.elementor a[href]:not(:where(.e-button-base, .elementor-button, [role="button"], [role="tab"], [aria-disabled="true"], .page-numbers, .elementor-pagination a, .reab-bereichslabel, .reab-menu-trigger, .reab-event-registration, .elementor-icon, .elementor-social-icon, .dialog-close-button, .skip-link)):not(:has(img, svg, > div, > article, > section, > h1, > h2, > h3, > p)):is(:hover,:focus-visible)::after, .elementor :is(a.e-paragraph-link-base, a.e-heading-link-base, .reab-module-bottom-note a, .reab-team-kontakt a):is(:hover,:focus-visible)::after { transform:scaleX(1); }
@media (prefers-reduced-motion:reduce) {
  .elementor a[href],.elementor a[href]::after { transition-duration:0s!important; }
}
/* 03 Suchergebnisse – Hervorhebung */
.reab-search-highlight, .asl_r span.highlighted { color:var(--reab-red,#9C1006)!important; font-weight:700!important; }
/* 04 Globaler Header und Ajax-Suche */
/* Ajax Search Lite: Theme-Schrift auch in Treffern und Filteroptionen. */
.asl_w, .asl_r, .asl_s,
:is(.asl_w, .asl_r, .asl_s) :is(div, input, button, select, textarea, label, legend, p, span, a, h1, h2, h3, h4, h5, h6) {
  font-family: "Source Sans 3", sans-serif !important;
}
.asl_w input::placeholder { font-family: inherit !important; }

.elementor-location-header { position: sticky; top: 0; z-index: 1000; }
body.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .elementor-location-header { top: 46px; }
}
/* REAB: globale Suche im Header */
.elementor-location-header {
  & .reab-header-search { flex:0 1 20rem; min-width:0; margin:0 0 0 auto; }
  & .reab-header-phone { margin-left:0; flex-shrink:0; }
  & .reab-header-search .asl_w { width:100%; border-radius:0; box-shadow:none; border:1px solid #DADAD6; background:#F4F4F2!important; }
  & .reab-header-search .probox { border-radius:0; background:#F4F4F2!important; }
  & .reab-header-search input.orig { color:#292928!important; font-family:var(--reab-body, 'Source Sans 3'),sans-serif; font-size:1rem!important; }
  & .reab-header-search .promagnifier { background:#9C1006!important; border-radius:0; cursor:pointer; }
  & .reab-header-search .promagnifier:hover { background:#E4012B!important; }
  & .reab-header-search .promagnifier svg { fill:#fff; }
  & .reab-header-search:not(.reab-header-search-mobile):focus-within { outline:2px solid #9C1006; outline-offset:3px; }
}
@media (max-width:767px) {
  .elementor-location-header .reab-global-header { flex-wrap:wrap; row-gap:1rem; }
  .elementor-location-header .reab-header-search { order:4; flex:1 0 100%; margin:0; }
  .elementor-location-header .reab-menu-trigger { margin-left:auto; }
}
.elementor-location-header {
  & .reab-header-search .probox { height:2.75rem!important; }
  & .reab-header-search .proinput input { height:2.75rem!important; line-height:2.75rem!important; font-family:"Source Sans 3",sans-serif!important; }
  & .reab-header-search input.orig::placeholder { color:#565655!important; opacity:1; }
  & .reab-header-search .promagnifier { width:2.75rem!important; height:2.75rem!important; }
  & :is(#ajaxsearchlite1,#ajaxsearchlite2) .probox .proinput input.orig { color:#292928!important; -webkit-text-fill-color:#292928!important; }
  & :is(#ajaxsearchlite1,#ajaxsearchlite2) .probox .proinput input.orig::placeholder { color:#565655!important; -webkit-text-fill-color:#565655!important; opacity:1!important; }
}
/* Live-Suchergebnisse: gleiche Kontur wie die REAB-Karten. */
:is(#ajaxsearchliteres1,#ajaxsearchliteres2) {
  box-sizing: border-box;
  background: #fff !important;
  border: 1px solid var(--reab-line, #DADAD6) !important;
  border-top: 3px solid var(--reab-red, #9C1006) !important;
  border-radius: 0 !important;
  box-shadow: 0 12px 28px rgba(41,41,40,.12) !important;
}
.asl_r span.highlighted { background: transparent !important; }
/* Header-Reihenfolge: Telefon, Suche, Menü */
@media (min-width:768px) {
  .elementor-location-header .reab-header-phone { margin-left:auto; }
  .elementor-location-header .reab-header-search { margin-left:0; }
}
/* REAB: ein Fokusrahmen für das vollständige Suchfeld */
.elementor-location-header .reab-header-search .probox .proinput input:is(:focus,:focus-visible) { outline:none!important; box-shadow:none!important; border:0!important; }
/* Einheitliche Such- und Filtersteuerung */
.elementor-location-header {
  & .reab-header-search .prosettings { width:2.75rem!important; height:2.75rem!important; background:#F4F4F2!important; cursor:pointer; }
  & .reab-header-search .prosettings:hover { background:#E5E5E2!important; }
  & .reab-header-search .prosettings .innericon { display:flex; align-items:center; justify-content:center; height:100%!important; width:100%!important; background:transparent!important; }
  & .reab-header-search .prosettings svg { fill:#9C1006!important; }
}
/* Löschen und Ladeanzeige mittig in der Suchzeile */
.elementor-location-header .reab-header-search .probox .proclose, .elementor-location-header .reab-header-search .probox .proloading { align-self:center; }
/* 05 Mega-Menü – Vollbild, Schließen und Animation */
.elementor-543 { z-index:99!important; }
#elementor-popup-modal-543 { z-index:10000!important; position:fixed!important; inset:0!important; width:100%!important; height:100%!important; max-width:none!important; background:#fff; }
#elementor-popup-modal-543 {
  & .dialog-widget-content { position:absolute; inset:0; width:100%!important; min-width:100%; max-width:none!important; height:100%!important; margin:0!important; background:#fff; border-radius:0; box-shadow:none; }
  & .dialog-message { box-sizing:border-box; width:100%!important; min-width:100%; max-width:none!important; height:100%!important; max-height:100%!important; overflow-x:hidden; overflow-y:auto; }
  & [data-elementor-type="popup"] { width:100%; min-width:0; }
  & .reab-mega-menu { box-sizing:border-box; width:100%; min-width:0; max-width:none; }
  & .dialog-close-button { position:fixed; top:1.25rem; right:1.5rem; color:#9C1006; background:#fff; padding:.75rem; font-size:1.75rem; z-index:10001; }
}
#elementor-popup-modal-543 .dialog-close-button :is(i,svg) { color:#9C1006; fill:#9C1006; }
#elementor-popup-modal-543 .dialog-close-button:hover,#elementor-popup-modal-543 .dialog-close-button:hover :is(i,svg) { color:#E4012B; fill:#E4012B; }
body.admin-bar #elementor-popup-modal-543 .dialog-close-button { top:3.25rem; }
@media(max-width:782px) {
  body.admin-bar #elementor-popup-modal-543 .dialog-close-button { top:4rem; }
}
#elementor-popup-modal-543 {
  & .reab-mega-menu-group { animation:reab-menu-column-in 420ms cubic-bezier(.22,.61,.36,1) both; }
  & .reab-mega-menu-group:nth-of-type(1) { animation-delay:60ms; }
  & .reab-mega-menu-group:nth-of-type(2) { animation-delay:150ms; }
  & .reab-mega-menu-group:nth-of-type(3) { animation-delay:240ms; }
  & .reab-mega-menu-group:nth-of-type(4) { animation-delay:330ms; }
}
@keyframes reab-menu-column-in {
  from { opacity:0; transform:translateY(10px); }
  to { opacity:1; transform:translateY(0); }
}
@media(prefers-reduced-motion:reduce) {
  #elementor-popup-modal-543 .reab-mega-menu-group { animation:none; }
}
/* 06 Kommunenkarte – wiederverwendeter HTML-Abschnitt */
.reab-kommunenkarte { --map-ink:#292928; --map-red:#9C1006; --map-line:#DADAD6; color:var(--map-ink); max-width:72rem; margin-inline:auto; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(1.5rem,3vw,3rem); align-items:start; }
.reab-kommunenkarte {
  & .reab-map-content { min-width:0; }
}
.reab-kommunenkarte, .reab-kommunenkarte * { box-sizing:border-box; }
.reab-kommunenkarte {
  & .reab-kommunen-svg { display:block; width:100%; max-width:52rem; height:auto; margin:0 auto; overflow:visible; }
  & .hot { cursor:pointer; }
  & .pin { transition:transform .18s ease; }
}
.reab-kommunenkarte .hot:hover .pin,.reab-kommunenkarte .hot.sel .pin,.reab-kommunenkarte .hot:focus-visible .pin { transform:scale(1.4); }
.reab-kommunenkarte {
  & .hot:focus-visible { outline:none; }
  & .hot:focus-visible .pin path { stroke:var(--map-red); stroke-width:2; }
  & .reab-map-legend { display:grid; gap:.75rem; margin-top:1.75rem; padding-top:1.25rem; border-top:1px solid var(--map-line); }
  & details { margin:0; padding:0; }
  & summary.reab-p { cursor:pointer; display:flex; gap:.75rem; align-items:baseline; }
  & details p { margin:.5rem 0 0 1.5rem; }
  & .reab-map-dot { display:inline-block; width:.75rem; height:.75rem; flex:0 0 .75rem; }
  & .reab-map-summary { display:grid; grid-template-columns:1fr; gap:1rem; margin-top:1.25rem; }
  & .reab-map-stat { display:flex; align-items:center; gap:1rem; padding:1rem; border:1px solid var(--map-line); }
  & .reab-map-stat strong { color:var(--map-red); }
  & .reab-map-summary .reab-map-hint { margin:0; padding:1rem; background:#F4F4F2; }
  & .reab-map-hint { margin:1.25rem 0; color:#565655; }
  & .reab-map-detail { position:relative; margin-top:0; min-width:0; padding:1.5rem; border:1px solid var(--map-line); border-top:3px solid var(--map-red); background:#F4F4F2; }
  & [hidden] { display:none!important; }
  & .reab-map-detail h3 { margin:0 2rem .75rem 0; }
  & .reab-map-close { position:absolute; top:.5rem; right:.5rem; min-width:2.75rem; min-height:2.75rem; padding:.5rem; border:0; background:transparent; color:var(--map-red); cursor:pointer; font-size:1.5rem; }
  & .reab-map-tags { display:flex; flex-wrap:wrap; gap:.5rem; }
  & .reab-map-tag.reab-label { padding:.375rem .625rem; color:#fff; }
  & dl { display:grid; grid-template-columns:1fr; gap:1rem; margin:1.25rem 0; }
  & dl div { min-width:0; }
  & dt { font-weight:700; }
  & dd { margin:.25rem 0 0; }
  & .reab-p { max-width:none; }
  & blockquote { margin:1rem 0 0; padding:1rem; border-left:3px solid var(--map-red); background:white; }
  & blockquote [data-out="oton"] { white-space:pre-line; }
  & blockquote [data-out="oton"] > p { margin:0 0 .75rem; }
  & blockquote [data-out="oton"] > p:last-child { margin-bottom:0; }
  & blockquote footer { margin-top:.75rem; color:#565655; }
}
@media(max-width:767px) {
  .reab-kommunenkarte { grid-template-columns:1fr; gap:0; }
  .reab-kommunenkarte .reab-map-summary { grid-template-columns:1fr; }
  .reab-kommunenkarte .reab-map-legend { margin-top:1.75rem; }
  .reab-kommunenkarte dl { grid-template-columns:1fr; }
  .reab-kommunenkarte .reab-map-detail { padding:1.25rem; margin-top:1.5rem; }
}
@media(prefers-reduced-motion:reduce) {
  .reab-kommunenkarte .pin { transition:none; }
}
/* 07 Veranstaltungsstatus – Anmeldung offen */
.reab-single-event-status[data-reab-status="open"] { background-color:#39751C!important; color:#FFFFFF!important; border:0!important; }
/* 08 Tastaturfokus und reduzierte Bewegung */
/* Ally bleibt über der Seite, aber unter dem Mega-Menü (z-index: 10000). */
#ea11y-root { position: relative; z-index: 1100; }
:where(main, [role="main"], header, footer, .elementor-popup-modal) :is(a, button, summary, [role="tab"]):focus-visible { outline: 2px solid #FFFFFF !important; outline-offset: 2px !important; box-shadow: 0 0 0 5px #9C1006 !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .elementor *, .elementor *::before, .elementor *::after { animation-duration: 0.01ms !important; animation-delay: 0ms !important; transition-duration: 0.01ms !important; }
}
/* 09 Aktive Navigation und sanfte Sprunglinks */
html { scroll-behavior: smooth; scroll-padding-top: var(--reab-anchor-offset, 9rem); }
:is(.reab-mega-menu, .elementor-location-footer) a.reab-current-page[aria-current] { text-decoration-line: underline !important; text-decoration-color: var(--reab-red, #9C1006) !important; text-decoration-thickness: 2px !important; text-underline-offset: .3em; text-decoration-skip-ink: auto; background-image: none !important; }
/* 10 FAQ – Absatzabstände in Antworten */
.reab-faq-accordion .elementor-tab-content > :first-child { margin-top:0; }
.reab-faq-accordion .elementor-tab-content > :last-child { margin-bottom:0; }


/* 11. Native Elementor-Icon-Listen: Veranstaltungsdaten und Kontakt */
.reab-icon-list { min-width:0; font-family:"Source Sans 3",sans-serif; font-size:1rem; line-height:1.5; }
.reab-icon-list .elementor-icon-list-items { margin:0!important; padding:0!important; display:grid; gap:.625rem; }
.reab-icon-list .elementor-icon-list-item, .reab-icon-list .elementor-icon-list-item > a { align-items:flex-start!important; min-width:0; }
.reab-icon-list .elementor-icon-list-item { margin:0!important; padding:0!important; }
.reab-icon-list .elementor-icon-list-text { padding-inline-start:.625rem!important; font:inherit!important; color:var(--reab-ink,#292928)!important; overflow-wrap:anywhere; }
.reab-icon-list .elementor-icon-list-icon { display:inline-flex; flex:0 0 1.125rem; width:1.125rem; margin-block-start:.2em; }
.reab-icon-list .elementor-icon-list-icon :is(svg,i) { width:1.125rem!important; height:1.125rem!important; font-size:1.125rem!important; color:var(--reab-red,#9C1006)!important; fill:var(--reab-red,#9C1006)!important; }
.reab-icon-list .elementor-icon-list-item:has(.elementor-icon-list-text:empty), .reab-icon-list:not(:has(.elementor-icon-list-text:not(:empty))) { display:none!important; }
.reab-icon-list--contact { grid-column:1/-1; }

.reab-single-event-fact.reab-icon-list { font-size:1.0625rem; padding-block-end:1rem; border-bottom:1px solid var(--reab-red); }
.reab-event-audience-overview.reab-icon-list { grid-column:1/-1; font-size:1.125rem; line-height:1.6; padding-block-end:1rem; border-bottom:1px solid var(--reab-red); }
.reab-event-registration-deadline.reab-icon-list { font-size:1rem; padding:0; border:0; }


/* 12. Veranstaltungsstatus aus der Taxonomie, native dynamische Badges */
.reab-taxonomy-status { display:inline-flex; align-items:center; justify-content:center; width:fit-content; max-width:100%; margin:0; padding:.5rem .875rem; border:0!important; border-radius:0; justify-self:end; font:700 .9375rem/1.4 "Source Sans 3",sans-serif; color:var(--reab-white); background:var(--reab-gray); box-sizing:border-box; }
.reab-taxonomy-status .elementor-heading-title { margin:0; padding:0; font:inherit!important; color:inherit!important; }
.reab-taxonomy-status:not(:has(.elementor-heading-title:not(:empty))) { display:none; }
.reab-taxonomy-status[data-reab-status="open"] { background:#39751C; color:#fff; }
.reab-taxonomy-status[data-reab-status="planned"] { background:var(--reab-orange); color:var(--reab-ink); }
.reab-taxonomy-status.reab-next-status-badge { position:absolute; top:1rem; right:1rem; z-index:2; max-width:calc(50% - 1.5rem); min-height:2.25rem; font-size:var(--reab-event-label-size); line-height:1.25; white-space:nowrap; }
@media(max-width:767px) { .reab-taxonomy-status { justify-self:start; } .reab-taxonomy-status.reab-next-status-badge { top:.75rem; right:.75rem; padding:.5rem; min-height:2.125rem; max-width:calc(50% - 1.25rem); font-size:var(--reab-event-label-size-mobile); } }

/* Beitragskategorien im Beitragsbild – gleiche Badge-Größen wie Veranstaltungen */
.reab-news-category-badge { position:absolute; top:1rem; left:1rem; z-index:2; display:inline-flex; width:fit-content; max-width:calc(100% - 2rem); margin:0; padding:.5rem .875rem; border:0; border-radius:0; background:var(--reab-red); color:var(--reab-white); font:700 var(--reab-event-label-size,.9375rem)/1.25 "Source Sans 3",sans-serif; box-sizing:border-box; pointer-events:none; }
.reab-news-category-badge .elementor-heading-title { margin:0; padding:0; font:inherit!important; color:inherit!important; }
.reab-news-category-badge:not(:has(.elementor-heading-title:not(:empty))) { display:none; }
@media(max-width:767px) { .reab-news-category-badge { top:.75rem; left:.75rem; max-width:calc(100% - 1.5rem); padding:.5rem; font-size:var(--reab-event-label-size-mobile,.8125rem); } }/* End custom CSS */