

   body {
      font-family: "Trebuchet MS", Arial, sans-serif;
      color: #1b2845;
    }
	h3 {font-weight:bold; }
    nav.navbar {
      background-color: #1b2845;
    }
    nav .nav-link, nav .navbar-brand, nav .contact-phone {
      color: #fff !important;
      font-weight: 500;
    }
    nav .nav-link:hover {
      color: #459d60 !important;
    }
    .contact-phone a {
      color: #fff;
      text-decoration: none;
	  font-weight:bold;
	  font-size:18px;
    }
    .contact-phone a:hover {
      color: #459d60;
    }
    .hero {
      background: url('bg.jpg') center/cover no-repeat;
      color: #fff;
      text-align: center;
      padding: 160px 20px;
      position: relative;
    }
    .hero::before {
      content: "";
      position: absolute;
      top: 0; left: 0; width: 100%; height: 100%;
      background: rgba(27, 40, 69, 0.7);
    }
    .hero-content {
      position: relative;
      z-index: 1;
    }
    .btn-main {
      background-color: #459d60;
      border: none;
      color: #fff;
    }
    .btn-main:hover {
      background-color: #36784c;
    }
    .section-title {
      text-align: center;
      font-weight: 700;
      color: #1b2845;
      margin-bottom: 15px;
    }
    .leistungen img {
      width: 100%;
      border-radius: 8px;
      margin-bottom: 10px;
    }
    .faq-item {
      border: 1px solid #ddd;
      border-radius: 8px;
      padding: 15px;
      margin-bottom: 10px;
      background: #fff;
	  text-align:center;
    }
    .cta {
      background-color: #274161;
      color: #fff;
      text-align: center;
      padding: 40px 20px;
    }
    .cta a {
      color: #fff;
      text-decoration: underline;
    }
    footer {
      background-color: #1b2845;
      color: #fff;
      text-align: center;
      padding-top: 20px;
	  padding-bottom: 5px;
    }
    footer a {
      color: #459d60;
      text-decoration: none;
    }
	
	
/* FAQ Accordion - styles for your design */
.faq { margin-top: 1.25rem;}
.faqq {background-color:#f8f9fa}
.faq-item { border: 1px solid rgba(0,0,0,0.06); border-radius: 8px; overflow: hidden; background: #fff; margin-bottom: 0.9rem; box-shadow: 2px 5px 10px rgba(20,20,20,0.02); }

/* Toggle (question row) */
.faq-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
  font-size: 1rem;
  color: inherit;
}

/* Hover / focus */
.faq-toggle:hover,
.faq-toggle:focus { background: #fff; outline: none; }
.faq-toggle:focus-visible { box-shadow: 0 0 0 4px rgba(0,123,255,0.12); border-radius: 6px; }

/* Question text */
.faq-question { flex: 1 1 auto; font-weight: 600; text-align: center; background: #fff;}

/* Icon (uses bootstrap-icons classes) */
.faq-icon { font-size: 1.25rem; line-height: 1; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 6px; }

/* Panel (answer) */
.faq-panel {
  padding: 0;
  background: #ececec;
  overflow: hidden;
  transition: max-height 260ms cubic-bezier(.2,.8,.2,1), padding:0
}
.faq-panel.open { padding: 0; background:#fff;}

.faq-panel p { margin: 0; color: #444; line-height: 1.45; background:#fff;}

@media (max-width: 576px) {
  .faq-toggle { padding:0px; }
  .faq-panel { padding: 0px; }
}


.kontaktformular {
    max-width: 600px;
    margin: 20px auto;
    padding: 0px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.kontaktformular input,
.kontaktformular textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 14px;
	text-align:center;
}

.kontaktformular textarea {
    min-height: 120px;
    resize: vertical;
}

.kontaktformular button {
    padding: 12px;
    background-color: #007BFF;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
}

.kontaktformular button:hover {
    background-color: #0056b3;
}

/* Sticky Buttons - Container */
.sticky-buttons {
    position: fixed;
    bottom: 25px;
    right: 25px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    z-index: 9999;
}

/* Grundstil für alle Buttons */
.sticky-btn {
    background-color: #459d60;
    color: #fff;
    padding: 12px 20px;
    border-radius: 50px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
    white-space: nowrap;
}

/* Hover */
.sticky-btn:hover {
    background-color: #36784c;
    box-shadow: 0 5px 16px rgba(0,0,0,0.35);
}

/* WhatsApp spezifisch */
.sticky-whatsapp {
    background-color: #25D366;
}

.sticky-whatsapp:hover {
    background-color: #1da851;
}

/* Kontaktformular */
.sticky-formular {
    background-color: #1b2845;
}

.sticky-formular:hover {
    background-color: #142033;
}

/* Mobile Optimierung */
@media (max-width: 576px) {
  .sticky-buttons {
      bottom: 15px;
      right: 15px;
      gap: 10px;
  }

  .sticky-btn {
      padding: 10px 16px;
      font-size: 15px;
  }
}

  #cookie-banner {
    display: none; /* <- wichtig */
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #1b2845;
    color: #fff;
    padding: 15px 20px;
    text-align: center;
    font-size: 16px;
    z-index: 99999;
    gap: 12px;
    box-shadow: 0 -4px 12px rgba(0,0,0,0.3);
    justify-content: center;
    align-items: center;
  }

  /* Wenn die Klasse .show gesetzt ist, Banner sichtbar machen */
  #cookie-banner.show {
    display: flex;
  }

  #cookie-banner p {
    margin: 0;
  }

  #cookie-accept {
    background-color: #459d60;
    border: none;
    padding: 8px 18px;
    color: #fff;
    cursor: pointer;
    border-radius: 6px;
    font-weight: 600;
    transition: background-color 0.25s ease;
  }

  #cookie-accept:hover {
    background-color: #36784c;
  }

  @media(max-width: 576px) {
    #cookie-banner { flex-direction: column; padding: 12px; }
  }