.vtbr-cf-form {
    max-width: 100%;
}

/* Theme forms (wa-form) often use float:left — parent .form--blue-gradient collapses without this */
.vtbr-cf-fields-form .form--blue-gradient {
    display: flow-root;
    width: 100%;
    box-sizing: border-box;
}

.vtbr-cf-fields-form .form--blue-gradient .wa-form {
    float: none;
    width: 100%;
    margin: 0;
}

/* Match spacing from legacy inline wa-form styles on Site pages */
.vtbr-cf-fields-form .form--blue-gradient .wa-form .wa-field .wa-value {
    margin-bottom: 32px;
    position: relative;
}

.vtbr-cf-fields-form .form--blue-gradient .wa-form .wa-field .wa-value.wa-submit {
    margin-top: 0;
    margin-bottom: 0;
}

/* Keep space after agreement checkbox (even when it is the last wa-field) */
.vtbr-cf-fields-form .form--blue-gradient .wa-form .vtbr-cf-field[data-field-type="checkbox"] .wa-value {
    margin-bottom: 32px;
}

/* Submit row after checkbox */
.vtbr-cf-fields-form .form--blue-gradient .wa-form .wa-field:has(.vtbr-cf-submit) {
    margin-top: 0;
}

/* Theme wa-form uses .wa-value margins; do not add plugin field gaps inside */
.vtbr-cf-fields-form .form--blue-gradient .wa-form .vtbr-cf-field {
    margin-bottom: 0;
}

.vtbr-cf-errors-general {
    background: #fdecea;
    border: 1px solid #f5c6cb;
    color: #c0392b;
    padding: 12px 16px;
    margin-bottom: 16px;
    border-radius: 4px;
}

.vtbr-cf-errors-general ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.vtbr-cf-errors-general li,
.vtbr-cf-field-errors li {
    display: block;
}

.vtbr-cf-errors-general li + li,
.vtbr-cf-field-errors li + li {
    margin-top: 6px;
}

.vtbr-cf-field {
    margin-bottom: 16px;
}

.vtbr-cf-label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
}

.vtbr-cf-required {
    color: inherit;
    margin-left: 4px;
    cursor: help;
}

.vtbr-cf-input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]) {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

input.vtbr-cf-input[type="checkbox"],
input.vtbr-cf-input[type="radio"] {
    width: auto;
    min-width: 1em;
    height: auto;
    padding: 0;
    flex-shrink: 0;
    cursor: pointer;
}

/* Checkbox/radio in custom theme markup (wa-form + form-check-input) */
.vtbr-cf-fields-form .form--blue-gradient .wa-form .wa-field .wa-value > label,
.vtbr-cf-field[data-field-type="checkbox"] > label,
.vtbr-cf-field[data-field-type="checkbox"] .wa-value > label,
.vtbr-cf-field[data-field-type="radio"] > label,
.vtbr-cf-field[data-field-type="radio"] .wa-value > label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer;
}

.vtbr-cf-fields-form .form--blue-gradient .wa-form .wa-field .wa-value > label > input[type="checkbox"],
.vtbr-cf-fields-form .form--blue-gradient .wa-form .wa-field .wa-value > label > input[type="radio"],
.vtbr-cf-field[data-field-type="checkbox"] label > input[type="checkbox"],
.vtbr-cf-field[data-field-type="radio"] label > input[type="radio"] {
    display: inline-block;
    width: 24px;
    min-width: 24px;
    height: 24px;
    margin: 0;
    flex-shrink: 0;
    float: none;
    cursor: pointer;
}

/* Blue-gradient checkbox: match site theme (blue tick on white when checked) */
.vtbr-cf-fields-form .form--blue-gradient input.form-check-input[type="checkbox"],
.vtbr-cf-fields-form .form--blue-gradient .wa-form .wa-field .wa-value > label > input[type="checkbox"],
.vtbr-cf-fields-form .form--blue-gradient .vtbr-cf-field[data-field-type="checkbox"] input[type="checkbox"],
.vtbr-cf-fields-form .form--blue-gradient .vtbr-cf-choice input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    print-color-adjust: exact;
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid #6FA3FF;
    border-radius: 0.25em;
    background-image: none;
    --bs-form-check-bg-image: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: background-color 0.2s linear, border-color 0.2s linear;
}

.vtbr-cf-fields-form .form--blue-gradient input.form-check-input[type="checkbox"]:checked,
.vtbr-cf-fields-form .form--blue-gradient .wa-form .wa-field .wa-value > label > input[type="checkbox"]:checked,
.vtbr-cf-fields-form .form--blue-gradient .vtbr-cf-field[data-field-type="checkbox"] input[type="checkbox"]:checked,
.vtbr-cf-fields-form .form--blue-gradient .vtbr-cf-choice input[type="checkbox"]:checked {
    background-color: #fff;
    border-color: #6FA3FF;
    --bs-form-check-bg-image: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.99999 15.172L19.192 5.979L20.607 7.393L9.99999 18L3.63599 11.636L5.04999 10.222L9.99999 15.172Z' fill='%230062FF'/%3E%3C/svg%3E");
}

/* Checked checkbox: blue fill + white tick (overrides theme broken check.svg) */
.vtbr-cf-fields-form input.form-check-input[type="checkbox"]:checked,
.vtbr-cf-fields-form .form--light input.form-check-input[type="checkbox"]:checked,
.vtbr-cf-fields-form .order-form input.form-check-input[type="checkbox"]:checked,
.vtbr-cf-fields-form .form--light input.vtbr-cf-input[type="checkbox"]:checked,
.vtbr-cf-fields-form .order-form input.vtbr-cf-input[type="checkbox"]:checked,
.vtbr-cf-fields-form .form--light .vtbr-cf-choice input[type="checkbox"]:checked,
.vtbr-cf-fields-form .order-form .vtbr-cf-choice input[type="checkbox"]:checked,
.vtbr-cf-fields-form input.form-check-input--gray-border[type="checkbox"]:checked,
.vtbr-cf-fields-form .form--light input.form-check-input--gray-border[type="checkbox"]:checked,
.vtbr-cf-fields-form .order-form input.form-check-input--gray-border[type="checkbox"]:checked {
    background-color: #0062FF;
    border-color: #0062FF;
    --bs-form-check-bg-image: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.0002 15.172L19.1922 5.979L20.6072 7.393L10.0002 18L3.63623 11.636L5.05023 10.222L10.0002 15.172Z' fill='white'/%3E%3C/svg%3E");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.vtbr-cf-fields-form .form--blue-gradient .wa-form .wa-field .wa-value > label > a,
.vtbr-cf-field[data-field-type="checkbox"] label > a,
.vtbr-cf-field[data-field-type="radio"] label > a {
    display: inline;
    margin-bottom: 0;
    flex: 1;
    min-width: 0;
    color: inherit;
}

.vtbr-cf-fields-form .form--blue-gradient .wa-form .wa-field[data-field-type="checkbox"] .wa-value > label,
.vtbr-cf-field[data-field-type="checkbox"] > label,
.vtbr-cf-field[data-field-type="checkbox"] .wa-value > label {
    color: #fff;
}

.vtbr-cf-field.vtbr-cf-has-error .vtbr-cf-input {
    border-color: #c0392b;
}

.vtbr-cf-field.vtbr-cf-has-error .vtbr-cf-file-dropzone {
    border-color: #c0392b;
    background: #fff7f7;
}

.vtbr-cf-field-errors {
    color: #c0392b;
    font-size: 13px;
    margin-top: 10px;
    line-height: 100%;
}

.vtbr-cf-field-errors li {
    line-height: 100%;
}

.vtbr-cf-field-errors ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.vtbr-cf-file-dropzone {
    position: relative;
    border: 2px dashed #c7d3e3;
    border-radius: 8px;
    padding: 16px;
    background: #f8fbff;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.vtbr-cf-file-dropzone:hover,
.vtbr-cf-file-dropzone.is-dragover {
    border-color: #0062ff;
    background: #eef5ff;
}

.vtbr-cf-file-dropzone-has-files {
    border-style: solid;
}

.vtbr-cf-file-dropzone .vtbr-cf-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.vtbr-cf-file-dropzone-label {
    font-weight: 600;
    margin-bottom: 6px;
}

.vtbr-cf-file-dropzone-hint,
.vtbr-cf-file-size {
    font-size: 12px;
    color: #667085;
}

.vtbr-cf-file-list {
    position: relative;
    z-index: 1;
    margin-top: 12px;
}

.vtbr-cf-file-item {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 8px 10px;
    border-radius: 6px;
    background: #fff;
    border: 1px solid #dce6f2;
}

.vtbr-cf-file-item + .vtbr-cf-file-item {
    margin-top: 8px;
}

.vtbr-cf-file-name {
    font-weight: 500;
    word-break: break-word;
}

.vtbr-cf-file-remove {
    margin-left: auto;
    border: 0;
    background: none;
    color: #003882;
    text-decoration: underline;
    cursor: pointer;
}

.vtbr-cf-phone-intl-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.3;
}

.vtbr-cf-phone-intl-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    flex-shrink: 0;
    opacity: 0.85;
}

.vtbr-cf-phone-intl-link {
    color: inherit;
    text-decoration: underline;
    cursor: pointer;
}

.vtbr-cf-phone-intl-link:hover {
    opacity: 0.85;
}

.form--blue-gradient .vtbr-cf-phone-intl-hint,
.vtbr-cf-fields-form .form--blue-gradient .vtbr-cf-phone-intl-hint {
    color: rgba(255, 255, 255, 0.92);
}

.form--blue-gradient .vtbr-cf-errors-general,
.form--blue-gradient .vtbr-cf-field-errors {
    color: #ffd3de;
}

.form--blue-gradient .vtbr-cf-errors-general {
    background: transparent;
    border: none;
    padding: 0;
    margin-bottom: 12px;
}

.vtbr-cf-actions {
    margin-top: 20px;
}

.vtbr-cf-submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.vtbr-cf-success {
    padding: 20px;
    background: #eafaf1;
    border: 1px solid #b8e0c8;
    border-radius: 4px;
}

.vtbr-cf-success-message {
    margin-bottom: 12px;
    font-size: 16px;
}

.vtbr-cf-resend-link {
    color: #003882;
    text-decoration: underline;
    cursor: pointer;
}

.form--blue-gradient .vtbr-cf-success--in-gradient,
.vtbr-cf-fields-form .form--blue-gradient .vtbr-cf-success--in-gradient {
    background: transparent;
    border: none;
    padding: 24px 16px;
    color: #fff;
    text-align: center;
}

.form--blue-gradient .vtbr-cf-success--in-gradient .vtbr-cf-success-message {
    font-size: 18px;
    margin-bottom: 16px;
}

.form--blue-gradient .vtbr-cf-success--in-gradient .vtbr-cf-resend-link {
    color: #fff;
}

.form--light .vtbr-cf-success--in-modal,
.order-form .vtbr-cf-success--in-modal,
.vtbr-cf-fields-form .form--light .vtbr-cf-success--in-modal,
.vtbr-cf-fields-form .order-form .vtbr-cf-success--in-modal,
.modal-body .vtbr-cf-success--in-modal {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    width: 100%;
    min-height: 100%;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 24px;
    box-sizing: border-box;
    margin: 0;
}

.modal-body.vtbr-cf-modal-success-active {
    position: relative;
    display: flex;
    flex-direction: column;
}

.modal-body.vtbr-cf-modal-success-active .vtbr-cf-form,
.modal-body.vtbr-cf-modal-success-active .vtbr-cf-form-body,
.modal-body.vtbr-cf-modal-success-active .vtbr-cf-fields-form {
    flex: 1 1 auto;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

.vtbr-cf-fields-form .form--light.vtbr-cf-success-shell-active,
.vtbr-cf-fields-form .order-form.vtbr-cf-success-shell-active,
.order-form.vtbr-cf-success-shell-active {
    flex: 1 1 auto;
    width: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}

.form--light .vtbr-cf-success--in-modal .vtbr-cf-success-message,
.order-form .vtbr-cf-success--in-modal .vtbr-cf-success-message,
.modal-body .vtbr-cf-success--in-modal .vtbr-cf-success-message {
    margin-bottom: 16px;
    font-size: 18px;
}

.form--light .vtbr-cf-success--in-modal .vtbr-cf-resend-link,
.order-form .vtbr-cf-success--in-modal .vtbr-cf-resend-link,
.modal-body .vtbr-cf-success--in-modal .vtbr-cf-resend-link {
    color: #0062FF;
}

.vtbr-cf-modal-close-countdown {
    margin-bottom: 16px;
    font-size: 15px;
    line-height: 1.4;
    color: #505258;
}

.form--blue-gradient .vtbr-cf-success--in-gradient .vtbr-cf-modal-close-countdown,
.vtbr-cf-success--in-modal .vtbr-cf-modal-close-countdown {
    margin-bottom: 16px;
}

.vtbr-cf-captcha {
    margin-bottom: 16px;
}

.vtbr-cf-fields-form .form--blue-gradient .vtbr-cf-captcha {
    margin-bottom: 0;
}

.vtbr-cf-fields-form .form--blue-gradient .wa-form .wa-captcha,
.vtbr-cf-fields-form .form--blue-gradient .wa-form .vtbr-cf-captcha {
    padding: 7px 0 10px;
}

.vtbr-cf-captcha-error {
    color: #c0392b;
}

.vtbr-cf-smartcaptcha .js-vtbr-cf-smartcaptcha-widget {
    min-height: 0;
}

.vtbr-cf-smartcaptcha .js-vtbr-cf-smartcaptcha-widget[data-vtbr-cf-sc-ready="1"] {
    min-height: 102px;
}

.vtbr-cf-choices {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.vtbr-cf-choice {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-weight: normal;
    cursor: pointer;
}

.vtbr-cf-choice input {
    margin-top: 3px;
    flex-shrink: 0;
    cursor: pointer;
}

.vtbr-cf-choice-checkbox {
    margin-top: 0;
}

.vtbr-cf-field-label-placeholder .vtbr-cf-input::placeholder {
    color: var(--text-color-hint, #888);
    opacity: 1;
}

.vtbr-cf-field.vtbr-cf-has-error .vtbr-cf-choice input,
.vtbr-cf-field.vtbr-cf-has-error input.vtbr-cf-input[type="checkbox"],
.vtbr-cf-field.vtbr-cf-has-error input.vtbr-cf-input[type="radio"],
.vtbr-cf-field.vtbr-cf-has-error select.vtbr-cf-input {
    outline: 1px solid #c0392b;
}

select.locked:disabled,
select.locked + .ss-main.vtbr-cf-select-locked,
.vtbr-cf-select-locked {
    pointer-events: none;
    cursor: default;
}
