@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

body {
  margin: 0;
  background-color: #616161;
  color: #f5f5f5;
  font-family: Roboto, Helvetica, sans-serif;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  text-align: center;
  padding: 2rem;
  box-sizing: border-box; 
}

/* Impressum-spezifische Anpassungen */
body.impressum {
  font-size: 0.9rem; /* Grundschrift kleiner */
}

body.impressum h1 {
  font-size: 1.4rem; /* kleiner als Standard */
}

body.impressum h2 {
  font-size: 1rem;
}

body.impressum p {
  font-size: 0.9rem;
  line-height: 1.4;
}

/* Container horizontal mittig */
.container {
  max-width: 600px;
  margin: 0 auto;
}

/* Fade-In nur wenn Klasse gesetzt */
.with-fade {
  opacity: 0;
  will-change: opacity;
  animation: fadeIn 1.2s ease forwards;
  animation-delay: 0.1s;
}

img.logo {
  max-width: 260px;
  height: auto;
  margin-bottom: 2rem;
}

p {
  font-size: 1.4rem;
  line-height: 1.6;
  max-width: 600px;
}

.social {
  margin-top: 2rem;
}

.social a {
  color: #f5f5f5;
  margin: 0 1rem;
  font-size: 2rem;
  text-decoration: none;
  transition: color 0.3s ease;
}

.social a:hover {
  color: #cccccc;
}

footer {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  font-size: 0.85rem;
  color: #8a8a8a; /* noch näher an #616161 */
}

footer a {
  color: #8a8a8a;
  text-decoration: none;
  transition: color 0.3s ease;
}

footer a:hover {
  color: #dcdcdc;
}
