body {
    grid-template-areas:
        "logo reset-title title"
        "nav content content"
        "footer footer footer";
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: auto 1fr auto;
}

#reset-title {
    grid-area: reset-title;
    font-size: 2em;
    font-weight: bold;
    white-space: nowrap;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

main {
    grid-column: nav-start / content-end;
    grid-row: nav;
    margin: auto;
    font-size: 1.5rem;

    form {
        display: grid;
        row-gap: 1em;
        justify-content: center;

        > div {
            display: flex;
            column-gap: 0.5em;
            align-items: center;

            &.reset-mail {
                margin: 0 auto;
            }

            > img {
                width: 1.25em;
                height: 1.25em;
                filter: var(--filter-to-main-color);
            }

            input {
                font-size: inherit;
                font-weight: 350;
                background: none;
                border: none;
                outline: none;
                border-bottom: 1px solid #aaa;
                caret-color: var(--main-color);
                transition: border-bottom-color 0.5s;

                &::placeholder {
                    font-weight: 200;
                    color: #999;
                    font-style: italic;
                    font-size: 0.75em;
                }

                &:focus {
                    border-bottom-color: var(--main-color);

                    &::placeholder {
                        color: #666;
                    }
                }

                &:invalid {
                    border-bottom-color: #a00;
                }
            }
        }

        > nsg-translated {
            font-weight: bold;
        }

        > button {
            justify-self: center;
            padding-left: 1em;
            padding-right: 1em;
            font-size: inherit;
            font-weight: bold;
            margin: 0 0.5em;
            --button-bg-color: var(--main-color);
        }
    }

    div.reset-mail {
        width: 100%;
        max-width: 20em;

        input {
            flex-grow: 1;
        }
    }
}
