.gform_wrapper {
    background: #FFF;
    border: 1px solid #E1E4ED;
    max-width: 667px;
    margin-top: 64px;
    margin-bottom: 64px;
    border-radius: 8px;
    padding: 32px;
}

.gform_footer {
    margin-top: 18px;
}

.gform_fields {
    flex-wrap: wrap;
    --custom-theme-flex-gap: 32px;
}
.gfield {
    --custom-theme-flex-span: 12;
}
.gfield--width-five-twelfths {
    --custom-theme-flex-span: 5;
}
.gfield--width-half {
    --custom-theme-flex-span: 6;
}
.gfield--width-seven-twelfths {
    --custom-theme-flex-span: 7;
}
.gfield--width-two-thirds {
    --custom-theme-flex-span: 8;
}

.gfield--width-third {
    --custom-theme-flex-span: 4;
}
.ginput_complex .ginput_left,
.ginput_complex .ginput_right {
    --custom-theme-flex-span: 6;
}
.gform_hidden {
    display: none!important;
}

.gf_clear {
    display: none;
}

.gfield_required {
    color: var(--wp--preset--color--golden-600);
}
.gfield_label,
.gform-field-label--type-sub {
    font-size: 0.875rem;
    line-height: 1.3;
    color: #0D0F1C;
    margin-bottom: 6px;
    display: block;
}
.hidden_label > .gfield_label {
    display: none;
}

.form input:where(:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"])),
.form select,
.form textarea,
.form .choices .choices__inner,
.form .js-fake-select {
    border: 1px solid #E0E0E0;
    border-radius: 8px;
    background: #FFF;
    color: #0D0F1C;
    height: 41px;
    padding: 10px 14px;
    font-size: 1rem;
    line-height: 1.3;
    width: 100%;
    transition: border-color 0.3s ease-out;
}
.form input:where(:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"])):focus,
.form select:focus,
.form textarea:focus,
.form .choices.is-focused .choices__inner,
.form select:focus + .js-fake-select {
    outline: 0;
    border-color: var(--wp--preset--color--golden);
}
.form input[aria-invalid="true"]:where(:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"])),
.form select[aria-invalid="true"],
.form textarea[aria-invalid="true"],
.form .choices:has(select[aria-invalid="true"]) .choices__inner,
.form select[aria-invalid="true"] + .js-fake-select{
    border-color: #E97F7F;
}
.form input:where(:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]))::placeholder,
.form textarea::placeholder,
.form .js-fake-select.is-placeholder {
    opacity: 1;
    color: var(--wp--preset--color--grey-main);
}

.form input[type="date"] {
    appearance: initial; /* Fix iOS bug... */
}

.form textarea {
    resize: none;
    height: 140px;
}
.form select {
    max-width: 100%;
}
.form .js-fake-select {
    margin-top: -41px;
    padding-right: 48px;
    position: relative;
    pointer-events: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.form .js-fake-select::after {
    content: '';
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -10px;
    width: 20px;
    height: 20px;
    background: url('data:image/svg+xml;utf8,<svg class="icon-chevron" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.856 6.569 9.9 14.614l8.044-8.045-1.182-1.183L9.9 12.25 3.038 5.386z" fill="%2330396c"/></svg>');
}

.form .gfield:has(.choices.is-focused) {
    position: relative;
    z-index: 10;
}
.form .choices::after {
    display: none;
}
.form .choices__inner {
    display: flex;
    align-items: center;
    min-height: 0;
}
.form .choices__list--dropdown,
.form .choices__list[aria-expanded] {
    border-radius: 8px;
    border: 1px solid #F6F6F6;
    background: #FFF;
    top: calc(100% + 8px);
    bottom: auto;
    width: 100%;
    word-break: initial;
    box-shadow: 0 12px 16px -4px rgba(10, 13, 18, 0.08), 0px 4px 6px -2px rgba(10, 13, 18, 0.03);
}

.form .choices__list--single {
    padding: 0;
}
.form .choices__input {
    background: none;
    color: inherit;
    font-size: inherit;
    margin: 0;
    padding: 0;
    line-height: 1;
}
.form .choices__input::placeholder {
    opacity: 1;
    color: inherit;
}
.form .choices__list--dropdown .choices__list,
.form .choices__list[aria-expanded] .choices__list {
    max-height: 280px;
}
.form .choices__list--dropdown .choices__item,
.form .choices__list[aria-expanded] .choices__item,
.form .choices__list--dropdown .choices__item--selectable[data-select-text] {
    font-size: 1rem;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    color: #0D0F1C;
}
.form .choices .icon-chevron {
    flex: 0 0 20px;
    transition: transform 0.3s ease-out;
    transform-origin: center center;
}
.form .choices.is-open .icon-chevron {
    transform: rotate(180deg);
}
.form .choices__list--dropdown .choices__input,
.form .choices__list--dropdown [data-value=""].choices__item:first-child {
    display: none!important;
}
.form .choices__list[aria-expanded] .choices__item--selectable[data-select-text] {
    padding-right: 21px;
}
.form .choices__list--dropdown .choices__item--selectable.is-highlighted,
.form .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
    background-color: #F6F6F6;
    padding-right: 14px!important;
}
.form .choices__list--dropdown .choices__item--selectable.is-highlighted::after,
.form .choices__list[aria-expanded] .choices__item--selectable.is-highlighted::after {
    display: none!important;
}
.form .choices__item.is-selected {
    background: #F6F6F6 url('data:image/svg+xml;utf8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.667 5 7.5 14.167 3.333 10" stroke="%23bfaa90" stroke-width="1.667" stroke-linecap="round" stroke-linejoin="round"/></svg>') right 14px top 50% no-repeat;
}

.form .legal-text {
    font-size: 0.75rem;
    line-height: 1.3;
    color: #0D0F1C;
    margin-top: -8px;
}
.form .required-fields-notice {
    font-size: 0.875rem;
    line-height: 1.3;
    color: var(--wp--preset--color--golden-600);
    margin-top: -8px;
}

.gfield input[type="checkbox"],
.gfield input[type="radio"] {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

fieldset.gfield--type-consent,
fieldset.gfield--type-email,
fieldset.gfield--type-password {
    padding: 0;
    border: 0;
    margin: 0;
}
.gfield_consent_label,
.gfield_checkbox label {
    position: relative;
    display: block;
    padding-left: 24px;
    color: #0D0F1C;
    font-size: 0.75rem;
    line-height: 1.3;
}
.gfield_consent_label a,
.gfield_checkbox label a {
    color: inherit;
}
.gfield_consent_label::before,
.gfield_checkbox label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 1px;
    background: #FFF center center no-repeat;
    width: 16px;
    height: 16px;
    border: 1px solid #E1E1DF;
    border-radius: 4px;
    display: flex;
    align-items: center;
}
.gfield_consent_label .gfield_required {
    display: none;
}
.gfield--type-consent input:checked + .gfield_consent_label::before,
.gfield_checkbox  input:checked + label::before{
    border-color: var(--wp--preset--color--golden-600);
    background-color: var(--wp--preset--color--golden-100);
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m12 5-5.5 5.5L4 8" fill="none" stroke="%23bfaa90" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.67"/></svg>');
}


.gfield_radio {
    display: flex;
}
.gfield_radio > div {
    margin-right: 20px;
    position: relative;
}
.gfield_radio label {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    max-width: none;
}
.gfield_radio label:before {
    content: '';
    background: #FFF;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--wp--preset--color--golden-500);
    padding: 4px;
    background-clip: padding-box;
}
.gfield_radio input:checked + label:before {
    background: var(--wp--preset--color--golden-500);
}

.custom-theme-toggle-field {
    border: 0;
    padding: 0;
}
.custom-theme-toggle-field .gform-field-label {
    padding-left: 44px;
}
.custom-theme-toggle-field .gform-field-label::before {
    border: 0;
    background: #F5F5F5;
    height: 20px;
    width: 36px;
    border-radius: 12px;
    transition: background 0.3s ease-out;
    cursor: pointer;
    position: absolute;
    top: 0;
    left: 0;
}
.custom-theme-toggle-field .gform-field-label::after {
    content: '';
    position: absolute;
    left: 2px;
    top: 2px;
    background: #FFF;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(10, 13, 18, 0.1), 0 1px 2px rgba(10, 13, 18, 0.06);
    transition: left 0.2s ease-out;
}
.custom-theme-toggle-field input:checked + .gform-field-label::before {
    background: var(--wp--preset--color--golden-500);
}
.custom-theme-toggle-field input:checked + .gform-field-label::after {
    left: 18px;
}
.custom-theme-toggle-field input:checked + .gform-field-label:hover::before {
    background: var(--wp--preset--color--golden-600);
}

.custom-theme-toggle-field .gform-field-label:hover::before {
    background: #E9EAEB;
}

.gform_button.wp-block-button__link {
    flex-direction: row-reverse;
    margin-left: auto;
    display: flex;
}
.gform_button.wp-block-button__link:disabled {
    --custom-theme-button-bg-color: #B8BCD4;
    --custom-theme-button-bg-color-alt: #B8BCD4;
    --custom-theme-button-border-color: #B8BCD4;
    --custom-theme-button-border-color-alt: #B8BCD4;
    --custom-theme-button-text-color: #FFF;
    --custom-theme-button-text-color-alt: #FFF;
    cursor: default;
}
.gform_validation_errors {
    border: 0;
    outline: 0;
}
.gfield_validation_message {
    font-size: 0.875rem;
    line-height: 1.3;
    margin-top: 6px;
    color: #BA4E4E;
}
.gform_confirmation_message {
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 1.3;
}
.gform_submission_error {
    font-size: 1.125rem;
    font-weight: 500;
    color: #BA4E4E;
    margin-bottom: 32px;
    margin-top: 0;
}

.gfield--type-honeypot {
    display: none !important;
    left: -9000px;
    position: absolute !important;
}


.gfield--type-fileupload {
    position: relative;
}
.gfield--type-fileupload + .gfield--type-fileupload {
    margin-top: -16px;
}
.gfield--type-fileupload .gfield_label {
    min-height: 24px;
    padding-left: 28px;
    background: url('/wp-json/custom-theme/v1/svg/file/golden.svg') no-repeat left top;

    font-size: 1rem;
    line-height: 1.3;
    font-weight: 600;
    color: #0D0F1C;
}
.gfield--type-fileupload:has(input[type="file"]:not([multiple])) ~ .gfield_label {}
.gfield--type-fileupload input[type="file"]:not([multiple]) {
    position: absolute;
    opacity: 0;
    top: 0;
    left: 0;
    cursor: pointer;
}
.gform_drop_area {
    display: none;
}
.gform_fileupload_rules {
    font-size: 0.75rem;
    line-height: 1.3;
    color: #0D0F1C;
}
.ginput_preview_list {
    margin-top: 8px;
}
.ginput_preview {
    display: flex;
    gap: 8px;
    font-size: 0.875rem;
    line-height: 1.3;
    font-weight: 500;
    color: #0D0F1C;
}
.validation_message--hidden-on-empty {
    display: none;
}

.gfield--type-fileupload .gfield_label[data-files]::after {
    content: " — " attr(data-files);
    font-size: 0.875rem;
    font-weight: 500;
}


@media screen and (max-width: 767px) {
    .gform_wrapper {
        padding: 24px;
        margin-bottom: 0;
    }

    .gfield--width-half,
    .gfield--width-seven-twelfths,
    .gfield--width-two-thirds,
    .gfield--width-third,
    .gfield--width-five-twelfths,
    .ginput_complex .ginput_left,
    .ginput_complex .ginput_right {
        --custom-theme-flex-span: 12;
    }
    .gform_button.wp-block-button__link {
        margin-left: 0;
    }
}

/* 3.1 Forms / Filters */
.filters label {
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 500;
}
.filters__search-terms {
    position: relative;
}
.filters__search-terms .icon {
    pointer-events: none;
    position: absolute;
    top: 50%;
    margin-top: -12px;
    right: 20px;
}
.filters__per-year {
    display: flex;
    align-items: center;
    gap: 12px;
}

.filters__per-year .choices {
    min-width: 96px;
}

.filters__category .choices {
    display: none;
}

.filters__category__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.filters__category__list button {
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 600;
    color: inherit;
    padding: 10px 14px;
    border-radius: 6px;
    transition: 0.3s ease-out;
}

.filters__category__list button:hover {
    color: #696969;
}
.filters__category__list button.is-selected {
    background: #F6F6F6;
}

/* intlTelInput css overrides */
.iti {
    width: 100%;
}
.iti__selected-country,
.iti__dropdown-content {
    display: none!important;
}
.iti__country-container {
    z-index: 10;
    width: 70px;
}
.iti input.iti__tel-input, .iti input.iti__tel-input[type="tel"], .iti input.iti__tel-input[type="text"] {
    padding-left: 70px!important;
}
.iti__country-name {
    color: var(--wp--preset--color--grey-main);
}
.iti__country-container .choices__item {
    text-transform: uppercase;
}
.iti__country-container .choices__inner {
    border: 0 !important;
    height: 39px!important;
    padding-right: 12px!important;
}
.iti__country-container .choices__inner .icon-chevron {
    flex: 0 0 16px;
}
.iti__country-container  .choices__item {
    background-position-x: calc(100% - 12px) !important;
    background-size: 16px auto!important;
    padding-right: 12px!important;
}

.filters input::placeholder {
    color: #E1E1DF;
}

@media screen and (max-width: 1279px) {
    .filters__category .choices {
        display: block;
    }
}
@media screen and (max-width: 767px) {
    .filters__per-year {
        flex: 0 0 auto;
    }
    .filters__category {
        flex: 1 1 auto;
    }
}
