body {
  background-image: linear-gradient(
    rgba(255, 255, 255, 0.5),
    rgba(255, 255, 255, 0.5)
  ),
  
  url("bluete.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-attachment: fixed;
}


.title {
  font-size: 65px;
}

.custom-navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #cbdb2a;
  z-index: 999;
}

/* Text gut lesbar machen */
.custom-navbar .navbar-brand,
.custom-navbar .nav-link {
  color: #000;
}

/* Hover-Effekt */
.custom-navbar .nav-link:hover {
  color: #333;
}


.navbar .nav-link {
  font-size: 1rem;  
}


.navbar .nav-link.active {
  font-weight: 600;
  color: #000 !important;     
  background-color: #fff;    
  border: 2px solid #000;     
  border-radius: 0.375rem;
  padding: 0.5rem 0.75rem;
}



/* Body normalisieren */
body {
  margin: 0;
}

body > .container,
body > main {
  padding-top: 100px; 
  box-sizing: border-box;
}

/* Abstand oberhalb des ersten Textes nach der Navbar */
.container > :first-child {
  margin-top: 60px; 
}



h1 {
  font-size: 1.5rem !important;
}

h2 {
  font-size: 1.25rem !important;
}

/* Nur im Content-Bereich */
.container p,
.container li {
  font-size: 1.25rem;  
  line-height: 1.6;
}

.container ul,
.container ol {
  padding-left: 1.5rem;
  margin-top: 0;
  margin-bottom: 1rem;
}


.container p { margin-bottom: 2rem; }



h1 {
  background-color: #cbdb2a; 
  color: #000;               
  padding: 15px 20px;       
  margin: 20px 0;           
  display: block;            
  width: 100%;              
  box-sizing: border-box;    
  border-radius: 4px;        
}


h2 {
  background-color: #d4e634;
  color: #ffffff;
  padding: 10pt;
}

.custom-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #cbdb2a;
  color: #000;
  text-align: center;
  font-size: 0.75rem;
  padding: 8px 10px;
  z-index: 999;
}

/* Footer Text */
.custom-footer p {
  margin: 0;
  line-height: normal;   
}


.custom-footer p span {
  margin: 0 0.3rem;    
  color: #333;
}

/* Spacer unterhalb des Inhalts */
.footer-spacer {
  min-height: 80px;
}



#backToTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  display: block;    
}

#backToTop.btn {
  background-color: #cbdb2a;
  color: #000;
  border: 1px solid #000;
  padding: 10px 15px;
  border-radius: 5px;
  font-weight: bold;
  cursor: pointer;
}

#backToTop.btn:hover {
  background-color: #aabb1a;
  color: #000;
}




/* Body als Flexbox */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
}

/* Alles ausser Footer flexibel machen */
body > .container,
body > main,
body > header,
body > section {
  flex: 1 0 auto; 
}

/* Footer am Ende fixieren */
.custom-footer {
  flex-shrink: 0; 
}


/* Button auf Impressum anpassen */
.btn-primary {
  background-color: #cbdb2a !important;  
  color: #000 !important;               
  border: 2px solid #000 !important;   
}

.btn-primary:hover {
  background-color: #aabb1a !important;
  color: #000 !important;
}

.pollen-list {
  list-style-type: none; 
  padding-left: 0;       
}

.pollen-list li {
  margin-bottom: 5px;    
}


/* Spezifische Klasse, um Bootstrap nicht zu stören */
ul.pollen-level {
  list-style: none;       
  margin: 0 0 20px 0;                
}

/* Boxen für jedes Listenelement */
ul.pollen-level li {
  display: block;           
  padding: 8px 12px;        
  margin-bottom: 6px;        
  border-radius: 5px;       
  color: #000;             
}

/* Farben für die Belastungsstufen */
ul.pollen-level li.grau { background-color: #8f8f8d; }
ul.pollen-level li.gelb   { background-color: #ffff66; }
ul.pollen-level li.orange { background-color: #fdae61; }
ul.pollen-level li.rot    { background-color: #e41a1c; }
ul.pollen-level li.dunkelrot { background-color: #962b2d; }

/* Screenshot Container */
.app-screenshot-container {
  text-align: center;  
  margin: 20px 0;      
}

.app-screenshot {
  max-width: 400px;    
  width: 100%;
  height: auto;        
  border-radius: 8px;  
  box-shadow: 0 2px 8px rgba(0,0,0,0.2); 
  margin: 10px 0;
}

.app-caption {
  font-size: 0.9rem;
  color: #333;
  margin-top: 5px;
}


/* --- Mobile Footer Fix für Smartphones --- */
@media (max-width: 576px) {

  .custom-footer {
    position: fixed;        /* Immer unten am Bildschirm */
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #cbdb2a;
    color: #000;
    font-size: 0.85rem;
    padding: 15px 12px;     
    line-height: 1.5;       
    text-align: center;
    white-space: normal !important;    
    word-break: break-word !important;
    overflow: visible !important;      /* sehr wichtig! */
    box-sizing: border-box;
    z-index: 9999;
  }

  /* Footer-Text */
  .custom-footer p {
    display: block !important;        
    margin: 0;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* Span & Links umbrechen */
  .custom-footer p span,
  .custom-footer p a {
    display: inline-block !important;
    margin: 0 0.3rem;
  }

  /* Abstand zum Content */
  body > .container,
  body > main,
  body > header,
  body > section {
    padding-bottom: 150px !important;  /* Footer-Höhe + Puffer */
  }
}






