/* News-Bilder abgerundet */
.carousel-item img,
.textcard img.img-fluid {
  border-radius: 0.5rem !important;
  overflow: hidden;
}
/* Abgerundete Ecken für News-Karten */
.card,
.textcard {
  border-radius: 0.5rem;
}

/* entfernt: doppelt und fehlerhaft verschachtelt */
/* --- Korrektur: News-Bilder, Flyout-Menü, Header/Footer --- */

/* News-Bilder (Karussell und Einzelbild) */
.carousel-item img,
.textcard img.img-fluid {
  width: auto !important;
  max-width: 100%;
  height: 300px;
  object-fit: contain !important;
  margin: 0 auto;
  display: block;
}

/* Flyout-Menü Einträge */
.side-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.side-menu li {
  margin: 0;
  padding: 0;
}

/* --- Flyout-Menü & Karussell-Bilder: Ergänzung am Dateiende --- */

.side-menu.open {
  transform: translateX(0);
}
.hamburger {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 1000;
  font-size: 2rem;
  cursor: pointer;
  background: none;
  border: none;
}
.close-menu {
  position: fixed;
  top: 20px;
  left: 220px;
  z-index: 1001;
  font-size: 2rem;
  cursor: pointer;
  display: none;
  background: none;
  border: none;
}

.carousel-item img {
  width: auto;
  max-width: 100%;
  height: 400px;
  object-fit: contain;
  margin: 0 auto;
  display: block;
}

.textcard img.img-fluid {
  width: auto;
  max-width: 100%;
  height: 400px;
  object-fit: contain;
  margin: 0 auto;
  display: block;
}
body,
html {
  margin: 0;
  padding: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.controls {
  margin-bottom: 20px;
}

label {
  margin-right: 10px;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 998;
  display: none;
}

.overlay.open {
  display: block;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
    "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

html,
body {
  height: 100%;
  width: 100%;

  /* background-color: var(--yellow) !important; */
  text-align: center;
  overflow-y: auto;
  /* background-color: var(--yellow); */

  /* Seitenaufbau */

  .side-menu.open {
    transform: translateX(0);
  }
  .hamburger {
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 1000;
    font-size: 2rem;
    cursor: pointer;
    background: none;
    border: none;
  }
  .close-menu {
    position: fixed;
    top: 20px;
    left: 220px;
    z-index: 1001;
    font-size: 2rem;
    cursor: pointer;
    display: none;
    background: none;
    border: none;
  }

  /* --- Karussell-Bilder Styling (Aktuelles) --- */
  .carousel-item,
  .textcard {
    overflow: hidden;
    border-radius: 0.5rem;
  }
  .carousel-item img {
    width: auto;
    max-width: 100%;
    height: 200px;
    object-fit: cover;
    margin: 0 auto;
    display: block;
    border-radius: 0.5rem !important;
  }

  /* Einzelbild in Aktuelles */
  .textcard img.img-fluid {
    width: auto;
    max-width: 100%;
    height: 200px;
    object-fit: cover;
    margin: 0 auto;
    display: block;
    border-radius: 0.5rem !important;
  }

  .blur-load.loaded > img {
    opacity: 1;
  }

  .blur-load > img {
    opacity: 0;
    transition: opacity 200ms ease-in-out;
  }

  /* Gesamter Header-Container */
  .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 10vh; /* Höhe des Headers */
    width: 100%; /* Volle Breite */
  }

  /* Linker Container (200px) */
  .left-container {
    width: 200px; /* Feste Breite */
  }

  /* Mittlerer Container (flexibel, nimmt den Restplatz ein) */
  .centered-container {
    display: flex;
    justify-content: center; /* Zentriert den Inhalt horizontal */
    align-items: center; /* Zentriert den Inhalt vertikal */
    flex-grow: 1; /* Nimmt den Restplatz ein */
  }

  /* Text im mittleren Container */
  .responsive_head_text {
    font-size: clamp(1rem, 2.5vw, 2rem);
    z-index: 999;
    position: relative;
    text-align: center; /* Optional: Zentriert den Text innerhalb des Span */
  }

  /* Rechter Container (10% der Breite) */
  .right-container {
    width: 7%;
    display: flex;
    justify-content: center; /* Bild horizontal zentrieren */
    align-items: center; /* Bild vertikal zentrieren */
  }

  @media only screen and (max-width: 768px) {
    /* For mobile phones: */
    .right-container {
      width: 35%;
    }
    .left-container {
      width: 100px;
    }
  }
}

/* Logo-Bild im rechten Container */
.right-container img {
  max-width: 80%;
  height: auto; /* Das Bild passt sich der Containerhöhe an */
}

/* Layout */
.content {
  flex: 1;
  overflow-y: auto;
}
