
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
}

body{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 10px;
    min-height: 100vh;
    background: #3498DB;
}

::selection{
    color: #fff;
    background: #3498DB;
}

.wrapper{
    height: 265px;
    max-width: 410px;
    background: #fff;
    border-radius: 7px;
    padding: 20px 25px 0;
    transition: height 0.2s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.wrapper.active{ height: 530px }

.header h1{
    font-size: 21px;
    font-weight: 500;
}

.header p{
    margin-top: 5px;
    color: #575757;
    font-size: 16px;
}

.form{ margin: 20px 0 25px }

/* :where задает стили для всех эл-тов формы */
.form :where(input, button){
    width: 100%;
    height: 55px;
    border: none;
    outline: none;
    border-radius: 5px;
    transition: 0.1s ease;
}

.form input{
    font-size: 18px;
    padding: 0 17px;
    border: 1px solid #999;
}

.form input:focus{ box-shadow: 0 3px 6px rgba(0,0,0,0.13) }

.form input::placeholder{ color: #999 }

.form button{
    color: #fff;
    cursor: pointer;
    margin-top: 20px;
    font-size: 17px;
    background: #3498DB;
}

.qr-code{
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    padding: 33px 0;
    border-radius: 5px;
    border: 1px solid #ccc;
}

.wrapper.active .qr-code{
    opacity: 1;
    pointer-events: auto;
    transition: opacity 0.5s 0.05s ease;
}

.qr-code img{ width: 170px }