/*
 * Login-Formular: ruhiger Auftritt und Textrolle des Design-Vertrags.
 * Die Bahnhofs-Szene (login-train-scene, login-brand-panel) bleibt unberührt.
 */

.login-form-section .login-title {
    font-size: clamp(2rem, 3vw, 2.5rem);
    font-weight: 600;
    letter-spacing: -0.02em;
}

.login-form-section .btn-login {
    transition:
        scale var(--luxe-duration-base, 220ms) cubic-bezier(0.16, 1, 0.3, 1),
        background-color var(--luxe-duration-fast, 140ms) ease;
}

.login-form-section .btn-login:active:not(:disabled) {
    scale: 0.985;
}

@media (prefers-reduced-motion: no-preference) {
    .login-form-section :is(.login-header, .form-group, .btn-login, .login-form__security) {
        animation: login-field-rise 520ms cubic-bezier(0.16, 1, 0.3, 1) both;
    }

    .login-form-section .form-group:nth-of-type(1) {
        animation-delay: 70ms;
    }

    .login-form-section .form-group:nth-of-type(2) {
        animation-delay: 130ms;
    }

    .login-form-section .btn-login {
        animation-delay: 190ms;
    }

    .login-form-section .login-form__security {
        animation-delay: 250ms;
    }
}

@keyframes login-field-rise {
    from {
        opacity: 0;
        transform: translate3d(0, 0.625rem, 0);
    }
}

@media (max-width: 767.98px) {
    .login-form-section {
        padding-block-end: env(safe-area-inset-bottom, 0px);
    }
}
