html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

/* Sticky footer mit Flexbox (ohne Layout-Änderung) */
html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Das direkte .container-Element zwischen header und footer soll den verfügbaren Platz füllen */
body > .container {
  flex: 1 0 auto;
}

/* Footer nicht zusammenziehen lassen */
footer {
  flex-shrink: 0;
}

/* Sicherstellen, dass Body das Viewport-Höhe-Verhalten hat */
html, body {
  height: 100%;
}

/* Falls Bootstrap-Klassen überschrieben wurden: min-height erzwingen */
body.d-flex.flex-column.min-vh-100 {
  min-height: 100vh;
}

/* Footer als flex-abhängiges Element behandeln und fixe Positionen beseitigen */
footer.footer {
  position: static !important; /* nur wenn nötig, um unerwünschte fixe/abs. Regeln zu übersteuern */
  margin-top: auto;             /* redundant zur Bootstrap-Klasse, aber sicher */
}
