.ts-form {
    --button--min-width: var(--ts-form--button--min-width, 200px);
    --button--padding: 8px 20px 7px;
    --button--hover--padding: var(--button--padding);
    --button--color: var(--ts-form--button--color);
    --button--background-color: var(--ts-form--button--background-color);

    padding: var(--ts-form--padding, 0 var(--wp--custom--gap--page-padding));
    margin-top: var(--ts-form--margin-top, clamp(120px, calc(230vw*var(--size-modifier)), 230px));
    margin-bottom: var(--ts-form--margin-bottom, clamp(120px, calc(230vw*var(--size-modifier)), 230px));
    background: var(--ts-form--background, transparent);
}

.ts-form__wrapper {
    max-width: var(--ts-form--wrapper--max-width, 1470px);
    border-image-source: var(--ts-form--wrapper--border-image-source, url(./assets/images/regular-frame.svg));
    border-width: var(--ts-form--wrapper--border-width, clamp(30px, calc(175vw* var(--size-modifier)), 175px));
    border-image-slice: var(--ts-form--wrapper--border-image-slice, 175 fill);
    border-style: ridge;
    border-image-repeat: repeat;
    margin-left: auto;
    margin-right: auto;
    ;
    padding-top: var(--ts-form--wrapper--padding-top, clamp(15px, calc(30vw* var(--size-modifier)), 30px));
    padding-bottom: var(--ts-form--wrapper--padding-bottom, clamp(1px, calc(40vw* var(--size-modifier)), 40px));

}

.ts-form__title,
.ts-form__description {
    max-width: var(--ts-form--header-max-width, 400px);
}

.ts-form__title {
    color: var(--ts-form--title--color, var(--wp--preset--color--primary));
    font-size: var(--ts-form--title--font-size, clamp(26px, calc(40vw*var(--size-modifier)), 40px));
    font-family: var(--ts-form--title--font-family, var(--wp--preset--font-family--title-font));
    transform: var(--ts-form--title--transform, none);
    text-align: var(--ts-form--title--text-align, center);
    margin-left: var(--ts-form--title--margin-left, auto);
    margin-right: var(--ts-form--title--margin-right, auto);
    line-height: var(--ts-form--title--line-height, 110%);
}

.ts-form__description {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: clamp(20px, calc(30vw*var(--size-modifier)), 30px);
}

.ts-form__form {
    position: relative;
    max-width: var(--ts-form--form--max-width, 1020px);
    margin-left: auto;
    margin-right: auto;
    margin-top: var(--ts-form--form--margin-top, clamp(50px, calc(100vw*var(--size-modifier)), 100px));
    text-align: center;
}

.form-block+.form-block {
    margin-top: calc(51px - clamp(1px, calc(29vw*var(--size-modifier)), 29px));
}

.ts-form__form .form-block__title {
    color: var(--wp--preset--color--primary);
    margin-bottom: clamp(30px, calc(40vw*var(--size-modifier)), 40px);
    font-size: clamp(22px, calc(30vw*var(--size-modifier)), 30px);
    font-weight: 400;
}

.ts-form__form .form__column-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ts-form__form .form__column-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ts-form__form input[type=text],
.ts-form__form input[type=email],
.ts-form__form input[type=tel],
.ts-form__form input[type=number],
.ts-form__form textarea {
    border: var(--ts-form-input-border, 1px solid var(--wp--preset--color--primary));
    background: transparent;
    padding: 14px 20px;
    font-family: var(--ts-form--form--input--font-family, var(--wp--preset--font-family--default-font));
    width: 100%;
    color: var(--ts-form-input-color, var(--wp--preset--color--base));
    font-size: var(--ts-form--form--input--font-size, clamp(15px, calc(22vw*var(--size-modifier)), 22px));
    font-weight: var(--ts-form--form--input--font-weight, 200);
}

.ts-form__form *::placeholder {
    color: var(--ts-form-input-placeholder-color, var(--wp--preset--color--base));
}

.ts-form__form .wpcf7-not-valid {
    border-color: var(--ts-form--error--color, var(--wp--preset--color--error)) !important;
}

.ts-form__form .date-field {
    background: url(./assets/img/calendar.svg) 97% 50% no-repeat;
}

.ts-form__form .form__field--submit {
    margin-top: var(--ts-form--form--field--submit--margin-top, clamp(10px, calc(40vw*var(--size-modifier)), 40px));
}

.ts-form .nice-select {
    font-family: var(--ts--form--form--input--font-family, var(--wp--preset--font-family--default-font));
    color: var(--ts-form-input-color, var(--wp--preset--color--base));
    font-size: var(--ts-form--form--input--font-size, clamp(15px, calc(22vw*var(--size-modifier)), 22px));
    font-weight: var(--ts-form--form--input--font-weight, 200);
    white-space: wrap;
}

.ts-form .nice-select.wpcf7-not-valid {
    border-color: var(--ts-form--error--color, var(--wp--preset--color--error)) !important;
}

.ts-form__form .form__field--checkbox {
    margin-top: 20px;
    text-align: left;
}

.ts-form__form .form__field--checkbox .label-title {
    font-family: var(--wp--preset--font-family--title-font);
    font-size: clamp(16px, calc(22vw*var(--size-modifier)), 22px);
    text-align: left;
    color: var(--wp--preset--color--primary);
}

.ts-form__form .form__field--checkbox .wpcf7-form-control-wrap {
    display: block;
    text-align: left;
}

.ts-form__form .form__field--checkbox .wpcf7-form-control {
    display: flex;
    gap: clamp(16px, calc(20vw*var(--size-modifier)), 20px);
    ;
    padding-top: var(--ts-form--form--checkbox--padding-top, 9px);
}

.ts-form__form .wpcf7-checkbox label,
.ts-form__form .wpcf7-acceptance label {
    display: flex;
    align-items: start;
    gap: 8px;
    font-size: var(--ts-form--form--checkbox--label--font-size, clamp(15px, calc(22vw*var(--size-modifier)), 22px));
    font-weight: var(--ts-form--form--checkbox--label--font-weight, 200);
    line-height: 120%;
    color: var(--ts-form--form--checkbox--label--color, var(--wp--preset--color--base));
    max-width: 525px;
}

.ts-form__form .form__field--checkbox .wpcf7-list-item input {
    border: 1px solid var(--ts-form-checkbox-color, var(--wp--preset--color--base));
    width: 16px;
    height: 16px;
    aspect-ratio: 1;
    position: relative;
    top: -1px;
}

.ts-form__form .form__field--checkbox .wpcf7-list-item input:checked {
    background: var(--ts-form-checkbox-color, var(--wp--preset--color--base));
}

.ts-form__form .form__field--event-type .nice-select,
.ts-form__form .form__field--rooms-needed .nice-select,
.ts-form__form .form__field--flexible-dates .nice-select {
    border: 1px solid var(--wp--preset--color--primary);
}

.ts-form__form .form__field--zip-code {
    margin-top: var(--ts-form--form--field--zip-code--margin-top, 0);
}

.ts-form__form .form__field--comment {
    margin-top: clamp(10px, calc(40vw*var(--size-modifier)), 40px);
}

.ts-form__form .nice-select {
    padding: 14px 18px;
    width: 100%;
    text-align: left !important;
}

.ts-form__form .nice-select .current {
    justify-content: space-between;
    text-transform: none;
}

.ts-form__form .nice-select .nice-select-dropdown {
    width: calc(100% + 2px);
    margin-left: -1px;
    border: 1px solid var(--wp--preset--color--base);
}

.ts-form__form_calendar {
    position: absolute;
    z-index: 10;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.5s;
    width: 100%;
}

.ts-form__form_calendar.show_calendar {
    pointer-events: all;
    opacity: 1;
}

.ts-form .screen-reader-response {
    display: none;
}

.ts-form .wpcf7-not-valid-tip {
    color: var(--ts-form--error--color, var(--wp--preset--color--error));
    display: block;
    clear: both;
    text-align: left;
    padding-top: 6px;
    font-size: 17px;
}

.ts-form .wpcf7-response-output:empty {
    display: none;
}

.ts-form form.sent .wpcf7-response-output {
    border: none;
    color: var(--ts-form--response--color, var(--wp--preset--color--primary));
    padding: 20px 0;
}

.ts-form form.failed .wpcf7-response-output,
.ts-form form.aborted .wpcf7-response-output {
    color: var(--ts-form--error--color, var(--wp--preset--color--error));
    border: none;
    padding: 20px 0;
}

.ts-form form.invalid .wpcf7-response-output,
.ts-form form.unaccepted .wpcf7-response-output,
.ts-form form.payment-required .wpcf7-response-output {
    color: var(--ts-form--error--color, var(--wp--preset--color--error));
    border: none;
    padding: 20px 0;
}

.ts-form__form_calendar.show_calendar {
    border: 1px solid var(--wp--preset--color--base);
    border-radius: 0;
    background: var(--wp--preset--color--clear);
}

.ts-form__content {
    margin-left: -10px;
    margin-right: -10px;
}

@media (min-width:932px) {
    .ts-form {
        --ts-form-external-border: 3px;
        --ts-form-internal-border: 28px;
        --button--padding: 12px 20px 12px;
        --button--hover--padding: var(--button--padding);
    }


    .ts-form__form .form__column-list {
        display: flex;
        gap: var(--ts-form-form-colum-list-gap, 40px);
        flex-direction: row;
    }

    .ts-form__form .form__column-item {
        flex-direction: column;
        gap: 12px;
        flex-basis: calc(50% - (var(--ts-form-form-colum-list-gap, 40px) / 2));
    }

    .ts-form__form .form__field--follow-up-method {
        margin-top: 30px;
    }

}