.gform-theme--framework {
    width: 100%;

    .gfield_list_group_item::before,
    .gform-field-label:where(:not([class*=gform-field-label--type-])) {
        font-weight: 400;
    }

    .ginput_complex {
        .ginput_container {
            flex: 1;
        }
    }

    .gfield_error {
        .validation_message {
            color: var(--wp--preset--color--primary) !important;
        }
    }

    .gform_validation_errors {
        background-color: var(--wp--preset--color--primary);
        color: white;

        .gform-icon {
            display: none !important;
        }

        h2, ul, ul li, p {
            color: white !important;
            padding-left: 0 !important;
        }
    }

    .ginput_container {
        &.ginput_complex {
        }
    }

    .gform_fields {
        column-gap: 20px;
        row-gap: 0;
    }

    .gfield_error {
        label {
            font-size: 26px !important;
        }
    }

    .gfield {
        margin-bottom: 30px;

        input,
        select,
        textarea {
            width: 100%;
            height: auto;
            padding: 5px 0 8px 0 !important;
            box-shadow: none;
            border: 0px;
            border-bottom: 1px solid var(--wp--preset--color--black);
            font-size: 20px !important;
            background-color: transparent;

            &[aria-invalid="true"] {
                border-bottom: 1px solid var(--wp--preset--color--primary) !important;
            }

            &::placeholder {
            }
        }

        select {
            background-color: var(--wp--preset--color--black) !important;

            option {
                background-color: var(--wp--preset--color--black) !important;
                border: 0 !important;
                margin: 0 !important;
            }
        }

        textarea {
            height: 60px !important;
            min-block-size: 1px !important;
        }
    }

    .gform_drop_area.gform-theme-field-control {
        button {
            background-color: var(--wp--preset--color--primary) !important;
            border-radius: 20px !important;
            color: var(--wp--preset--color--white) !important;
            font-size: var(--wp--preset--font-size--p) !important;
            line-height: 1 !important;
            padding-top: 10px !important;
            padding-right: 18px !important;
            padding-bottom: 10px !important;
            padding-left: 18px !important;
            transition: all 0.25s !important;

            &:hover {
                background-color: var(--wp--preset--color--white) !important;
                color: black !important;
                border: 1px solid var(--wp--preset--color--white)  !important;
            }
        }
        
    }

    .gform_footer {
        margin-block-start: 15px;

        input[type="submit"] {
            background-color: var(--wp--preset--color--primary) !important;
            border-radius: 20px !important;
            color: var(--wp--preset--color--white) !important;
            font-size: var(--wp--preset--font-size--p) !important;
            line-height: 1 !important;
            padding-top: 10px !important;
            padding-right: 18px !important;
            padding-bottom: 10px !important;
            padding-left: 18px !important;
            transition: all 0.25s !important;

            &:hover {
                background-color: var(--wp--preset--color--black) !important;
                color: white !important;
                border: 1px solid var(--wp--preset--color--black)  !important;
            }
        }
    }
}

.ui-datepicker {
    background-color: white !important;
}

.has-black-background-color {
    .gform-theme--framework {
        .gfield {
            input,
            select,
            textarea {
                color: white !important;
                border-bottom: 1px solid var(--wp--preset--color--white);
            }
        }

        .gform_footer {
            input[type="submit"] {
                &:hover {
                    background-color: transparent !important;
                    color: white !important;
                    border: 1px solid var(--wp--preset--color--white)  !important;
                }
            }
        }
    }
}

@media (max-width: 1024px) {
    .gform_wrapper {
        width: 100%;
    }

    .gform-theme--framework {
        .gfield {
            input,
            select,
            textarea {
                font-size: 15px !important;
            }
        }
    }
}