/*
 * RPG Oase
 * Login-Seite
 *
 * Seitenspezifische Styles für die Login-Seite
 */


/* =========================================================
   LOGIN-BANNER / HEADER
   ========================================================= */

.login-banner {
    display: flex;
    align-items: center;
    justify-content: center;

    width: calc(100% - 40px);
    max-width: none;

    height: 150px;

    margin: 20px auto 5px;

    background: var(--color-surface);

    border: 0;
    border-radius: var(--radius-medium);

    box-shadow: var(--shadow);

    overflow: hidden;
}

.login-banner img {
    display: block;

    width: auto;
    max-width: calc(100% - 40px);

    height: 145px;
    max-height: 145px;

    object-fit: contain;
}


/* =========================================================
   LOGIN-SEITE
   ========================================================= */

.login-page {
    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;

    gap: 25px;
}


/* =========================================================
   LOGIN-LAYOUT
   ========================================================= */

body:has(.login-banner) .site-layout {
    padding-top: 0;
}


/* =========================================================
   LOGIN-NAVIGATION
   ========================================================= */

.site-layout:has(.login-page) .sidebar-left {
    padding-top: 150px;
}


/* =========================================================
   LOGIN-ÜBERSCHRIFT
   ========================================================= */

.login-page-title {
    margin-bottom: 50px;

    font-size: 38px;
    line-height: 1.2;
}


/* =========================================================
   LOGIN-BOX
   ========================================================= */

.login-box {
    width: 100%;
    max-width: 350px;

    margin-bottom: 5px;
    padding: 12px;

    background: var(--color-surface-light);

    border: 1px solid var(--color-border);
    border-radius: var(--radius-medium);

    box-shadow: var(--shadow);

    text-align: left;
}

.login-box h2 {
    margin-bottom: 0;
    padding-bottom: 10px;

    border-bottom: 1px solid var(--color-border);

    text-align: center;
}

.login-box .form-group:first-of-type {
    margin-top: 20px;
}

.login-box .form-group {
    margin-bottom: 10px;
}

.login-box button {
    width: 100%;
}


/* =========================================================
   PASSWORT VERGESSEN
   ========================================================= */

.login-forgot-password {
    margin-top: 10px;
    margin-bottom: 0;
}


/* =========================================================
   COOKIE-HINWEIS
   ========================================================= */

.login-cookie-notice {
    width: 100%;
    max-width: 650px;

    margin-top: 5px;

    color: var(--color-text-muted);

    text-align: center;
}


/* =========================================================
   NORMALE REGISTRIERUNG
   ========================================================= */

.login-register {
    width: 100%;
    max-width: 650px;

    margin-top: 0;
    padding-top: 20px;

    border-top: 1px solid var(--color-border);

    text-align: center;
}

.login-register p {
    margin-bottom: 5px;
}

.login-register a {
    font-weight: 600;
}


/* =========================================================
   BETA-REGISTRIERUNG
   ========================================================= */

.login-beta-register {
    width: 100%;
    max-width: 650px;

    margin-top: 0;
    padding-top: 20px;

    border-top: 1px solid var(--color-border);

    text-align: center;
}

.login-beta-register p {
    margin-bottom: 5px;
}

.login-beta-register a {
    font-weight: 600;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .login-banner {
        width: calc(100% - 40px);
        max-width: none;

        height: 150px;

        margin: 20px auto 5px;
    }

    .login-banner img {
        height: 145px;
        max-height: 145px;
    }

    body:has(.login-banner) .site-layout {
        padding-top: 0;
    }

    .site-layout:has(.login-page) .sidebar-left {
        padding-top: 150px;
    }
}


@media (max-width: 800px) {

    .login-banner {
        width: calc(100% - 40px);
        max-width: none;

        height: 150px;

        margin: 20px auto 5px;
    }

    .login-banner img {
        height: 145px;
        max-height: 145px;
    }

    body:has(.login-banner) .site-layout {
        padding-top: 0;
    }

    .site-layout:has(.login-page) .sidebar-left {
        padding-top: 150px;
    }
}


@media (max-width: 500px) {

    .login-banner {
        width: calc(100% - 40px);
        max-width: none;

        height: 150px;

        margin: 10px auto 5px;
    }

    .login-banner img {
        height: 145px;
        max-height: 145px;
    }

    body:has(.login-banner) .site-layout {
        padding-top: 0;
    }

    .login-page-title {
        font-size: 30px;
    }

    .site-layout:has(.login-page) .sidebar-left {
        padding-top: 150px;
    }
}