/*
Theme Name: Astra Child
Theme URI: https://blaulichtmeile-fw.de/
Description: Child Theme für Astra
Author: Dominik Lehmann
Template: astra
Version: 1.0.0
*/




/* -------------------------
   GRUNDEINSTELLUNGEN
   ------------------------- */
   .intro-card {
    min-height: 180px !important;
    justify-content: center;
  }
  
  .intro-cards {
    margin-top: 22px !important;
  }
  
  .hero-blaulicht {
    position: relative;
    min-height: 820px;
    overflow: hidden;
  }
  
  .hero-blaulicht .wp-block-cover__image-background {
    object-fit: cover;
    object-position: center center;
  }
  
  .hero-blaulicht .wp-block-cover__background {
    background: linear-gradient(
      90deg,
      rgba(1, 10, 30, 0.98) 0%,
      rgba(1, 14, 38, 0.92) 38%,
      rgba(2, 24, 60, 0.44) 70%,
      rgba(2, 28, 70, 0.18) 100%
    ) !important;
    opacity: 1 !important;
  }
  
  .hero-buttons .wp-block-button:last-child .wp-block-button__link {
    width: 100% !important;
  }
  
  
  .intro-section {
    background: #f8fafc;
  }
  
  .intro-text {
    max-width: 1050px;
    font-weight: 400 !important;
  }
  
  .intro-cards {
    margin-top: 40px !important;
  }
  
  .intro-card {
    min-height: 215px;
    padding: 30px 24px !important;
  }
  
  .intro-card svg,
  .intro-card .wp-block-icon,
  .intro-card img {
    width: 46px !important;
    height: 46px !important;
  }
  
  .intro-card h3,
  .intro-card h4 {
    max-width: 230px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  
  
  
  
  
  
  
  
  
  .hero-buttons .wp-block-button__link {
    min-width: 230px;
    padding: 15px 24px;
    border-radius: 3px;
    box-sizing: border-box;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.2px;
    text-align: center;
    text-transform: uppercase;
    transition:
      transform 0.2s ease,
      background-color 0.2s ease,
      border-color 0.2s ease;
  }
  
  .hero-buttons .wp-block-button:first-child .wp-block-button__link {
    background: #119be3;
    border: 2px solid #119be3;
    color: #ffffff;
  }
  
  .hero-buttons .wp-block-button:first-child .wp-block-button__link:hover {
    background: #0788ca;
    border-color: #0788ca;
    transform: translateY(-2px);
  }
  
  .hero-buttons .wp-block-button:last-child .wp-block-button__link {
    background: transparent;
    border: 2px solid #119be3;
    color: #ffffff;
  }
  
  .hero-buttons .wp-block-button:last-child .wp-block-button__link:hover {
    background: rgba(17, 155, 227, 0.14);
    border-color: #43b9f4;
    transform: translateY(-2px);
  }
  
  /* =========================================================
     BLAULICHTMEILE – RESPONSIVE AB TABLET
     Desktop-CSS darüber bleibt unverändert
     ========================================================= */
  
  
  /* =========================================================
     TABLET – 768 BIS 1024 PX
     ========================================================= */
  
  @media (min-width: 768px) and (max-width: 1024px) {
  
    /* Gesamter Hero */
    .hero-blaulicht {
      min-height: 700px !important;
      height: auto !important;
      overflow: hidden !important;
    }
  
    /* Hintergrundbild */
    .hero-blaulicht .wp-block-cover__image-background {
      object-fit: cover !important;
      object-position: 68% center !important;
    }
  
    /* Verlauf */
    .hero-blaulicht .wp-block-cover__background {
      background: linear-gradient(
        90deg,
        rgba(1, 10, 30, 0.98) 0%,
        rgba(1, 14, 38, 0.92) 48%,
        rgba(2, 24, 60, 0.42) 78%,
        rgba(2, 28, 70, 0.16) 100%
      ) !important;
      opacity: 1 !important;
    }
  
    /* Kompletter Textblock */
    .hero-inhalt {
      width: 100% !important;
      max-width: 610px !important;
      padding: 105px 34px 45px !important;
      margin: 0 !important;
      gap: 0 !important;
      row-gap: 0 !important;
      box-sizing: border-box !important;
    }
  
    /* Gutenberg-Abstände innerhalb des Stapels entfernen */
    .hero-inhalt.is-layout-flex,
    .hero-inhalt.is-vertical {
      gap: 0 !important;
    }
  
    /* 1. Fürstenwalder */
    .hero-kicker {
      margin: 0 0 12px !important;
      font-size: 39px !important;
      line-height: 1 !important;
    }
  
    /* Blaulichtmeile */
    .hero-title {
      margin: 0 0 18px !important;
      font-size: 68px !important;
      line-height: 0.95 !important;
      white-space: nowrap !important;
    }
  
    /* Gemeinsam für eure Sicherheit */
    .hero-subtitle {
      max-width: 520px !important;
      margin: 0 0 20px !important;
      font-size: 24px !important;
      line-height: 1.08 !important;
    }
  
    /* Datenbereich */
    .hero-daten {
      display: flex !important;
      flex-direction: column !important;
      gap: 7px !important;
      row-gap: 7px !important;
      margin: 0 !important;
    }
  
    .hero-daten > * {
      margin: 0 !important;
    }
  
    .hero-daten p {
      margin: 0 !important;
      font-size: 18px !important;
      line-height: 1.2 !important;
    }
  
    .hero-daten svg,
    .hero-daten .wp-block-icon,
    .hero-daten img {
      width: 19px !important;
      height: 19px !important;
      min-width: 19px !important;
    }
  
    /* Buttons wie auf Desktop nebeneinander */
    .hero-buttons {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important;
      align-items: center !important;
      gap: 14px !important;
      margin: 20px 0 0 !important;
      width: auto !important;
      max-width: none !important;
    }
  
    .hero-buttons .wp-block-button {
      width: auto !important;
      margin: 0 !important;
    }
  
    .hero-buttons .wp-block-button__link {
      width: auto !important;
      min-width: 205px !important;
      padding: 13px 18px !important;
      font-size: 14px !important;
      line-height: 1.15 !important;
    }
  }
  
  
  /* =========================================================
     SMARTPHONE – BIS 767 PX
     ========================================================= */
  
  @media (max-width: 767px) {
  
    /* Gesamter Hero kompakter */
    .hero-blaulicht {
      min-height: 635px !important;
      height: auto !important;
      padding: 0 !important;
      overflow: hidden !important;
    }
  
    /* Blaulicht etwas weiter nach rechts */
    .hero-blaulicht .wp-block-cover__image-background {
      object-fit: cover !important;
      object-position: 75% center !important;
    }
  
    /* Links dunkel, rechts Blaulicht sichtbar */
    .hero-blaulicht .wp-block-cover__background {
      background: linear-gradient(
        90deg,
        rgba(1, 10, 30, 0.99) 0%,
        rgba(1, 13, 36, 0.96) 58%,
        rgba(2, 21, 55, 0.48) 84%,
        rgba(2, 24, 63, 0.14) 100%
      ) !important;
      opacity: 1 !important;
    }
  
    /* Gesamter Inhalt */
    .hero-inhalt {
      width: 100% !important;
      max-width: none !important;
      padding: 92px 20px 32px !important;
      margin: 0 !important;
      gap: 0 !important;
      row-gap: 0 !important;
      box-sizing: border-box !important;
    }
  
    /* Großen Gutenberg-Blockabstand abschalten */
    .hero-inhalt.is-layout-flex,
    .hero-inhalt.is-vertical,
    .hero-inhalt.wp-block-group {
      gap: 0 !important;
      row-gap: 0 !important;
    }
  
    /* Auch direkte Kinder ohne automatische Außenabstände */
    .hero-inhalt > * {
      margin-top: 0;
    }
  
    /* 1. Fürstenwalder */
    .hero-kicker {
      margin: 0 0 10px !important;
      font-size: 27px !important;
      line-height: 1 !important;
      letter-spacing: 0.2px !important;
    }
  
    /* Blaulichtmeile */
    .hero-title {
      margin: 0 0 14px !important;
      font-size: clamp(38px, 10.8vw, 47px) !important;
      line-height: 0.95 !important;
      letter-spacing: 0 !important;
      white-space: nowrap !important;
    }
  
    /* Unterzeile */
    .hero-subtitle {
      max-width: 300px !important;
      margin: 0 0 18px !important;
      font-size: 18px !important;
      line-height: 1.12 !important;
      letter-spacing: 1px !important;
    }
  
    /* Datum, Uhrzeit, Ort */
    .hero-daten {
      display: flex !important;
      flex-direction: column !important;
      gap: 7px !important;
      row-gap: 7px !important;
      margin: 0 !important;
    }
  
    .hero-daten > *,
    .hero-daten .wp-block-group,
    .hero-daten .wp-block-columns {
      margin: 0 !important;
    }
  
    .hero-daten p {
      margin: 0 !important;
      font-size: 15px !important;
      line-height: 1.18 !important;
    }
  
    .hero-daten svg,
    .hero-daten .wp-block-icon,
    .hero-daten img {
      width: 18px !important;
      height: 18px !important;
      min-width: 18px !important;
    }
  
    /* Buttons kompakt untereinander */
    .hero-buttons {
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 9px !important;
      row-gap: 9px !important;
      width: 100% !important;
      max-width: 295px !important;
      margin: 19px 0 0 !important;
    }
  
    .hero-buttons .wp-block-button {
      display: block !important;
      width: 100% !important;
      margin: 0 !important;
    }
  
    .hero-buttons .wp-block-button__link {
      display: block !important;
      width: 100% !important;
      min-width: 100% !important;
      padding: 12px 10px !important;
      box-sizing: border-box !important;
      font-size: 13px !important;
      line-height: 1.15 !important;
      text-align: center !important;
    }
  }
  
  
  /* =========================================================
     SEHR SCHMALE HANDYS – BIS 390 PX
     ========================================================= */
  
  @media (max-width: 390px) {
  
    .hero-blaulicht {
      min-height: 610px !important;
    }
  
    .hero-blaulicht .wp-block-cover__image-background {
      object-position: 78% center !important;
    }
  
    .hero-inhalt {
      padding: 86px 17px 28px !important;
    }
  
    .hero-kicker {
      margin-bottom: 9px !important;
      font-size: 24px !important;
    }
  
    .hero-title {
      margin-bottom: 13px !important;
      font-size: 37px !important;
    }
  
    .hero-subtitle {
      max-width: 265px !important;
      margin-bottom: 16px !important;
      font-size: 16px !important;
    }
  
    .hero-daten {
      gap: 6px !important;
    }
  
    .hero-daten p {
      font-size: 14px !important;
    }
  
    .hero-daten svg,
    .hero-daten .wp-block-icon,
    .hero-daten img {
      width: 17px !important;
      height: 17px !important;
      min-width: 17px !important;
    }
  
    .hero-buttons {
      max-width: 275px !important;
      margin-top: 17px !important;
      gap: 8px !important;
    }
  
    .hero-buttons .wp-block-button__link {
      padding: 11px 9px !important;
      font-size: 12px !important;
    }
  }
  
  /* =========================================================
     EINLEITUNGSBEREICH
     ========================================================= */
  
  .intro-section {
    width: 100%;
    padding: 58px 24px 64px !important;
    background: #ffffff;
    box-sizing: border-box;
  }
  
  .intro-inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto !important;
  }
  
  .intro-title {
    margin: 0 !important;
    font-family: "Oswald", sans-serif;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
    color: #071c3a;
  }
  
  .section-line {
    width: 46px !important;
    max-width: 46px !important;
    height: 3px !important;
    margin: 12px auto 18px !important;
    border: 0 !important;
    background: #159fe5 !important;
  }
  
  .intro-text {
    max-width: 780px;
    margin: 0 auto 34px !important;
    font-family: "Montserrat", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.55;
    text-align: center;
    color: #465365;
  }
  
  .intro-cards {
    gap: 20px !important;
    align-items: stretch !important;
  }
  
  .intro-cards > .wp-block-column {
    display: flex;
  }
  
  .intro-card {
    width: 100%;
    min-height: 195px;
    padding: 26px 20px !important;
    border: 1px solid #e0e6ec;
    border-radius: 4px;
    background: #ffffff;
    box-sizing: border-box;
    text-align: center;
    transition:
      transform 0.2s ease,
      box-shadow 0.2s ease,
      border-color 0.2s ease;
  }
  
  .intro-card:hover {
    transform: translateY(-4px);
    border-color: #bcdff2;
    box-shadow: 0 12px 28px rgba(4, 29, 58, 0.10);
  }
  
  .intro-card svg,
  .intro-card .wp-block-icon,
  .intro-card img {
    width: 42px !important;
    height: 42px !important;
    margin: 0 auto 12px !important;
    color: #159fe5;
    fill: currentColor;
  }
  
  .intro-card h3,
  .intro-card h4 {
    margin: 0 0 10px !important;
    font-family: "Montserrat", sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    color: #071c3a;
  }
  
  .intro-card p {
    margin: 0 !important;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
    text-align: center;
    color: #5b6674;
  }
  
  
  /* TABLET */
  
  @media (max-width: 1024px) {
  
    .intro-section {
      padding: 50px 28px 56px !important;
    }
  
    .intro-title {
      font-size: 31px;
    }
  
    .intro-text {
      max-width: 700px;
      font-size: 16px;
    }
  
    .intro-cards {
      flex-wrap: wrap !important;
    }
  
    .intro-cards > .wp-block-column {
      flex-basis: calc(50% - 10px) !important;
    }
  }
  
  
  /* SMARTPHONE */
  
  @media (max-width: 767px) {
  
    .intro-section {
      padding: 42px 18px 48px !important;
    }
  
    .intro-title {
      font-size: 27px !important;
      line-height: 1.15;
    }
  }
  
  /* =========================================================
     GS LOGO SLIDER 48 – WEISSE EINZELKARTEN
     ========================================================= */
  
  /* Slider-Grundfläche */
  body #gs_logo_area_48 {
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 8px 20px 18px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  
  /* Negative Plugin-Ränder beseitigen */
  body #gs_logo_area_48 .gs_logo_container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden !important;
  }
  
  /* Alle Elemente gleich hoch */
  body #gs_logo_area_48 .swiper-wrapper {
    align-items: stretch !important;
  }
  
  /*
   * Der äußere Slide wird direkt zur weißen Karte.
   * Dadurch funktioniert es unabhängig von der inneren Plugin-Struktur.
   */
  body #gs_logo_area_48 .gs_logo_single--wrapper {
    height: 190px !important;
    min-height: 190px !important;
  
    margin: 0 !important;
    padding: 20px 16px !important;
  
    background-color: #ffffff !important;
    background-image: none !important;
  
    border: 1px solid #d9e2eb !important;
    border-radius: 5px !important;
  
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  
    transition:
      transform 0.2s ease,
      box-shadow 0.2s ease,
      border-color 0.2s ease !important;
  }
  
  /* Abstand zwischen den weißen Karten */
  body #gs_logo_area_48 .swiper-slide {
    margin-right: 12px !important;
  }
  
  /* Inhalt mittig */
  body #gs_logo_area_48 .gs_logo_single {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  
    margin: 0 !important;
    padding: 0 !important;
  
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  
    text-align: center !important;
    box-sizing: border-box !important;
  }
  
  /* Falls das Plugin nach dem Laden noch einen inneren Container erzeugt */
  body #gs_logo_area_48 .gs_logo_single--inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Logo */
  body #gs_logo_area_48 img.gs-logo--img {
    display: block !important;
  
    width: auto !important;
    max-width: 145px !important;
  
    height: 76px !important;
    max-height: 76px !important;
  
    margin: 0 auto 15px !important;
    padding: 0 !important;
  
    object-fit: contain !important;
    object-position: center !important;
  
    opacity: 1 !important;
    filter: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  
  /* Name unter dem Logo */
  body #gs_logo_area_48 .gs_logo_title {
    display: block !important;
  
    width: 100% !important;
    max-width: 185px !important;
  
    margin: 0 auto !important;
    padding: 0 !important;
  
    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  
    color: #071c3a !important;
    opacity: 1 !important;
    text-align: center !important;
  }
  
  /* Hover */
  body #gs_logo_area_48 .gs_logo_single--wrapper:hover {
    transform: translateY(-4px) !important;
    border-color: #91cce8 !important;
    box-shadow: 0 12px 28px rgba(0, 12, 35, 0.24) !important;
  }
  
  /* Navigation ausblenden */
  body #gs_logo_area_48 .swiper-button-prev,
  body #gs_logo_area_48 .swiper-button-next,
  body #gs_logo_area_48 .swiper-pagination {
    display: none !important;
  }
  
  
  /* =========================================================
     TABLET
     ========================================================= */
  
  @media (max-width: 1023px) {
  
    body #gs_logo_area_48 {
      padding-left: 14px !important;
      padding-right: 14px !important;
    }
  
    body #gs_logo_area_48 .gs_logo_single--wrapper {
      height: 175px !important;
      min-height: 175px !important;
      padding: 18px 12px !important;
    }
  
    body #gs_logo_area_48 img.gs-logo--img {
      max-width: 125px !important;
      height: 66px !important;
      max-height: 66px !important;
    }
  }
  
  
  /* =========================================================
     SMARTPHONE
     ========================================================= */
  
  @media (max-width: 767px) {
  
    body #gs_logo_area_48 {
      padding-left: 8px !important;
      padding-right: 8px !important;
    }
  
    body #gs_logo_area_48 .gs_logo_single--wrapper {
      height: 155px !important;
      min-height: 155px !important;
      padding: 15px 9px !important;
    }
  
    body #gs_logo_area_48 .swiper-slide {
      margin-right: 9px !important;
    }
  
    body #gs_logo_area_48 img.gs-logo--img {
      max-width: 100px !important;
      height: 55px !important;
      max-height: 55px !important;
      margin-bottom: 10px !important;
    }
  
    body #gs_logo_area_48 .gs_logo_title {
      max-width: 140px !important;
      font-size: 10px !important;
    }
  }
  /* =========================================================
     PROGRAMM
     ========================================================= */
  
  .programm-section {
    width: 100%;
    padding: 58px 24px 68px !important;
    background: #f8fafc;
    box-sizing: border-box;
  }
  
  .programm-inner {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto !important;
  }
  
  .programm-title {
    margin: 0 !important;
    font-family: "Oswald", sans-serif;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
    color: #071c3a;
  }
  
  .programm-intro {
    max-width: 760px;
    margin: 0 auto 38px !important;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    text-align: center;
    color: #526071;
  }
  
  .programm-liste {
    position: relative;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Vertikale Linie */
  .programm-liste::before {
    content: "";
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 138px;
    width: 2px;
    background: #dbe6ef;
  }
  
  .programm-punkt {
    position: relative;
    display: grid !important;
    grid-template-columns: 115px 1fr;
    gap: 46px !important;
    align-items: start !important;
  
    width: 100%;
    margin: 0 0 16px !important;
    padding: 22px 28px 22px 0 !important;
  
    border: 1px solid #e0e6ec;
    border-radius: 5px;
    background: #ffffff;
    box-sizing: border-box;
  
    transition:
      transform 0.2s ease,
      border-color 0.2s ease,
      box-shadow 0.2s ease;
  }
  
  .programm-punkt:last-child {
    margin-bottom: 0 !important;
  }
  
  .programm-punkt:hover {
    transform: translateY(-3px);
    border-color: #addcf3;
    box-shadow: 0 12px 28px rgba(4, 29, 58, 0.09);
  }
  
  /* Punkt auf der Zeitachse */
  .programm-punkt::before {
    content: "";
    position: absolute;
    top: 31px;
    left: 132px;
  
    width: 14px;
    height: 14px;
  
    border: 3px solid #ffffff;
    border-radius: 50%;
    background: #159fe5;
    box-shadow: 0 0 0 2px #159fe5;
    box-sizing: border-box;
  }
  
  .programm-zeit {
    margin: 0 !important;
    padding-top: 2px;
  
    font-family: "Oswald", sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
  
    color: #159fe5;
    text-align: right;
    white-space: nowrap;
  }
  
  .programm-inhalt {
    margin: 0 !important;
    padding: 0 !important;
    gap: 5px !important;
  }
  
  .programm-inhalt h3,
  .programm-inhalt h4 {
    margin: 0 0 6px !important;
  
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
  
    color: #071c3a;
  }
  
  .programm-inhalt p {
    margin: 0 !important;
  
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
  
    color: #5b6674;
  }
  
  
  /* =========================================================
     TABLET
     ========================================================= */
  
  @media (max-width: 1024px) {
  
    .programm-section {
      padding: 50px 28px 58px !important;
    }
  
    .programm-title {
      font-size: 31px;
    }
  
    .programm-liste::before {
      left: 118px;
    }
  
    .programm-punkt {
      grid-template-columns: 98px 1fr;
      gap: 40px !important;
    }
  
    .programm-punkt::before {
      left: 112px;
    }
  
    .programm-zeit {
      font-size: 20px;
    }
  }
  
  
  /* =========================================================
     SMARTPHONE
     ========================================================= */
  
  @media (max-width: 767px) {
  
    .programm-section {
      padding: 42px 18px 48px !important;
    }
  
    .programm-title {
      font-size: 27px !important;
    }
  
    .programm-intro {
      margin-bottom: 28px !important;
      font-size: 15px !important;
    }
  
    .programm-liste::before {
      top: 12px;
      bottom: 12px;
      left: 9px;
    }
  
    .programm-punkt {
      display: block !important;
  
      margin-bottom: 12px !important;
      padding: 18px 16px 18px 28px !important;
  
      border-radius: 4px;
    }
  
    .programm-punkt::before {
      top: 24px;
      left: 3px;
  
      width: 13px;
      height: 13px;
    }
  
    .programm-zeit {
      margin-bottom: 7px !important;
      padding: 0 !important;
  
      font-size: 18px !important;
      text-align: left;
    }
  
    .programm-inhalt h3,
    .programm-inhalt h4 {
      font-size: 16px !important;
    }
  
    .programm-inhalt p {
      font-size: 13px !important;
    }
  }

  /* =========================================================
   MOBILE FEINSCHLIFF:
   EINLEITUNG + PROGRAMM
   ========================================================= */

@media (max-width: 767px) {

    /* -------------------------------------------------------
       EINLEITUNGSBEREICH KOMPAKTER
       ------------------------------------------------------- */
  
    .intro-section {
      padding: 34px 16px 38px !important;
    }
  
    .intro-inner {
      max-width: 100% !important;
    }
  
    .intro-title {
      max-width: 330px !important;
      margin-left: auto !important;
      margin-right: auto !important;
  
      font-size: 25px !important;
      line-height: 1.12 !important;
    }
  
    .intro-text {
      max-width: 340px !important;
      margin: 0 auto 24px !important;
  
      font-size: 14px !important;
      line-height: 1.45 !important;
      text-align: center !important;
    }
  
    .intro-cards {
      gap: 10px !important;
      margin-top: 20px !important;
    }
  
    .intro-cards > .wp-block-column {
      margin-bottom: 0 !important;
    }
  
    /* Karten mobil flacher und kompakter */
    .intro-card {
      min-height: 0 !important;
      padding: 18px 16px !important;
  
      display: grid !important;
      grid-template-columns: 48px 1fr !important;
      grid-template-rows: auto auto !important;
      column-gap: 14px !important;
      row-gap: 2px !important;
  
      align-items: center !important;
      text-align: left !important;
    }
  
    /* Icon links */
    .intro-card svg,
    .intro-card .wp-block-icon,
    .intro-card img {
      grid-column: 1 !important;
      grid-row: 1 / span 2 !important;
  
      width: 38px !important;
      height: 38px !important;
  
      margin: 0 auto !important;
    }
  
    /* Überschrift rechts */
    .intro-card h3,
    .intro-card h4 {
      grid-column: 2 !important;
      grid-row: 1 !important;
  
      max-width: none !important;
      margin: 0 !important;
  
      font-size: 15px !important;
      line-height: 1.25 !important;
      text-align: left !important;
    }
  
    /* Beschreibung rechts */
    .intro-card p {
      grid-column: 2 !important;
      grid-row: 2 !important;
  
      margin: 0 !important;
  
      font-size: 12px !important;
      line-height: 1.35 !important;
      text-align: left !important;
    }
  
  
    /* -------------------------------------------------------
       PROGRAMM MOBIL RUHIGER
       ------------------------------------------------------- */
  
    .programm-section {
      padding: 36px 16px 42px !important;
    }
  
    .programm-title {
      font-size: 25px !important;
    }
  
    .programm-intro {
      max-width: 340px !important;
      margin: 0 auto 24px !important;
  
      font-size: 14px !important;
      line-height: 1.45 !important;
    }
  
    /* Graue Zeitachse entfernen */
    .programm-liste::before {
      display: none !important;
    }
  
    .programm-liste {
      padding: 0 !important;
    }
  
    .programm-punkt {
      display: block !important;
  
      margin: 0 0 10px !important;
      padding: 17px 16px 17px 48px !important;
  
      border-radius: 6px !important;
    }
  
    /* Blauer Punkt bleibt als Orientierung */
    .programm-punkt::before {
      top: 20px !important;
      left: 13px !important;
  
      width: 15px !important;
      height: 15px !important;
  
      border: 3px solid #ffffff !important;
      box-shadow: 0 0 0 3px #159fe5 !important;
    }
  
    .programm-zeit {
      margin: 0 0 6px !important;
      padding: 0 !important;
  
      font-size: 20px !important;
      line-height: 1.1 !important;
      text-align: left !important;
    }
  
    .programm-inhalt {
      gap: 3px !important;
    }
  
    .programm-inhalt h3,
    .programm-inhalt h4 {
      margin: 0 0 5px !important;
  
      font-size: 16px !important;
      line-height: 1.3 !important;
    }
  
    .programm-inhalt p {
      margin: 0 !important;
  
      font-size: 13px !important;
      line-height: 1.4 !important;
    }
  }
  
  
  /* Sehr schmale Handys */
  
  @media (max-width: 390px) {
  
    .intro-title,
    .programm-title {
      font-size: 23px !important;
    }
  
    .intro-text,
    .programm-intro {
      font-size: 13px !important;
    }
  
    .intro-card {
      grid-template-columns: 42px 1fr !important;
      column-gap: 12px !important;
      padding: 16px 14px !important;
    }
  
    .intro-card svg,
    .intro-card .wp-block-icon,
    .intro-card img {
      width: 34px !important;
      height: 34px !important;
    }
  
    .programm-punkt {
      padding-left: 44px !important;
    }
  
    .programm-zeit {
      font-size: 18px !important;
    }
  }

  /* =========================================================
   MOBILE INTRO-KARTEN – KORREKTUR
   ========================================================= */

@media (max-width: 767px) {

    /* Karten wirklich untereinander und volle Breite */
    .intro-cards {
      display: flex !important;
      flex-direction: column !important;
      flex-wrap: nowrap !important;
      gap: 12px !important;
      width: 100% !important;
      margin-top: 20px !important;
    }
  
    .intro-cards > .wp-block-column {
      flex: 0 0 100% !important;
      flex-basis: 100% !important;
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
    }
  
    /* Karte wieder als kompakter vertikaler Block */
    .intro-card {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
  
      width: 100% !important;
      min-width: 0 !important;
      min-height: 155px !important;
  
      padding: 20px 18px !important;
      gap: 0 !important;
  
      box-sizing: border-box !important;
      text-align: center !important;
    }
  
    /* Icon */
    .intro-card svg,
    .intro-card .wp-block-icon,
    .intro-card img {
      display: block !important;
  
      width: 40px !important;
      height: 40px !important;
  
      margin: 0 auto 12px !important;
  
      grid-column: auto !important;
      grid-row: auto !important;
    }
  
    /* Überschrift */
    .intro-card h3,
    .intro-card h4 {
      display: block !important;
  
      width: 100% !important;
      max-width: none !important;
      min-width: 0 !important;
  
      margin: 0 0 5px !important;
  
      font-size: 16px !important;
      line-height: 1.25 !important;
      text-align: center !important;
  
      word-break: normal !important;
      overflow-wrap: normal !important;
      hyphens: none !important;
  
      grid-column: auto !important;
      grid-row: auto !important;
    }
  
    /* Beschreibung */
    .intro-card p {
      display: block !important;
  
      width: 100% !important;
      max-width: 310px !important;
      min-width: 0 !important;
  
      margin: 0 auto !important;
  
      font-size: 13px !important;
      line-height: 1.4 !important;
      text-align: center !important;
  
      word-break: normal !important;
      overflow-wrap: normal !important;
      hyphens: none !important;
  
      grid-column: auto !important;
      grid-row: auto !important;
    }
  }

/* =========================================================
   FAMILIENBEREICH
   ========================================================= */

   .familien-section {
    width: 100%;
    padding: 48px 24px 54px !important;
  
    background:
      linear-gradient(
        rgba(2, 17, 39, 0.90),
        rgba(2, 17, 39, 0.90)
      ),
      url("http://blaulichtmeile-fw.de/wp-content/uploads/2026/07/0aecfef5-7766-4c95-af55-5cd441688948.png")
      center / cover no-repeat;
  
    box-sizing: border-box;
  }
  
  .familien-inner {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto !important;
  }
  
  .familien-title {
    max-width: 760px;
    margin: 0 auto !important;
  
    font-family: "Oswald", sans-serif !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
  
    color: #ffffff !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }
  
  .familien-section .section-line {
    width: 46px !important;
    max-width: 46px !important;
    height: 3px !important;
  
    margin: 12px auto 26px !important;
  
    border: 0 !important;
    background: #159fe5 !important;
  }
  
  .familien-cards {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
  
    gap: 18px !important;
    margin-top: 0 !important;
  }
  
  .familien-card {
    min-height: 150px;
    padding: 16px 10px !important;
  
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
  
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  
    text-align: center !important;
    box-sizing: border-box;
  }
  
  .familien-card svg,
  .familien-card .wp-block-icon,
  .familien-card img {
    width: 42px !important;
    height: 42px !important;
  
    margin: 0 auto 12px !important;
  
    color: #159fe5 !important;
    fill: currentColor !important;
  }
  
  .familien-card h3,
  .familien-card h4 {
    margin: 0 0 7px !important;
  
    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
  
    color: #ffffff !important;
    text-align: center !important;
  }
  
  .familien-card p {
    margin: 0 !important;
  
    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
  
    color: rgba(255, 255, 255, 0.90) !important;
    text-align: center !important;
  }

  .familien-card-title {
    margin: 0 0 7px !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    text-align: center !important;
  }
  
  .familien-card-text {
    margin: 0 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    color: rgba(255,255,255,0.9) !important;
    text-align: center !important;
  }
  
  @media (max-width: 767px) {
    .familien-card-title {
      font-size: 13px !important;
      margin-bottom: 5px !important;
    }
  
    .familien-card-text {
      font-size: 11px !important;
    }
  }
  
  
  /* =========================================================
     TABLET
     ========================================================= */
  
  @media (max-width: 1024px) {
  
    .familien-section {
      padding: 44px 22px 48px !important;
    }
  
    .familien-title {
      font-size: 31px !important;
    }
  
    .familien-cards {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px !important;
    }
  
    .familien-card {
      min-height: 140px;
    }
  }
  
  
  /* =========================================================
     SMARTPHONE
     ========================================================= */
  
  @media (max-width: 767px) {
  
    .familien-section {
      padding: 36px 16px 40px !important;
  
      background:
        linear-gradient(
          rgba(2, 17, 39, 0.93),
          rgba(2, 17, 39, 0.93)
        ),
        url("http://blaulichtmeile-fw.de/wp-content/uploads/2026/07/0aecfef5-7766-4c95-af55-5cd441688948.png")
        center / cover no-repeat;
    }
  
    .familien-title {
      max-width: 330px;
      font-size: 25px !important;
      line-height: 1.15 !important;
    }
  
    .familien-section .section-line {
      margin-top: 11px !important;
      margin-bottom: 20px !important;
    }
  
    .familien-cards {
      grid-template-columns: repeat(2, minmax(0, 1fr));
  
      gap: 12px 8px !important;
      margin-top: 0 !important;
    }
  
    .familien-card {
      min-height: 118px;
      padding: 12px 6px !important;
    }
  
    .familien-card svg,
    .familien-card .wp-block-icon,
    .familien-card img {
      width: 35px !important;
      height: 35px !important;
  
      margin-bottom: 8px !important;
    }
  
    .familien-card h3,
    .familien-card h4 {
      margin-bottom: 5px !important;
  
      font-size: 13px !important;
      line-height: 1.2 !important;
    }
  
    .familien-card p {
      font-size: 11px !important;
      line-height: 1.3 !important;
    }
  }
  
  
  /* =========================================================
     SEHR SCHMALE SMARTPHONES
     ========================================================= */
  
  @media (max-width: 390px) {
  
    .familien-section {
      padding-left: 13px !important;
      padding-right: 13px !important;
    }
  
    .familien-title {
      font-size: 23px !important;
    }
  
    .familien-cards {
      gap: 10px 6px !important;
    }
  
    .familien-card {
      min-height: 112px;
      padding: 11px 5px !important;
    }
  
    .familien-card svg,
    .familien-card .wp-block-icon,
    .familien-card img {
      width: 32px !important;
      height: 32px !important;
    }
  
    .familien-card h3,
    .familien-card h4 {
      font-size: 12px !important;
    }
  
    .familien-card p {
      font-size: 10px !important;
    }
  }

/* Erster Absatz jeder Karte = kleine Überschrift */
.familien-card p:first-of-type {
    margin: 0 0 7px !important;
  
    font-family: "Montserrat", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
  
    color: #ffffff !important;
    text-align: center !important;
  }
  
  /* Alle weiteren Absätze = Beschreibung */
  .familien-card p:not(:first-of-type) {
    margin: 0 !important;
  
    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
  
    color: rgba(255, 255, 255, 0.9) !important;
    text-align: center !important;
  }
  
  /* Smartphone */
  @media (max-width: 767px) {
    .familien-card p:first-of-type {
      margin-bottom: 5px !important;
      font-size: 13px !important;
      line-height: 1.2 !important;
    }
  
    .familien-card p:not(:first-of-type) {
      font-size: 11px !important;
      line-height: 1.3 !important;
    }
  }
  
  /* Sehr schmale Smartphones */
  @media (max-width: 390px) {
    .familien-card p:first-of-type {
      font-size: 12px !important;
    }
  
    .familien-card p:not(:first-of-type) {
      font-size: 10px !important;
    }
  }
/* =========================================================
   ANFAHRT – PASSEND ZUR TATSÄCHLICHEN BLOCKSTRUKTUR
   ========================================================= */

   .anfahrt-section {
    width: 100%;
    padding: 52px 24px 62px !important;
    background: #ffffff;
    box-sizing: border-box;
  }
  
  .anfahrt-inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto !important;
  }
  
  .anfahrt-title {
    margin: 0 !important;
    font-family: "Oswald", sans-serif !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    color: #071c3a !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }
  
  /* Dein Trenner heißt im HTML familien-line */
  .anfahrt-section .familien-line {
    width: 46px !important;
    max-width: 46px !important;
    height: 3px !important;
    margin: 12px auto 30px !important;
    padding: 0 !important;
    border: 0 !important;
    background: #159fe5 !important;
  }
  
  
  /* =========================================================
     ZWEI SPALTEN: LINKS INFOS, RECHTS KARTE
     ========================================================= */
  
  .anfahrt-layout {
    display: grid !important;
    grid-template-columns: 380px minmax(0, 1fr) !important;
    gap: 54px !important;
    align-items: center !important;
  
    width: 100% !important;
    max-width: 1200px !important;
  
    margin: 0 auto !important;
    padding: 0 !important;
  }
  
  .anfahrt-layout > .wp-block-column {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  
  /* =========================================================
     LINKE SPALTE
     ========================================================= */
  
  /*
   * Deine linke Spalte enthält mehrere äußere Gruppen,
   * die ebenfalls anfahrt-infos heißen.
   */
  .anfahrt-layout
  > .wp-block-column:first-child
  > .anfahrt-infos {
    display: block !important;
    width: 100% !important;
  
    margin: 0 0 21px !important;
    padding: 0 !important;
  }
  
  .anfahrt-layout
  > .wp-block-column:first-child
  > .anfahrt-infos:last-child {
    margin-bottom: 0 !important;
  }
  
  
  /*
   * Die innere verschachtelte anfahrt-infos-Gruppe
   * ist jeweils die eigentliche Zeile aus Icon und Text.
   */
  .anfahrt-layout
  > .wp-block-column:first-child
  > .anfahrt-infos
  > .anfahrt-infos {
    display: grid !important;
    grid-template-columns: 29px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    row-gap: 0 !important;
  
    align-items: start !important;
    justify-content: normal !important;
  
    width: 100% !important;
  
    margin: 0 !important;
    padding: 0 !important;
  }
  
  
  /* =========================================================
     SVG-ICON AUTOMATISCH ANSPRECHEN
     ========================================================= */
  
  /* Gesamter SVG-Plugin-Wrapper */
  .anfahrt-layout
  > .wp-block-column:first-child
  > .anfahrt-infos
  > .anfahrt-infos
  > .wp-block-svgib-svg {
    grid-column: 1 !important;
    grid-row: 1 !important;
  
    display: block !important;
  
    width: 25px !important;
    min-width: 25px !important;
    max-width: 25px !important;
  
    height: 25px !important;
    min-height: 25px !important;
    max-height: 25px !important;
  
    margin: 2px 0 0 !important;
    padding: 0 !important;
  }
  
  /* Innere Wrapper des SVG-Plugins */
  .anfahrt-layout .wp-block-svgib-svg .svg-inner,
  .anfahrt-layout .wp-block-svgib-svg .svg-icon {
    display: block !important;
  
    width: 25px !important;
    min-width: 25px !important;
    max-width: 25px !important;
  
    height: 25px !important;
    min-height: 25px !important;
    max-height: 25px !important;
  
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Eigentliches SVG */
  .anfahrt-layout .wp-block-svgib-svg svg {
    display: block !important;
  
    width: 25px !important;
    min-width: 25px !important;
    max-width: 25px !important;
  
    height: 25px !important;
    min-height: 25px !important;
    max-height: 25px !important;
  
    margin: 0 !important;
    padding: 0 !important;
  
    color: #159fe5 !important;
    fill: #159fe5 !important;
  }
  
  
  /* =========================================================
     TEXT RECHTS NEBEN DEM ICON
     ========================================================= */
  
  .anfahrt-info-text {
    grid-column: 2 !important;
    grid-row: 1 !important;
  
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
  
    width: 100% !important;
    min-width: 0 !important;
  
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .anfahrt-info-text > * {
    margin-top: 0 !important;
  }
  
  .anfahrt-info-title {
    margin: 0 0 3px !important;
  
    font-family: "Oswald", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
  
    color: #071c3a !important;
    text-align: left !important;
  }
  
  .anfahrt-info-text p {
    margin: 0 !important;
  
    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.42 !important;
  
    color: #536173 !important;
    text-align: left !important;
  }
  
  
  /* =========================================================
     KARTE IN DER RECHTEN SPALTE
     ========================================================= */
  
  .anfahrt-map {
    width: 100% !important;
    min-height: 390px !important;
  
    margin: 0 !important;
    padding: 0 !important;
  
    border: 1px solid #d9e2eb !important;
    border-radius: 5px !important;
    background: #e9eff4 !important;
  
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  
  .anfahrt-map iframe,
  .anfahrt-map img {
    display: block !important;
  
    width: 100% !important;
    height: 390px !important;
  
    margin: 0 !important;
    border: 0 !important;
  
    object-fit: cover !important;
    object-position: center !important;
  }
  
  
  /* =========================================================
     TABLET
     ========================================================= */
  
  @media (max-width: 1024px) {
  
    .anfahrt-section {
      padding: 46px 24px 54px !important;
    }
  
    .anfahrt-title {
      font-size: 31px !important;
    }
  
    .anfahrt-layout {
      grid-template-columns: 320px minmax(0, 1fr) !important;
      gap: 34px !important;
    }
  
    .anfahrt-map,
    .anfahrt-map iframe,
    .anfahrt-map img {
      min-height: 345px !important;
      height: 345px !important;
    }
  }
  
  
  /* =========================================================
     SMARTPHONE
     ========================================================= */
  
  @media (max-width: 767px) {
  
    .anfahrt-section {
      padding: 36px 16px 42px !important;
    }
  
    .anfahrt-title {
      font-size: 25px !important;
    }
  
    .anfahrt-section .familien-line {
      margin-bottom: 24px !important;
    }
  
    .anfahrt-layout {
      display: flex !important;
      flex-direction: column !important;
      gap: 27px !important;
    }
  
    .anfahrt-layout > .wp-block-column {
      width: 100% !important;
    }
  
    .anfahrt-layout
    > .wp-block-column:first-child
    > .anfahrt-infos {
      margin-bottom: 17px !important;
    }
  
    .anfahrt-layout
    > .wp-block-column:first-child
    > .anfahrt-infos
    > .anfahrt-infos {
      grid-template-columns: 25px minmax(0, 1fr) !important;
      column-gap: 11px !important;
    }
  
    .anfahrt-layout .wp-block-svgib-svg,
    .anfahrt-layout .wp-block-svgib-svg .svg-inner,
    .anfahrt-layout .wp-block-svgib-svg .svg-icon,
    .anfahrt-layout .wp-block-svgib-svg svg {
      width: 21px !important;
      min-width: 21px !important;
      max-width: 21px !important;
  
      height: 21px !important;
      min-height: 21px !important;
      max-height: 21px !important;
    }
  
    .anfahrt-info-title {
      font-size: 16px !important;
    }
  
    .anfahrt-info-text p {
      font-size: 12px !important;
      line-height: 1.4 !important;
    }
  
    .anfahrt-map,
    .anfahrt-map iframe,
    .anfahrt-map img {
      min-height: 280px !important;
      height: 280px !important;
    }
  }

  /* =========================================================
   ANFAHRT – STYLISCHE KARTE
   ========================================================= */

.anfahrt-map {
    position: relative;
    width: 100% !important;
    min-height: 410px !important;
  
    margin: 0 !important;
    padding: 0 !important;
  
    border: 1px solid #d9e2eb !important;
    border-radius: 8px !important;
    background: #ffffff !important;
  
    box-shadow: 0 14px 36px rgba(4, 29, 58, 0.12) !important;
  
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  
  /* Karte */
  .anfahrt-map iframe {
    display: block !important;
  
    width: 100% !important;
    height: 330px !important;
  
    margin: 0 !important;
    padding: 0 !important;
  
    border: 0 !important;
    background: #e9eff4 !important;
  }
  
  /* Unterer weißer Bereich */
  .anfahrt-map-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
  
    min-height: 80px !important;
    padding: 15px 18px !important;
  
    background: #ffffff !important;
    box-sizing: border-box !important;
  }
  
  /* Adresse */
  .anfahrt-map-address {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
  
    min-width: 0 !important;
  }
  
  .anfahrt-map-address strong {
    font-family: "Montserrat", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
  
    color: #071c3a !important;
  }
  
  .anfahrt-map-address span {
    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
  
    color: #617083 !important;
  }
  
  /* Routen-Button */
  .anfahrt-route-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  
    flex-shrink: 0 !important;
  
    min-height: 42px !important;
    padding: 11px 18px !important;
  
    border: 2px solid #159fe5 !important;
    border-radius: 4px !important;
    background: #159fe5 !important;
  
    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  
    color: #ffffff !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
  
    transition:
      transform 0.2s ease,
      background-color 0.2s ease,
      border-color 0.2s ease !important;
  }
  
  .anfahrt-route-button:hover {
    transform: translateY(-2px) !important;
    border-color: #0788ca !important;
    background: #0788ca !important;
    color: #ffffff !important;
  }
  
  
  /* =========================================================
     TABLET
     ========================================================= */
  
  @media (max-width: 1024px) {
  
    .anfahrt-map {
      min-height: 385px !important;
    }
  
    .anfahrt-map iframe {
      height: 305px !important;
    }
  
    .anfahrt-map-footer {
      min-height: 80px !important;
      padding: 14px 15px !important;
    }
  }
  
  
  /* =========================================================
     SMARTPHONE
     ========================================================= */
  
  @media (max-width: 767px) {
  
    .anfahrt-map {
      min-height: 0 !important;
      border-radius: 6px !important;
    }
  
    .anfahrt-map iframe {
      height: 270px !important;
    }
  
    .anfahrt-map-footer {
      flex-direction: column !important;
      align-items: stretch !important;
  
      gap: 13px !important;
      min-height: 0 !important;
      padding: 15px !important;
    }
  
    .anfahrt-map-address {
      text-align: left !important;
    }
  
    .anfahrt-map-address strong {
      font-size: 13px !important;
    }
  
    .anfahrt-map-address span {
      font-size: 11px !important;
    }
  
    .anfahrt-route-button {
      width: 100% !important;
      min-height: 43px !important;
      box-sizing: border-box !important;
    }
  }

  /* =========================================================
   ANFAHRT-KARTE – MOBILE FOOTER SICHTBAR MACHEN
   ========================================================= */

@media (max-width: 767px) {

    /* Gesamte Kartenbox darf mit ihrem Inhalt wachsen */
    .anfahrt-map {
      height: auto !important;
      min-height: 0 !important;
      max-height: none !important;
      overflow: hidden !important;
    }
  
    /* Nur die eigentliche Karte bekommt eine feste Höhe */
    .anfahrt-map iframe {
      display: block !important;
      width: 100% !important;
      height: 250px !important;
      min-height: 250px !important;
      max-height: 250px !important;
      border: 0 !important;
    }
  
    /* Footer unter der Karte erzwingen */
    .anfahrt-map-footer {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
      justify-content: flex-start !important;
  
      width: 100% !important;
      height: auto !important;
      min-height: 0 !important;
      max-height: none !important;
  
      gap: 12px !important;
      padding: 15px !important;
  
      background: #ffffff !important;
      box-sizing: border-box !important;
      visibility: visible !important;
      opacity: 1 !important;
      overflow: visible !important;
    }
  
    .anfahrt-map-address {
      display: flex !important;
      flex-direction: column !important;
      gap: 3px !important;
  
      width: 100% !important;
      visibility: visible !important;
      opacity: 1 !important;
    }
  
    .anfahrt-map-address strong,
    .anfahrt-map-address span {
      display: block !important;
      visibility: visible !important;
      opacity: 1 !important;
    }
  
    .anfahrt-route-button {
      display: flex !important;
      width: 100% !important;
      min-height: 44px !important;
  
      padding: 12px 14px !important;
      box-sizing: border-box !important;
  
      visibility: visible !important;
      opacity: 1 !important;
    }
  }

  
/* =========================================================
   PARTNER / UNTERSTÜTZER
   Tatsächlicher Slider: #gs_logo_area_49
   ========================================================= */

   .partner-section {
    width: 100% !important;
    padding: 42px 24px 48px !important;
  
    background:
      linear-gradient(
        135deg,
        #03162d 0%,
        #06264a 55%,
        #07325f 100%
      ) !important;
  
    box-sizing: border-box !important;
  }
  
  .partner-inner {
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
  }
  
  .partner-title {
    max-width: 900px !important;
    margin: 0 auto !important;
  
    font-family: "Oswald", sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
  
    color: #ffffff !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }
  
  .partner-section .section-line {
    width: 46px !important;
    max-width: 46px !important;
    height: 3px !important;
  
    margin: 12px auto 26px !important;
  
    padding: 0 !important;
    border: 0 !important;
    background: #159fe5 !important;
  }
  
  
  /* =========================================================
     GESAMTER PARTNER-SLIDER
     ========================================================= */
  
  .partner-section #gs_logo_area_49 {
    width: 100% !important;
    max-width: 1320px !important;
  
    margin: 0 auto !important;
    padding: 4px 20px 8px !important;
  
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  
  .partner-section #gs_logo_area_49 .gs_logo_area--inner {
    width: 100% !important;
    overflow: hidden !important;
  }
  
  .partner-section #gs_logo_area_49 .gs_logo_container {
    width: 100% !important;
  
    margin-left: 0 !important;
    margin-right: 0 !important;
  
    overflow: hidden !important;
  }
  
  .partner-section #gs_logo_area_49 .swiper-wrapper {
    align-items: stretch !important;
  }
  
  
  /* =========================================================
     EINZELNER SLIDE
     ========================================================= */
  
  .partner-section #gs_logo_area_49 .gs_logo_single--wrapper {
    height: 122px !important;
  
    padding: 0 6px !important;
  
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  
  
  /* Weiße Logokarte */
  .partner-section #gs_logo_area_49 .gs_logo_single {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  
    width: 100% !important;
    height: 122px !important;
    min-height: 122px !important;
  
    padding: 18px 20px !important;
  
    border: 1px solid #d9e2eb !important;
    border-radius: 5px !important;
    background: #ffffff !important;
  
    box-shadow: none !important;
    box-sizing: border-box !important;
  
    transition:
      transform 0.2s ease,
      border-color 0.2s ease,
      box-shadow 0.2s ease !important;
  }
  
  .partner-section
  #gs_logo_area_49
  .gs_logo_single--wrapper:hover
  .gs_logo_single {
    transform: translateY(-3px) !important;
    border-color: rgba(21, 159, 229, 0.55) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22) !important;
  }
  
  
  /* =========================================================
     LOGO
     ========================================================= */
  
  .partner-section #gs_logo_area_49 .gs_logo_single--inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  
    width: 100% !important;
    height: 100% !important;
  
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .partner-section #gs_logo_area_49 img.gs-logo--img {
    display: block !important;
  
    width: auto !important;
    max-width: 180px !important;
  
    height: 68px !important;
    max-height: 68px !important;
  
    margin: 0 auto !important;
    padding: 0 !important;
  
    object-fit: contain !important;
    object-position: center !important;
  
    opacity: 1 !important;
    filter: none !important;
  
    border: 0 !important;
    box-shadow: none !important;
  }
  
  
  /* Namen unter den Sponsorenlogos ausblenden */
  .partner-section #gs_logo_area_49 .gs_logo_title {
    display: none !important;
  }
  
  
  /* Navigation ausblenden */
  .partner-section #gs_logo_area_49 .swiper-button-prev,
  .partner-section #gs_logo_area_49 .swiper-button-next,
  .partner-section #gs_logo_area_49 .swiper-pagination {
    display: none !important;
  }
  
  
  /* =========================================================
     TABLET
     ========================================================= */
  
  @media (max-width: 1024px) {
  
    .partner-section {
      padding: 40px 20px 44px !important;
    }
  
    .partner-title {
      font-size: 29px !important;
    }
  
    .partner-section #gs_logo_area_49 {
      padding-left: 12px !important;
      padding-right: 12px !important;
    }
  
    .partner-section #gs_logo_area_49 .gs_logo_single--wrapper,
    .partner-section #gs_logo_area_49 .gs_logo_single {
      height: 112px !important;
      min-height: 112px !important;
    }
  
    .partner-section #gs_logo_area_49 img.gs-logo--img {
      max-width: 155px !important;
      height: 60px !important;
      max-height: 60px !important;
    }
  }
  
  
  /* =========================================================
     SMARTPHONE
     ========================================================= */
  
  @media (max-width: 767px) {
  
    .partner-section {
      padding: 34px 14px 38px !important;
    }
  
    .partner-title {
      max-width: 330px !important;
  
      font-size: 24px !important;
      line-height: 1.15 !important;
    }
  
    .partner-section .section-line {
      margin-bottom: 20px !important;
    }
  
    .partner-section #gs_logo_area_49 {
      padding: 2px 5px 6px !important;
    }
  
    .partner-section #gs_logo_area_49 .gs_logo_single--wrapper {
      height: 100px !important;
      padding: 0 4px !important;
    }
  
    .partner-section #gs_logo_area_49 .gs_logo_single {
      height: 100px !important;
      min-height: 100px !important;
  
      padding: 14px 10px !important;
      border-radius: 4px !important;
    }
  
    .partner-section #gs_logo_area_49 img.gs-logo--img {
      max-width: 125px !important;
  
      height: 52px !important;
      max-height: 52px !important;
    }
  }

/* Astra-Standardfooter verstecken */
.site-footer {
    display: none !important;
  }
  
  /* Globaler eigener Footer */
  .blaulicht-global-footer {
    width: 100%;
    background:
      linear-gradient(
        135deg,
        #10253a 0%,
        #172b3e 52%,
        #1d3142 100%
      );
    color: #ffffff;
  }
  
  .blaulicht-global-footer__inner {
    display: grid;
    grid-template-columns: 1.1fr 1fr 0.8fr;
    gap: 70px;
  
    width: 100%;
    max-width: 1200px;
  
    margin: 0 auto;
    padding: 42px 24px 38px;
  
    box-sizing: border-box;
  }
  
  .blaulicht-global-footer__column h2 {
    margin: 0 0 15px;
  
    font-family: "Oswald", sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
  
    color: #ffffff;
    text-transform: uppercase;
  }
  
  .blaulicht-global-footer__column p {
    margin: 0 0 8px;
  
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.55;
  
    color: rgba(255, 255, 255, 0.86);
  }
  
  .blaulicht-global-footer a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
  }
  
  .blaulicht-global-footer a:hover {
    color: #159fe5;
  }
  
  .blaulicht-global-footer__column a[href^="mailto:"],
  .blaulicht-global-footer__column a[href^="tel:"] {
    color: #55bdf2;
    font-weight: 600;
  }
  
  .blaulicht-global-footer__links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  
  .blaulicht-global-footer__links h2 {
    margin-bottom: 7px;
  }
  
  .blaulicht-global-footer__links a {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    line-height: 1.4;
  }
  
  .blaulicht-global-footer__bottom {
    padding: 14px 20px;
  
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.12);
  
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    line-height: 1.4;
  
    color: rgba(255, 255, 255, 0.65);
    text-align: center;
  }
  
  @media (max-width: 767px) {
  
    .blaulicht-global-footer__inner {
      display: flex;
      flex-direction: column;
      gap: 28px;
  
      padding: 34px 20px 30px;
    }
  
    .blaulicht-global-footer__column h2 {
      margin-bottom: 10px;
      font-size: 16px;
    }
  
    .blaulicht-global-footer__column p,
    .blaulicht-global-footer__links a {
      font-size: 12px;
    }
  }

  /* =========================================================
   MOBILE HEADER – PASSEND ZU DEINEM ASTRA-QUELLCODE
   ========================================================= */

@media (max-width: 544px) {

    /* Gesamte mobile Headerzeile */
    #ast-mobile-header .ast-primary-header-bar {
      min-height: 74px !important;
      padding: 0 !important;
      border: 0 !important;
    }
  
    #ast-mobile-header .ast-builder-grid-row {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) auto !important;
      align-items: center !important;
  
      min-height: 74px !important;
      padding: 0 16px !important;
      column-gap: 12px !important;
    }
  
    /* Linke Seite mit Logo und Beschreibung */
    #ast-mobile-header
    .site-header-primary-section-left {
      min-width: 0 !important;
      width: 100% !important;
    }
  
    #ast-mobile-header
    [data-section="title_tagline"] {
      display: block !important;
  
      width: 100% !important;
      min-width: 0 !important;
  
      margin: 0 !important;
      padding: 0 !important;
    }
  
    /* Branding als horizontale Zeile */
    #ast-mobile-header .site-branding.ast-site-identity {
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
  
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
  
      gap: 10px !important;
  
      margin: 0 !important;
      padding: 0 !important;
    }
  
    /* Logo-Wrapper */
    #ast-mobile-header .site-logo-img {
      display: block !important;
      flex: 0 0 40px !important;
  
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
  
      margin: 0 !important;
      padding: 0 !important;
    }
  
    /* Die Astra-Regel mit 119 px überschreiben */
    #ast-mobile-header .custom-logo-link,
    #ast-mobile-header .custom-logo-link img,
    #ast-mobile-header .site-branding img {
      display: block !important;
  
      width: 40px !important;
      min-width: 40px !important;
      max-width: 40px !important;
  
      height: 40px !important;
      min-height: 40px !important;
      max-height: 40px !important;
  
      margin: 0 !important;
      padding: 0 !important;
  
      object-fit: contain !important;
    }
  
    /* Text-Wrapper neben dem Kreuz */
    #ast-mobile-header .ast-site-title-wrap {
      display: block !important;
      flex: 1 1 auto !important;
  
      width: auto !important;
      min-width: 0 !important;
      max-width: none !important;
  
      margin: 0 !important;
      padding: 0 !important;
    }
  
    /* Beschreibung */
    #ast-mobile-header .site-description {
      display: block !important;
  
      width: auto !important;
      min-width: 0 !important;
      max-width: none !important;
  
      margin: 0 !important;
      padding: 0 !important;
  
      font-family: "Montserrat", sans-serif !important;
      font-size: 12px !important;
      font-weight: 500 !important;
      line-height: 1.2 !important;
  
      color: #ffffff !important;
  
      white-space: nowrap !important;
      word-break: normal !important;
      overflow-wrap: normal !important;
      hyphens: none !important;
    }
  
    /* Rechte Seite mit Burger */
    #ast-mobile-header
    .site-header-primary-section-right {
      display: flex !important;
      align-items: center !important;
      justify-content: flex-end !important;
  
      width: auto !important;
      min-width: 44px !important;
  
      margin: 0 !important;
      padding: 0 !important;
    }
  
    #ast-mobile-header
    [data-section="section-header-mobile-trigger"] {
      margin: 0 !important;
      padding: 0 !important;
    }
  
    #ast-mobile-header .menu-toggle,
    #ast-mobile-header .ast-mobile-menu-trigger-minimal {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
  
      width: 44px !important;
      height: 44px !important;
  
      margin: 0 !important;
      padding: 8px !important;
    }
  }

/* =========================================================
   UNTERSTÜTZER
   Tatsächlicher Slider: #gs_logo_area_50
   ========================================================= */

.unterstuetzer-section {
  width: 100% !important;
  padding: 42px 24px 48px !important;

  background:
    linear-gradient(
      135deg,
      #03162d 0%,
      #06264a 55%,
      #07325f 100%
    ) !important;

  box-sizing: border-box !important;
}

.unterstuetzer-inner {
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}

.unterstuetzer-title {
  max-width: 900px !important;
  margin: 0 auto !important;

  font-family: "Oswald", sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;

  color: #ffffff !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

.unterstuetzer-section .section-line {
  width: 46px !important;
  max-width: 46px !important;
  height: 3px !important;

  margin: 12px auto 26px !important;

  padding: 0 !important;
  border: 0 !important;
  background: #159fe5 !important;
}


/* =========================================================
   GESAMTER UNTERSTÜTZER-SLIDER
   ========================================================= */

.unterstuetzer-section #gs_logo_area_50 {
  width: 100% !important;
  max-width: 1320px !important;

  margin: 0 auto !important;
  padding: 4px 20px 8px !important;

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

.unterstuetzer-section #gs_logo_area_50 .gs_logo_area--inner {
  width: 100% !important;
  overflow: hidden !important;
}

.unterstuetzer-section #gs_logo_area_50 .gs_logo_container {
  width: 100% !important;

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

  overflow: hidden !important;
}

.unterstuetzer-section #gs_logo_area_50 .swiper-wrapper {
  align-items: stretch !important;
}


/* =========================================================
   EINZELNER SLIDE
   ========================================================= */

.unterstuetzer-section #gs_logo_area_50 .gs_logo_single--wrapper {
  height: 122px !important;

  padding: 0 6px !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

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


/* Weiße Logokarte */
.unterstuetzer-section #gs_logo_area_50 .gs_logo_single {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  height: 122px !important;
  min-height: 122px !important;

  padding: 18px 20px !important;

  border: 1px solid #d9e2eb !important;
  border-radius: 5px !important;
  background: #ffffff !important;

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

  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease !important;
}

.unterstuetzer-section
#gs_logo_area_50
.gs_logo_single--wrapper:hover
.gs_logo_single {
  transform: translateY(-3px) !important;
  border-color: rgba(21, 159, 229, 0.55) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22) !important;
}


/* =========================================================
   LOGO
   ========================================================= */

.unterstuetzer-section #gs_logo_area_50 .gs_logo_single--inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

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

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

.unterstuetzer-section #gs_logo_area_50 img.gs-logo--img {
  display: block !important;

  width: auto !important;
  max-width: 180px !important;

  height: 68px !important;
  max-height: 68px !important;

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

  object-fit: contain !important;
  object-position: center !important;

  opacity: 1 !important;
  filter: none !important;

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


/* Namen unter den Unterstützerlogos ausblenden */
.unterstuetzer-section #gs_logo_area_50 .gs_logo_title {
  display: none !important;
}


/* Navigation ausblenden */
.unterstuetzer-section #gs_logo_area_50 .swiper-button-prev,
.unterstuetzer-section #gs_logo_area_50 .swiper-button-next,
.unterstuetzer-section #gs_logo_area_50 .swiper-pagination {
  display: none !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  .unterstuetzer-section {
    padding: 40px 20px 44px !important;
  }

  .unterstuetzer-title {
    font-size: 29px !important;
  }

  .unterstuetzer-section #gs_logo_area_50 {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .unterstuetzer-section #gs_logo_area_50 .gs_logo_single--wrapper,
  .unterstuetzer-section #gs_logo_area_50 .gs_logo_single {
    height: 112px !important;
    min-height: 112px !important;
  }

  .unterstuetzer-section #gs_logo_area_50 img.gs-logo--img {
    max-width: 155px !important;
    height: 60px !important;
    max-height: 60px !important;
  }
}


/* =========================================================
   SMARTPHONE
   ========================================================= */

@media (max-width: 767px) {

  .unterstuetzer-section {
    padding: 34px 14px 38px !important;
  }

  .unterstuetzer-title {
    max-width: 330px !important;

    font-size: 24px !important;
    line-height: 1.15 !important;
  }

  .unterstuetzer-section .section-line {
    margin-bottom: 20px !important;
  }

  .unterstuetzer-section #gs_logo_area_50 {
    padding: 2px 5px 6px !important;
  }

  .unterstuetzer-section #gs_logo_area_50 .gs_logo_single--wrapper {
    height: 100px !important;
    padding: 0 4px !important;
  }

  .unterstuetzer-section #gs_logo_area_50 .gs_logo_single {
    height: 100px !important;
    min-height: 100px !important;

    padding: 14px 10px !important;
    border-radius: 4px !important;
  }

  .unterstuetzer-section #gs_logo_area_50 img.gs-logo--img {
    max-width: 125px !important;

    height: 52px !important;
    max-height: 52px !important;
  }
}

/* =========================================================
   UNTERSTÜTZER
   Tatsächlicher Slider: #gs_logo_area_50
   ========================================================= */

   .unterstuetzer-section {
    width: 100% !important;
    padding: 42px 24px 48px !important;
  
    background:
      linear-gradient(
        135deg,
        #03162d 0%,
        #06264a 55%,
        #07325f 100%
      ) !important;
  
    box-sizing: border-box !important;
  }
  
  .unterstuetzer-inner {
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
  }
  
  .unterstuetzer-title {
    max-width: 900px !important;
    margin: 0 auto !important;
  
    font-family: "Oswald", sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
  
    color: #ffffff !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }
  
  .unterstuetzer-section .section-line {
    width: 46px !important;
    max-width: 46px !important;
    height: 3px !important;
  
    margin: 12px auto 26px !important;
  
    padding: 0 !important;
    border: 0 !important;
    background: #159fe5 !important;
  }
  
  
  /* =========================================================
     GESAMTER UNTERSTÜTZER-SLIDER
     ========================================================= */
  
  .unterstuetzer-section #gs_logo_area_50 {
    width: 100% !important;
    max-width: 1320px !important;
  
    margin: 0 auto !important;
    padding: 4px 20px 8px !important;
  
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  
  .unterstuetzer-section #gs_logo_area_50 .gs_logo_area--inner {
    width: 100% !important;
    overflow: hidden !important;
  }
  
  .unterstuetzer-section #gs_logo_area_50 .gs_logo_container {
    width: 100% !important;
  
    margin-left: 0 !important;
    margin-right: 0 !important;
  
    overflow: hidden !important;
  }
  
  .unterstuetzer-section #gs_logo_area_50 .swiper-wrapper {
    align-items: stretch !important;
  }
  
  
  /* =========================================================
     EINZELNER SLIDE
     ========================================================= */
  
  .unterstuetzer-section #gs_logo_area_50 .gs_logo_single--wrapper {
    height: 122px !important;
  
    padding: 0 6px !important;
  
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  
  
  /* Weiße Logokarte */
  .unterstuetzer-section #gs_logo_area_50 .gs_logo_single {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  
    width: 100% !important;
    height: 122px !important;
    min-height: 122px !important;
  
    padding: 18px 20px !important;
  
    border: 1px solid #d9e2eb !important;
    border-radius: 5px !important;
    background: #ffffff !important;
  
    box-shadow: none !important;
    box-sizing: border-box !important;
  
    transition:
      transform 0.2s ease,
      border-color 0.2s ease,
      box-shadow 0.2s ease !important;
  }
  
  .unterstuetzer-section
  #gs_logo_area_50
  .gs_logo_single--wrapper:hover
  .gs_logo_single {
    transform: translateY(-3px) !important;
    border-color: rgba(21, 159, 229, 0.55) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22) !important;
  }
  
  
  /* =========================================================
     LOGO
     ========================================================= */
  
  .unterstuetzer-section #gs_logo_area_50 .gs_logo_single--inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  
    width: 100% !important;
    height: 100% !important;
  
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .unterstuetzer-section #gs_logo_area_50 img.gs-logo--img {
    display: block !important;
  
    width: auto !important;
    max-width: 180px !important;
  
    height: 68px !important;
    max-height: 68px !important;
  
    margin: 0 auto !important;
    padding: 0 !important;
  
    object-fit: contain !important;
    object-position: center !important;
  
    opacity: 1 !important;
    filter: none !important;
  
    border: 0 !important;
    box-shadow: none !important;
  }
  
  
  /* Namen unter den Unterstützerlogos ausblenden */
  .unterstuetzer-section #gs_logo_area_50 .gs_logo_title {
    display: none !important;
  }
  
  
  /* Navigation ausblenden */
  .unterstuetzer-section #gs_logo_area_50 .swiper-button-prev,
  .unterstuetzer-section #gs_logo_area_50 .swiper-button-next,
  .unterstuetzer-section #gs_logo_area_50 .swiper-pagination {
    display: none !important;
  }
  
  
  /* =========================================================
     TABLET
     ========================================================= */
  
  @media (max-width: 1024px) {
  
    .unterstuetzer-section {
      padding: 40px 20px 44px !important;
    }
  
    .unterstuetzer-title {
      font-size: 29px !important;
    }
  
    .unterstuetzer-section #gs_logo_area_50 {
      padding-left: 12px !important;
      padding-right: 12px !important;
    }
  
    .unterstuetzer-section #gs_logo_area_50 .gs_logo_single--wrapper,
    .unterstuetzer-section #gs_logo_area_50 .gs_logo_single {
      height: 112px !important;
      min-height: 112px !important;
    }
  
    .unterstuetzer-section #gs_logo_area_50 img.gs-logo--img {
      max-width: 155px !important;
      height: 60px !important;
      max-height: 60px !important;
    }
  }
  
  
  /* =========================================================
     SMARTPHONE
     ========================================================= */
  
  @media (max-width: 767px) {
  
    .unterstuetzer-section {
      padding: 34px 14px 38px !important;
    }
  
    .unterstuetzer-title {
      max-width: 330px !important;
  
      font-size: 24px !important;
      line-height: 1.15 !important;
    }
  
    .unterstuetzer-section .section-line {
      margin-bottom: 20px !important;
    }
  
    .unterstuetzer-section #gs_logo_area_50 {
      padding: 2px 5px 6px !important;
    }
  
    .unterstuetzer-section #gs_logo_area_50 .gs_logo_single--wrapper {
      height: 100px !important;
      padding: 0 4px !important;
    }
  
    .unterstuetzer-section #gs_logo_area_50 .gs_logo_single {
      height: 100px !important;
      min-height: 100px !important;
  
      padding: 14px 10px !important;
      border-radius: 4px !important;
    }
  
    .unterstuetzer-section #gs_logo_area_50 img.gs-logo--img {
      max-width: 125px !important;
  
      height: 52px !important;
      max-height: 52px !important;
    }
  }

  /* =========================================================
   PARTNER UND UNTERSTÜTZER – SLIDER 50
   Tatsächliche Struktur: innerhalb .partner-section
   ========================================================= */

/* Überschrift direkt vor Slider 50 */
.partner-section > h3 {
  max-width: 900px !important;
  margin: 34px auto 20px !important;

  font-family: "Oswald", sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;

  color: #ffffff !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

/* Gesamter Slider */
.partner-section #gs_logo_area_50 {
  width: 100% !important;
  max-width: 1320px !important;

  margin: 0 auto !important;
  padding: 4px 20px 8px !important;

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

.partner-section #gs_logo_area_50 .gs_logo_area--inner {
  width: 100% !important;
  overflow: hidden !important;
}

.partner-section #gs_logo_area_50 .gs_logo_container {
  width: 100% !important;

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

  overflow: hidden !important;
}

.partner-section #gs_logo_area_50 .swiper-wrapper {
  align-items: stretch !important;
}


/* Einzelner Slide */
.partner-section #gs_logo_area_50 .gs_logo_single--wrapper {
  height: 122px !important;

  padding: 0 6px !important;

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

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


/* Weiße Logokarte */
.partner-section #gs_logo_area_50 .gs_logo_single {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  height: 122px !important;
  min-height: 122px !important;

  padding: 18px 20px !important;

  border: 1px solid #d9e2eb !important;
  border-radius: 5px !important;
  background: #ffffff !important;

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

  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease !important;
}

.partner-section
#gs_logo_area_50
.gs_logo_single--wrapper:hover
.gs_logo_single {
  transform: translateY(-3px) !important;
  border-color: rgba(21, 159, 229, 0.55) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22) !important;
}


/* Logo */
.partner-section #gs_logo_area_50 .gs_logo_single--inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

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

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

.partner-section #gs_logo_area_50 img.gs-logo--img {
  display: block !important;

  width: auto !important;
  max-width: 180px !important;

  height: 68px !important;
  max-height: 68px !important;

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

  object-fit: contain !important;
  object-position: center !important;

  opacity: 1 !important;
  filter: none !important;

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


/* Titel und Navigation ausblenden */
.partner-section #gs_logo_area_50 .gs_logo_title,
.partner-section #gs_logo_area_50 .swiper-button-prev,
.partner-section #gs_logo_area_50 .swiper-button-next,
.partner-section #gs_logo_area_50 .swiper-pagination {
  display: none !important;
}


/* TABLET */
@media (max-width: 1024px) {

  .partner-section > h3 {
    margin-top: 30px !important;
    font-size: 22px !important;
  }

  .partner-section #gs_logo_area_50 {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .partner-section #gs_logo_area_50 .gs_logo_single--wrapper,
  .partner-section #gs_logo_area_50 .gs_logo_single {
    height: 112px !important;
    min-height: 112px !important;
  }

  .partner-section #gs_logo_area_50 img.gs-logo--img {
    max-width: 155px !important;
    height: 60px !important;
    max-height: 60px !important;
  }
}


/* SMARTPHONE */
@media (max-width: 767px) {

  .partner-section > h3 {
    margin: 26px auto 17px !important;
    padding: 0 10px !important;

    font-size: 19px !important;
    line-height: 1.2 !important;
  }

  .partner-section #gs_logo_area_50 {
    padding: 2px 5px 6px !important;
  }

  .partner-section #gs_logo_area_50 .gs_logo_single--wrapper {
    height: 100px !important;
    padding: 0 4px !important;
  }

  .partner-section #gs_logo_area_50 .gs_logo_single {
    height: 100px !important;
    min-height: 100px !important;

    padding: 14px 10px !important;
    border-radius: 4px !important;
  }

  .partner-section #gs_logo_area_50 img.gs-logo--img {
    max-width: 125px !important;

    height: 52px !important;
    max-height: 52px !important;
  }
}

body:not(.home) .ast-main-header-wrap.main-header-bar-wrap {
  background-color: #1d2a3d !important;
}

/* Transparenter Header nur auf der Startseite */
body:not(.home):not(.front-page) #masthead {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
}

/* Etwas Abstand zwischen Header und Seiteninhalt */
body:not(.home):not(.front-page) .site-content {
  padding-top: 45px !important;
}