/**
 * Login — geteiltes Web-Layout (≥769px): Brand links, Formular rechts.
 * Mobile weiter über login-mobile.css.
 */
@media (min-width: 769px) {
    html:has(.login-page) {
        background: #f4f6f9;
    }

    .login-page {
        align-items: stretch;
        justify-content: stretch;
        padding: 0;
        background: #f4f6f9;
        overflow: auto;
    }

    .tj-login-split {
        display: flex;
        width: 100%;
        min-height: 100dvh;
    }

    .tj-login-split__brand {
        position: relative;
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
        min-height: 100dvh;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: clamp(40px, 5vw, 72px);
        color: #fff;
        background:
            radial-gradient(90% 70% at 15% 0%, rgba(212, 166, 41, 0.22) 0%, transparent 55%),
            radial-gradient(80% 60% at 0% 100%, rgba(212, 166, 41, 0.1) 0%, transparent 50%),
            linear-gradient(155deg, #141414 0%, #252219 42%, #1a1814 100%);
        overflow: hidden;
    }

    .tj-login-split__brand::after {
        content: '';
        position: absolute;
        inset: 0;
        background-image:
            linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
        background-size: 48px 48px;
        mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, transparent 85%);
        pointer-events: none;
        z-index: 0;
    }

    .tj-login-split__brand-inner {
        position: relative;
        z-index: 1;
        width: 100%;
        max-width: 420px;
    }

    .tj-login-split__logo {
        width: min(200px, 55%);
        height: auto;
        aspect-ratio: 1;
        object-fit: contain;
        display: block;
        margin-bottom: clamp(28px, 4vh, 40px);
        filter: drop-shadow(0 12px 32px rgba(0, 0, 0, 0.35));
    }

    .tj-login-split__lead {
        font-size: clamp(1.35rem, 2.2vw, 1.75rem);
        font-weight: 700;
        letter-spacing: -0.03em;
        line-height: 1.25;
        margin: 0 0 12px;
    }

    .tj-login-split__text {
        font-size: 1rem;
        line-height: 1.55;
        color: rgba(255, 255, 255, 0.78);
        margin: 0 0 32px;
        max-width: 36ch;
    }

    .tj-login-split__bullets {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .tj-login-split__bullets li {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        font-size: 0.9375rem;
        color: rgba(255, 255, 255, 0.88);
        line-height: 1.45;
    }

    .tj-login-split__bullets li i {
        flex-shrink: 0;
        width: 28px;
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        background: rgba(212, 166, 41, 0.2);
        color: #ecc44a;
        font-size: 0.75rem;
    }

    .tj-login-split__main {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: clamp(32px, 4vw, 64px);
        background: #f4f6f9;
    }

    .login-container {
        max-width: 440px;
        width: 100%;
    }

    .login-box {
        margin: 0;
        padding: clamp(36px, 4vw, 48px) clamp(32px, 3.5vw, 44px);
        border-radius: 20px;
        border: 1px solid rgba(15, 23, 42, 0.08);
        box-shadow:
            0 1px 2px rgba(15, 23, 42, 0.04),
            0 24px 48px rgba(15, 23, 42, 0.08);
        max-height: none;
        animation: tjLoginPanelIn 0.45s ease;
    }

    @keyframes tjLoginPanelIn {
        from {
            opacity: 0;
            transform: translateY(12px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .login-header {
        text-align: left;
        margin-bottom: 28px;
    }

    .login-header .logo-container {
        display: none;
    }

    .tj-login-desktop-intro {
        display: block;
    }

    .tj-login-desktop-intro h1 {
        font-size: 1.625rem;
        font-weight: 700;
        letter-spacing: -0.03em;
        color: var(--black);
        margin: 0 0 8px;
    }

    .tj-login-desktop-intro p {
        font-size: 0.9375rem;
        color: var(--primary-gray);
        margin: 0;
        line-height: 1.5;
    }

    .login-info {
        text-align: left;
    }
}

@media (max-width: 768px) {
    .tj-login-split__brand {
        display: none;
    }

    .tj-login-split {
        width: 100%;
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 0;
    }

    .tj-login-split__main {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
    }

    .tj-login-desktop-intro {
        display: none;
    }
}

@media (min-width: 769px) and (max-width: 960px) {
    .tj-login-split__brand,
    .tj-login-split__main {
        flex: 0 0 50%;
        width: 50%;
        max-width: 50%;
    }

    .tj-login-split__brand {
        padding: 36px 32px;
    }

    .tj-login-split__bullets {
        display: none;
    }
}
