@import url("main.css");

/*
    FORMS.CSS

    Description: This css file is intended for the styles of all
    forms in all the pages, including containers, labels, and
    others.
*/

:root {
    --color-shadow: rgba(0, 0, 0, 0.3);
}

/*
    Component: Form

    Description: Principal container class for a form.
*/

.form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-top: 50px;
    gap: 20px;
    width: 100%;
}

/*
    Section: Form's texts

    Description: Styles for form labels, titles and other
    texts. This include its colors and font size.
*/

.form__label {
    font-size: 1.25em;
    pointer-events: none;
    font-weight: 700;
    width: 100%;
}

.form__label--center {
    text-align: center;
}

.form__link {
    font-weight: 700;
    font-size: 1.6em;
    text-align: center;
    text-decoration: none;
}

.form__link:hover {
    cursor: pointer;
}

/*
    Component: Form input

    Description: Styles for form inputs, including the flex properties,
    height, width, spaces, colors and others.
*/

.form__input {
    height: 56px;
    width: 100%;
    border-radius: 50px;
    padding: 5px 20px;
    border: solid 5px var(--color-secondary);
    color: var(--color-primary);
    font-size: 1em;
    font-weight: 700;
    z-index: 100;
}

.form__input-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: 10px;
}

.form__input::placeholder {
    color: var(--color-gray);
    font-size: 1.1em;
}

.form__input:focus {
    border: solid 5px var(--color-primary);
}

.form__input--yellow-border {
    border-color: var(--color-yellow);
}

/*
    Section: Responsive

    Description: Media queries that change styles from
    the form inputs, texts, and others.
*/

@media (max-width: 992px) {
    .form__label,
    .form__label--second,
    .form__link {
        font-size: 1.15em;
    }
}

@media (max-width: 640px) {
    .form__title {
        font-size: 2.5em;
    }

    .form__label--second,
    .form__link {
        font-size: 1em;
    }
}

@media (max-width: 500px) {
    .form__input {
        height: 48px;
        padding: 5px 10px;
    }

    .form__title {
        font-size: 2em;
    }

    .form__input,
    .form__input::placeholder {
        font-size: 0.9em;
    }

    .form__label--second,
    .form__link {
        font-size: 1em;
    }
}

@media (max-width: 420px) {
    .form__label,
    .form__label--second,
    .form__link {
        font-size: 0.9em;
    }
}

@media (max-width: 320px) {
    .form__input {
        height: 40px;
    }

    .form__label--second,
    .form__link {
        font-size: 0.8em;
    }
}

@media (max-height: 640px) {
    .form__input {
        height: 48px;
    }
}
