.form-label {
    font-weight: 400;
    font-size: 0.8rem;
    font-family: $baseFont;
    line-height: 1.3;
    color: $baseFontColor;
    margin: 0 0 10px 0;
    display: block;
}

.form-input {
    font-weight: 400;
    font-size: 0.8rem;
    font-family: $baseFont;
    line-height: 1.3;
    color: $baseFontColor;
    border: 1px solid $gray;
    padding: 8px 15px 6px 15px;
    width: 100%;
}

textarea.form-input {
    font-weight: 400;
    font-size: 0.8rem;
    font-family: $baseFont;
    line-height: 1.3;
    color: $baseFontColor;
    resize: vertical;
    border: 1px solid $gray;
    padding: 8px 15px;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    height: 150px;
    min-height: 150px;
    max-height: 300px;
}

.form-select {
    font-weight: 400;
    font-size: 0.8rem;
    font-family: $baseFont;
    line-height: 1.3;
    color: $baseFontColor;
    width: 100%;
    padding: 2px 10px;
}

.form-option {
    font-weight: 400;
    font-size: 0.8rem;
    font-family: $baseFont;
    line-height: 1.3;
    color: $baseFontColor;
    padding: 2px 20px;
}


.form-cell-set {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem 1.5rem;

    &--2 {
        grid-template-columns: repeat(2, 1fr);

        @media screen and (max-width: $xs) {
            grid-template-columns: 1fr;
        }
    }

    &--3 {
        grid-template-columns: repeat(3, 1fr);

        @media screen and (max-width: $xs) {
            grid-template-columns: 1fr;
        }
    }
}

.form-cell {
    position: relative;
    text-align: left;

    &--span-2 {
        grid-column: span 2;

        @media screen and (max-width: $xs) {
            grid-column: span 1;
        }
    }

    &--span-3 {
        grid-column: span 3;

        @media screen and (max-width: $xs) {
            grid-column: span 1;
        }
    }
}

.form-field-hidden {
    opacity: 0;
    position: absolute;
    pointer-events: none;
    max-height: 0;
    max-width: 0;
}

/* CSS Checkbox / radio */

.form-check {
    position: relative;

    &__label {
        position: relative;
        padding-left: 2.1rem;
        line-height: 1.5;

        &:before, &:after {
            content: "";
            width: 1.5rem;
            height: 1.5rem;
            display: block;
            position: absolute;
            left: 0;
            top: min(50%, 1.3em);
            margin-top: -0.75rem;
        }

        &:before {
            border: 2px solid $gray;
            border-radius: 5px;
            background-color: transparent;
            transition: background-color 0.1s ease-in;
        }

        &:after {
            opacity: 0;
            transition: opacity 0.1s ease-in;
            background: url("../img/checkbox-checked.svg") center center
                        no-repeat;
            background-size: 70% 70%;
        }
    }

    &__input {
        position: absolute;
        opacity: 0;
        pointer-events: none;

        &[type="radio"], &[type="checkbox"] {
            &:checked ~ .form-check__label {
                &:before {
                    background-color: $gray;
                }

                &:after {
                    opacity: 1;
                }
            }
        }
    }
}
