/*********************************************
 * Plugin Gravity Form
 * Note: default GF CSS must be disabled.
**********************************************/
.gform_wrapper {
    /* Layout */
    --form-gap-h:8px;
    --form-gap-v:8px;
    display:flex;
    flex-direction:column;
}
.gform_wrapper form {position:relative;}

.vii-vc-gravity-forms {padding:clamp(20px, 5vw, 40px);}

/*********************
 * Heading
**********************/
/* Move the heading on above validation */
.gform_heading {
    order:-1;
}

/*********************
 * Body, Footer
**********************/
/* Field HTML */
.gform_fields p {margin-bottom:var(--vii-spacing-heading);}

/* Ajax loading spinner */
.gform_ajax_spinner {display:none;}

/* Clear legend position */
.gfield legend {float:left; width:100%;}

/* Permalink */
.gfield a {--gfield-a-color:var(--vii-color-text);--gfield-a-color-hover:var(--vii-color-orange);
    text-decoration:underline; color:var(--gfield-a-color); font-weight:600;}
.gfield a:hover,
.gfield a:focus {text-decoration:underline; color:var(--gfield-a-color-hover);}
.gfield a:focus-visible {
    outline:2px solid var(--vii-color-primary); border-radius:3px; transition:none;
}
.txt_color_white .gfield a {--gfield-a-color:var(--vii-color-white)}
.txt_color_white.bg-tertiary .gfield a {--gfield-a-color:var(--vii-color-text);}

/*********************************************
 * Submit button
**********************************************/
/* full width */
.gform-button--width-full {width:100%;}

/* button position: inline */
@media only screen and (min-width:768px) {
    .gfield.gfield--type-submit[data-field-position="inline"] {text-align:right;}
}

/* button position: end of the form */
.gform_footer button {margin-top:var(--form-gap-v);}

/*********************
 * Grid, columns
**********************/
/* Field Columns */
.gform_fields, .ginput_container.ginput_complex {
    --field-col:1;
    display:flex; flex-wrap:wrap; gap:var(--form-gap-v) var(--form-gap-h);
}
.ginput_container.ginput_complex {width:100%;}

.gfield, .ginput_container.ginput_complex > span {
    width:calc((100% - var(--form-gap-h) * (var(--field-col) - 1)) / var(--field-col));
    padding:0; margin:0; border:none;
    display:block;
}
.gfield--type-consent {margin-top:8px;}
.gform-footer {margin-top:24px;}

@media only screen and (min-width:768px) {
    /* full width fields: clear leftover gap */
    .gfield:not([class*="gfield--width-"]),
    .ginput_container.ginput_complex > span.ginput_full,
    .gfield.gfield--width-full {width:100%;}

    .gfield.gfield--width-third {--field-col:3;}
    .gfield.gfield--width-quarter {--field-col:4;}

    .ginput_container.ginput_complex > span:not([class*="ginput_"]),
    .ginput_container.ginput_complex > span.ginput_left,
    .ginput_container.ginput_complex > span.ginput_right,
    .gfield.gfield--width-half {--field-col:2;}

    .gfield.gfield--width-half:nth-child(2) {margin-top:0;}
}

/*********************
 * Misc
**********************/
/* Field validation (hidden by default) */
p.gform_required_legend,
.gfield_repeater_cell .gfield_label,
.hidden_sub_label,
.gfield.gform_validation_container {display:none;}

/* Validation message */
.gfield_validation_message {display:none;}

/* Validation error */
.gform_validation_errors {color:var(--form-color-error); margin-bottom:var(--form-gap-h);}

/* Confirmation (after submit form) */
.gform_confirmation_wrapper {margin-bottom:var(--vii-spacing-heading);}
.easy-popup .gform_confirmation_wrapper {text-align:center;}

/* Field Label */
.gfield.hidden_label .gfield_label {display:none;}
.gfield_required {color:var(--form-color-error); margin-left:2px; display:none;}

/* Description */
.gfield_description {font-size:13px; line-height:1.1; padding-top:0.5em;}

/* Hidden field */
.gfield_visibility_hidden, .gform_hidden {display:none;}


/*********************************************
 * Field: Easy select
**********************************************/
.gform_wrapper .easy-select {
    --es-height:var(--form-field-height);
    --es-radius:var(--form-radius);
    max-width:unset; width:100%;
}
.gform_wrapper .es-current {border:none !important; border-radius:0;}
.gform_wrapper .es-current .es-option {display:flex;}
.gform_wrapper .ginput_container_select {display:flex;}

/* has not select */
.gform_wrapper .es-current .es-option[data-es-option=""] {
    color:var(--form-placeholder-color);
}

/* Layout with user enhanced interface */
.gform_wrapper .gfield.enhanced-ui-select .es-current span {overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}

/*********************************************
 * Field: Easy date select
**********************************************/
.ginput_container_date .easy-select {min-width:113px;}
.ginput_container_date .es-dropdown .es-option {min-width:100%;}

/*********************************************
 * Field: Repeater
**********************************************/
fieldset.gfield_repeater {margin:0; border:none; padding:0;}

.gfield_repeater_item:not(:last-child) {margin-bottom:var(--form-gap-v);}
.gfield_repeater_item:not(:last-child) .gfield_repeater_buttons {display:none;}

.gfield_repeater_buttons {margin-top:var(--vii-spacing-10); display:flex; gap:15px;}
.gfield_repeater_buttons button {
    background:transparent;color:var(--vii-color-text); font-size:14px;text-decoration:underline;
}
.gfield_repeater_buttons button:hover {color:var(--vii-color-primary);}