:root {
  --primary-background: #D9DBF1; /* Hellblau */
  --primary-text: #202444; /* Dunkelblau */
  --header-footer-background: #8E9DCC; /* Mittelblau */
  --header-footer-text: white;
  --nav-background: #D9DBF1; /* Hellgrau */
  --nav-text: #202444; /* Dunkelgrau */
  --nav-hover-background: #8E9DCC; /* Mittelgrau */
  --highlight-background: #cce0ff; /* Helleres Blau */
  --ausblick-background: #F9F9ED; /* Noch helleres Blau */
  --ausblick-border: #202444; /* Dunkleres Blau für Border */
  --gallery-hover-overlay: rgba(0, 0, 0, 0.85); /* Schwarz mit Transparenz für Lightbox */
  --container-background: #fff; /* Weiß für Container */
  --container-box-shadow: rgba(0,0,0,0.1); /* Leichter Schatten für Container */
  --button-background: #8E9DCC; /* Blau für Button */
  --button-text: white;
  --button-hover-background: #202444; /* Dunkleres Blau für Button Hover */
  --impressum-background: #F9F9ED; /* Sehr helles Grau für Impressum */
  --impressum-border: #eee; /* Hellgrau für Impressum Border */
}

body {
	margin: 0;
	font-family: Arial, sans-serif;
	background-color: var(--primary-background);
	color: var(--primary-text);
}

header {
	background-color: var(--header-footer-background);
	padding: 2rem;
	text-align: center;
	color: var(--header-footer-text);
}

section {
  padding: 3rem 2rem; /* Etwas mehr vertikaler Abstand */
  margin-bottom: 2rem; /* Abstand zwischen den Sektionen */
  background-color: var(--section-background, #f9f9f9); /* Standard-Hintergrundfarbe mit Fallback */
  border-radius: 8px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08); /* Leichter Schatten für Tiefe */
}

section h2 {
  color: var(--section-heading-color, var(--primary-text)); /* Farbe der Überschrift */
  font-size: 2rem;
  margin-top: 0; /* Entfernt den Standard-Top-Margin der h2 */
  margin-bottom: 1.5rem; /* Mehr Abstand zur Überschrift und zum Inhalt */
  border-bottom: 2px solid var(--accent-color, var(--header-footer-background)); /* Akzentlinie unter der Überschrift */
  padding-bottom: 0.5rem;
}

section p,
section br,
section a {
  color: var(--section-text-color, var(--primary-text));
  line-height: 1.7; /* Bessere Lesbarkeit für Text */
  font-size: 1rem;
}

section a {
  color: var(--link-color, #3498db); /* Farbe für Links */
  text-decoration: none;
  font-weight: bold;
}

section a:hover {
  text-decoration: underline;
  color: var(--link-hover-color, #2980b9);
}

/* Optional: Ein subtiler Hintergrund für jede zweite Sektion */
section:nth-child(even) {
  background-color: var(--section-even-background, #f4f4f4);
}




/* Optional: Ein farbiger Akzentstreifen links */

section {
  border-left: 5px solid var(--accent-color, var(--header-footer-background));
  padding-left: calc(2rem - 5px); /* Anpassen des linken Paddings */
}


nav {
  background-color: var(--nav-background);
  padding: 15px;
  text-align: center;
  position: sticky; /* Für ein Sticky-Menü beim Scrollen */
  top: 0;
  z-index: 100; /* Stellt sicher, dass die Navigation über anderen Inhalten liegt */
}

nav a {
  display: inline-block;
  color: var(--nav-text);
  text-decoration: none;
  padding: 10px 20px;
  margin: 0 10px;
  border-radius: 5px;
  transition: background-color 0.3s ease;
  font-size: 1rem;
}

/* Für Mobilgeräte: größere Schrift */
@media (max-width: 600px) {
  nav a {
    font-size: 1.1rem; /* oder z.B. 18px */
  }
}

nav a:hover {
  background-color: var(--nav-hover-background);
}

.highlights {
	background-color: var(--highlight-background);
	padding: 1rem;
	border-radius: 10px;
	margin-top: 1rem;
}

footer {
	background-color: var(--header-footer-background);
	color: var(--header-footer-text);
	text-align: center;
	padding: 1rem;
	margin-top: 2rem;
}

h1, h2 {
	color: var(--primary-text);
}

.ausblick {
	font-size: 1.2rem;
	font-weight: bold;
	background-color: var(--ausblick-background);
	padding: 1rem;
	border-left: 6px solid var(--ausblick-border);
	margin-top: 1.5rem;
	border-radius: 5px;
}

.gallery {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

.gallery-item {
  text-align: center;
}

.gallery img {
  width: 200px;
  height: auto;
  cursor: pointer;
  transition: transform 0.2s;
}

.gallery img:hover {
  transform: scale(1.05);
}

.lightbox {
  display: none;
  position: fixed;
  z-index: 999;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: var(--gallery-hover-overlay);
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.lightbox-content {
  text-align: center;
}

.lightbox img {
  max-width: 80%;
  max-height: 80%;
  margin-bottom: 20px;
}

.lightbox .close,
.lightbox .prev,
.lightbox .next {
  position: absolute;
  top: 20px;
  color: white;
  font-size: 30px;
  cursor: pointer;
  user-select: none;
}

.lightbox .close { right: 30px; }
.lightbox .prev { left: 30px; top: 50%; transform: translateY(-50%); }
.lightbox .next { right: 30px; top: 50%; transform: translateY(-50%); }

.container {
  max-width: 600px;
  margin: 40px auto;
  background: var(--container-background);
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 0 8px var(--container-box-shadow);
}

label {
  display: block;
  margin-top: 15px;
  font-weight: bold;
}

input, textarea {
  width: 100%;
  padding: 10px;
  margin-top: 5px;
  border-radius: 4px;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

button {
  margin-top: 20px;
  padding: 12px 20px;
  background: var(--button-background);
  color: var(--button-text);
  border: none;
  border-radius: 4px;
  font-size: 1em;
  cursor: pointer;
}

button:hover {
  background: var(--button-hover-background);
}

.impressum-section {
  margin-bottom: 20px;
  padding: 15px;
  border: 1px solid var(--impressum-border);
  border-radius: 5px;
  background-color: var(--impressum-background);
}