/* ======================================
   CSS Custom Properties für adaptive Farben
   ====================================== */
:root {
  --header-color-primary: #00304A;
  --header-color-light: #FFFFFF;
  --text-color-dark: #333333;
  --text-color-light: #FFFFFF;
  --primary-brand-color: #00304A;
  --secondary-brand-color: #0067B1;
  --tertiary-brand-color: #AB0033;
}

/* ======================================
   Global Styles
   ====================================== */
body {
  background: #FFFFFF;
  font-family: 'OpenSans', Arial, sans-serif;
  color: #333333;
  font-size: 1rem;
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: inherit;
}

/* ======================================
   Font-Faces
   ====================================== */
@font-face {
  font-family: 'Notes';
  src: url('../Fonts/Notes-Regular.woff2') format('woff2');
  font-weight: normal; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Notes';
  src: url('../Fonts/Notes-Bold.woff2') format('woff2');
  font-weight: bold; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'OpenSans';
  src: url('../Fonts/OpenSans-Regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'OpenSans';
  src: url('../Fonts/OpenSans-Italic.woff2') format('woff2');
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'OpenSans';
  src: url('../Fonts/OpenSans-Bold.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'OpenSans';
  src: url('../Fonts/OpenSans-BoldItalic.woff2') format('woff2');
  font-weight: 700; font-style: italic; font-display: swap;
}

/* ======================================
   Typography - ERWEITERT MIT ADAPTIVEN FARBEN
   ====================================== */
/* Headings - Basis mit CSS Custom Properties */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Notes', Arial, sans-serif;
  color: var(--header-color-primary);
  transition: color 0.3s ease;
}

/* ======================================
   weitere Header-Classes - ERWEITERT
   ====================================== */
/* Bestehende Header-Klassen */
.header_white {
  font-family: 'Notes', Arial, sans-serif;
  color: var(--header-color-light) !important;
}
.subheader_white {
  font-family: 'Notes', Arial, sans-serif;
  color: var(--header-color-light) !important;
}

/* Neue Utility-Klassen für manuelle Steuerung */
.header-adaptive-light {
  color: var(--header-color-primary) !important;
}

.header-adaptive-dark {
  color: var(--header-color-light) !important;
}

.header-brand-primary {
  color: var(--primary-brand-color) !important;
}

.header-white {
  color: var(--header-color-light) !important;
}

/* ======================================
   BOOTSTRAP PACKAGE FRAME-KLASSEN - ADAPTIVE HEADER
   ====================================== */

/* Für helle Hintergründe - Header bleiben dunkel (Primary Brand Color) */
.frame-background-light h1, .frame-background-light h2, .frame-background-light h3, 
.frame-background-light h4, .frame-background-light h5, .frame-background-light h6,
.frame-background-light .cb-header,
.frame-background-light .section-headline,
.frame-background-light .element-header,

.frame-background-white h1, .frame-background-white h2, .frame-background-white h3, 
.frame-background-white h4, .frame-background-white h5, .frame-background-white h6,
.frame-background-white .cb-header,
.frame-background-white .section-headline,
.frame-background-white .element-header,

.frame-background-secondary h1, .frame-background-secondary h2, .frame-background-secondary h3, 
.frame-background-secondary h4, .frame-background-secondary h5, .frame-background-secondary h6,
.frame-background-secondary .cb-header,
.frame-background-secondary .section-headline,
.frame-background-secondary .element-header,

.frame-background-info h1, .frame-background-info h2, .frame-background-info h3, 
.frame-background-info h4, .frame-background-info h5, .frame-background-info h6,
.frame-background-info .cb-header,
.frame-background-info .section-headline,
.frame-background-info .element-header,

.frame-background-warning h1, .frame-background-warning h2, .frame-background-warning h3, 
.frame-background-warning h4, .frame-background-warning h5, .frame-background-warning h6,
.frame-background-warning .cb-header,
.frame-background-warning .section-headline,
.frame-background-warning .element-header {
  color: var(--header-color-primary) !important;
}

/* Für dunkle Hintergründe - Header werden weiß */
.frame-background-primary h1, .frame-background-primary h2, .frame-background-primary h3, 
.frame-background-primary h4, .frame-background-primary h5, .frame-background-primary h6,
.frame-background-primary .cb-header,
.frame-background-primary .section-headline,
.frame-background-primary .element-header,

.frame-background-dark h1, .frame-background-dark h2, .frame-background-dark h3, 
.frame-background-dark h4, .frame-background-dark h5, .frame-background-dark h6,
.frame-background-dark .cb-header,
.frame-background-dark .section-headline,
.frame-background-dark .element-header,

.frame-background-success h1, .frame-background-success h2, .frame-background-success h3, 
.frame-background-success h4, .frame-background-success h5, .frame-background-success h6,
.frame-background-success .cb-header,
.frame-background-success .section-headline,
.frame-background-success .element-header,

.frame-background-danger h1, .frame-background-danger h2, .frame-background-danger h3, 
.frame-background-danger h4, .frame-background-danger h5, .frame-background-danger h6,
.frame-background-danger .cb-header,
.frame-background-danger .section-headline,
.frame-background-danger .element-header,

.frame-background-tertiary h1, .frame-background-tertiary h2, .frame-background-tertiary h3, 
.frame-background-tertiary h4, .frame-background-tertiary h5, .frame-background-tertiary h6,
.frame-background-tertiary .cb-header,
.frame-background-tertiary .section-headline,
.frame-background-tertiary .element-header {
  color: var(--header-color-light) !important;
}

/* ======================================
   STANDARD BOOTSTRAP BG-KLASSEN - FALLBACK
   ====================================== */

/* Für helle Hintergründe */
.bg-light h1, .bg-light h2, .bg-light h3, .bg-light h4, .bg-light h5, .bg-light h6,
.bg-light .cb-header, .bg-light .section-headline, .bg-light .element-header,
.bg-white h1, .bg-white h2, .bg-white h3, .bg-white h4, .bg-white h5, .bg-white h6,
.bg-white .cb-header, .bg-white .section-headline, .bg-white .element-header,
.bg-info h1, .bg-info h2, .bg-info h3, .bg-info h4, .bg-info h5, .bg-info h6,
.bg-info .cb-header, .bg-info .section-headline, .bg-info .element-header,
.bg-warning h1, .bg-warning h2, .bg-warning h3, .bg-warning h4, .bg-warning h5, .bg-warning h6,
.bg-warning .cb-header, .bg-warning .section-headline, .bg-warning .element-header {
  color: var(--header-color-primary) !important;
}

/* Für dunkle Hintergründe */
.bg-dark h1, .bg-dark h2, .bg-dark h3, .bg-dark h4, .bg-dark h5, .bg-dark h6,
.bg-dark .cb-header, .bg-dark .section-headline, .bg-dark .element-header,
.bg-primary h1, .bg-primary h2, .bg-primary h3, .bg-primary h4, .bg-primary h5, .bg-primary h6,
.bg-primary .cb-header, .bg-primary .section-headline, .bg-primary .element-header,
.bg-secondary h1, .bg-secondary h2, .bg-secondary h3, .bg-secondary h4, .bg-secondary h5, .bg-secondary h6,
.bg-secondary .cb-header, .bg-secondary .section-headline, .bg-secondary .element-header,
.bg-success h1, .bg-success h2, .bg-success h3, .bg-success h4, .bg-success h5, .bg-success h6,
.bg-success .cb-header, .bg-success .section-headline, .bg-success .element-header,
.bg-danger h1, .bg-danger h2, .bg-danger h3, .bg-danger h4, .bg-danger h5, .bg-danger h6,
.bg-danger .cb-header, .bg-danger .section-headline, .bg-danger .element-header {
  color: var(--header-color-light) !important;
}

/* ======================================
   DATA-ATTRIBUT BASIERTE STEUERUNG
   ====================================== */

[data-bg="light"] h1, [data-bg="light"] h2, [data-bg="light"] h3, 
[data-bg="light"] h4, [data-bg="light"] h5, [data-bg="light"] h6,
[data-bg="light"] .cb-header,
[data-bg="light"] .section-headline,
[data-bg="light"] .element-header {
  color: var(--header-color-primary);
}

[data-bg="dark"] h1, [data-bg="dark"] h2, [data-bg="dark"] h3, 
[data-bg="dark"] h4, [data-bg="dark"] h5, [data-bg="dark"] h6,
[data-bg="dark"] .cb-header,
[data-bg="dark"] .section-headline,
[data-bg="dark"] .element-header {
  color: var(--header-color-light);
}

/* ======================================
   weitere Header-Classes
   ====================================== */
/* Headings */
.header_white {
  font-family: 'Notes', Arial, sans-serif;
  color: #FFFFFF;
}
.subheader_white {
  font-family: 'Notes', Arial, sans-serif;
  color: #FFFFFF;
}

/* Centered Block */
.frame.centered-block-wrapper,
.frame.frame-type-poerner2025_centeredblock {
  --frame-outer-spacing-before: 0 !important;
  --frame-outer-spacing-after: 0 !important;
  --frame-spacing: 1rem !important;

/*  margin-top: 0 !important;
  margin-bottom: 0 !important; */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.cb-header {
  color: #00304a;
  font-family: 'Notes', sans-serif;
  font-size: 3rem;
  line-height: 1;
}
.cb-subheader {
  color: #AB0033;
  font-family: 'Notes', sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 1.25rem;
  line-height: 1.3;
}

/* ======================================
   Facts & Figures Content Block
   ====================================== */
.facts-and-figures-block {
  position: relative;
  padding: 0;
}
.facts-and-figures-block::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-color: rgba(255,255,255,0.5);
  z-index: 1;
}
.facts-and-figures-block .container {
  position: relative;
  z-index: 2;
}
.fact-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 30px 20px;
  border-radius: 6px;
  color: #fff;
  height: 100%;
  box-shadow: 
      0 8px 16px rgba(0, 0, 0, 0.45),   /* großer, weicher Grundschatten */
      0 2px 4px rgba(0, 0, 0, 0.15);    /* leichter Feinschatten */
  transform: perspective(500px) rotateX(2deg);
}
.fact-value {
  font-family: 'Notes', sans-serif;
  font-size: 6rem;
  line-height: 1.2;
  margin-bottom: 10px;
  letter-spacing: -0.3rem;
}
.fact-description {
  font-family: 'Notes', sans-serif;
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 1.5;
  text-transform: uppercase;
}

/* Upper sections (Icons & Text) within Facts & Figures */
.section-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 15px;
}
.section-icon {
  flex-shrink: 0;
  margin-right: 20px;
  width: 100px;
  height: auto;
}
.section-icon img {
  display: block;
  width: 100px;
  height: auto;
}
.section-content {
  flex-grow: 1;
}
.section-headline {
  font-family: 'Notes', sans-serif;
  font-size: 3rem;      /* 3rem per Vorgabe */
  line-height: 1.2;     /* Line-height 1.2 */
  color: #00304A;
  margin-bottom: 10px;
}
.section-bodytext {
  font-family: 'OpenSans', sans-serif;
  font-size: 1.2rem;    /* 1.2rem per Vorgabe */
  line-height: 1.5;     /* Line-height 1.5 */
  color: #333;
}

/* ======================================
   Logo Slider Content Block
   ====================================== */

/* Logo Slider Styles */
/* Logo Slider Styles - Optimiert */
.logo-slider-container {
  width: 100%;
  margin: 0 0 5rem 0; /* Margin oben und unten */
  overflow: hidden;
  position: relative;
  background: transparent;
}

.logo-slider-wrapper {
  width: 100%;
  height: var(--slider-height, 100px);
  position: relative;
  overflow: hidden;
  
  /* Fade-Effekt an den Rändern */
  mask: linear-gradient(
    to right,
    transparent 0%,
    black 5%,
    black 95%,
    transparent 100%
  );
  -webkit-mask: linear-gradient(
    to right,
    transparent 0%,
    black 5%,
    black 95%,
    transparent 100%
  );
}

.logo-slider-track {
  display: flex;
  align-items: center;
  height: 100%;
  width: fit-content;
  
  /* Optimierte Animation für smootheres Scrolling */
  animation: slide var(--scroll-duration, 20s) linear infinite;
  will-change: transform; /* GPU-Beschleunigung */
  backface-visibility: hidden; /* Verhindert Flackern */
  transform: translateZ(0); /* Hardware-Beschleunigung aktivieren */
}

/* Pause Animation bei Hover */
.logo-slider-container:hover .logo-slider-track {
  animation-play-state: paused;
}

.logo-slider-item {
  flex-shrink: 0;
  height: var(--slider-height, 100px);
  margin-right: var(--image-spacing, 30px);
  display: flex;
  align-items: center;
  justify-content: center;
  
  /* Optimierung für bessere Performance */
  transform: translateZ(0);
  backface-visibility: hidden;
}

.logo-slider-image {
  max-height: 100%;
  max-width: 200px; /* Maximale Breite für bessere Kontrolle */
  height: auto;
  width: auto;
  object-fit: contain;
  
  /* Optimierungen für bessere Bildschärfe */
  image-rendering: -webkit-optimize-contrast; /* Safari */
  image-rendering: crisp-edges; /* Firefox */
  image-rendering: pixelated; /* Chrome */
  image-rendering: auto; /* Fallback */
  
  /* Smooth Transitions */
  transition: all 0.3s ease;
  filter: grayscale(20%);
  opacity: 0.8;
  
  /* Anti-Aliasing für schärfere Bilder */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Hover-Effekte */
.logo-slider-item:hover .logo-slider-image {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.05);
}

.logo-slider-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-decoration: none;
}

/* Keyframe Animation - Optimiert */
@keyframes slide {
  0% {
    transform: translateX(0) translateZ(0);
  }
  100% {
    transform: translateX(-50%) translateZ(0);
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .logo-slider-container {
    margin: 0.5rem 0; /* Kleineres Margin auf mobilen Geräten */
  }
  
  .logo-slider-image {
    max-width: 150px; /* Kleinere Bilder auf mobilen Geräten */
  }
  
  .logo-slider-wrapper {
    /* Weniger Fade-Effekt auf mobilen Geräten */
    mask: linear-gradient(
      to right,
      transparent 0%,
      black 3%,
      black 97%,
      transparent 100%
    );
    -webkit-mask: linear-gradient(
      to right,
      transparent 0%,
      black 3%,
      black 97%,
      transparent 100%
    );
  }
}

/* Accessibility: Respektiere reduced motion Präferenzen */
@media (prefers-reduced-motion: reduce) {
  .logo-slider-track {
    animation-duration: 60s; /* Langsamere Animation */
  }
}

/* Leerer Zustand */
.logo-slider-empty {
  text-align: center;
  padding: 2rem;
  color: #666;
  font-style: italic;
  margin: 1rem 0;
}

/* ======================================
   Hero Content Block
   ====================================== */
.hero-component {
  position: relative;
  display: flex;               /* neu */
  align-items: center;         /* vertikal zentrieren */
  width: auto;
  height: 450px;
  overflow: hidden;
  box-sizing: border-box;
}
.hero-slide {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-size: cover;      /* Fit: cover */
  background-position: right center;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
.hero-slide[data-index="0"] {
  opacity: 1;
}
.hero-overlay {
  position: relative;
  z-index: 2;
  background-color: rgba(0,48,74,0.6);
  backdrop-filter: blur(5px);
  padding: 2rem;
  max-width: 33%;
  margin-left: 15%;            /* Abstand von links */
  box-sizing: border-box;
}.hero-content {
  position: relative;
  text-align: left;
}
.hero-content h1 {
  color: #fff;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
  margin: 0 0 1rem;
}
.hero-content .hero-subheader {
  color: #fff;
  font-size: 1.3rem;
  text-transform: uppercase;
  line-height: 1.3;
  margin: 0;
}

/* ======================================
   Zitat Content Block
   ====================================== */

.main-content-zitat {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
    max-width: 100%;
    width: 100%;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    margin: 0 auto;
    padding: 0 20px 20px 20px;
    box-sizing: border-box;
}

.zitat {
    display: flex;
    flex-direction: row;
    width: 100%;
    max-width: 1200px;
    min-height: 300px;
    height: auto;
    border-radius: 4px;
    box-shadow: rgba(0, 0, 0, 0.18) 0px 24px 48px -12px;
    background-color: #ffffff;
    overflow: visible;
    flex: 1;
}

.zitat-image-person {
    display: block;
    width: 40%;
    max-width: 400px;
    min-width: 250px;
    height: auto;
    min-height: 300px;
    padding: 0;
    object-fit: cover;
    object-position: center;
    border: none;
    flex-shrink: 0;
}

.zitat-text-container {
    display: flex;
    flex-direction: column;
    width: 60%;
    min-width: 300px;
    height: auto;
    padding: 16px 48px 16px 20px;
    position: relative;
    box-sizing: border-box;
    flex: 1;
}

.code-embed {
    display: block;
    width: 80px;
    height: 80px;
    padding: 0px 0px 16px 0px;
    color: rgba(0, 0, 0, 0.15);
    flex-shrink: 0;
}

.code-embed svg {
    width: 100%;
    height: 100%;
    display: block;
}

.zitat-text {
    display: block;
    width: 100%;
    height: auto;
    margin: 0px 0px 24px;
    color: rgba(0, 0, 0, 0.6);
    font-size: 19.2px;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    line-height: 26px;
    text-align: left;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    flex: 1;
}

.zitat-name {
    display: block;
    width: 100%;
    height: auto;
    padding: 16px 0px 0px;
    margin: 0;
    color: rgb(0, 0, 0);
    font-size: 16px;
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    line-height: 16px;
    text-align: right;
    margin-top: auto;
}

.zitat-position {
    display: block;
    width: 100%;
    height: auto;
    padding: 0.5rem 0 2rem 0;
    margin: 0;
    color: rgb(0, 0, 0);
    font-size: 12px;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    line-height: 12px;
    text-align: right;
    margin-top: auto;
}

/* Responsive Design für Tablets */
@media (max-width: 1024px) {
    .main-content-zitat {
        max-width: 100%;
        padding: 20px 15px;
    }
    
    .zitat {
        max-width: 100%;
        width: 100%;
    }
    
    .zitat-image-person {
        width: 35%;
        min-width: 200px;
    }
    
    .zitat-text-container {
        width: 65%;
        padding: 16px 32px 16px 16px;
    }
}

/* Responsive Design für kleinere Bildschirme */
@media (max-width: 768px) {
    .main-content-zitat {
        flex-direction: column;
        align-items: center;
        gap: 16px;
        padding: 16px;
    }
    
    .zitat {
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    
    .zitat-image-person {
        width: 100%;
        max-width: 100%;
        height: 250px;
        padding: 16px;
    }
    
    .zitat-text-container {
        width: 100%;
        height: auto;
        padding: 16px 24px;
    }
    
    .zitat-text {
        width: 100%;
        font-size: 18px;
        line-height: 24px;
        margin-bottom: 20px;
    }
    
    .zitat-name {
        width: 100%;
        height: auto;
        padding: 12px 0px;
        margin: 0;
        text-align: center;
    }
    
    .code-embed {
        width: 60px;
        height: 60px;
        margin: 0 auto 16px;
    }
}

/* Mobile Optimierung */
@media (max-width: 480px) {
    .main-content-zitat {
        padding: 12px;
    }
    
    .zitat {
        margin: 0;
    }
    
    .zitat-text {
        font-size: 16px;
        line-height: 22px;
    }
    
    .code-embed {
        width: 50px;
        height: 50px;
    }
    
    .zitat-text-container {
        padding: 12px 16px;
    }
}

/* Sehr breite Bildschirme */
@media (min-width: 1400px) {
    .main-content-zitat {
        max-width: 1400px;
    }
    
    .zitat {
        max-width: 1300px;
    }
    
    .zitat-text {
        font-size: 20px;
        line-height: 28px;
    }
}

/* Print Styles */
@media print {
    .main-content-zitat {
        max-width: 100%;
        margin: 0;
        padding: 0;
    }
    
    .zitat {
        box-shadow: none;
        border: 1px solid #ccc;
        break-inside: avoid;
    }
}

/* ======================================
   General Responsive Styles
   ====================================== */
/* Extra small devices */
@media (max-width: 575.98px) {
  body { font-size: 1rem; }
  .hero-component { max-height: 300px; }
}

/* Small to medium */
@media (max-width: 767.98px) {
  .cb-header { font-size: 2.5rem; }
  .cb-subheader { font-size: 1rem; }
  .hero-overlay {
    max-width: 90%;
    margin: 15px auto;
    padding: 1rem;
    backdrop-filter: blur(3px);
  }
  .hero-content h1 { font-size: 2rem; }
  .hero-content .hero-subheader { font-size: 1rem; }
}

/* Medium devices */
@media (max-width: 991.98px) {
  .section-headline { font-size: 2rem; }
  .section-bodytext { font-size: 1rem; }
  .fact-value { font-size: 3rem; }
  .fact-description { font-size: 1rem; }
  .hero-overlay {
    max-width: 65%;
    margin: 20px auto;
    padding: 1.5rem;
  }
  .hero-content h1 { font-size: 2.5rem; }
  .hero-content .hero-subheader { font-size: 1.2rem; }
}

/* Large devices */
@media (max-width: 1199.98px) {
  .hero-overlay {
    max-width: 45%;
    margin-left: 10%;
  }
}

/* ======================================
   Accordion Anpassungen    
   ====================================== */

.accordion-item .accordion-button {
  font-size: 1.3rem; /* Nach Wunsch anpassen */
}

/* ======================================
   Special Headline Anpassungen    
   ====================================== */

.special-headline {
    font-size: clamp(3.5rem, 10vw, 5rem) !important;
}

.special-subtext {
    font-size: clamp(1.4rem, 3vw, 1.5rem) !important;
}

/* ======================================
   Abstände Override    
   ====================================== */

.frame-space-before-extra-small    { margin-top:  0rem; }
.frame-space-before-small          { margin-top:  1rem; }
.frame-space-before-medium         { margin-top:  2rem; }
.frame-space-before-large          { margin-top:  4rem; }
.frame-space-before-extra-large    { margin-top:  6rem; }

.frame-space-after-extra-small     { margin-bottom:  0rem; }
.frame-space-after-small           { margin-bottom:  1rem; }
.frame-space-after-medium          { margin-bottom:  2rem; }
.frame-space-after-large           { margin-bottom:  4rem; }
.frame-space-after-extra-large     { margin-bottom:  6rem; }

/* ========================================
   BOOTSTRAP PACKAGE INTEGRATION FIXES
   ======================================== */

/* Hero Content Block - Fullwidth Layout wiederherstellen */
.frame-type-poerner2025_hero,
.frame-type-poerner2025-hero,
.ce-poerner2025_hero,
.ce-poerner2025-hero {
    /* Container-Abstände entfernen */
    margin-top: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    
    /* Fullwidth */
    width: 100vw !important;
    max-width: none !important;
    
    /* Position relativ zum Viewport */
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}
/* Hero: Alle internen Container auch fullwidth */
.frame-type-poerner2025_hero .frame-container,
.frame-type-poerner2025-hero .frame-container,
.ce-poerner2025_hero .frame-container,
.ce-poerner2025-hero .frame-container,
.frame-type-poerner2025_hero .frame-inner,
.frame-type-poerner2025-hero .frame-inner,
.ce-poerner2025_hero .frame-inner,
.ce-poerner2025-hero .frame-inner,
.frame-type-poerner2025_hero .container,
.frame-type-poerner2025_hero .container-fluid,
.frame-type-poerner2025-hero .container,
.frame-type-poerner2025-hero .container-fluid,
.ce-poerner2025_hero .container,
.ce-poerner2025_hero .container-fluid,
.ce-poerner2025-hero .container,
.ce-poerner2025-hero .container-fluid {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Secondary Buttons - Ursprüngliches Design wiederherstellen */
.btn-secondary,
.btn-outline-secondary,
.frame .btn-secondary,
.frame .btn-outline-secondary,
.ce-frame .btn-secondary,
.ce-frame .btn-outline-secondary {
    /* Weiß mit Primary-Rand (ursprüngliches Design) */
    background-color: #ffffff !important;
    border: 2px solid #00304a !important; /* Primary-Farbe */
    color: #00304a !important; /* Primary-Farbe */
    
    /* Bootstrap Package Styles zurücksetzen */
    background-image: none !important;
    box-shadow: none !important;
}

/* Secondary Buttons: Hover-Effekt */
.btn-secondary:hover,
.btn-outline-secondary:hover,
.frame .btn-secondary:hover,
.frame .btn-outline-secondary:hover,
.ce-frame .btn-secondary:hover,
.ce-frame .btn-outline-secondary:hover {
    background-color: #00304a !important; /* Primary-Farbe */
    border-color: #00304a !important;
    color: #ffffff !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Secondary Buttons: Focus-Zustand */
.btn-secondary:focus,
.btn-outline-secondary:focus,
.frame .btn-secondary:focus,
.frame .btn-outline-secondary:focus,
.ce-frame .btn-secondary:focus,
.ce-frame .btn-outline-secondary:focus {
    background-color: #ffffff !important;
    border-color: #00304a !important;
    color: #00304a !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 48, 74, 0.25) !important;
}

/* Secondary Buttons: Active-Zustand */
.btn-secondary:active,
.btn-secondary.active,
.btn-outline-secondary:active,
.btn-outline-secondary.active,
.frame .btn-secondary:active,
.frame .btn-secondary.active,
.frame .btn-outline-secondary:active,
.frame .btn-outline-secondary.active,
.ce-frame .btn-secondary:active,
.ce-frame .btn-secondary.active,
.ce-frame .btn-outline-secondary:active,
.ce-frame .btn-outline-secondary.active {
    background-color: #00304a !important;
    border-color: #00304a !important;
    color: #ffffff !important;
}

/* Button Row Content Block: Spezifische Secondary Button Styles */
.frame-type-ButtonRow .btn-secondary,
.frame-type-ButtonRow .btn-outline-secondary,
.ce-ButtonRow .btn-secondary,
.ce-ButtonRow .btn-outline-secondary {
    background-color: #ffffff !important;
    border: 2px solid #00304a !important;
    color: #00304a !important;
}

.frame-type-ButtonRow .btn-secondary:hover,
.frame-type-ButtonRow .btn-outline-secondary:hover,
.ce-ButtonRow .btn-secondary:hover,
.ce-ButtonRow .btn-outline-secondary:hover {
    background-color: #00304a !important;
    border-color: #00304a !important;
    color: #ffffff !important;
}

/* cf_cookiebanner Video-Frame fix */
/* 1) Container immer als 16:9-Fläche aufziehen */
.frame-type-media .embed-responsive,
.frame-type-external_media .embed-responsive,
.embed-responsive.embed-responsive-16by9 {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto !important;         /* überschreibt evtl. Inline-Höhen */
}

/* 2) cf-Placeholder bzw. direktes iframe vollflächig einpassen */
.frame-type-media .embed-responsive > [data-service="youtube"],
.frame-type-external_media .embed-responsive > [data-service="youtube"],
.frame-type-media .embed-responsive > iframe,
.frame-type-external_media .embed-responsive > iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  display: block;
}

/* 3) Innere cf-Elemente ebenfalls stretchen (Text/Buttons/Thumbnail/Loader) */
.frame-type-media .embed-responsive > [data-service="youtube"] > .c-bg,
.frame-type-media .embed-responsive > [data-service="youtube"] > .c-nt,
.frame-type-media .embed-responsive > [data-service="youtube"] > .c-ld,
.frame-type-media .embed-responsive > [data-service="youtube"] > .c-bg > .c-bg-i,
.frame-type-external_media .embed-responsive > [data-service="youtube"] > .c-bg,
.frame-type-external_media .embed-responsive > [data-service="youtube"] > .c-nt,
.frame-type-external_media .embed-responsive > [data-service="youtube"] > .c-ld,
.frame-type-external_media .embed-responsive > [data-service="youtube"] > .c-bg > .c-bg-i {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* 4) Sicherheitsnetz gegen feste Inline-Styles */
.frame-type-media .embed-responsive > [data-service="youtube"][style],
.frame-type-external_media .embed-responsive > [data-service="youtube"][style] {
  height: 100% !important;
}

/* ======================================
   Timeline Anpassungen    
   ====================================== */

.timeline-item-date time {
    font-size: 1.5rem;
    color: white;
    background-color: #ab0033;
    border-radius: 4px;
    padding: 0.1em 0.2em; /* Optional: Fügt etwas Innenabstand hinzu, damit der Text nicht am Rand klebt. */
}