/* ======================================
   Basis-Typografie (original)
   ====================================== */

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;
}

/* ======================================
   Layout: fixer Header & fixer Footer
   ====================================== */

/* Höhe von Header & Footer zentral definieren.
   Bei Bedarf in kleinen Schritten anpassen (z.B. 68px/56px). */
:root {
    --header-height: 57px; /* ungefähre Höhe der Navbar */
    --footer-height: 60px; /* gewünschte Footer-Höhe */
}

/* Grundstruktur */
html,
body {
    height: 100%;
}

body {
    margin: 0;
    /* Platz für fixen Header + fixen Footer reservieren */
    padding-top: var(--header-height);
    padding-bottom: var(--footer-height);
}

/* Header aus _Layout.cshtml: fix am oberen Rand */
header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030; /* über dem Inhalt, unter Modals */
}

    /* Das mb-3 der Navbar neutralisieren, damit kein weisser Balken entsteht */
    header .navbar {
        margin-bottom: 0;
    }

/* Hauptinhalt: liegt komplett zwischen Header und Footer */
main[role="main"] {
    /* Mindesthöhe: sichtbare Höhe minus Header/Footers */
    min-height: calc(100vh - var(--header-height) - var(--footer-height));
}

/* Footer aus _Layout.cshtml:
   - Element ist <footer class="border-top footer text-muted">
   - deshalb überschreiben wir sowohl .footer als auch .border-top.footer
   - mit !important, damit kein anderes CSS (altes site.css, styles.css etc.)
     wieder auf position:absolute umstellt.
*/
.footer,
.border-top.footer {
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: var(--footer-height);
    line-height: var(--footer-height);
    background-color: #f5f7fb; /* heller, neutraler Hintergrund */
    color: #6c757d;
    font-size: 0.85rem;
    border-top: 1px solid #dee2e6;
    text-align: left;
}

    /* Footer-Links dezent */
    .footer a {
        color: inherit;
        text-decoration: none;
    }

        .footer a:hover {
            text-decoration: underline;
        }

/* ======================================
   Identity / Form-Anpassungen (original)
   ====================================== */

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}
