.elementor-kit-77{--e-global-color-primary:#0C6FA6;--e-global-color-secondary:#505152;--e-global-color-text:#000000;--e-global-color-accent:#711919;--e-global-color-851c71a:#9F9F9F;--e-global-color-8a29686:#968A34;--e-global-color-f888b5b:#008075;--e-global-color-182e7cd:#A1465E;--e-global-color-1f5595f:#AF5623;--e-global-color-5a50c8b:#6E8127;--e-global-color-67bd9c4:#785746;--e-global-color-2303bc3:#5A5588;--e-global-color-4769a58:#E9E9E0;--e-global-color-946ef09:#F5F5F5;--e-global-typography-primary-font-family:"Asap";--e-global-typography-primary-font-size:32px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:0.9em;--e-global-typography-primary-letter-spacing:-0.5px;--e-global-typography-primary-word-spacing:0px;--e-global-typography-secondary-font-family:"Posterama";--e-global-typography-secondary-font-size:19px;--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Asap";--e-global-typography-text-font-size:20px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-family:"Asap";--e-global-typography-accent-font-size:20px;--e-global-typography-accent-font-weight:300;--e-global-typography-d758753-font-family:"Posterama";--e-global-typography-d758753-font-size:43px;--e-global-typography-d758753-font-weight:900;--e-global-typography-d758753-text-transform:uppercase;--e-global-typography-d758753-line-height:1.1em;--e-global-typography-d758753-letter-spacing:-0.5px;--e-global-typography-a51ef9f-font-family:"Posterama";--e-global-typography-a51ef9f-font-size:25px;--e-global-typography-a51ef9f-font-weight:900;--e-global-typography-a51ef9f-text-transform:uppercase;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-exit-animation:e-page-transition-fade-in;--e-page-transition-animation-duration:600ms;}.elementor-kit-77 e-page-transition{background-color:#FFFFFF;}.elementor-kit-77 a{color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-77 a:hover{color:var( --e-global-color-accent );}.elementor-kit-77 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-77 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-77 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-d758753-font-family ), Sans-serif;font-size:var( --e-global-typography-d758753-font-size );font-weight:var( --e-global-typography-d758753-font-weight );text-transform:var( --e-global-typography-d758753-text-transform );line-height:var( --e-global-typography-d758753-line-height );letter-spacing:var( --e-global-typography-d758753-letter-spacing );}.elementor-kit-77 h4{font-family:var( --e-global-typography-a51ef9f-font-family ), Sans-serif;font-size:var( --e-global-typography-a51ef9f-font-size );font-weight:var( --e-global-typography-a51ef9f-font-weight );text-transform:var( --e-global-typography-a51ef9f-text-transform );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1130px;}.e-con{--container-max-width:1130px;}.elementor-widget:not(:last-child){margin-block-end:21px;}.elementor-element{--widgets-spacing:21px 21px;--widgets-spacing-row:21px;--widgets-spacing-column:21px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-77{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-77 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-77 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-77 h2{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-77 h3{font-size:var( --e-global-typography-d758753-font-size );line-height:var( --e-global-typography-d758753-line-height );letter-spacing:var( --e-global-typography-d758753-letter-spacing );}.elementor-kit-77 h4{font-size:var( --e-global-typography-a51ef9f-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-77{--e-global-typography-d758753-font-size:23px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-77 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-77 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-77 h2{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-77 h3{font-size:var( --e-global-typography-d758753-font-size );line-height:var( --e-global-typography-d758753-line-height );letter-spacing:var( --e-global-typography-d758753-letter-spacing );}.elementor-kit-77 h4{font-size:var( --e-global-typography-a51ef9f-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================
   00. GLOBALE VARIABLEN / BASIS
   ========================================================== */

body {
  --pf-primary: var(--e-global-color-primary);

  --pf-r1: var(--e-global-color-8a29686);
  --pf-r2: var(--e-global-color-f888b5b);
  --pf-r3: var(--e-global-color-182e7cd);
  --pf-r4: var(--e-global-color-1f5595f);
  --pf-r5: var(--e-global-color-5a50c8b);
  --pf-r6: var(--e-global-color-67bd9c4);
  --pf-r7: var(--e-global-color-2303bc3);

  --pf-bg: var(--e-global-color-4769a58);
  --pf-bg-light: var(--e-global-color-946ef09);
  --pf-text: var(--e-global-color-text);
  --pf-text-muted: var(--e-global-color-secondary);

  --pf-font: var(--e-global-typography-text-font-family, inherit);
  --pf-heading-font: "Posterama", sans-serif;

  --pf-r1-focus: color-mix(in srgb, var(--pf-r1) 55%, transparent);
  --pf-primary-focus: color-mix(in srgb, var(--pf-primary) 38%, transparent);

  --pf-radius: 18px;
  --pf-card-radius: 16px;

  --pf-card-bg: var(--pf-bg-light);
  --pf-card-bg-hover: var(--pf-bg);
  --pf-card-border: rgba(0, 0, 0, 0.08);

  --pf-card-shadow:
    0 12px 28px rgba(0, 0, 0, 0.08),
    0 2px 6px rgba(0, 0, 0, 0.04);

  --pf-card-shadow-hover:
    0 10px 24px rgba(0, 0, 0, 0.045),
    0 2px 6px rgba(0, 0, 0, 0.035);

  --pf-transition: 220ms ease;

  --pf-header-height: 82px;
  --pf-mega-panel-top: 82px;
  --pf-mega-marker-top: 80px;
  --pf-mega-marker-left: 0px;
  --pf-mega-marker-width: 0px;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  -moz-hyphens: auto;
  -o-hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

.no-hyphens {
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  -webkit-hyphens: manual !important;
  -ms-hyphens: manual !important;
  hyphens: manual !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
}

@media (max-width: 767px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    -webkit-hyphens: auto !important;
    -ms-hyphens: auto !important;
    hyphens: auto !important;

    overflow-wrap: normal !important;
  }
}

.pf-data-hidden,
.pf-data-hidden * {
  display: none !important;
}


.pf-anchor {
 scroll-margin-top: 110px;
 }


/* ==========================================================
   01. SVG-ICONFARBEN
   Elementor Icon Widget / Inline SVG
   ========================================================== */

.pflege-card .ensymbk .elementor-icon svg,
.pflege-card .ensymbk .elementor-icon svg * {
  fill: #766C93 !important;
}

.pflege-card .ensymbT .elementor-icon svg,
.pflege-card .ensymbT .elementor-icon svg * {
  fill: #954C60 !important;
}

.pflege-card .ensymbb .elementor-icon svg,
.pflege-card .ensymbb .elementor-icon svg * {
  fill: #D3B741 !important;
}

.pflege-card .ensymbberatung .elementor-icon svg,
.pflege-card .ensymbberatung .elementor-icon svg * {
  fill: #A71F23 !important;
}

.pflege-card .ensymbbw .elementor-icon svg,
.pflege-card .ensymbbw .elementor-icon svg * {
  fill: #707B41 !important;
}

.pflege-card .ensymbg .elementor-icon svg,
.pflege-card .ensymbg .elementor-icon svg * {
  fill: #9DC452 !important;
}

.pflege-card .ensymbp .elementor-icon svg,
.pflege-card .ensymbp .elementor-icon svg * {
  fill: #BF6C39 !important;
}

.pflege-card .ensymbpark .elementor-icon svg,
.pflege-card .ensymbpark .elementor-icon svg * {
  fill: #6D7F2E !important;
}

.pflege-card .ensymbpsp .elementor-icon svg,
.pflege-card .ensymbpsp .elementor-icon svg * {
  fill: #DCBA22 !important;
}

.pflege-card .ensymbpsp2 .elementor-icon svg,
.pflege-card .ensymbpsp2 .elementor-icon svg * {
  fill: #9BC64B !important;
}

.pflege-card .ensymbds .elementor-icon svg,
.pflege-card .ensymbds .elementor-icon svg * {
  fill: #005da3 !important;
}

.pflege-card .ensymbpd .elementor-icon svg,
.pflege-card .ensymbpd .elementor-icon svg * {
  fill: #008075 !important;
}

/* ==========================================================
   02. KARTENMARKER / STATUS-ICONS
   ========================================================== */

.pf-svg-marker {
  opacity: 1;
  transition:
    opacity var(--pf-transition),
    filter var(--pf-transition);
}

.pf-svg-marker:hover,
.pf-svg-marker.is-active {
  filter: brightness(0.75) saturate(1.05);
}

.pf-svg-marker.pf-marker-hidden {
  opacity: 0;
  pointer-events: none;
}

.pf-fa {
  color: var(--pf-primary);
  font-size: 35px;
  transition:
    opacity var(--pf-transition),
    transform var(--pf-transition),
    color 180ms ease;
}

.pf-fa.is-active {
  color: #f59e0b;
}

.pf-fa.pf-marker-hidden {
  opacity: 0;
  transform: scale(0.82);
}


/* ==========================================================
   03. ELEMENTOR-LOOPS
   Verhindert, dass lange Wörter Loop-Cards verbreitern
   ========================================================== */

.elementor-loop-container,
.elementor-loop-container *,
.e-loop-item,
.e-loop-item *,
.elementor-grid,
.elementor-grid *,
.elementor-grid-item,
.elementor-grid-item * {
  box-sizing: border-box;
}

/* Grid und Items dürfen innerhalb der Spalte schrumpfen */
.elementor-loop-container,
.elementor-grid,
.e-loop-item,
.elementor-grid-item {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Elementor-Innencontainer dürfen die Card nicht verbreitern */
.e-loop-item > *,
.elementor-grid-item > *,
.e-loop-item .e-con,
.e-loop-item .e-con-inner,
.e-loop-item .elementor-widget,
.e-loop-item .elementor-widget-container,
.elementor-grid-item .e-con,
.elementor-grid-item .e-con-inner,
.elementor-grid-item .elementor-widget,
.elementor-grid-item .elementor-widget-container {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Überschriften im Loop dürfen bei Bedarf sauber mit Trennstrich trennen */
.e-loop-item h1,
.e-loop-item h2,
.e-loop-item h3,
.e-loop-item h4,
.e-loop-item h5,
.e-loop-item h6,
.elementor-grid-item h1,
.elementor-grid-item h2,
.elementor-grid-item h3,
.elementor-grid-item h4,
.elementor-grid-item h5,
.elementor-grid-item h6 {
  min-width: 0 !important;
  max-width: 100% !important;

  -webkit-hyphens: auto !important;
  -ms-hyphens: auto !important;
  hyphens: auto !important;

  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* Normaler Text im Loop darf umbrechen, ohne die Card zu verbreitern */
.e-loop-item p,
.e-loop-item li,
.e-loop-item span,
.elementor-grid-item p,
.elementor-grid-item li,
.elementor-grid-item span {
  min-width: 0 !important;
  max-width: 100% !important;

  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* Mailadressen dürfen härter umbrechen, damit sie nie die Card sprengen */
.e-loop-item a[href^="mailto:"],
.elementor-grid-item a[href^="mailto:"] {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}


/* ==========================================================
   04. GEMEINSAMER KARTENSTIL
   ========================================================== */

/* ==========================================================
   04.1 NORMALZUSTAND
   ========================================================== */

.elementor .pf-card,
.elementor .pflege-card,
.elementor .pf-info-box {
  position: relative;

  background-color: var(--pf-card-bg) !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: var(--pf-card-radius);
  overflow: hidden;

  box-shadow: var(--pf-card-shadow);

  transform: translateY(0);
  transform-origin: center;

  transition:
    transform var(--pf-transition),
    box-shadow var(--pf-transition),
    background-color var(--pf-transition),
    border-color var(--pf-transition);
}


/* ==========================================================
   04.2 ELEMENTOR-INNENCONTAINER TRANSPARENT SETZEN
   ========================================================== */

.elementor .pf-card > .e-con-inner,
.elementor .pf-card > .elementor-widget-container,
.elementor .pf-card .e-con,
.elementor .pf-card .e-con-inner,

.elementor .pflege-card > .e-con-inner,
.elementor .pflege-card > .elementor-widget-container,
.elementor .pflege-card .e-con,
.elementor .pflege-card .e-con-inner,

.elementor .pf-info-box > .elementor-widget-container {
  background-color: transparent !important;
  background-image: none !important;
}

.elementor .pf-card::before,
.elementor .pf-card::after,
.elementor .pflege-card::before,
.elementor .pflege-card::after {
  background-color: transparent;
}


/* ==========================================================
   04.3 HOVER UND TASTATURFOKUS
   ========================================================== */

.elementor .pf-card:hover,
.elementor .pf-card:focus-within,

.elementor .pflege-card:hover,
.elementor .pflege-card:focus-within,

.elementor .pf-info-box:hover,
.elementor .pf-info-box:focus-within {
  background-color: var(--pf-card-bg-hover) !important;
  background-image: none !important;

  border-color: transparent;

  transform: translateY(-3px);
  box-shadow: var(--pf-card-shadow-hover);
}

.elementor .pf-card:hover > .e-con-inner,
.elementor .pf-card:focus-within > .e-con-inner,
.elementor .pf-card:hover .e-con,
.elementor .pf-card:focus-within .e-con,
.elementor .pf-card:hover .e-con-inner,
.elementor .pf-card:focus-within .e-con-inner,

.elementor .pflege-card:hover > .e-con-inner,
.elementor .pflege-card:focus-within > .e-con-inner,
.elementor .pflege-card:hover .e-con,
.elementor .pflege-card:focus-within .e-con,
.elementor .pflege-card:hover .e-con-inner,
.elementor .pflege-card:focus-within .e-con-inner {
  background-color: transparent !important;
  background-image: none !important;
}


/* ==========================================================
   04.4 MARKER-AUSWAHL
   ========================================================== */

.elementor .e-loop-item.is-selected .pf-card,
.elementor .elementor-grid-item.is-selected .pf-card,

.elementor .e-loop-item.is-selected .pflege-card,
.elementor .elementor-grid-item.is-selected .pflege-card {
  background-color: var(--pf-card-bg-hover) !important;
  background-image: none !important;

  border-color: transparent;

  transform: translateY(-3px);
  box-shadow: var(--pf-card-shadow-hover);

  outline: none;
}

.elementor .e-loop-item.is-selected .pf-card > .e-con-inner,
.elementor .elementor-grid-item.is-selected .pf-card > .e-con-inner,
.elementor .e-loop-item.is-selected .pf-card .e-con,
.elementor .elementor-grid-item.is-selected .pf-card .e-con,
.elementor .e-loop-item.is-selected .pf-card .e-con-inner,
.elementor .elementor-grid-item.is-selected .pf-card .e-con-inner,

.elementor .e-loop-item.is-selected .pflege-card > .e-con-inner,
.elementor .elementor-grid-item.is-selected .pflege-card > .e-con-inner,
.elementor .e-loop-item.is-selected .pflege-card .e-con,
.elementor .elementor-grid-item.is-selected .pflege-card .e-con,
.elementor .e-loop-item.is-selected .pflege-card .e-con-inner,
.elementor .elementor-grid-item.is-selected .pflege-card .e-con-inner {
  background-color: transparent !important;
  background-image: none !important;
}


/* ==========================================================
   04.5 KLICKZUSTAND
   ========================================================== */

.elementor .pf-card:active,
.elementor .pflege-card:active,
.elementor .pf-info-box:active {
  transform: translateY(-1px);
}


/* ==========================================================
   04.6 LINKS UND CURSOR
   ========================================================== */

.elementor .pf-card:hover,
.elementor .pf-card:focus-within,
.elementor .pflege-card:hover,
.elementor .pflege-card:focus-within {
  cursor: pointer;
}

.elementor .pf-card a,
.elementor .pf-card a:hover,
.elementor .pf-card a:focus,
.elementor .pf-card a:active,
.elementor .pf-card a:visited,

.elementor .pflege-card a,
.elementor .pflege-card a:hover,
.elementor .pflege-card a:focus,
.elementor .pflege-card a:active,
.elementor .pflege-card a:visited {
  color: inherit;
}

.elementor .pf-card a:focus-visible,
.elementor .pflege-card a:focus-visible {
  outline: none;
}


/* ==========================================================
   04.7 MARKER-IMPULS
   ========================================================== */

.e-loop-item.is-selected.pf-pulse .pf-card,
.elementor-grid-item.is-selected.pf-pulse .pf-card,
.e-loop-item.is-selected.pf-pulse .pflege-card,
.elementor-grid-item.is-selected.pf-pulse .pflege-card {
  animation: pfCardPulse 0.55s ease;
}

@keyframes pfCardPulse {
  0% {
    transform: translateY(0) scale(1);
  }

  35% {
    transform: translateY(-3px) scale(1.018);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}



/* ==========================================================
   05. RUBRIK-KARUSSELL – ELEMENTOR NESTED CAROUSEL
   Klasse am Widget: sw-rubrik-carousel
   ========================================================== */

.sw-rubrik-carousel {
  --sw-card-height-desktop: 382px;
  --sw-card-height-tablet: 370px;
  --sw-card-height-mobile: 350px;

  --sw-media-height-desktop: 150px;
  --sw-media-height-tablet: 145px;
  --sw-media-height-mobile: 145px;

  /*
    Platz innerhalb jeder Slide:
    oben für Hover-Translate,
    links/rechts/unten für Schatten.
  */
  --sw-card-safe-top: 14px;
  --sw-card-safe-x: 20px;
  --sw-card-safe-bottom: 40px;

  --sw-radius: var(--pf-radius);
  --sw-bg: var(--pf-bg-light);
  --sw-bg-hover: var(--pf-bg);
  --sw-text: var(--pf-text);
  --sw-muted: var(--pf-text-muted);
  --sw-primary: var(--pf-primary);
  --sw-focus: var(--pf-r1-focus);

  width: 100% !important;
  max-width: 100% !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
}

.sw-rubrik-carousel,
.sw-rubrik-carousel * {
  box-sizing: border-box;
}


/* ==========================================================
   05.1 SWIPER-STRUKTUR
   ========================================================== */

.sw-rubrik-carousel .e-n-carousel,
.sw-rubrik-carousel .swiper,
.sw-rubrik-carousel .swiper-container {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

.sw-rubrik-carousel .swiper-wrapper {
  width: 100% !important;
  max-width: none !important;

  align-items: stretch !important;

  overflow: visible !important;
}

.sw-rubrik-carousel .swiper-slide {
  display: flex !important;
  align-items: stretch !important;

  height: auto !important;
  min-height: 0 !important;
  max-width: 100% !important;

  /*
    Das ist der eigentliche Fix:
    Der Schatten und der Hover-Versatz liegen jetzt innerhalb der Slide.
  */
  padding:
    var(--sw-card-safe-top)
    var(--sw-card-safe-x)
    var(--sw-card-safe-bottom) !important;

  overflow: visible !important;
}


/* ==========================================================
   05.2 ELEMENTOR-INNENWRAPPER
   ========================================================== */

.sw-rubrik-carousel .swiper-slide > .e-con,
.sw-rubrik-carousel .swiper-slide > .elementor-element,
.sw-rubrik-carousel .swiper-slide > .e-con > .e-con-inner,
.sw-rubrik-carousel .swiper-slide .e-con-inner {
  display: flex !important;
  align-items: stretch !important;

  width: 100% !important;
  max-width: 100% !important;

  height: 100% !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
}

.sw-rubrik-carousel .elementor-widget-html,
.sw-rubrik-carousel .elementor-widget-html > .elementor-widget-container {
  display: flex !important;
  align-items: stretch !important;

  width: 100% !important;
  max-width: none !important;

  height: 100% !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
}


/* ==========================================================
   05.3 RUBRIK-CARD
   Gestaltung bleibt wie vorher:
   Schatten + Hover-Versatz nach oben.
   ========================================================== */

.sw-rubrik-carousel .sw-rubrik-card {
  position: relative !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;

  width: 100% !important;
  max-width: none !important;

  height: var(--sw-card-height-desktop) !important;
  min-height: var(--sw-card-height-desktop) !important;
  max-height: var(--sw-card-height-desktop) !important;

  overflow: hidden !important;

  color: var(--sw-text) !important;
  background: var(--sw-bg) !important;

  border: 0 !important;
  border-radius: var(--sw-radius) !important;

  text-align: center !important;
  text-decoration: none !important;

  box-shadow:
    0 7px 18px rgba(0, 0, 0, 0.028),
    0 1px 4px rgba(0, 0, 0, 0.03) !important;

  transform: translateY(0);
  transform-origin: center;

  transition:
    transform var(--pf-transition),
    box-shadow var(--pf-transition),
    background-color var(--pf-transition);
}

.sw-rubrik-carousel .sw-rubrik-card:hover,
.sw-rubrik-carousel .sw-rubrik-card:focus-visible {
  color: var(--sw-text) !important;
  background: var(--sw-bg-hover) !important;
  text-decoration: none !important;

  transform: translateY(-3px);

  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.045),
    0 2px 6px rgba(0, 0, 0, 0.035) !important;
}

.sw-rubrik-carousel .sw-rubrik-card:active {
  transform: translateY(-1px);
}

.sw-rubrik-carousel .sw-rubrik-card:focus-visible {
  outline: 3px solid var(--sw-focus);
  outline-offset: 4px;
}

.sw-rubrik-carousel .sw-rubrik-card,
.sw-rubrik-carousel .sw-rubrik-card:hover,
.sw-rubrik-carousel .sw-rubrik-card:focus,
.sw-rubrik-carousel .sw-rubrik-card:active,
.sw-rubrik-carousel .sw-rubrik-card:visited {
  color: var(--sw-text) !important;
  text-decoration: none !important;
}


/* ==========================================================
   05.4 BILDBEREICH
   ========================================================== */

.sw-rubrik-carousel .sw-rubrik-card__media {
  display: block !important;
  flex: 0 0 auto !important;

  width: 100% !important;

  height: var(--sw-media-height-desktop) !important;
  min-height: var(--sw-media-height-desktop) !important;
  max-height: var(--sw-media-height-desktop) !important;

  overflow: hidden !important;

  background: var(--sw-bg-hover) !important;
}

.sw-rubrik-carousel .sw-rubrik-card__media img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center top !important;

  border: 0 !important;
  border-radius: 0 !important;

  transform: scale(1);

  transition:
    transform 260ms ease,
    filter 260ms ease;
}

.sw-rubrik-carousel .sw-rubrik-card:hover .sw-rubrik-card__media img,
.sw-rubrik-carousel .sw-rubrik-card:focus-visible .sw-rubrik-card__media img {
  transform: scale(1.035);
}


/* ==========================================================
   05.5 CONTENTBEREICH
   ========================================================== */

.sw-rubrik-carousel .sw-rubrik-card__content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 0 !important;

  padding: 24px 22px 26px !important;

  overflow: hidden !important;
}

.sw-rubrik-carousel .sw-rubrik-card__title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;

  margin: 0 0 16px !important;

  overflow: hidden !important;

  color: var(--sw-muted) !important;

  font-family: var(--pf-heading-font) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.01em;

  text-align: center !important;
  text-transform: uppercase !important;

  -webkit-hyphens: none !important;
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.sw-rubrik-carousel .sw-rubrik-card__text {
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;

  margin: 0 !important;

  overflow: hidden !important;

  color: var(--sw-muted) !important;

  font-family: var(--pf-font) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;

  text-align: center !important;

  -webkit-hyphens: none !important;
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.sw-rubrik-carousel .sw-rubrik-card__arrow,
.sw-rubrik-carousel .sw-rubrik-card__arrow::before,
.sw-rubrik-carousel .sw-rubrik-card__arrow::after {
  display: none !important;
  content: none !important;
}


/* ==========================================================
   05.6 SWIPER-PFEILE
   ========================================================== */

.sw-rubrik-carousel .elementor-swiper-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 46px !important;
  height: 46px !important;

  color: var(--sw-primary) !important;
  background: var(--sw-bg) !important;

  border-radius: 999px !important;

  box-shadow:
    0 7px 18px rgba(0, 0, 0, 0.055),
    0 1px 4px rgba(0, 0, 0, 0.04) !important;

  transform: translateY(-50%) !important;

  transition:
    background-color 200ms ease,
    color 200ms ease,
    transform 200ms ease,
    opacity 200ms ease;
}

.sw-rubrik-carousel .elementor-swiper-button:hover,
.sw-rubrik-carousel .elementor-swiper-button:focus-visible {
  color: var(--sw-primary) !important;
  background: var(--sw-bg-hover) !important;

  transform: translateY(-50%) scale(1.05) !important;
}

.sw-rubrik-carousel .elementor-swiper-button i {
  font-size: 24px !important;
  line-height: 1 !important;
}


/* ==========================================================
   05.7 SWIPER-PAGINATION
   ========================================================== */

.sw-rubrik-carousel .swiper-pagination {
  position: relative !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  /*
    Weil jede Slide unten Schattenraum bekommt,
    holen wir die Punkte optisch wieder näher hoch.
  */
  margin-top: calc(var(--sw-card-safe-bottom) * -1 + 25px) !important;
}

.sw-rubrik-carousel .swiper-pagination-bullet {
  width: 9px !important;
  height: 9px !important;
  margin: 0 !important;

  background: var(--sw-primary) !important;
  opacity: 0.28 !important;

  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.sw-rubrik-carousel .swiper-pagination-bullet-active {
  opacity: 1 !important;
  transform: scale(1.25) !important;
}


/* ==========================================================
   05.8 RESPONSIVE – TABLET
   ========================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
  .sw-rubrik-carousel {
    --sw-card-safe-top: 12px;
    --sw-card-safe-x: 14px;
    --sw-card-safe-bottom: 40px;
  }

  .sw-rubrik-carousel .sw-rubrik-card {
    height: var(--sw-card-height-tablet) !important;
    min-height: var(--sw-card-height-tablet) !important;
    max-height: var(--sw-card-height-tablet) !important;
  }

  .sw-rubrik-carousel .sw-rubrik-card__media {
    height: var(--sw-media-height-tablet) !important;
    min-height: var(--sw-media-height-tablet) !important;
    max-height: var(--sw-media-height-tablet) !important;
  }

  .sw-rubrik-carousel .sw-rubrik-card__title {
    font-size: 21px !important;
  }

  .sw-rubrik-carousel .sw-rubrik-card__text {
    font-size: 15.5px !important;
  }
}


/* ==========================================================
   05.9 RESPONSIVE – MOBIL
   ========================================================== */

@media (max-width: 767px) {
  .sw-rubrik-carousel {
    --sw-card-safe-top: 12px;
    --sw-card-safe-x: 14px;
    --sw-card-safe-bottom: 39px;
  }

  .sw-rubrik-carousel .sw-rubrik-card {
    height: var(--sw-card-height-mobile) !important;
    min-height: var(--sw-card-height-mobile) !important;
    max-height: var(--sw-card-height-mobile) !important;
  }

  .sw-rubrik-carousel .sw-rubrik-card__media {
    height: var(--sw-media-height-mobile) !important;
    min-height: var(--sw-media-height-mobile) !important;
    max-height: var(--sw-media-height-mobile) !important;
  }

  .sw-rubrik-carousel .sw-rubrik-card__content {
    padding: 22px 20px 24px !important;
  }

  .sw-rubrik-carousel .sw-rubrik-card__title {
    margin-bottom: 14px !important;
    font-size: 21px !important;
    line-height: 1.22 !important;
  }

  .sw-rubrik-carousel .sw-rubrik-card__text {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  .sw-rubrik-carousel .elementor-swiper-button {
    width: 42px !important;
    height: 42px !important;
  }

  .sw-rubrik-carousel .elementor-swiper-button i {
    font-size: 21px !important;
  }
}




/* ==========================================================
   05.10 INHALTSVERZEICHNIS / THEMEN-NAVIGATION
   Für Rubrikseiten mit vielen Unterpunkten
   ========================================================== */

.pf-section-toc {
  --pf-toc-color: var(--pf-primary);
  --pf-toc-bg: var(--pf-bg-light);
  --pf-toc-bg-hover: #ffffff;
  --pf-toc-border: rgba(0, 0, 0, 0.07);

  width: 100%;
  max-width: 1180px;

  margin: 0 auto;
  padding: 34px;

  color: var(--pf-text);
  background: var(--pf-bg);

  border-radius: var(--pf-radius);

  box-sizing: border-box;
}


/* Rubrikfarben für Inhaltsverzeichnis */

.pf-rubrik-r1-toc {
  --pf-toc-color: var(--pf-r1);
}

.pf-rubrik-r2-toc {
  --pf-toc-color: var(--pf-r2);
}

.pf-rubrik-r3-toc {
  --pf-toc-color: var(--pf-r3);
}

.pf-rubrik-r4-toc {
  --pf-toc-color: var(--pf-r4);
}

.pf-rubrik-r5-toc {
  --pf-toc-color: var(--pf-r5);
}

.pf-rubrik-r6-toc {
  --pf-toc-color: var(--pf-r6);
}

.pf-rubrik-r7-toc {
  --pf-toc-color: var(--pf-r7);
}


.pf-section-toc,
.pf-section-toc * {
  box-sizing: border-box;
}

.pf-section-toc__head {
  max-width: 720px;
  margin: 0 0 24px;
}

.pf-section-toc__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin: 0 0 12px;
  padding: 6px 12px;

  color: var(--pf-toc-color);
  background: rgba(255, 255, 255, 0.72);

  border-radius: 999px;

  font-family: var(--pf-font);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pf-section-toc__title {
  margin: 0 0 8px;

  color: var(--pf-toc-color);

  font-family: var(--pf-heading-font);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 800;
  line-height: 1.05;
  text-transform: uppercase;

  -webkit-hyphens: none;
  hyphens: none;
}

.pf-section-toc__text {
  margin: 0;

  color: var(--pf-text-muted);

  font-family: var(--pf-font);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
}

.pf-section-toc__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.pf-section-toc__link {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 13px;

  min-height: 64px;
  padding: 14px 16px;

  color: var(--pf-text-muted);
  background: var(--pf-toc-bg);

  border: 0 solid var(--pf-toc-border);
  border-radius: var(--pf-card-radius);

  text-decoration: none;

  box-shadow:
    0 7px 18px rgba(0, 0, 0, 0.028),
    0 1px 4px rgba(0, 0, 0, 0.03);

  transition:
    background-color 180ms ease,
    color 180ms ease,
    border-color 180ms ease,
    transform 180ms ease,
    box-shadow 180ms ease;
}

.pf-section-toc__link:hover,
.pf-section-toc__link:focus-visible {
  color: var(--pf-toc-color);
  background: var(--pf-toc-bg-hover);
  border-color: color-mix(in srgb, var(--pf-toc-color) 35%, transparent);

  text-decoration: none;

  transform: translateY(-2px);

  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.05),
    0 2px 6px rgba(0, 0, 0, 0.035);
}

.pf-section-toc__link:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--pf-toc-color) 38%, transparent);
  outline-offset: 3px;
}

.pf-section-toc__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 34px;
  height: 34px;

  color: #ffffff;
  background: var(--pf-toc-color);

  border-radius: 999px;

  font-family: var(--pf-heading-font);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.pf-section-toc__label {
  display: block;

  min-width: 0;

  color: inherit;

  font-family: var(--pf-heading-font);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.01em;
  text-transform: uppercase;

  -webkit-hyphens: none;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}


/* Tablet */

@media (max-width: 1024px) {
  .pf-section-toc {
    padding: 28px;
  }

  .pf-section-toc__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* Mobil */

@media (max-width: 767px) {
  .pf-section-toc {
    padding: 22px 18px;
    border-radius: 0;
  }

  .pf-section-toc__head {
    margin-bottom: 20px;
  }

  .pf-section-toc__text {
    font-size: 16px;
  }

  .pf-section-toc__list {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .pf-section-toc__link {
    min-height: 58px;
    padding: 13px 14px;
  }

  .pf-section-toc__label {
    font-size: 15.5px;
  }
}


/* ==========================================================
   06. KARTE MIT FILTER
   Klassen:
   - pf-map-stage
   - pf-map-boxed-filter-stage
   - pf-map-widget
   - pf-map-filter-widget
   ========================================================== */

.pf-map-stage {
  position: relative !important;
  isolation: isolate;

  display: block !important;

  width: 100%;
  max-width: none !important;

  margin: 0;
  padding: 0;

  overflow: visible;
}

.pf-map-stage > .e-con-inner {
  position: relative !important;
  display: block !important;

  width: 100%;
  max-width: none !important;

  margin: 0;
  padding: 0;

  overflow: visible;
}

.pf-map-stage .pf-map-widget {
  position: relative !important;
  z-index: 1;

  display: block !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  transform: none !important;
}

.pf-map-stage .pf-map-widget > .elementor-widget-container {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}

.pf-map-stage #pf-map {
  position: relative;
  z-index: 1 !important;
  isolation: isolate;

  display: block;

  width: 100% !important;
  max-width: none !important;
  height: 620px;

  margin: 0;
  padding: 0;

  overflow: hidden;

  border: 0;
  border-radius: 0;
}

.leaflet-container,
.pf-map-stage #pf-map .leaflet-container {
  background: var(--pf-bg) !important;
}

.pf-map-stage .pf-map-filter-widget {
  position: absolute !important;
  z-index: 700;

  inset: auto 22px 22px !important;

  display: block !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  transform: none !important;
  translate: none !important;
}

.pf-map-stage .pf-map-filter-widget > .elementor-widget-container {
  position: static !important;
  display: block !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  transform: none !important;
}

.pf-map-stage.pf-map-boxed-filter-stage {
  position: relative !important;
  isolation: isolate;

  display: grid !important;

  grid-template-columns:
    minmax(22px, 1fr)
    minmax(0, 390px)
    60px
    minmax(0, 500px)
    minmax(22px, 1fr) !important;

  grid-template-rows: auto !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
}

.pf-map-stage.pf-map-boxed-filter-stage > .elementor-widget,
.pf-map-stage.pf-map-boxed-filter-stage > .elementor-element {
  min-width: 0 !important;
}

.pf-map-stage.pf-map-boxed-filter-stage .pf-map-widget {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;

  position: relative !important;
  z-index: 1 !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}

.pf-map-stage.pf-map-boxed-filter-stage .pf-map-filter-widget {
  grid-column: 4 / 5 !important;
  grid-row: 1 !important;

  align-self: end !important;
  justify-self: stretch !important;

  position: relative !important;
  z-index: 700 !important;

  inset: auto !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;

  margin: 0 0 22px !important;
  padding: 0 !important;

  transform: none !important;
  translate: none !important;

  box-sizing: border-box !important;
}

.pf-map-stage.pf-map-boxed-filter-stage .pf-map-filter-widget > .elementor-widget-container {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
}


/* ==========================================================
   07. FILTERFELD
   ========================================================== */

.pf-map-stage .pf-filters,
.pf-filter-content-stage .pf-filters {
  position: static !important;
  inset: auto !important;

  display: grid !important;
  grid-template-columns:
    minmax(0, 2fr)
    minmax(0, 1fr)
    minmax(0, 1fr);

  align-items: end;
  justify-items: stretch;
  gap: 14px;

  float: none !important;
  clear: both;

  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 18px 20px !important;

  background: rgba(255, 255, 255, 0.96);

  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: var(--pf-radius);

  box-shadow:
    0 12px 35px rgba(0, 0, 0, 0.18),
    0 3px 10px rgba(0, 0, 0, 0.08);

  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);

  box-sizing: border-box !important;
  transform: none !important;
}

.pf-map-stage.pf-map-boxed-filter-stage .pf-filters {
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr) !important;

  gap: 14px 18px !important;
}

.pf-map-stage.pf-map-boxed-filter-stage .pf-filters .pf-filter-group:nth-child(1) {
  grid-column: 1 / -1 !important;
}

.pf-map-stage.pf-map-boxed-filter-stage .pf-filters .pf-filter-group:nth-child(2) {
  grid-column: 1 / 2 !important;
}

.pf-map-stage.pf-map-boxed-filter-stage .pf-filters .pf-filter-group:nth-child(3) {
  grid-column: 2 / 3 !important;
}

.pf-map-stage .pf-filters .pf-filter-group,
.pf-filter-content-stage .pf-filters .pf-filter-group {
  position: static !important;
  display: block !important;

  float: none !important;
  flex: none !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
  transform: none !important;
}

.pf-map-stage .pf-filter-group label,
.pf-filter-content-stage .pf-filter-group label {
  display: block !important;

  width: 100%;
  min-width: 0;

  margin: 0 0 7px !important;
  padding: 0 !important;

  color: #2b2b2b;

  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;

  box-sizing: border-box;
}

.pf-map-stage .pf-filter-group--button label,
.pf-filter-content-stage .pf-filter-group--button label {
  display: block !important;
  visibility: hidden;
  height: 18px;
}

.pf-map-stage .pf-filter-group select,
.pf-map-stage .pf-filter-group button,
.pf-filter-content-stage .pf-filter-group select,
.pf-filter-content-stage .pf-filter-group button {
  position: static !important;
  display: block !important;
  float: none !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 48px;

  margin: 0 !important;

  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;

  border-radius: var(--pf-radius);

  box-sizing: border-box !important;
  transform: none;
}

.pf-map-stage .pf-filter-group select,
.pf-filter-content-stage .pf-filter-group select {
  padding: 10px 42px 10px 13px !important;

  color: #2b2b2b;
  background: #ffffff;

  border: 1px solid #cfcfcf;
  border-radius: 999px !important;

  cursor: pointer;
}

.pf-map-stage #pf-reset,
.pf-filter-content-stage #pf-reset,
.pf-map-stage .pf-reset,
.pf-filter-content-stage .pf-reset {
  position: static !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 48px;

  padding: 10px 24px !important;

  color: var(--pf-primary) !important;
  background: #ffffff !important;

  border: 1px solid var(--pf-primary) !important;
  border-radius: 999px !important;

  font-family: var(--pf-font) !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;

  text-align: center;
  white-space: normal;
  cursor: pointer;

  box-shadow: none !important;

  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    transform 180ms ease;
}

.pf-map-stage #pf-reset:hover,
.pf-map-stage #pf-reset:focus-visible,
.pf-filter-content-stage #pf-reset:hover,
.pf-filter-content-stage #pf-reset:focus-visible,
.pf-map-stage .pf-reset:hover,
.pf-map-stage .pf-reset:focus-visible,
.pf-filter-content-stage .pf-reset:hover,
.pf-filter-content-stage .pf-reset:focus-visible {
  color: #ffffff !important;
  background: var(--pf-primary) !important;
  border-color: var(--pf-primary) !important;
}

.pf-map-stage #pf-reset:active,
.pf-filter-content-stage #pf-reset:active,
.pf-map-stage .pf-reset:active,
.pf-filter-content-stage .pf-reset:active {
  transform: translateY(1px);
}

.pf-map-stage .pf-filter-group select:focus-visible,
.pf-map-stage .pf-filter-group button:focus-visible,
.pf-filter-content-stage .pf-filter-group select:focus-visible,
.pf-filter-content-stage .pf-filter-group button:focus-visible {
  outline: 3px solid var(--pf-primary-focus);
  outline-offset: 2px;
}


/* ==========================================================
   08. LEAFLET-EBENEN
   ========================================================== */

#pf-map {
  position: relative;
  z-index: 1 !important;
  isolation: isolate;
  overflow: hidden;
}

#pf-map .leaflet-container,
.pf-map-stage #pf-map .leaflet-container {
  position: relative;
  z-index: 1 !important;
}

#pf-map .leaflet-map-pane,
.pf-map-stage #pf-map .leaflet-map-pane,
#pf-map .leaflet-tile-pane,
.pf-map-stage #pf-map .leaflet-tile-pane {
  z-index: 100 !important;
}

#pf-map .leaflet-overlay-pane,
.pf-map-stage #pf-map .leaflet-overlay-pane {
  z-index: 200 !important;
}

#pf-map .leaflet-shadow-pane,
.pf-map-stage #pf-map .leaflet-shadow-pane {
  z-index: 250 !important;
}

#pf-map .leaflet-marker-pane,
.pf-map-stage #pf-map .leaflet-marker-pane {
  z-index: 300 !important;
}

#pf-map .leaflet-tooltip-pane,
.pf-map-stage #pf-map .leaflet-tooltip-pane {
  z-index: 400 !important;
}

#pf-map .leaflet-popup-pane,
.pf-map-stage #pf-map .leaflet-popup-pane {
  z-index: 500 !important;
}

#pf-map .leaflet-control-container,
.pf-map-stage #pf-map .leaflet-control-container {
  z-index: 600 !important;
}


/* ==========================================================
   09. LEAFLET-POPUP
   ========================================================== */

#pf-map,
#pf-map .leaflet-container,
#pf-map .leaflet-popup,
#pf-map .leaflet-popup *,
.pf-map-stage #pf-map,
.pf-map-stage #pf-map .leaflet-container,
.pf-map-stage #pf-map .leaflet-popup,
.pf-map-stage #pf-map .leaflet-popup * {
  font-family: var(--pf-font) !important;
}

#pf-map .leaflet-popup-content-wrapper,
.pf-map-stage #pf-map .leaflet-popup-content-wrapper {
  background: #ffffff;
  border: 0;
  border-radius: var(--pf-radius);

  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.16),
    0 2px 8px rgba(0, 0, 0, 0.06);
}

#pf-map .leaflet-popup-content,
.pf-map-stage #pf-map .leaflet-popup-content {
  min-width: 240px;
  margin: 20px 42px 20px 26px;
}

#pf-map .leaflet-popup-tip,
.pf-map-stage #pf-map .leaflet-popup-tip {
  background: #ffffff;
  box-shadow: none;
}

#pf-map .pf-popup-title,
.pf-map-stage #pf-map .pf-popup-title {
  margin: 0 35px 14px 0;

  color: var(--pf-primary) !important;

  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
}

#pf-map .pf-popup-address,
.pf-map-stage #pf-map .pf-popup-address {
  margin-top: 8px;
  color: #555555;
  font-size: 15px;
  line-height: 1.35;
}

#pf-map .pf-popup-tel,
#pf-map .pf-popup-mail,
.pf-map-stage #pf-map .pf-popup-tel,
.pf-map-stage #pf-map .pf-popup-mail {
  margin-top: 6px;
  color: #555555;
  font-size: 15px;
  line-height: 1.35;
}

#pf-map .pf-popup a,
.pf-map-stage #pf-map .pf-popup a {
  color: var(--pf-primary);
  text-decoration: none;
}

#pf-map .pf-popup a:hover,
.pf-map-stage #pf-map .pf-popup a:hover {
  text-decoration: underline;
}

#pf-map .pf-popup-link-wrap,
.pf-map-stage #pf-map .pf-popup-link-wrap {
  margin-top: 24px;
}

#pf-map .pf-popup-address-link,
.pf-map-stage #pf-map .pf-popup-address-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 38px;
  padding: 10px 24px;

  color: var(--pf-primary) !important;
  background: #ffffff;

  border: 1px solid var(--pf-primary) !important;
  border-radius: var(--pf-radius);

  font-family: var(--pf-font), sans-serif !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;

  text-decoration: none !important;

  box-sizing: border-box;

  transition:
    background-color 180ms ease,
    color 180ms ease,
    border-color 180ms ease;
}

#pf-map .pf-popup-address-link:hover,
#pf-map .pf-popup-address-link:focus-visible,
.pf-map-stage #pf-map .pf-popup-address-link:hover,
.pf-map-stage #pf-map .pf-popup-address-link:focus-visible {
  color: #ffffff !important;
  background: var(--pf-primary) !important;
  border-color: var(--pf-primary) !important;
  text-decoration: none !important;
}

#pf-map .pf-popup-address-link:focus-visible,
.pf-map-stage #pf-map .pf-popup-address-link:focus-visible {
  outline: 3px solid var(--pf-primary-focus);
  outline-offset: 3px;
}

#pf-map .leaflet-popup-close-button,
.pf-map-stage #pf-map .leaflet-popup-close-button {
  top: 15px !important;
  right: 14px !important;

  color: var(--pf-primary) !important;

  font-size: 30px !important;
  line-height: 1 !important;
  text-decoration: none !important;

  opacity: 0.75;
}

#pf-map .leaflet-popup-close-button:hover,
#pf-map .leaflet-popup-close-button:focus-visible,
.pf-map-stage #pf-map .leaflet-popup-close-button:hover,
.pf-map-stage #pf-map .leaflet-popup-close-button:focus-visible {
  color: var(--pf-text) !important;
  opacity: 1;
  text-decoration: none !important;
}


/* ==========================================================
   10. LEAFLET-CONTROLS
   ========================================================== */

.pf-map-stage #pf-map .leaflet-control-attribution {
  margin-right: 4px !important;
  margin-bottom: 4px !important;

  transform: scale(0.5);
  transform-origin: right bottom;
}

#pf-map .leaflet-control-zoom,
.pf-map-stage #pf-map .leaflet-control-zoom {
  overflow: hidden;

  border: 0;
  border-radius: var(--pf-radius);

  box-shadow:
    0 7px 18px rgba(0, 0, 0, 0.055),
    0 1px 4px rgba(0, 0, 0, 0.04);
}

#pf-map .leaflet-control-zoom a,
.pf-map-stage #pf-map .leaflet-control-zoom a {
  width: 36px;
  height: 36px;
  padding: 0;

  color: #333333;
  background: #ffffff;

  border: 0;

  font-family: Arial, sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 34px;
  text-align: center;
  text-decoration: none;
}

#pf-map .leaflet-control-zoom-in,
.pf-map-stage #pf-map .leaflet-control-zoom-in {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
}

#pf-map .leaflet-control-zoom a:hover,
#pf-map .leaflet-control-zoom a:focus-visible,
.pf-map-stage #pf-map .leaflet-control-zoom a:hover,
.pf-map-stage #pf-map .leaflet-control-zoom a:focus-visible {
  color: #000000;
  background: #f3f1ed;
  text-decoration: none;
}


/* ==========================================================
   11. INFOBLOCK FÜR ELEMENTOR-TEXTEDITOR
   Klasse am Widget: pf-info-box
   ========================================================== */

.pf-info-box {
  --pf-info-color: var(--pf-primary);
  --pf-info-text: var(--pf-text);

  min-height: 150px;
  padding: 28px 30px 28px 125px;

  color: var(--pf-info-text);
}

.pf-info-box::after {
  content: "";

  position: absolute;
  top: 50%;
  left: 40px;

  width: 62px;
  height: 62px;

  background-color: var(--pf-info-color);

  transform: translateY(-50%);

  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M21.8 42.5c-5.2-3.5-8.6-9.4-8.6-16.1C13.2 15.7 21.7 7 32.2 7s19 8.7 19 19.4c0 6.7-3.4 12.6-8.6 16.1-2.3 1.6-3.6 4.1-3.6 6.9v1.1H25.4v-1.1c0-2.8-1.3-5.4-3.6-6.9Z' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.8 56h12.8M28.8 61h6.8' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M21.8 42.5c-5.2-3.5-8.6-9.4-8.6-16.1C13.2 15.7 21.7 7 32.2 7s19 8.7 19 19.4c0 6.7-3.4 12.6-8.6 16.1-2.3 1.6-3.6 4.1-3.6 6.9v1.1H25.4v-1.1c0-2.8-1.3-5.4-3.6-6.9Z' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M25.8 56h12.8M28.8 61h6.8' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-position: center;
  mask-position: center;

  -webkit-mask-size: contain;
  mask-size: contain;

  transition:
    transform var(--pf-transition),
    opacity var(--pf-transition);
}

.pf-info-box:hover::after,
.pf-info-box:focus-within::after {
  transform: translateY(-50%) scale(1.06);
}

.pf-info-box > .elementor-widget-container {
  position: relative;
  z-index: 1;
}

.pf-info-box h1,
.pf-info-box h2,
.pf-info-box h3,
.pf-info-box h4,
.pf-info-box h5,
.pf-info-box h6 {
  margin: 0 0 8px;

  color: var(--pf-info-color);

  font-family: var(--pf-heading-font);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;

  text-transform: uppercase;

  -webkit-hyphens: none;
  hyphens: none;
}

.pf-info-box p {
  margin: 0 0 12px;

  color: var(--pf-info-text);

  font-family: var(--pf-font);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
}

.pf-info-box ul,
.pf-info-box ol {
  margin: 12px 0 0;
  padding-left: 1.25em;

  color: var(--pf-info-text);

  font-family: var(--pf-font);
  font-size: 18px;
  line-height: 1.5;
}

.pf-info-box li + li {
  margin-top: 5px;
}

.pf-info-box a {
  color: var(--pf-info-color);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.pf-info-box a:hover {
  color: var(--pf-info-color);
  text-decoration-thickness: 2px;
}

.pf-info-box a:focus-visible {
  outline: 3px solid var(--pf-r1-focus);
  outline-offset: 3px;
  border-radius: 3px;
}

.pf-info-box .elementor-widget-container > *:last-child {
  margin-bottom: 0;
}


/* ==========================================================
   12. FILTER-FADE
   ========================================================== */

.e-loop-item,
.elementor-grid-item {
  transition:
    opacity var(--pf-transition),
    transform var(--pf-transition);
}

.e-loop-item.pf-filter-hidden,
.elementor-grid-item.pf-filter-hidden {
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
}


/* ==========================================================
   12.1 LOOP-GRID: "MEHR LADEN" BUTTON
   Optik wie Button "INHALT" im Kopfbereich, ohne Icon
   Rechts ausgerichtet
   ========================================================== */

.elementor-widget-loop-grid .e-loop__load-more {
  display: flex !important;
  justify-content: flex-end !important;

  width: 100% !important;

  margin-top: 34px !important;
}

.elementor-widget-loop-grid .e-loop__load-more .elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 48px !important;
  padding: 0 28px !important;

  color: #ffffff !important;
  background: var(--pf-primary) !important;

  border: 1px solid var(--pf-primary) !important;
  border-radius: 999px !important;

  font-family: var(--pf-heading-font) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.025em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;

  box-shadow: none !important;

  cursor: pointer;

  box-sizing: border-box !important;

  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    transform 180ms ease,
    box-shadow 180ms ease !important;
}

.elementor-widget-loop-grid .e-loop__load-more .elementor-button:hover,
.elementor-widget-loop-grid .e-loop__load-more .elementor-button:focus-visible {
  color: var(--pf-primary) !important;
  background: #ffffff !important;
  border-color: var(--pf-primary) !important;

  transform: translateY(-1px);
}

.elementor-widget-loop-grid .e-loop__load-more .elementor-button:active {
  transform: translateY(1px);
}

.elementor-widget-loop-grid .e-loop__load-more .elementor-button-content-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 100% !important;
  min-height: 0 !important;

  line-height: 1 !important;
}

.elementor-widget-loop-grid .e-loop__load-more .elementor-button-text {
  display: block !important;

  color: inherit !important;

  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1 !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;

  margin: 0 !important;
  padding: 0 !important;

  transform: translateY(1px);
}


/* ==========================================================
   13. RESPONSIVE – TABLET
   ========================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
  .pf-map-stage #pf-map {
    height: 650px !important;
  }

  .pf-map-stage.pf-map-boxed-filter-stage {
    display: block !important;
  }

  .pf-map-stage.pf-map-boxed-filter-stage .pf-map-filter-widget {
    position: absolute !important;
    z-index: 700 !important;

    inset: auto 18px 18px !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
    translate: none !important;

    box-sizing: border-box !important;
  }

  .pf-map-stage.pf-map-boxed-filter-stage .pf-filters,
  .pf-filter-content-stage .pf-filters {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr) !important;

    gap: 12px !important;
  }

  .pf-map-stage.pf-map-boxed-filter-stage .pf-filters .pf-filter-group:nth-child(1),
  .pf-filter-content-stage .pf-filters .pf-filter-group:nth-child(1) {
    grid-column: 1 / -1 !important;
  }

  .pf-map-stage.pf-map-boxed-filter-stage .pf-filters .pf-filter-group:nth-child(2),
  .pf-filter-content-stage .pf-filters .pf-filter-group:nth-child(2) {
    grid-column: 1 / 2 !important;
  }

  .pf-map-stage.pf-map-boxed-filter-stage .pf-filters .pf-filter-group:nth-child(3),
  .pf-filter-content-stage .pf-filters .pf-filter-group:nth-child(3) {
    grid-column: 2 / 3 !important;
  }


  .pf-info-box {
    min-height: 135px;
    padding: 25px 26px 25px 108px;
  }

  .pf-info-box::after {
    left: 32px;
    width: 54px;
    height: 54px;
  }

  .pf-info-box h1,
  .pf-info-box h2,
  .pf-info-box h3,
  .pf-info-box h4,
  .pf-info-box h5,
  .pf-info-box h6 {
    font-size: 22px;
  }

  .pf-info-box p,
  .pf-info-box ul,
  .pf-info-box ol {
    font-size: 17px;
  }
}


/* ==========================================================
   14. RESPONSIVE – MOBIL
   ========================================================== */

@media (max-width: 767px) {
  .pf-map-stage #pf-map {
    height: 720px !important;
  }

  .pf-map-stage.pf-map-boxed-filter-stage {
    display: block !important;
  }

  .pf-map-stage.pf-map-boxed-filter-stage .pf-map-filter-widget {
    position: absolute !important;
    z-index: 700 !important;

    inset: auto 14px 14px !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
    translate: none !important;

    box-sizing: border-box !important;
  }

  .pf-map-stage .pf-filters,
  .pf-filter-content-stage .pf-filters {
    grid-template-columns: minmax(0, 1fr) !important;

    gap: 10px;
    padding: 14px !important;

    border-radius: var(--pf-radius);
  }

  .pf-filter-content-stage .pf-filters .pf-filter-group:nth-child(1),
  .pf-filter-content-stage .pf-filters .pf-filter-group:nth-child(2),
  .pf-filter-content-stage .pf-filters .pf-filter-group:nth-child(3),
  .pf-map-stage.pf-map-boxed-filter-stage .pf-filters .pf-filter-group:nth-child(1),
  .pf-map-stage.pf-map-boxed-filter-stage .pf-filters .pf-filter-group:nth-child(2),
  .pf-map-stage.pf-map-boxed-filter-stage .pf-filters .pf-filter-group:nth-child(3) {
    grid-column: auto !important;
  }

  .pf-map-stage .pf-filter-group--button label,
  .pf-filter-content-stage .pf-filter-group--button label {
    display: none !important;
    height: auto;
  }

  .pf-map-stage .pf-filter-group label,
  .pf-filter-content-stage .pf-filter-group label {
    margin-bottom: 5px !important;
    font-size: 14px;
  }

  .pf-map-stage .pf-filter-group select,
  .pf-map-stage .pf-filter-group button,
  .pf-filter-content-stage .pf-filter-group select,
  .pf-filter-content-stage .pf-filter-group button {
    min-height: 44px;
    font-size: 15px;
  }


  .pf-info-box {
    min-height: auto;
    padding: 22px 20px 22px 82px;
    border-radius: 14px;
  }

  .pf-info-box::after {
    top: 24px;
    left: 22px;

    width: 38px;
    height: 38px;

    transform: none;
  }

  .pf-info-box:hover::after,
  .pf-info-box:focus-within::after {
    transform: scale(1.06);
  }

  .pf-info-box h1,
  .pf-info-box h2,
  .pf-info-box h3,
  .pf-info-box h4,
  .pf-info-box h5,
  .pf-info-box h6 {
    margin-bottom: 7px;
    font-size: 21px;
  }

  .pf-info-box p,
  .pf-info-box ul,
  .pf-info-box ol {
    font-size: 16px;
    line-height: 1.45;
  }
}


/* ==========================================================
   15. FALLBACKS
   ========================================================== */

@supports not (background: color-mix(in srgb, black 10%, white)) {
  body {
    --pf-r1-focus: rgba(150, 138, 52, 0.55);
    --pf-primary-focus: rgba(12, 111, 166, 0.38);
  }
}


/* ==========================================================
   16. REDUZIERTE BEWEGUNG
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
  .pf-card,
  .pf-info-box,
  .pf-info-box::after,
  .sticky-header,
  .sticky-header *,
  .pf-map-stage #pf-reset,
  .pf-filter-content-stage #pf-reset,
  .sw-rubrik-carousel .sw-rubrik-card,
  .sw-rubrik-carousel .sw-rubrik-card__media img,
  .sw-rubrik-carousel .elementor-swiper-button,
  .sw-rubrik-carousel .swiper-pagination-bullet,
  .e-loop-item,
  .elementor-grid-item,
  .pf-fa,
  #pf-map .pf-popup-address-link,
  .pf-map-stage #pf-map .pf-popup-address-link {
    transition: none !important;
  }

  .pf-card:hover,
  .pf-card:focus-within,
  .pf-card:active,
  .e-loop-item.is-selected .pf-card:hover,
  .elementor-grid-item.is-selected .pf-card:hover,
  .e-loop-item.is-selected .pf-card:active,
  .elementor-grid-item.is-selected .pf-card:active,
  .pf-info-box:hover,
  .pf-info-box:focus-within,
  .pf-info-box:active,
  .sw-rubrik-carousel .sw-rubrik-card:hover,
  .sw-rubrik-carousel .sw-rubrik-card:focus-visible,
  .sw-rubrik-carousel .sw-rubrik-card:active,
  .sw-rubrik-carousel .sw-rubrik-card:hover .sw-rubrik-card__media img,
  .sw-rubrik-carousel .sw-rubrik-card:focus-visible .sw-rubrik-card__media img,
  .sw-rubrik-carousel .elementor-swiper-button,
  .sw-rubrik-carousel .elementor-swiper-button:hover,
  .sw-rubrik-carousel .elementor-swiper-button:focus-visible,
  .e-loop-item.pf-filter-hidden,
  .elementor-grid-item.pf-filter-hidden,
  .pf-fa.pf-marker-hidden {
    transform: none !important;
  }

  .pf-info-box:hover::after,
  .pf-info-box:focus-within::after {
    transform: translateY(-50%) !important;
  }

  .sw-rubrik-carousel .swiper-pagination-bullet-active {
    transform: none !important;
  }

  .e-loop-item.is-selected.pf-pulse .pf-card,
  .elementor-grid-item.is-selected.pf-pulse .pf-card {
    animation: none;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .pf-info-box:hover::after,
  .pf-info-box:focus-within::after {
    transform: none !important;
  }
}


/* ==========================================================
   17. ACCESSIBILITY-SKIP-LINK OHNE WEISSEN ABSTAND
   ========================================================== */

nav[aria-label="Zur Inhaltsnavigation springen"] {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 100000;
}

nav[aria-label="Zur Inhaltsnavigation springen"]
.ea11y-skip-to-content-backdrop {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}



/* ==========================================================
   18. HEADER FIXIERT ÜBER HERO / SEITE
   ========================================================== */

.elementor-location-header {
  position: fixed !important;
  top: 0;
  left: 0;

  width: 100%;

  z-index: 9999;

  transform: translateY(0);
  will-change: transform;
}

.elementor-location-header,
.elementor-location-header header {
  margin: 0 !important;
  padding: 0 !important;
}


/* ==========================================================
   19. HEADER + MEGA-MENÜ
   Mit Scroll-Shrink.
   Desktop: normale Navigation + Mega-Menü.
   Tablet/Mobil: Hamburger-Menü.
   ========================================================== */

/* ==========================================================
   19.1 HEADER
   Klasse am äußersten blauen Header-Container:
   pf-sticky-header
   ========================================================== */

.pf-sticky-header {
  position: relative !important;
  z-index: 9999 !important;

  height: var(--pf-header-height) !important;
  min-height: var(--pf-header-height) !important;
  max-height: var(--pf-header-height) !important;

  padding-top: 0 !important;
  padding-bottom: 0 !important;

  background-color: var(--pf-primary) !important;
  background-image: none !important;

  overflow: visible !important;

  box-shadow: none !important;

  transition:
    height 220ms ease,
    min-height 220ms ease,
    max-height 220ms ease,
    background-color 220ms ease,
    box-shadow 220ms ease !important;
}

.pf-sticky-header > .e-con,
.pf-sticky-header > .e-con-inner,
.pf-sticky-header > .elementor-container,
.pf-sticky-header .e-con,
.pf-sticky-header .e-con-inner,
.pf-sticky-header .elementor-container,
.pf-sticky-header .elementor-widget-wrap,
.pf-sticky-header .elementor-widget,
.pf-sticky-header .elementor-widget-container,
.pf-sticky-header .elementor-widget-html,
.pf-sticky-header .elementor-widget-html > .elementor-widget-container {
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;

  margin-top: 0 !important;
  margin-bottom: 0 !important;

  padding-top: 0 !important;
  padding-bottom: 0 !important;

  overflow: visible !important;
}

.elementor-location-header,
.elementor-location-header header,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner {
  overflow: visible !important;
}

.elementor-location-header,
.elementor-location-header header,
.pf-sticky-header {
  z-index: 9999 !important;
}


/* ==========================================================
   19.1.1 HEADER-SCROLLZUSTAND
   Wird per JS über body.pf-header-is-scrolled aktiviert
   ========================================================== */

body.pf-header-is-scrolled {
  --pf-header-height: 66px;
  --pf-mega-panel-top: 66px;
  --pf-mega-marker-top: 64px;
}

body.pf-header-is-scrolled .pf-sticky-header {
  background-color: var(--pf-primary) !important;

  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.16),
    0 1px 4px rgba(0, 0, 0, 0.06) !important;
}


/* ==========================================================
   19.2 LOGO VERTIKAL ZENTRIEREN
   ========================================================== */

.pf-sticky-header .pf-header-logo,
.pf-sticky-header .elementor-widget-theme-site-logo,
.pf-sticky-header .elementor-widget-image {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

.pf-sticky-header .pf-header-logo > .elementor-widget-container,
.pf-sticky-header .elementor-widget-theme-site-logo > .elementor-widget-container,
.pf-sticky-header .elementor-widget-image > .elementor-widget-container {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

.pf-sticky-header .pf-header-logo a,
.pf-sticky-header .elementor-widget-theme-site-logo a,
.pf-sticky-header .elementor-widget-image a {
  display: flex !important;
  align-items: center !important;

  height: 100% !important;

  line-height: 0 !important;
}

.pf-sticky-header .pf-header-logo img,
.pf-sticky-header .elementor-widget-theme-site-logo img,
.pf-sticky-header .elementor-widget-image img {
  display: block !important;

  width: auto !important;
  max-height: 52px !important;

  margin: 0 !important;
  padding: 0 !important;

  vertical-align: middle !important;

  transition:
    max-height 220ms ease,
    transform 220ms ease !important;
}


/* ==========================================================
   19.2.1 LOGO-SCROLLZUSTAND
   ========================================================== */

body.pf-header-is-scrolled .pf-sticky-header .pf-header-logo img,
body.pf-header-is-scrolled .pf-sticky-header .elementor-widget-theme-site-logo img,
body.pf-header-is-scrolled .pf-sticky-header .elementor-widget-image img {
  max-height: 26px !important;
}


/* ==========================================================
   19.3 HAMBURGER BUTTON
   Desktop unsichtbar
   ========================================================== */

.pf-mobile-toggle {
  display: none !important;
}


/* ==========================================================
   19.4 DESKTOP-NAVIGATION
   ========================================================== */

.pf-mega-nav {
  position: relative !important;
  z-index: 10010;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;

  width: 100%;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;

  font-family: var(--pf-font);
}

.pf-mega-nav,
.pf-mega-nav * {
  box-sizing: border-box;
}

.pf-mega-nav__list {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 28px;

  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none;
}

.pf-mega-nav__item {
  position: relative !important;

  display: flex !important;
  align-items: center !important;

  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
}

.pf-mega-nav__link {
  position: relative !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;

  padding: 0 !important;

  color: #ffffff !important;
  background: transparent !important;

  font-family: var(--pf-heading-font) !important;
  font-size: 16px !important;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.015em;
  text-transform: uppercase !important;

  text-align: center;
  text-decoration: none !important;

  border-radius: 0 !important;
  transform: none !important;

  transition:
    font-size 220ms ease,
    color 180ms ease,
    opacity 180ms ease !important;
}

.pf-mega-nav__button {
  appearance: none !important;
  -webkit-appearance: none !important;

  border: 0 !important;
  box-shadow: none !important;

  font-family: var(--pf-heading-font) !important;
  font-size: 16px !important;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.015em;
  text-transform: uppercase !important;

  cursor: pointer;

  transition:
    font-size 220ms ease,
    color 180ms ease,
    opacity 180ms ease !important;
}

body.pf-header-is-scrolled .pf-mega-nav__link,
body.pf-header-is-scrolled .pf-mega-nav__button {
  font-size: 15px !important;
}

.pf-mega-nav__link::after {
  content: "" !important;

  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;

  display: block !important;

  width: 100% !important;
  height: 4px !important;

  background: var(--pf-bg) !important;

  opacity: 0;
  transform: scaleX(0);
  transform-origin: center;

  pointer-events: none;

  transition:
    opacity 160ms ease,
    transform 180ms ease;
}

.pf-mega-nav__link:hover::after,
.pf-mega-nav__link:focus-visible::after,
.pf-mega-nav__item:hover > .pf-mega-nav__link::after,
.pf-mega-nav__item.is-open > .pf-mega-nav__link::after,
.pf-mega-nav__item.is-current > .pf-mega-nav__link::after,
.pf-mega-nav__link[aria-current="page"]::after {
  opacity: 1;
  transform: scaleX(1);
}

.pf-mega-nav__link:focus-visible,
.pf-mobile-toggle:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.55);
  outline-offset: 4px;
}


/* ==========================================================
   19.5 DESKTOP-NAV-MARKER
   Linie exakt an Header-Unterkante
   ========================================================== */

.pf-mega-nav-marker {
  display: none !important;
}


/* ==========================================================
   19.6 DESKTOP-MEGA-PANEL
   ========================================================== */

.pf-mega-panel {
  position: fixed !important;

  top: var(--pf-mega-panel-top) !important;
  left: 0 !important;
  right: 0 !important;

  width: 100vw !important;
  max-width: 100vw !important;

  margin: 0 !important;

  z-index: 9998 !important;

  color: var(--pf-text);
  background: var(--pf-bg) !important;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(-18px) !important;
  transform-origin: top center !important;

  clip-path: none !important;

  transition:
    opacity 140ms ease-out,
    visibility 140ms ease-out,
    transform 210ms cubic-bezier(0.16, 1, 0.3, 1),
    top 100ms ease-out !important;
}

.pf-mega-panel[hidden] {
  display: none !important;
}

.pf-mega-panel.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;

  transform: translateY(0) !important;

  clip-path: none !important;
}

.pf-mega-panel::before {
  content: "";

  position: absolute;
  left: 0;
  right: 0;
  top: -90px;

  height: 90px;

  background: transparent;
  pointer-events: auto;
}

.pf-mega-panel::after {
  display: none !important;
  content: none !important;
  box-shadow: none !important;
}


/* ==========================================================
   19.7 MEGA-PANEL-INHALT
   ========================================================== */

.pf-mega-panel__inner {
  display: grid;
  grid-template-columns: minmax(230px, 0.7fr) minmax(0, 2.3fr);
  gap: 38px;

  width: min(100%, 1180px) !important;
  max-width: 1180px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding: 42px 34px 48px !important;

  color: var(--pf-text);
  background: var(--pf-bg) !important;

  border-radius: 0 !important;
  box-shadow: none !important;
}


/* ==========================================================
   19.8 MEGA-PANEL INTRO
   ========================================================== */

.pf-mega-panel__intro {
  padding-right: 8px !important;
}

.pf-mega-panel__eyebrow {
  display: inline-flex;

  margin-bottom: 12px !important;
  padding: 6px 12px;

  color: var(--pf-primary) !important;
  background: rgba(255, 255, 255, 0.72) !important;

  border-radius: 999px;

  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pf-mega-panel__intro h2 {
  margin: 0 0 14px !important;

  color: var(--pf-primary) !important;

  font-family: var(--pf-heading-font) !important;
  font-size: 31px !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  text-transform: uppercase !important;
}

.pf-mega-panel__intro p {
  max-width: 360px;
  margin: 0 !important;

  color: var(--pf-text-muted) !important;

  font-family: var(--pf-font) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}


/* ==========================================================
   19.9 MEGA-CARDS
   Bild oben, Titel vertikal mittig unten
   ========================================================== */

.pf-mega-panel__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;

  width: 100% !important;
  min-width: 0 !important;
}

.pf-mega-panel .pf-mega-card {
  position: relative !important;

  display: grid !important;
  grid-template-rows: auto 1fr !important;

  min-height: 190px !important;
  padding: 0 !important;

  color: var(--pf-text-muted) !important;
  background: var(--pf-bg-light) !important;

  border: 0 !important;
  border-radius: var(--pf-radius) !important;

  overflow: hidden !important;

  text-align: center !important;
  text-decoration: none !important;

  box-shadow:
    0 7px 18px rgba(0, 0, 0, 0.028),
    0 1px 4px rgba(0, 0, 0, 0.03) !important;

  opacity: 0;
  transform: translateY(-8px);

  transition:
    opacity 260ms ease,
    transform var(--pf-transition),
    box-shadow var(--pf-transition),
    background-color var(--pf-transition) !important;
}

.pf-mega-panel.is-open .pf-mega-card {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.pf-mega-panel.is-open .pf-mega-card:nth-child(1) { transition-delay: 80ms; }
.pf-mega-panel.is-open .pf-mega-card:nth-child(2) { transition-delay: 115ms; }
.pf-mega-panel.is-open .pf-mega-card:nth-child(3) { transition-delay: 150ms; }
.pf-mega-panel.is-open .pf-mega-card:nth-child(4) { transition-delay: 185ms; }
.pf-mega-panel.is-open .pf-mega-card:nth-child(5) { transition-delay: 220ms; }
.pf-mega-panel.is-open .pf-mega-card:nth-child(6) { transition-delay: 255ms; }
.pf-mega-panel.is-open .pf-mega-card:nth-child(7) { transition-delay: 290ms; }

.pf-mega-panel .pf-mega-card:hover,
.pf-mega-panel .pf-mega-card:focus-visible {
  color: var(--pf-text-muted) !important;
  background: #ffffff !important;

  text-decoration: none !important;

  transform: translateY(-3px) !important;

  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.065),
    0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

.pf-mega-panel .pf-mega-card:active {
  transform: translateY(-1px) !important;
}

.pf-mega-panel .pf-mega-card:focus-visible {
  outline: 3px solid var(--pf-primary-focus) !important;
  outline-offset: 4px !important;
}


/* ==========================================================
   19.10 MEGA-CARD BILDBEREICH
   ========================================================== */

.pf-mega-panel .pf-mega-card__media {
  grid-row: 1 !important;

  display: block !important;

  width: 100% !important;
  height: 96px !important;

  overflow: hidden !important;

  background: var(--pf-bg) !important;

  border-radius: var(--pf-radius) var(--pf-radius) 0 0 !important;
}

.pf-mega-panel .pf-mega-card__media img,
.pf-mega-panel .pf-mega-card__image {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center top !important;

  border: 0 !important;
  border-radius: 0 !important;

  transform: scale(1);

  transition:
    transform 260ms ease,
    filter 260ms ease;
}

.pf-mega-panel .pf-mega-card:hover .pf-mega-card__media img,
.pf-mega-panel .pf-mega-card:focus-visible .pf-mega-card__media img {
  transform: scale(1.035);
}




/* ==========================================================
   19.10 MEGA-CARD BILDBEREICH
   ========================================================== */

.pf-mega-panel .pf-mega-card__media {
  grid-row: 1 !important;

  display: block !important;

  width: 100% !important;
  height: 96px !important;

  overflow: hidden !important;

  background: var(--pf-bg) !important;

  border-radius: var(--pf-radius) var(--pf-radius) 0 0 !important;
}

.pf-mega-panel .pf-mega-card__media img,
.pf-mega-panel .pf-mega-card__image {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center top !important;

  border: 0 !important;
  border-radius: 0 !important;

  transform: scale(1);

  transition:
    transform 260ms ease,
    filter 260ms ease;
}

.pf-mega-panel .pf-mega-card:hover .pf-mega-card__media img,
.pf-mega-panel .pf-mega-card:focus-visible .pf-mega-card__media img {
  transform: scale(1.035);
}

/* ==========================================================
   19.11 MEGA-CARD TITELBEREICH
   ========================================================== */

.pf-mega-panel .pf-mega-card__title {
  grid-row: 2 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 100% !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 18px 18px 20px !important;

  color: var(--pf-text-muted) !important;

  font-family: var(--pf-heading-font) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: 0.01em;

  text-align: center !important;
  text-transform: uppercase !important;

  -webkit-hyphens: none !important;
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}


/* ==========================================================
   19.12 MEGA-CARD RUBRIKFARBEN
   ========================================================== */

.pf-mega-panel .pf-mega-card.pf-rubrik-r1 .pf-mega-card__title {
  color: var(--pf-r1) !important;
}

.pf-mega-panel .pf-mega-card.pf-rubrik-r2 .pf-mega-card__title {
  color: var(--pf-r2) !important;
}

.pf-mega-panel .pf-mega-card.pf-rubrik-r3 .pf-mega-card__title {
  color: var(--pf-r3) !important;
}

.pf-mega-panel .pf-mega-card.pf-rubrik-r4 .pf-mega-card__title {
  color: var(--pf-r4) !important;
}

.pf-mega-panel .pf-mega-card.pf-rubrik-r5 .pf-mega-card__title {
  color: var(--pf-r5) !important;
}

.pf-mega-panel .pf-mega-card.pf-rubrik-r6 .pf-mega-card__title {
  color: var(--pf-r6) !important;
}

.pf-mega-panel .pf-mega-card.pf-rubrik-r7 .pf-mega-card__title {
  color: var(--pf-r7) !important;
}


/* ==========================================================
   19.13 MEGA-CARD AUFRÄUMEN
   Keine Pfeile / keine Sublines
   ========================================================== */

.pf-mega-panel .pf-mega-card::after,
.pf-mega-panel .pf-mega-card__text {
  display: none !important;
  content: none !important;
}


/* ==========================================================
   19.14 TABLET + MOBIL: HAMBURGER-MENÜ
   ========================================================== */

@media (max-width: 1024px) {
  body {
    --pf-header-height: 78px;
    --pf-mega-panel-top: 78px;
    --pf-mega-marker-top: 76px;
  }

  body.pf-header-is-scrolled {
    --pf-header-height: 66px;
    --pf-mega-panel-top: 66px;
    --pf-mega-marker-top: 64px;
  }

  .pf-sticky-header .elementor-widget-html,
  .pf-sticky-header .elementor-widget-html > .elementor-widget-container {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  .pf-mobile-toggle {
    position: relative !important;
    z-index: 10060;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;

    width: 46px !important;
    height: 46px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    cursor: pointer;
  }

  .pf-mobile-toggle__line {
    display: block !important;

    width: 27px;
    height: 2px;

    background: #ffffff;

    border-radius: 999px;

    transform-origin: center;

    transition:
      transform 220ms ease,
      opacity 160ms ease;
  }

  .pf-mobile-toggle.is-open .pf-mobile-toggle__line:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .pf-mobile-toggle.is-open .pf-mobile-toggle__line:nth-child(2) {
    opacity: 0;
  }

  .pf-mobile-toggle.is-open .pf-mobile-toggle__line:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .pf-mega-nav-marker {
    display: none !important;
  }

  .pf-mega-nav {
    position: fixed !important;

    top: var(--pf-mega-panel-top) !important;
    left: 0 !important;
    right: 0 !important;

    display: none !important;

    width: 100vw !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - var(--pf-mega-panel-top)) !important;

    overflow-y: auto !important;
    overscroll-behavior: contain;

    background: var(--pf-primary) !important;

    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.16);

    z-index: 10020 !important;
  }

  .pf-mega-nav.is-mobile-open {
    display: block !important;
  }

  .pf-mega-nav__list {
    display: block !important;

    width: min(100%, 760px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 auto !important;
    padding: 10px 22px 20px !important;
  }

  .pf-mega-nav__item {
    display: block !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  }

  .pf-mega-nav__item:last-child {
    border-bottom: 0;
  }

  .pf-mega-nav__link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    height: auto !important;
    min-height: 58px !important;
    max-height: none !important;

    padding: 17px 0 !important;

    color: #ffffff !important;
    background: transparent !important;

    font-family: var(--pf-heading-font) !important;
    font-size: 18px !important;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0.015em;
    text-transform: uppercase !important;

    text-align: left;
  }

  body.pf-header-is-scrolled .pf-mega-nav__link,
  body.pf-header-is-scrolled .pf-mega-nav__button {
    font-size: 18px !important;
  }

  .pf-mega-nav__button::before {
    content: "+";

    order: 2;

    margin-left: 18px;

    font-size: 26px;
    font-weight: 400;
    line-height: 1;

    transition: transform 200ms ease;
  }

  .pf-mega-nav__item.is-open .pf-mega-nav__button::before {
    transform: rotate(45deg);
  }

  .pf-mega-panel {
    position: static !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    color: var(--pf-text);
    background: var(--pf-bg) !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transform: none !important;
    clip-path: none !important;

    box-shadow: none !important;

    transition: none !important;
  }

  .pf-mega-panel[hidden] {
    display: none !important;
  }

  .pf-mega-panel.is-open {
    display: block !important;
  }

  .pf-mega-panel::before,
  .pf-mega-panel::after {
    display: none !important;
  }

  .pf-mega-panel__inner {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 26px 22px 30px !important;

    background: var(--pf-bg) !important;
  }

  .pf-mega-panel__intro {
    margin-bottom: 24px !important;
    padding: 0 !important;
  }

  .pf-mega-panel__intro h2 {
    font-size: 28px !important;
  }

  .pf-mega-panel__intro p {
    max-width: 560px !important;

    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  .pf-mega-panel__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .pf-mega-panel .pf-mega-card {
    min-height: 245px !important;

    opacity: 1 !important;
    transform: none !important;
  }

  .pf-mega-panel .pf-mega-card__media {
    height: 110px !important;
  }

  .pf-mega-panel .pf-mega-card__title {
    font-size: 20px !important;
  }

  body.pf-header-is-scrolled .pf-sticky-header .pf-header-logo img,
  body.pf-header-is-scrolled .pf-sticky-header .elementor-widget-theme-site-logo img,
  body.pf-header-is-scrolled .pf-sticky-header .elementor-widget-image img {
    max-height: 42px !important;
  }
}


/* ==========================================================
   19.15 MOBIL FEIN
   ========================================================== */

@media (max-width: 767px) {
  body {
    --pf-header-height: 68px;
    --pf-mega-panel-top: 68px;
    --pf-mega-marker-top: 66px;
  }

  body.pf-header-is-scrolled {
    --pf-header-height: 62px;
    --pf-mega-panel-top: 62px;
    --pf-mega-marker-top: 60px;
  }

  .pf-sticky-header {
    height: var(--pf-header-height) !important;
    min-height: var(--pf-header-height) !important;
    max-height: var(--pf-header-height) !important;
  }

  .pf-sticky-header .pf-header-logo img,
  .pf-sticky-header .elementor-widget-theme-site-logo img,
  .pf-sticky-header .elementor-widget-image img {
    max-height: 44px !important;
  }

  body.pf-header-is-scrolled .pf-sticky-header .pf-header-logo img,
  body.pf-header-is-scrolled .pf-sticky-header .elementor-widget-theme-site-logo img,
  body.pf-header-is-scrolled .pf-sticky-header .elementor-widget-image img {
    max-height: 38px !important;
  }

  .pf-mobile-toggle {
    width: 44px !important;
    height: 44px !important;
  }

  .pf-mega-nav__list {
    padding: 8px 18px 18px !important;
  }

  .pf-mega-nav__link {
    min-height: 56px !important;
    font-size: 17px !important;
  }

  body.pf-header-is-scrolled .pf-mega-nav__link,
  body.pf-header-is-scrolled .pf-mega-nav__button {
    font-size: 17px !important;
  }

  .pf-mega-panel__inner {
    padding: 22px 18px 26px !important;
  }

  .pf-mega-panel__intro {
    margin-bottom: 20px !important;
  }

  .pf-mega-panel__intro h2 {
    font-size: 24px !important;
  }

  .pf-mega-panel__intro p {
    font-size: 15.5px !important;
  }

  .pf-mega-panel__grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .pf-mega-panel .pf-mega-card {
    min-height: 220px !important;
  }

  .pf-mega-panel .pf-mega-card__media {
    height: 104px !important;
  }

  .pf-mega-panel .pf-mega-card__title {
    font-size: 20px !important;
  }
}


/* ==========================================================
   19.16 MEGA-MENÜ: REDUZIERTE BEWEGUNG
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
  .pf-sticky-header,
  .pf-sticky-header *,
  .pf-mobile-toggle__line,
  .pf-mega-nav,
  .pf-mega-nav__link,
  .pf-mega-nav__button,
  .pf-mega-panel,
  .pf-mega-card,
  .pf-mega-card__media img,
  .pf-mega-nav-marker {
    transition: none !important;
  }

  .pf-mega-panel,
  .pf-mega-card,
  .pf-mega-card__media img {
    transform: none !important;
  }
}




/* ==========================================================
   20. AdvancedAds
   ========================================================== */

/* Anzeigenlabel "Anzeige" kleiner setzen */
.senio-adlabel {
  font-size: 10px !important;
  line-height: 1.2 !important;
  margin-bottom: 4px !important;
  text-transform: uppercase;
  color: #333 !important;
}

/* Rahmen direkt um das sichtbare Anzeigenbild */

.senio-entity-placement .custom-slider img,

.anzg-rm img {

  display: block;

  border: 1px solid #cccccc !important;

  box-sizing: border-box;

}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Asap';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://www.seniorenwegweiser.online/enzkreis/wp-content/uploads/2026/01/Inter-Black.woff2') format('woff2');
}
@font-face {
	font-family: 'Asap';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://www.seniorenwegweiser.online/enzkreis/wp-content/uploads/2026/01/Inter-Bold.woff2') format('woff2');
}
@font-face {
	font-family: 'Asap';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://www.seniorenwegweiser.online/enzkreis/wp-content/uploads/2026/01/Inter-Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Asap';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://www.seniorenwegweiser.online/enzkreis/wp-content/uploads/2026/01/Inter-Light.woff2') format('woff2');
}
@font-face {
	font-family: 'Asap';
	font-style: italic;
	font-weight: 400;
	font-display: auto;
	src: url('https://www.seniorenwegweiser.online/enzkreis/wp-content/uploads/2026/01/Inter-Italic.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Posterama';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://www.seniorenwegweiser.online/enzkreis/wp-content/uploads/2026/02/Posterama-Text-W07-Bold.woff2') format('woff2'),
		url('https://www.seniorenwegweiser.online/enzkreis/wp-content/uploads/2026/02/Posterama-Text-W07-Bold.woff') format('woff');
}
@font-face {
	font-family: 'Posterama';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://www.seniorenwegweiser.online/enzkreis/wp-content/uploads/2026/02/Posterama-Text-W01-Regular.woff2') format('woff2'),
		url('https://www.seniorenwegweiser.online/enzkreis/wp-content/uploads/2026/02/Posterama-Text-W01-Regular.woff') format('woff');
}
@font-face {
	font-family: 'Posterama';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://www.seniorenwegweiser.online/enzkreis/wp-content/uploads/2026/02/Posterama-Text-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */