/* -------------------- BODY -------------------- */
body {
  display: flex;
  flex-direction: column; /* Header/Content/Footer Layout */
  min-height: 100vh;      /* Body mindestens Bildschirmhöhe */
  margin: 0;
  font-family: Arial, sans-serif;
  background-color: #f4f4f9;
  color: #333;
}
 
/* -------------------- CONTAINER -------------------- */
.container {
  flex: 1;                 /* Nimmt den verfügbaren Platz ein */
  text-align: center;
  padding: 30px;
  border-radius: 12px;
  background: white;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  margin: 40px auto;       /* Abstand oben/unten */
  max-width: 600px;
}
 
/* -------------------- HEADER -------------------- */
h1 {
  font-size: 2.5em;
  margin-bottom: 20px;
  color: #333;
}
 
/* -------------------- FORMULAR -------------------- */
label {
  display: block;
  font-size: 1.2em;
  margin-top: 15px;
  margin-bottom: 5px;
  text-align: left;
}
 
input {
  padding: 10px;
  width: 80%;
  max-width: 300px;
  font-size: 1em;
  border: 1px solid #ccc;
  border-radius: 8px;
}
 
button {
  margin-top: 20px;
  padding: 12px 25px;
  font-size: 1.1em;
  border: none;
  border-radius: 8px;
  background-color: #0077cc;
  color: white;
  cursor: pointer;
  transition: background-color 0.3s;
}
 
button:hover {
  background-color: #005fa3;
}
 
#fehlgeschlagen {
  color: red;
  margin-top: 10px;
}
 
/* -------------------- FOOTER -------------------- */
footer {
  background-color: #222;
  color: #eee;
  padding: 20px 10px;
  text-align: center;
  font-size: 0.95em;
}
 
footer a {
  color: #66b2ff;
  text-decoration: none;
}
 
footer a:hover {
  text-decoration: underline;
}
 
.footer-note {
  margin-top: 10px;
  font-size: 0.8em;
  color: #aaa; /* etwas blasser für Nebeninfo */
}
 
/* -------------------- SPONSORENLOGOS -------------------- */
.sponsoren-logos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); /* flexible Spalten */
  gap: 20px;                     /* Abstand zwischen Logos */
  justify-items: center;          /* horizontal zentrieren */
  align-items: center;            /* vertikal zentrieren */
  padding: 30px 10px;
  background-color: #f9f9f9;
}
 
.sponsoren-logos img {
  max-height: 80px;      /* maximale Höhe */
  max-width: 100%;       /* verhindert, dass breite Logos herausragen */
  height: auto;          /* proportional zur Breite */
  width: auto;           /* proportional zur Höhe */
  object-fit: contain;   /* Bildverhältnis bleibt erhalten */
  display: block;        /* entfernt kleine Inline-Abstände */
  margin: 0 auto;        /* horizontal zentriert */
  transition: transform 0.3s;
}
 
.sponsoren-logos img:hover {
  transform: scale(1.05); /* kleiner Hover-Effekt */
}
 
/* -------------------- RESPONSIVE -------------------- */
@media (max-width: 600px) {
  .container {
    padding: 20px;
    margin: 20px;
  }
 
  h1 {
    font-size: 2em;
  }
 
  input {
    width: 90%;
  }
 
  button {
    width: 90%;
  }
}
/* -------------------- Datenschutztext -------------------- */
.datenschutz-hinweis {
    font-size: 0.9rem;
    color: #555;
    margin-top: 10px;
}
.datenschutz-hinweis a {
    color: #007BFF; /* Linkfarbe */
    text-decoration: underline;
}
body {
    font-family: Arial, sans-serif;
    background-color: #fafafa;
    color: #333;
    margin: 0;
    padding: 0;
}
 
.container {
    max-width: 800px;
    margin: 40px auto;
    background: white;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
 
h1, h2 {
    color: #222;
}
 
a {
    color: #007BFF;
    text-decoration: underline;
}
 
a:hover {
    text-decoration: none;
}
 
ul {
    margin-left: 20px;
}
 
footer {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 20px;
    margin-top: 40px;
}
 
.footer-content p {
    margin: 5px 0;
}
 
.footer-note {
    font-size: 0.8rem;
    color: #bbb;
}
 
body {
    /* Radialer Farbverlauf: oben links weiß, unten rechts blau */
    background: radial-gradient(circle at top left, #ffffff 0%, #3d99f0 100%);
    color: #222;
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
}
body {
    /* Diagonaler Effekt: helle Ecken, dunkle Mitte */
    background:
        radial-gradient(circle at top left, #ffffff 0%, transparent 60%),
        radial-gradient(circle at bottom right, #ffffff 0%, transparent 60%),
        #5ba8f0; /* Basisfarbe Blau */
    background-blend-mode: overlay;
   
}
.form-row {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}
 
.form-row label {
    width: 180px; /* gewünschte Breite */
}
.form-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin: 12px 0;
}
 
/* Label schön linksbündig, fixe Breite */
.form-row label {
    width: 200px;
    text-align: right;
    font-size: 1.1em;
}
 
/* Alle Inputs gleich breit */
.form-row input {
    flex: 1;
    max-width: 250px;
    padding: 10px;
    font-size: 1em;
    border: 1px solid #bbb;
    border-radius: 8px;
}
.form-row {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    justify-content: center; /* Labels bleiben in der Mitte */
}
 
.form-row label {
    width: 180px;
    text-align: left; /* Schrift linksbündig */
}
.bestaetigungsLink .container {
    margin-top: 100px;    /* oder 80–150px, wie es dir gefällt */
}
.bestaetigungsLink {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
}

