.woocommerce {
    max-width: 1320px;
}

.login-register-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;

    p {
        margin: 0px !important;
    }

    .login-form-container, .register-form-container {
        display: flex;
        flex-direction: column;
        gap: 30px;
        width: 100%;
        max-width: 540px;
        padding: 50px 20px;
        @media (max-width: 1024px) {
            padding: 0;

            p {
                margin: 0 auto;
            }
        }

        h2 {
            text-align: center;
            color: #ffffff;
            font-size: 21px;
            line-height: 34px;
            padding: 0px 30px;
        }

        form {
            display: flex;
            flex-direction: column;
            gap: 20px;

            .form-row {
                display: flex;
                flex-direction: column;
                position: relative;

                .error-message {
                    position: absolute;
                    bottom: -20px;
                    width: 100%;
                    left: 0px;
                    text-align: center;
                    @media (max-width: 1024px) {
                        bottom: -30px;
                    }
                }

                label {
                    margin-left: 20px;
                    font-size: 21px;
                    line-height: 34px;
                    color: #ffffff;

                    @media (max-width: 1024px) {
                        margin-left: 0px;
                    }
                }

                .input-icon {
                    position: absolute;
                    height: 20px;
                    width: auto;
                    left: 25px;
                    bottom: 20px;

                    &.mail-icon {
                        width: 20px;
                    }

                    &.password-icon {
                        left: 27px;
                    }
                }

                input {
                    height: 60px;
                    border: none;
                    background-color: #ffffff;
                    border-radius: 30px;
                    padding-left: 60px;
                    padding-right: 20px;
                    font-size: 21px;
                    line-height: 34px;
                    color: #303030;

                    /* Accessible focus ring */
                    &:focus-visible {
                        outline: none;
                        box-shadow: 0 0 0 3px #fff, 0 0 0 6px #005fcc;
                    }
                }


                &.submit-container {
                    flex-direction: row;
                    justify-content: space-between;
                    padding-top: 10px;
                    @media (max-width: 1024px) {
                        flex-direction: column-reverse;
                        justify-content: center;
                        align-items: center;
                        gap: 10px;
                    }

                    label {
                        margin-left: 20px;
                        display: flex;
                        align-items: center;
                        gap: 10px;
                        @media (max-width: 1024px) {
                            margin-left: 0px;
                            margin-top: 10px;
                        }

                        .woocommerce-form__input-checkbox {
                            width: 30px;
                            height: 30px;
                            border-radius: 5px;
                            accent-color: #00B9F2;
                            @media (max-width: 1024px) {
                                width: 20px;
                                height: 20px;
                            }
                            /* Focus ring for checkbox itself */
                            &:focus-visible {
                                outline: 2px solid #005fcc;
                                outline-offset: 2px;
                            }
                        }
                        /* Highlight the label when checkbox is focused */
                        &.woocommerce-form__label-for-checkbox:focus-within {
                            outline: 2px solid #005fcc;
                            outline-offset: 4px;
                            border-radius: 8px;
                        }
                    }

                    button {
                        height: 60px;
                        width: 200px;
                        background-color: #00B9F2;
                        border: 2px solid #00B9F2;
                        border-radius: 30px;
                        font-size: 21px;
                        line-height: 34px;
                        color: #ffffff;
                        transition: 0.3s;
                        cursor: pointer;
                        @media (max-width: 1024px) {
                            width: 100%;
                        }

                        &:hover {
                            background-color: #303030;
                            color: #00B9F2;
                        }

                        /* Accessible focus ring for button */
                        &:focus-visible {
                            outline: none;
                            box-shadow: 0 0 0 3px #fff, 0 0 0 6px #005fcc;
                        }

                        &.woocommerce-form-register__submit {
                            width: 100%;

                            &:disabled {
                                background-color: grey;
                                border-color: grey;

                                &:hover {
                                    background-color: grey;
                                    color: #ffffff;
                                    cursor: default;
                                }
                            }
                        }
                    }
                }

                .toggle-password {
                    position: absolute;
                    height: 30px;
                    width: 30px;
                    right: 30px;
                    bottom: 15px;
                    display: none;
                    justify-content: center;
                    align-items: center;
                    background: none;
                    border: 0;
                    padding: 0;
                    cursor: pointer;

                    &:focus-visible {
                        outline: none;
                        box-shadow: 0 0 0 3px #fff, 0 0 0 6px #005fcc;
                        border-radius: 50%;
                    }

                    img {
                        width: 30px;
                        height: 30px;
                        cursor: pointer;
                    }
                }
            }

            .lost_password, .switch-form{
                display: flex;
                justify-content: center;
                align-items: center;
                width: 100%;
                gap: 10px;
                color: #ffffff;
                font-size: 21px;
                line-height: 34px;

                a {
                    color: #ffffff;
                    transition: 0.3s;
                    cursor: pointer;

                    &:hover {
                        color: #00B9F2;
                    }

                    &:focus-visible {
                        outline: 2px solid #005fcc;
                        outline-offset: 3px;
                        border-radius: 6px;
                    }
                }
            }
            .lost_password {
                margin-bottom: -10px;
            }
        }
    }
}
