/* Registrierungsseite – zweispaltiges Layout gemäß Figma "Konto erstellen – Konto" */

.register-page {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 100%;

    font-family: var(--f-display);
}

/* LINKE SPALTE: Hero */
.register-hero {
    display: flex;
    flex-flow: column nowrap;
    gap: 4.25rem;

    padding: 6rem 6rem 3rem;

    background-image: linear-gradient(102deg, var(--c-hero-1) 0%, var(--c-hero-2) 100%);
    color: var(--c-text-on-dark);

    .register-hero-header {
        display: flex;
        flex-flow: column nowrap;
        gap: 2rem;

        h1 {
            font-size: 2.5rem;
            font-weight: 700;
            line-height: 1.5;
        }

        p {
            font-size: 1.25rem;
            line-height: 1.5;
        }
    }

    .register-hero-benefits {
        display: flex;
        flex-flow: column nowrap;
        gap: 1.5rem;

        list-style: none;
        padding: 0;
        margin: 0;

        li {
            display: flex;
            flex-flow: row nowrap;
            align-items: center;
            gap: 1rem;

            padding: 0.5625rem 0.9375rem;

            font-size: 1.25rem;
            font-weight: 600;
            line-height: 1.3;
        }

        .icon {
            flex-shrink: 0;

            svg * {
                stroke-width: 1.5;
            }
        }
    }
}

/* RECHTE SPALTE: Formular */
.register-panel {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;

    padding: 3.5rem 6rem;

    background-color: var(--c-surface-tint);
}

.register-card {
    display: flex;
    flex-flow: column nowrap;
    gap: 3rem;

    width: 100%;
    padding: 3rem 5rem;

    background-color: white;
    border-radius: 0.5rem;
    box-shadow: 0 2px 5px rgba(6, 6, 8, 0.2);

    color: #1e1e1f;

    .register-card-header {
        display: flex;
        flex-flow: column nowrap;
        gap: 1rem;

        text-align: center;

        h2 {
            font-size: 1.625rem;
            font-weight: 600;
            line-height: 1.5;
            color: var(--c-brand-800);
        }

        .infotext {
            font-size: 1.125rem;
            line-height: 1.5;
        }
    }

    .form-error {
        margin: 0;
    }

    form {
        display: flex;
        flex-flow: column nowrap;
    }

    .register-fields {
        display: flex;
        flex-flow: column nowrap;
        gap: 1.5rem;

        margin-bottom: 2rem;
    }

    .labeled-input {
        display: flex;
        flex-flow: column nowrap;
        gap: 0.25rem;

        label {
            margin: 0;
            font-size: 1rem;
            font-weight: 600;
            line-height: 1.5;
            color: #1e1e1f;

            .optional-hint {
                font-weight: normal;
                color: var(--grey-70);
            }
        }

        input::placeholder {
            color: var(--grey-70);
        }
    }

    a {
        color: var(--c-brand-700);
        font-weight: 500;
    }

    .consent-wrapper {
        display: flex;
        flex-flow: column nowrap;
        align-items: start;
        gap: 1.5rem;

        .consent-input {
            display: flex;
            flex-flow: row nowrap;
            align-items: center;
            gap: 0.75rem;

            input {
                width: 1.25rem;
                height: 1.25rem;
                flex-shrink: 0;
                margin: 0;
                accent-color: var(--c-brand-700);
            }

            label {
                font-weight: normal;
                font-size: 1.125rem;
                line-height: 1.5;
            }

            .optional-hint {
                color: var(--grey-70);
            }
        }

        .consent-separator {
            align-self: stretch;
            height: 1px;
            margin: 0;
            border: none;
            background-color: var(--grey-30);
        }

        .consent-group {
            display: flex;
            flex-flow: column nowrap;
            align-items: start;
            gap: 1.25rem;
        }
    }

    .register-actions {
        display: flex;
        flex-flow: column nowrap;
        gap: 1.5rem;

        margin-top: 1.5rem;

        .btn {
            width: 100%;
            border-radius: 0.25rem;
            font-size: 1.125rem;
            background-color: var(--c-brand-700);

            &:hover:not(:disabled), &:focus:not(:disabled) {
                background-color: var(--c-brand-500);
            }

            &:active:not(:disabled) {
                background-color: var(--c-brand-900);
            }
        }
    }

    .login-link {
        display: flex;
        justify-content: center;
        gap: 0.75rem;

        padding-block: 0.5rem;

        font-size: 1.125rem;
        line-height: 1.5;
    }
}

.register-support {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 0.75rem;

    font-size: 1rem;
    color: #4c4c4f;

    a {
        color: var(--c-brand-700);
        font-weight: 500;
    }
}

@media (max-width: 1280px) {
    .register-hero {
        padding: 4rem 3rem 3rem;
    }

    .register-panel {
        padding: 3rem;
    }

    .register-card {
        padding: 2.5rem 3rem;
    }
}

@media (max-width: 960px) {
    .register-page {
        grid-template-columns: 1fr;
    }

    .register-hero {
        gap: 2.5rem;
        padding: 3rem 1.5rem;

        .register-hero-header h1 {
            font-size: 2rem;
        }
    }

    /* Formular vor dem Hero anzeigen */
    .register-panel {
        order: -1;
        padding: 2rem 1rem;
    }

    .register-card {
        padding: 2rem 1.5rem;
    }
}
