header {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  box-sizing: border-box;
  position: relative;
  height: 400px;
  gap: 1.5rem;
  color: white !important;
  z-index: 0;
  overflow: hidden; /* wichtig für Image & Overlay */
}

/* Overlay über dem Bild */
header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
  z-index: 0;
}

/* Das Image direkt hinter Overlay */
.header-bg-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* wie background-size: cover */
  z-index: -1; /* hinter Overlay und Text */
}

/* Text bleibt über Overlay */
header h1,
header h2 {
  position: relative;
  z-index: 1;
  color: white;
}