/* ============================================================
   GLOBAL
============================================================ */
body {
  padding-top: 2rem;
}

.logo-wrapper {
  margin-bottom: 20px;
}

.logo {
  max-width: 120px;
  height: auto;
}

@media (max-width: 767.98px) {
  .logo-wrapper { text-align: center; }
}

@media (min-width: 768px) {
  .logo-wrapper { text-align: left; }
}

.gruen-balken {
  background-color: #358752;
  height: 40px;
  margin-bottom: 40px;
}

/* ============================================================
   STANDARD-BOOTSTRAP ERROR STATES FOR FORM-CHECK
============================================================ */
.form-check-input.is-invalid {
  border-color: #dc3545;
}

.form-check.is-invalid .form-check-input {
  border-color: #dc3545;
}

.form-check.is-invalid .form-check-label {
  color: #dc3545;
}

/* ============================================================
   RADIO GROUP – VERTIKALE AUSRICHTUNG & FEHLERZUSTAND
============================================================ */

/* Feedback standardmäßig ausblenden */
.radio-group .invalid-feedback {
  display: none;
}

/* Anzeige des Feedbacks, wenn Gruppe invalid */
.radio-group.invalid .invalid-feedback {
  display: block;
  margin-top: .25rem;
}

/* Radio-Buttons korrekt ausrichten */
.radio-group .form-check {
  padding-left: 0 !important;
  margin-bottom: 0.25rem;
  display: flex;
  align-items: center;
}

.radio-group .form-check-input {
  margin-left: 0 !important;
  margin-top: 0.2rem;
  position: static !important;
}

.radio-group .form-check-label {
  margin-left: 0.35rem;
}

/* Inline-Radio-Buttons (z. B. Ja/Nein nebeneinander) */
.form-check-inline {
  padding-left: 0.75rem;
  margin-right: 1rem;
}

.form-check-inline .form-check-input {
  margin-left: 0;
  margin-right: 0.35rem;
}

/* ============================================================
   CHECKBOX GROUP – VERTIKALE AUSRICHTUNG & FEHLERZUSTAND
============================================================ */

.checkbox-group .form-check {
  padding-left: 0;
  margin-bottom: 0.25rem;
  display: flex;
  align-items: center;
}

.checkbox-group .form-check-input {
  margin-left: 0;
  margin-top: 0.2rem;
}

.checkbox-group .form-check-label {
  margin-left: 0.35rem;
}

/* Feedback ausblenden */
.checkbox-group .invalid-feedback {
  display: none;
}

/* Feedback anzeigen wenn invalid */
.checkbox-group.invalid .invalid-feedback {
  display: block;
  margin-top: .25rem;
}

/* ============================================================
   ERROR STYLING FOR GROUPS (RADIO + CHECKBOX)
============================================================ */

.radio-group.invalid,
.checkbox-group.invalid {
  border: 1px solid #dc3545 !important;
  border-radius: .375rem;
  padding: .75rem !important;
  background-color: #fff8f8;
}

.radio-group.invalid .form-check-input,
.checkbox-group.invalid .form-check-input {
  border-color: #dc3545 !important;
}

.radio-group.invalid .form-check-label,
.checkbox-group.invalid .form-check-label {
  color: #dc3545 !important;
}

/* ============================================================
   HONEYPOT (ANTI-BOT)
============================================================ */
.honeypot {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ============================================================
   MISC
============================================================ */

.badge.text-bg-success {
  background-color: #e8f5ee !important;
  color: #22543d !important;
  border: 1px solid #cfe8dc;
}

footer img {
  display: block;
  margin: 0 auto 10px;
}

.danke-box {
  padding: 3rem;
  background-color: #f8f9fa;
  border-radius: .5rem;
  text-align: center;
}

.danke-box h2 {
  color: #358752;
}