html:has(.authentication-container) {
    background-color: var(--color-gray-light);
}

.authentication-container {
    max-width: 580px;
    margin: 0 auto;

    .page-title {
        font-size: 20px;
        margin-bottom: 15px;
        font-family: var(--font-open-sans);

        a {
            color: var(--color-orange);
        }
    }

    .page-description {
        font-size: 12px;
        line-height: 150%;
    }

    .window {
        margin-top: 15px;
        border: 1px solid var(--color-border);
        background-color: white;

        .window-content {
            padding: 40px 25px 40px 25px;

            @media(min-width: 480px) {
                padding: 80px 80px 70px 80px;
            }

            .pt-30 {
                padding-top: 30px;
            }
        }

        .error {
            background-color: #fee3e8;
            color: #b72c47;
            text-align: center;
            font-size: 12px;
            padding: 13px 20px;

            a {
                color: #b72c47;
                /* font-size: 12px;
                text-decoration: underline;*/
            }
        }
    }

    .links {
        margin-top: 25px;

        > div {
            margin-top: 5px;
        }
    }

    .modal-container {
        .modal {
            width: 100%;
            margin-top: auto;
            margin-bottom: auto;
            border: 1px solid var(--color-border);
            border-radius: 3px;
            background-color: white;
            overflow-y: auto;
            z-index: 1000;
            padding: 20px 30px;
            outline: none;

            .modal-content {
                padding: 30px 0 60px 0;

                @media(min-width: 600px) {
                    padding: 30px 40px 60px 40px;
                }

                @media(min-width: 768px) {
                    padding: 30px 80px 60px 80px;
                }
            }

            &::backdrop {
                background-color: black;
                opacity: 0.75;
            }
        }
    }
}

.actions {
    margin-top: 35px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.editor {
    --label-transition: opacity linear var(--animation-speed);
    width: 100%;
    margin-bottom: 8px;

    label {
        display: block;
        margin-left: 10px;
        opacity: 0;
        color: #b9b9b9;
        font-size: 12px;
        transition: var(--label-transition);

        &:has(+ input:not(:placeholder-shown)) {
            opacity: 1;
        }
    }

    &:focus-within label {
        opacity: 1;
    }

    input {
        display: block;
        width: 100%;
        border: none;
        border-bottom: 1px solid var(--editor-border-color);
        padding: 0 10px 6px 10px;

        &::placeholder {
            transition: var(--label-transition);
            color: #ababab;
        }

        &:focus {
            border-bottom-color: var(--color-orange);
            outline: none;

            &::placeholder {
                opacity: 0;
            }
        }

        &:invalid, &.input-validation-error {
            border-bottom-color: #f54062;
        }
    }

    .field-validation-error {
        text-align: right;
    }
}

.checkbox-editor {
    margin-bottom: 6px;

    div {
        display: flex;

        label {
            font-size: 12px;
        }

        input[type=checkbox] {
            appearance: none;
            width: 20px;
            height: 20px;
            border: 1px solid var(--editor-border-color);
            display: grid;
            place-content: center;
            margin-right: 8px;
            flex-shrink: 0;

            &:focus {
                outline: none;
            }

            &:checked::after {
                content: "";
                width: 18px;
                height: 18px;
                background-size: 14px;
                background-image: url(/images/wsCheckBoxCheck.svg);
                background-position: center;
                background-repeat: no-repeat;
            }
        }
    }
}

.field-validation-error {
    font-size: 12px;
    color: #f54062;
    display: block;
}

.text-center {
    text-align: center;
}

.phone {
    text-wrap: nowrap;
}

.mt-25 {
    margin-top: 25px;
}
