/* General */

.gform_body {
    --gf-ctrl-accent-color: var(--wp--preset--color--accent);
    --gf-ctrl-choice-check-color: var(--wp--preset--color--primary);
    --gf-ctrl-border-color-focus: var(--wp--preset--color--primary);
    --gf-ctrl-shadow: none;
    --gf-ctrl-btn-bg-color-ctrl: var(--wp--preset--color--primary);
    --gf-ctrl-btn-bg-color-primary: var(--wp--preset--color--primary);
    --gf-ctrl-btn-bg-color-focus-ctrl: var(--wp--preset--color--accent-dark);
    --gf-ctrl-btn-bg-color-focus-primary: var(--wp--preset--color--accent-dark);
    --gf-ctrl-btn-bg-color-hover-ctrl: var(--wp--preset--color--accent-dark);
    --gf-ctrl-btn-bg-color-hover-primary: var(--wp--preset--color--accent-dark);
    --gf-ctrl-file-btn-bg-color: var(--wp--preset--color--primary);
    --gf-ctrl-file-btn-bg-color-hover: var(--gf-ctrl-btn-bg-color-hover-primary);
    --gf-ctrl-file-btn-bg-color-focus: var(--gf-ctrl-btn-bg-color-hover-primary);
    --gf-ctrl-file-btn-color: var(--gf-ctrl-btn-color-ctrl);
    --gf-ctrl-file-btn-color-focus: var(--gf-ctrl-btn-color-ctrl);
    --gf-ctrl-file-btn-color-hover: var(--gf-ctrl-btn-color-ctrl);
    --gf-ctrl-file-zone-icon-color: var(--wp--preset--color--primary);
    --gf-form-gap-y: 1.5rem;
}

.gform_button {
    transition: background-color 1.25s ease-out !important;
}

/* Confirmation message */

.gform_confirmation_message {
    background-color: var(--wp--preset--color--blue-light);
    border-radius: var(--wp--preset--spacing--30);
    color: var(--wp--preset--color--contrast);
    font-size: var(--wp--preset--font-size--medium);
    padding: var(--wp--preset--spacing--40);
}

.gform_confirmation_wrapper,
.gform_confirmation_message {
    scroll-margin-top: var(--header-height, 4rem);
}

/* Error messages */

.gform_validation_errors {
    animation: gform-error-fade-in 0.75s ease-out;
    position: sticky;
    top: var(--header-height, 2rem);
    z-index: 1;
}

.gform_wrapper .gform_validation_errors {
    background-color: var(--wp--preset--color--red);
}

.gform_wrapper .gform_validation_errors .gform_submission_error {
    color: var(--wp--preset--color--base);
}

.gform_wrapper .gform_validation_errors .gform_submission_error .gform-icon {
    border-color: currentcolor;
    color: var(--wp--preset--color--base);
}

@keyframes gform-error-fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* Resources Checkout */

.gfield.list-resources .textarea {
    background-color: var(--wp--preset--color--primary);
    border-width: 0;
    color: var(--wp--preset--color--base);
    font-size: var(--wp--preset--font-size--medium-large);
    scrollbar-color: var(--wp--preset--color--base) transparent;
    scrollbar-width: thin;
}

.list-resources-footer {
    display: block !important;
    margin-block-start: 0.5em !important;
    padding-block: 0.5em !important;
    text-align: end !important;
    width: 100%;
}

.list-resources-return-link {
    background-color: var(--wp--preset--color--grey-lighter);
    border-radius: 0.5em;
    display: inline-block;
    padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}

/* Resources Cart */

.gfield.resources-cart {
    border-top: 1px solid var(--wp--preset--color--grey);
    margin-block-start: 0.5rem;
    padding-block: 1rem;

    & > .gfield_repeater_wrapper {
        border-left-width: 0;
        padding: 0;
    }

    & .gfield_repeater_item {
        --gf-field-repeater-gap-y: 1em;

        align-items: flex-end;
        display: flex;
        gap: 1em;

        & > .gfield_repeater_cell {
            flex-grow: 1;
        }

        & > .gfield_repeater_buttons > .add_repeater_item,
        & > .gfield_repeater_buttons > .remove_repeater_item {
            padding-block: 0.6875rem !important;
        }

        &::before {
            content: none !important;
        }
    }

    & .gfield_description {
        display: none;
    }
}

/* Utilities */

.gform_body .gform_fields.left_label .gfield:not(.gfield--type-submit) {
    align-items: center;
}

.gf_required_inline .left_label .gform-field-label {
    flex-direction: row !important;
    font-weight: 400;
}

.gf_required_inherit_color_wrapper .gform_required_legend .gfield_required,
.gf_required_inherit_color .gform-field-label .gfield_required {
    color: inherit !important;
}

.gf_legend_footer .gfield--type-submit {
    text-align: end;
}

.gf_legend_footer_wrapper {
    position: relative;
}

.gf_legend_footer_wrapper .gform_required_legend {
    text-transform: capitalize;
}

.gform_body input::placeholder,
.gform_body textarea::placeholder {
    color: var(--wp--preset--color--grey);
}

.gform-theme--framework .gf_progressbar .gf_progressbar_percentage {
    background-color: var(--wp--preset--color--primary);
}

@media screen and (min-width: 640px) {
    .gf_legend_footer_wrapper .gform_required_legend {
        bottom: 0;
        margin: 0;
        position: absolute;
    }

    .gf_legend_footer_wrapper .gform_footer {
        min-height: 1.75em;
    }

    .gform_body .gform_fields.left_label {
        align-items: flex-start;
    }

    .gform_body .gform_fields.left_label .gfield:not(.gfield--type-submit) {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .gform_body .gform_fields.left_label .gfield .gfield_description {
        width: 100%;
    }

    .gf_button_size_medium .gform_button {
        max-width: 50%;
    }

    .gf_button_right .gform_body .gfield--input-type-textarea .gfield_label {
        align-self: flex-start;
    }

    .gf_button_right .gform_footer.left_label {
        justify-content: flex-end;
    }

    .gf_footer_gap .gform_footer.left_label {
        margin-block-start: var(--wp--preset--spacing--40);
    }
}
