.gform-theme--api,.gform-theme--foundation {
    --gf-color-primary: #CCCCCC;
    --gf-form-gap: 25px;
    --gf-field-gap: 12px;
    --gf-font-size-primary: 16px;
    --gf-label-width: 30%;
    --gf-label-req-gap: 6px;
    --gf-form-footer-margin-y-start: 24px;
    --gf-form-footer-gap: 8px;
    --gf-field-date-width: 168px;
    --gf-field-time-width: 110px;
    --gf-field-list-btns-gap: 8px;
    --gf-field-list-btns-width: calc(32px + var(--gf-field-list-btns-gap) + var(--gf-field-gap));
    --gf-field-pg-steps-gap: 8px 24px
}

/*Conditions*/
/*Fellow*/
#gform_8 fieldset {
    border: 1px solid #00000017;
    padding: var(--wp--preset--spacing--small);
    background: var(--wp--preset--color--grey);
    border-radius: var(--wp--custom--border--radius--small);
}

.gform_ajax_spinner {
    position: fixed; /* stays in place even when scrolling */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    width:100px;
}

/*File upload*/
.ginput_container_fileupload {border: 2px dashed var(--wp--preset--color--senary);background: #ecddba21;display: flex;flex-wrap: wrap;align-items: center;justify-content: center;flex-direction: column;padding: 25px;}
.ginput_container_fileupload ul {margin:0;}
.ginput_container_fileupload .button {margin:15px 0;}
.ginput_container_fileupload .gform_drop_area {display: flex;align-items: center;justify-content: center;flex-direction: column;}
.ginput_container_fileupload .gform_delete_file {margin-left: 5px;}

body .gform_wrapper .gform_validation_container {
    display: none
}

.gform_required_legend {
    display: none
}

.gform-theme p {
    margin: 0
}

.gform-grid-row {
    display: flex;
    gap: 25px;
}

.ginput_container_address {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--gf-form-gap);
}

.gform-grid-row > * {
    flex: 1;
}

.gf_clear {
    display: none;
}

.gform-theme br {
    display: none
}

.gfield_radio .gchoice {position: relative;min-height: 30px;display: flex;align-items: center;}

.gfield_label.gform-field-label {
    font-weight: 700
}

.gsection_title {
    border-bottom: 1px solid #00000012;
    padding: var(--wp--preset--spacing--small) 0;
    color: var(--wp--preset--color--primary);
    font-size: var(--wp--preset--font-size--large);
    margin-top: var(--wp--preset--spacing--small);
}

.gfield_checkbox>.gchoice {
    display: flex;
    gap: 30px;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center
}

.gfield_checkbox,.gfield_radio {
    display: flex;
    gap: 10px;
}

.ginput_container_checkbox .gfield_checkbox,.ginput_container_checkbox .gfield_radio {
    flex-direction: column;
}

.gform-field-label--type-sub {color: var(--wp--custom--color--neutral--600);font-size: 14px;}

.gfield_description {
    color: var(--gf-color-out-ctrl-dark-lighter)
}

.gfield_validation_message {
    color: #ff5555;
    position:relative;
    display: flex;
    align-items: center;
    font-size: 14px;
    gap: 5px;
}

::placeholder {
    color: #000
}

input:focus::placeholder,select:focus::placeholder,textarea:focus::placeholder,input:hover::placeholder,select:hover::placeholder,textarea:hover::placeholder {
    color: #000
}

input[type="checkbox"],input[type="radio"] {
    width: 30px;
    height: 30px;
    min-height: 100%;
    cursor: pointer;
    background: #e6e6e6;
    border: 0px solid #000000;
    border-radius: 20px 0 20px 20px;
}

input, select:not(.ui-datepicker select), textarea, input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="search"], select, textarea {
    border:none;
    border: 1px solid var(--wp--custom--color--neutral--400);
    color: var(--wp--preset--color--black);
    font-size: 14px;
    line-height: var(--wp--custom--line-height--medium);
    border-radius: var(--wp--custom--border--radius--small);
    width: 100%;
    height: auto;
    transition: .25s cubic-bezier(.4,0,.2,1);
}

input:focus-visible, input:focus-within, select:focus-visible, textarea:focus-visible, button:focus-visible {
    outline: 3px solid #276EF1;
    outline-offset: 2px
}

.form-group label input[type="checkbox"]:focus-within {outline-width: 2px;outline-color: var(--wp--preset--color--primary);}

.gf_page_steps {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-around;
    gap: var(--wp--preset--spacing--large);
    flex-wrap: wrap;
    margin-bottom: var(--wp--preset--spacing--large);
}

.gf_page_steps:after {
    content: '';
    position: absolute;
    top: calc(50% - 25px);
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--wp--custom--color--neutral--200);
}

.gf_step {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 10px;
    min-width: 100px;
    justify-content: flex-start;
}

.gf_step_label {
    font-weight: 600;
    font-size: 16px;
    max-width: 100px;
    text-align: center;
}

.gf_step_number {
    font-size: 22px;
    position: relative;
    display: flex;
    justify-content: center;
    width: 75px;
    height: 75px;
    color: var(--wp--custom--color--neutral--400);
    background: #f5f5f5;
    border: 1px solid var(--wp--custom--color--neutral--300);
    box-shadow: inset 0 0 0 6px #ffffff, 0 0 0 10px #ffffff;
    border-radius: 50%;
    z-index: 25;
    align-items: center;
}

.gf_step_active .gf_step_number {
    background: var(--wp--preset--color--primary);
    border: 1px solid var(--wp--preset--color--primary);
    color: white;
}

.gf_step_active .gf_step_label {
    color: var(--wp--preset--color--primary);
}

.ui-datepicker .ui-datepicker-title {
    margin: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

option:hover {
    background: var(--wp--preset--color--senary);
    /* color: white; */
    cursor: pointer;
}

option {
    border-radius: 3px;
    padding: 5px;
}

.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {font-size: 14px!important;border-radius: 4px;padding: 3px;margin: 0 1px!important;}

input[type=checkbox] {
    width: 25px;
    height: 25px;
    min-height: 100%
}

select:not(.ginput_container_multiselect select):not(.ui-datepicker select) {
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/></svg>');
    background-repeat: no-repeat;
    background-size: 20px;
    background-position-x: 98%;
    background-position-y: 18px;
}

textarea {
    width: 100%;
    resize: vertical
}

textarea {
    resize: vertical
}

textarea.small {
    height: 100px;
}

textarea.medium {
    height: 250px;
}
textarea.large {
    height: 350px;
}

input:focus,select:focus,
textarea:focus,
select:hover,textarea:hover {
    /* background-color: var(--wp--preset--color--senary); */
    color: #000000;
}

input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible {
    outline: 1px dashed #fdc41f;
    outline-offset: 2px
}

.gfield_radio .gchoice label {
}

.gfield_radio .gchoice label:after {content:'';position:absolute;top:0;left:0;width: 30px;height: 30px;background: #00000014;border: 1px solid #0000000a;border-radius: 20px 0 20px 20px;}

.gfield_radio .gchoice label:hover:after{
    background: #cccccc;
}

.gfield_radio .gchoice input:checked ~ label:after {
    background: var(--wp--preset--color--secondary);
    border: 1px solid #0000001c;
}


.gfield_radio .gchoice label:before,
.ginput_container_consent:before{
    box-sizing: unset;
    content: '';
    position: absolute;
    display: none;
}

.gfield_radio .gchoice input:checked ~ label:before,
.ginput_container_consent input:checked ~ label:before{
    display: block;
}

.gfield--choice-align-horizontal .ginput_container_checkbox .gfield_checkbox {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.gfield_radio .gchoice.selected {
    background: var(--wp--preset--color--quaternary)
}

.gfield_checkbox>.gchoice:focus-within label:after {
    outline: 2px solid #63bc46;
    outline-offset:2px
}

body:not(.woocommerce-page) input[type="checkbox"], 
body:not(.woocommerce-page) input[type="radio"] {
    z-index: -1;
    opacity: 0;
    height: 0;
    width: 0;
    margin: 0;
    padding: 0;
}

/*Save button*/
.gform_save_link {
    background: var(--wp--preset--color--secondary);
    color: #000;
}
.gform_save_link svg {filter: brightness(0);transition: all 0.3s ease;}
.gform_save_link:hover svg {filter: brightness(10);}

/*Signature*/
.gfield_signature_ui_container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

/* Shared checkbox/radio base — applies to both structures */
.gchoice label, .ginput_container_consent label, body:not(.woocommerce-page) label:has(input[type="checkbox"]), body:not(.woocommerce-page) label:has(input[type="radio"]) {
    cursor: pointer;
    padding-left: 32px;
    min-height: 25px;
    display: flex;
    position: relative;
    align-items: center;
}

/* Base box (unchecked state) */
body:not(.woocommerce-page) .gchoice label:after, 
body:not(.woocommerce-page) .ginput_container_consent label:after, 
body:not(.woocommerce-page) label:has(input[type="checkbox"]):after,
body:not(.woocommerce-page) label:has(input[type="radio"]):after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 25px;
    height: 25px;
    background: #00000014;
    border: 1px solid #0000000a;
    border-radius: 20px 0 20px 20px;
}

/* Hover state */
.gchoice label:hover:after,
.ginput_container_consent label:hover:after,
label:has(input[type="checkbox"]):hover:after,
label:has(input[type="radio"]):hover:after {
    background: #cccccc;
}

/* Checked state */
body:not(.woocommerce-page) .gchoice input:checked + label:after,
body:not(.woocommerce-page) .ginput_container_consent input:checked + label:after,
body:not(.woocommerce-page) label:has(input[type="checkbox"]:checked):after,
body:not(.woocommerce-page) label:has(input[type="radio"]:checked):after {
    background: var(--wp--preset--color--secondary);
    border: 1px solid #0000001c;
}

/* Tick (before pseudo-element) base – hidden by default */
.gchoice label:before,
.ginput_container_consent label:before,
label:has(input[type="checkbox"]):before,
label:has(input[type="radio"]):before {
    box-sizing: unset;
    content: '';
    position: absolute;
    display: none;
}

/* Tick appearance */
.gchoice label:before,
.ginput_container_consent label:before,
label:has(input[type="checkbox"]):before,
label:has(input[type="radio"]):before {
    left: 10px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    z-index: 25;
}

/* Show tick when checked */
.gchoice input:checked + label:before,
.ginput_container_consent input:checked + label:before,
label:has(input[type="checkbox"]:checked):before,
label:has(input[type="radio"]:checked):before {
    display: block;
}

/* Optional .gchoice selected background (if used externally) */
.gchoice.selected {
    background: var(--wp--preset--color--quaternary);
}


.gform-theme--foundation .gform_fields {
    display: grid;
    grid-template-columns: repeat(12,1fr);
    grid-gap: var(--gf-form-gap) 0;
    width: 100%
}

.gform-theme--foundation .gfield {
    grid-column: 1 / -1;
    min-width: 0
}

.gform-theme--foundation fieldset {
    border: none;
    display: block;
    margin: 0;
    padding: 0
}

.gform-theme--foundation .gform_footer,.gform-theme--foundation .gform_page_footer {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gf-form-footer-gap);
    margin-top: var(--gf-form-footer-margin-y-start);
    align-items: center;
    justify-content: center;
}

form button {
    background-color: var(--wp--preset--color--primary);
    border: 0;
    cursor: pointer;
}

form button:hover {background:var(--wp--preset--color--black);}

.gform_confirmation_message {
    text-align: center;
    margin: auto;
    max-width: var(--wp--custom--layout--small-content);
    background: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--white);
    border-radius: var(--wp--custom--border--radius--medium);
    padding: var(--wp--preset--spacing--large) var(--wp--preset--spacing--small);
}

.gform_validation_errors {
    background: #ff5555;
    color: #FFF;
    padding: var(--wp--preset--spacing--medium);
    margin-bottom: var(--wp--preset--spacing--medium);
    border-radius: var(--wp--custom--border--radius--medium);
}

.gform_validation_errors h2 {
    font-size: var(--wp--preset--font-size--medium);
}

.gform-theme--foundation .hidden_label .gfield_label,.gform-theme--foundation .hidden_sub_label,.gform-theme--foundation .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(1px,1px,1px,1px);
    border: 0
}

.ginput_container_image_choice .gfield_radio {
    display: flex;
    flex-wrap: wrap;
    gap: 15px
}

.ginput_container_image_choice .gfield_radio>div {
    flex: 1 1 150px;
    text-align: center;
    background: #ffffff21;
    border: 1px dashed #FFF;
    padding: var(--wp--custom--layout--small-padding);
    border-radius: var(--wp--custom--border-radius--medium);
    cursor: pointer;
    position: relative;
    transition: all .25s cubic-bezier(.4,0,.2,1)
}

.ginput_container_consent {
    color: inherit;
    display: flex;
    gap: 30px;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
}

.ginput_container_image_choice .gfield_radio>div input {
    border: 0!important;
    clip: rect(0 0 0 0)!important;
    height: 1px!important;
    margin: -1px!important;
    overflow: hidden!important;
    padding: 0!important;
    position: absolute!important;
    width: 1px!important
}

.gform-theme--framework .ginput_container_image_choice .gfield_radio>div img {
    margin: auto;
    max-width: 90px;
    width: 100%;
    height: 90px;
    object-fit: none
}

.gform-theme--framework .ginput_container_image_choice .gfield_radio>.gchoice.selected,.gform-theme--framework .ginput_container_image_choice .gfield_radio>.gchoice:hover {
    background: #FFF
}

#gform_14 .gchoice:after {
    content: '';
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='15' height='12' viewBox='0 0 15 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.782 11.451c.294.33.72.549 1.146.549.426 0 .851-.183 1.146-.549l7.435-8.305a1.962 1.962 0 0 0 0-2.597c-.655-.732-1.67-.732-2.326 0L5.928 7.573 2.817 4.098c-.655-.732-1.67-.732-2.326 0a1.962 1.962 0 0 0 0 2.597l4.29 4.756z' fill='%23fff'/%3E%3C/svg%3E");
    position: absolute;
    pointer-events: none;
    display: block;
    right: -15px;
    top: -15px;
    width: 40px;
    height: 40px;
    overflow: hidden;
    border-radius: 50%;
    background-color: var(--wp--preset--color--septenary);
    background-position: 50%;
    background-size: 15px;
    background-repeat: no-repeat;
    z-index: 3;
    backface-visibility: hidden;
    will-change: transform;
    transition: all .25s cubic-bezier(.4,0,.2,1);
    transform: translate(-50%,50%) scale(.5);
    opacity: 0
}

#gform_14 .gchoice.selected:after {
    transform: translate(-50%,50%);
    opacity: 1
}

@media (max-width: 640px) {
    
    .gf_step_number {
        width: 45px;
        height: 45px;
        font-size: 18px;
        box-shadow: inset 0 0 0 3px #ffffff, 0 0 0 10px #ffffff;
    }
    
    .gf_step_label {
        font-size: 14px;
        font-weight: 500;
    }
    
    .gf_step {
        gap: 5px;
    }
    .gf_page_steps {
    gap: var(--wp--preset--spacing--small);
}
    .gf_page_steps:after {display:none;}
}

@media (min-width: 640px) {

    .gform-theme--foundation .gform_fields {
        column-gap:var(--gf-form-gap)
    }

    .gform-theme--foundation .gfield--width-full {
        grid-column: span 12
    }

    .gform-theme--foundation .gfield--width-eleven-twelfths {
        grid-column: span 11
    }

    .gform-theme--foundation .gfield--width-five-sixths {
        grid-column: span 10
    }

    .gform-theme--foundation .gfield--width-three-quarter {
        grid-column: span 9
    }

    .gform-theme--foundation .gfield--width-two-thirds {
        grid-column: span 8
    }

    .gform-theme--foundation .gfield--width-seven-twelfths {
        grid-column: span 7
    }

    .gform-theme--foundation .gfield--width-half {
        grid-column: span 6
    }

    .gform-theme--foundation .gfield--width-five-twelfths {
        grid-column: span 5
    }

    .gform-theme--foundation .gfield--width-third {
        grid-column: span 4
    }

    .gform-theme--foundation .gfield--width-quarter {
        grid-column: span 3
    }

    .gform-theme--foundation .gfield--width-one-sixth {
        grid-column: span 2
    }

    .gform-theme--foundation .gfield--width-one-twelfth {
        grid-column: span 1
    }

    .gform-theme--foundation .left_label .gfield>.ginput_container,.gform-theme--foundation .right_label .gfield>.ginput_container {
        float: right;
        width: calc(100% - var(--gf-label-width))
    }
}

