.footer-contact-form-widget {

    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    &::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.80) 0%, rgba(0, 0, 0, 0.00) 32.03%);
    }

    & > .container-boxed {
        position: relative;
        z-index: 1;
    }

    & .footer-contact-form-container {
        width: 100%;
    }

    & .contact-info-column {
        width: 100%;
    }

    & .contact-form-column {
        width: 100%;
        background: rgba(24, 24, 24, 0.10);
        -webkit-backdrop-filter: blur(40px);
        backdrop-filter: blur(40px);
    }

    @media (min-width: 992px) {
        & .contact-info-column {
            flex: 0 0 421px;
            max-width: 421px;
        }

        & .contact-form-column {
            flex: 1 1 auto;
            max-width: none;
        }
    }

    & .gform_wrapper {
        --field-gap: .75rem; /* 12px */

        & form {
            margin: 0;
        }

        & .gform_fields {
            row-gap: var(--field-gap);
        }

        & .gfield {
            margin: 0;
        }

        & .gfield_label {
            font-family: var(--ff-heading);
            font-size: 14px;
            font-weight: 500;
            line-height: 24px;
            color: var(--Neutral-16);
            margin-bottom: .5rem;
        }

        & input[type=text],
        & input[type=email],
        & input[type=number],
        & input[type=tel],
        & input[type=url],
        & input[type=password],
        & textarea {
            width: 100%;
            border: 1px solid var(--Neutral-16);
            border-radius: var(--map-rd-corner);
            background: transparent;
            color: var(--Neutral-8);
            font-family: var(--ff-heading);
            font-size: 14px;
            font-weight: 500;
            line-height: 24px;
            padding: 12px 20px;
            transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
        }

        & textarea {
            min-height: 160px;
            resize: vertical;
        }

        & ::placeholder {
            color: var(--Neutral-16);
            opacity: 1;
        }

        & input[type=text]:hover,
        & input[type=email]:hover,
        & input[type=number]:hover,
        & input[type=tel]:hover,
        & input[type=url]:hover,
        & input[type=password]:hover,
        & textarea:hover {
            border-color: var(--Neutral-32);
        }

        & input[type=text]:focus,
        & input[type=email]:focus,
        & input[type=number]:focus,
        & input[type=tel]:focus,
        & input[type=url]:focus,
        & input[type=password]:focus,
        & textarea:focus {
            outline: none;
            border-color: var(--Neutral-8);
            box-shadow: 0 0 0 2px rgba(93, 219, 211, 0.25);
        }

        & .gfield_checkbox li,
        & .gfield_radio li {
            margin-bottom: .5rem;
            display: flex;
            align-items: center;
            gap: 4px;
        }

        & input[type=checkbox] {
            appearance: none;
            -webkit-appearance: none;
            width: 24px;
            height: 24px;
            padding: 2px;
            margin: 0;
            cursor: pointer;
            position: relative;
            flex-shrink: 0;
        }

        & input[type=checkbox]::before {
            content: "";
            display: block;
            width: 20px;
            height: 20px;
            border: 1px solid var(--Neutral-16);
            border-radius: 4px !important;
            background: transparent;
            transition: border-color .2s ease, background-color .2s ease;
        }

        & input[type=checkbox]:hover::before {
            border-color: var(--Neutral-32);
        }

        & input[type=checkbox]:checked::before {
            border-color: var(--Neutral-8);
            background-color: var(--Neutral-8);
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M10 3L4.5 8.5L2 6' stroke='%23181818' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: center;
        }

        & input[type=checkbox]:focus::before {
            outline: none;
            border-color: var(--Neutral-8);
            box-shadow: 0 0 0 2px rgba(93, 219, 211, 0.25);
        }

        & .gchoice label {
            color: var(--Neutral-16);
            font-family: var(--ff-heading);
            font-size: 11px;
            font-weight: 400;
            line-height: 16px;
            cursor: pointer;
            margin: 0;
            padding-top: 2px; /* Align with checkbox */
        }

        & .gfield_error input,
        & .gfield_error textarea {
            border-color: var(--highlight-viking);
        }

        & .gform_footer,
        & .gform_page_footer {
            padding-top: var(--u-space-3);

        }
    }
}

/* Responsive - Form footer spacing adjustments */
@media (max-width: 768px) {
    .footer-contact-form-widget .gform_wrapper .gform_footer,
    .footer-contact-form-widget .gform_wrapper .gform_page_footer {
        padding-top: var(--u-space-2);
    }
}


.charleft.ginput_counter.gfield_description {
    display: none;
}

.ginput_container_consent {
    display: flex;
    align-items: center;
    gap: 4px;
}
.gform-button {
    cursor: pointer;
}