/* ======================================
   Basis-Typografie (original)
   ====================================== */

/* Label styles
-------------------------------------------------- */
.abstand-links {
    margin-left: 20px;
}

.text-corporate {
    font-family: 'Russo One', sans-serif;
}

html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}


.auth-alert-wrapper {
    position: relative;
    z-index: 1020; /* über dem Inhalt, aber unter Offcanvas/Nav */
}

.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: 30px; /* 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: #a8bad6; /* 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;
}

/* Navbar styles
-------------------------------------------------- */
.navbar {
    
    background-color: #1F2F40;
}




/* ======================================
   Cookie-Consent
   ====================================== */

.cookie-consent {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2000;
    background-color: rgba(15, 23, 42, 0.99); /* dunkles Blau/Schwarz, leicht transparent 0.96 */
    color: #f8f9fa;
    padding: 1rem 0;
    font-size: 0.9rem;
}

.cookie-consent-inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.cookie-consent-text {
    flex: 1 1 auto;
}

.cookie-consent-actions {
    flex: 0 0 auto;
}

/* Auf sehr kleinen Geräten alles untereinander */
@media (max-width: 576px) {
    .cookie-consent-inner {
        flex-direction: column;
        align-items: stretch;
    }

    .cookie-consent-actions {
        width: 100%;
        text-align: right;
    }
}